Wikibooks enwikibooks https://en.wikibooks.org/wiki/Main_Page MediaWiki 1.47.0-wmf.11 first-letter Media Special Talk User User talk Wikibooks Wikibooks talk File File talk MediaWiki MediaWiki talk Template Template talk Help Help talk Category Category talk Cookbook Cookbook talk Transwiki Transwiki talk Wikijunior Wikijunior talk Subject Subject talk TimedText TimedText talk Module Module talk Event Event talk Electronics/DC Voltage and Current 0 6812 4654466 3142436 2026-07-14T17:26:48Z R. Henrik Nilsson 3395618 similary > similarly 4654466 wikitext text/x-wiki {{Electronics}} ==Ohm's Law== Ohm's law describes the relationship between voltage, current, and resistance.Voltage and current are proportional to the potential difference and inversely proportional to the resistance of the circuit :<math> V = I \cdot R </math> : Voltage (''V'') is measured in volts (V); Current (''I'') in amperes (A); and resistance (''R'') in ohms (&Omega;).<br/> [[Image:Ohms law voltage source.svg|150px]] In this example, the current going through any point in the circuit, ''I'', will be equal to the voltage ''V'' divided by the resistance ''R''. [[Image:Ohms law current source.svg|150px]] In this example, the voltage across the resistor, ''V'', will be equal to the supplied current, ''I'', times the resistance ''R''. If two of the values (''V'', ''I'', or ''R'') are known, the other can be calculated using this formula. Any more complicated circuit has an equivalent resistance that will allow us to calculate the current draw from the voltage source. Equivalent resistance is worked out using the fact that all resistors are either in parallel or series. Similarly, if the circuit only has a current source, the equivalent resistance can be used to calculate the voltage dropped across the current source. == Kirchoff's Voltage Law == Kirchoff's Voltage Law (KVL): : The sum of voltage drops around any loop in the circuit that starts and ends at the same place must be zero. == Voltage as a Physical Quantity == # Voltage is the potential difference between two charged objects. # Potentials can be added or subtracted in series to make larger or smaller potentials as is commonly done in batteries. # Positive charge flow from areas of high potential to lower potential. # All the components of a circuit have resistance that acts as a potential drop. ==Kirchoff's Current Law== Kirchoff's Current Law (KCL): : The sum of all current entering a node must equal the sum of all currents leaving the node. === KCL Example === [[Image:Electronics_KCL.PNG]] -''I''<sub>1</sub> + ''I''<sub>2</sub> + ''I''<sub>3</sub> = 0 &harr; ''I''<sub>1</sub> = ''I''<sub>2</sub> + ''I''<sub>3</sub> [[Image:Electronics_KCL_1.PNG]] ''I''<sub>1</sub> - ''I''<sub>2</sub> - ''I''<sub>3</sub> - ''I''<sub>4</sub> = 0 &harr; ''I''<sub>2</sub> + ''I''<sub>3</sub> + ''I''<sub>4</sub> = ''I''<sub>1</sub> :<math> I_1 = I_2 + I_3 + \cdots + I_n \,\! </math> Here is more about [[wikipedia:Kirchhoff's laws|Kirchhoff's laws]], which can be integrated here ==Consequences of KVL and KCL== ====Voltage Dividers==== If two circuit elements are in series, there is a voltage drop across each element, but the current through both must be the same. The voltage at any point in the chain divides according to the resistances. A simple circuit with two (or more) resistors in series with a source is called a [[Electronics/Voltage Dividers|voltage divider]]. :[[Image:PotentialDivider.png|120px]] Figure A: Voltage Divider circuit. Consider the circuit in Figure A. According to KVL the voltage <math>V_{in}</math> is dropped across resistors <math>R_1</math> and <math>R_2</math>. If a current i flows through the two series resistors then by Ohm's Law. :<math>i = \frac{V_{in}}{R_1+R_2}</math>. So :<math> V_{out}=iR_2 \,\!</math> Therefore :<math> V_{out}=\frac{V_{in}R_2}{R_1+R_2}</math> Similarly if <math>V_{R1}</math> is the voltage across <math>R_1</math> then :<math> V_{R1}=\frac{V_{in}R_1}{R_1+R_2}</math> In general for n series resistors the voltage dropped across one of them say <math>R_i</math> is :<math>V_{Ri}=\frac{V_{in}R_i}{R_{eq}} </math> Where :<math>R_{eq}=R_1+\cdots+R_n</math> =====Voltage Dividers as References===== Clearly voltage dividers can be used as references. If you have a 9 volt battery and you want 4.5 volts, then connect two equal valued resistors in series and take the reference across the second and ground. There are clearly other concerns though, the first concern is current draw and the effect of the source impedance. Clearly connecting two 100 ohm resistors is a bad idea if the source impedance is, say, 50 ohms. Then the current draw would be 0.036 mA which is quite large if the battery is rated, say, 200 milliampere hours. The loading is more annoying with that source impedance too, the reference voltage with that source impedance is <math>\frac {9(100)}{250}=3.6\mbox{ V}</math>. So clearly, increasing the order of the resistor to at least 1 k<math>\Omega</math> is the way to go to reduce the current draw and the effect of loading. The other problem with these voltage divider references is that the reference cannot be loaded if we put a 100 &Omega; resistor in parallel with a 10 k&Omega; resistor. When the voltage divider is made of two 10 k&Omega; resistors, then the resistance of the reference resistor becomes somewhere near 100 &Omega;. This clearly means a terrible reference. If a 10 M&Omega; resistor is used for the reference resistor will still be some where around 10 k&Omega; but still probably less. The effect of tolerances is also a problem; if the resistors are rated 5% then the resistance of 10 k&Omega; resistors can vary by &plusmn;500 &Omega;. This means more inaccuracy with this sort of reference. ====Current Dividers==== If two elements are in parallel, the voltage across them must be the same, but the current divides according to the resistances. A simple circuit with two (or more) resistors in parallel with a source is called a [[Electronics/Current Dividers|current divider]]. [[Image:Resistorsparallel.png]] Figure B: Parallel Resistors. If a voltage V appears across the resistors in Figure B with only <math>R_1</math> and <math>R_2</math> for the moment then the current flowing in the circuit, before the division, i is according to Ohms Law. :<math>i=\frac{V}{R_{eq}}</math> Using the equivalent resistance for a parallel combination of resistors is :<math>i=\frac{V(R_1+R_2)}{R_1R_2}</math> (1) The current through <math>R_1</math> according to Ohms Law is :<math>i_1=\frac{V}{R_1}</math> (2) Dividing equation (2) by (1) :<math>i_1=\frac{iR_2}{R_2+R_1}</math> Similarly :<math>i_2=\frac{iR_1}{R_2+R_1}</math> In general with n Resistors the current <math>i_x</math> is :<math>i_x=\frac{iR_1R_2\cdots R_n}{ (R_2\cdots R_n+\cdots+ R_1\cdots R_{n-1}) R_x}</math> Or possibly more simply :<math>\frac{i_x}{i}=\frac{R_{eq}}{R_x}</math> Where :<math>R_{eq}=\frac{R_1\cdots R_n}{R_2\cdots R_n+\cdots+ R_1\cdots R_{n-1}}</math> {{BookCat}} 694x3hj54m3gyr2c4ybgvexbh6y51b5 Aros/Platforms/x86 support 0 22115 4654431 4654308 2026-07-14T13:18:22Z Jeff1138 301139 4654431 wikitext text/x-wiki Google translation into [http://translate.google.com/translate?hl=en&sl=auto&tl=de&u=http%3A%2F%2Fen.wikibooks.org%2Fwiki%2FAros%2FPlatforms%2Fx86_support German], [http://translate.google.com/translate?hl=en&sl=auto&tl=fr&u=http%3A%2F%2Fen.wikibooks.org%2Fwiki%2FAros%2FPlatforms%2Fx86_support French], [http://translate.google.com/translate?hl=en&sl=auto&tl=nl&u=http%3A%2F%2Fen.wikibooks.org%2Fwiki%2FAros%2FPlatforms%2Fx86_support Dutch], [http://translate.google.com/translate?hl=en&sl=auto&tl=it&u=http%3A%2F%2Fen.wikibooks.org%2Fwiki%2FAros%2FPlatforms%2Fx86_support Italian], [http://translate.google.com/translate?hl=en&sl=auto&tl=es&u=http%3A%2F%2Fen.wikibooks.org%2Fwiki%2FAros%2FPlatforms%2Fx86_support Spanish], [http://translate.google.com/translate?hl=en&sl=auto&tl=hi&u=http%3A%2F%2Fen.wikibooks.org%2Fwiki%2FAros%2FPlatforms%2Fx86_support Hindi], [http://translate.google.com/translate?hl=en&sl=auto&tl=zh-CN&u=http%3A%2F%2Fen.wikibooks.org%2Fwiki%2FAros%2FPlatforms%2Fx86_support Chinese Simplified], [http://translate.google.com/translate?hl=en&sl=auto&tl=pl&u=http%3A%2F%2Fen.wikibooks.org%2Fwiki%2FAros%2FPlatforms%2Fx86_support Polish], [http://translate.google.com/translate?hl=en&sl=auto&tl=ru&u=http%3A%2F%2Fen.wikibooks.org%2Fwiki%2FAros%2FPlatforms%2Fx86_support Russian], {{ArosNav}} [[#Audio Chipsets]] [[#Graphic GFX Chipsets]] [[#Rough gfx comparison]] [[#]] ==x86 Native Environment== AROS should run on almost any i386 PC hardware so long as the CPU is newer than an i486, and has a "Floating Point Unit (FPU)". Ideally around 700Mhz and above with at least 256MB of memory is recommended for desktops and around 1GHz and at least 256MB for laptops/notebooks/netbooks. For web browsing, etc above 1GB is usually needed and offers the option to run web browsers, media players and other hard disk heavy usage from RAM: disk. Motherboards supported * Most Intel mobos are supported but additional pci / pci-e cards may be needed for networking, audio, etc * AMD based socket ryzen based systems work but additional pci / pci-e cards may be needed Supported graphics cards (gfx) * Nvidia 2D and 3D 2005-2015 64bit AROS Nouveau covers '''2D''' 8xxxgs and higher to GTX 9xx and '''3D''' from 8xxxGS to GTX9xx 32bit AROS supports '''2D''' from TNT to fermi gtx5xx and '''3D''' acceleration fx5xxx to gtx4xx * Intel GMA 2D and 3D 2006-2009 '''2D''' for many old netbooks and motherboards. '''3D''' for many early netbooks and motherboards * AMD/ATI 2D only and '''no 3D'''. 1999-2004 Desktop ie external monitor support only (no laptop internal support) for very early Radeon 7000 through to x600 * VESA 2D fallback modes for all graphic cards (GPUs) and with [http://www.youtube.com/watch?v=HKCHZFYj9Kk screen dragging]. It's worth noting however that support isn't guaranteed. Nor will potential power of a card reflect its performance under AROS. Sound wise there are * HDaudio support for onboard intel and AMD netbooks, ultrabooks, notebooks and motherboards (2005 to 2020) * some AC97 codec support for very old motherboards and laptops (ie pre 2004) * PCI and some PCI-E C-Media CMI8738 for desktop plugin cards * PCI Creative Soundblaster EMU10K1 cards [http://amigaworld.net/modules/news/article.php?storyid=2512 SBLive] * PCI semi professional some early VIA Envy24 desktop sound cards * PCI Sound Blaster 128 aka SB16 Supported [http://en.wikibooks.org/wiki/Aros/Platforms/x86_Network_support network] which could be desktop, laptop, etc * PCI-E Realtek rtl8169 1GbE which also includes the rtl8111 and rtl8110 (2011 to 2025) * PCI Realtek rtl8139 and includes rtl8101 and rtl8100 (2005 to 2009) * PCI intel e1000 (2006 to 2009) * PCI intel pro100 (2002 to 2005) * Broadcom 44xx 10/100 integrated in laptops around 2005 * VIA 10/100 (1999 to 2002) * 3com Etherlink 10/100 * Realtek rtl8029 10mbit Wireless wifi * atheros 5000 wireless *realtek 8187 usb It is very hard to recommend a completely supported motherboard because as soon as newer motherboards arrive so their features change subtly, often introducing non supported parts like ethernet and audio. It is a moving target. * mini-itx motherboard will only get you 1 pci or pci-e slot * micro mATX or uATX will have more, typically 2 pci-e or pci slots which helps if any onboard features are not supported. * full atx will have more slots available '''N.B''' It is frustrating when a piece of hardware is not supported. Hardware documentation can run to over 100 pages and a lot of hardware do not have any public documentation anyway. Chips from different manufacturers for sound, graphics, SATA, etc. vary just as much, unless they follow a standard such as [https://github.com/acidanthera/AppleALC/wiki/Supported-codecs HDAudio codecs], AHCI etc. Coding drivers is a far cry from Hello World programs or even a port of existing software. If you do actually want to try then get a hold of documentation on the relevant hardware and start there. Alternatively you could try to find some '''BSD''', MIT or MPL licence drivers as a point of reference. Please , do not think you can just adapt strings in a driver for different strings, it does not work that way. You will '''need''' to start from scratch for each new bit of hardware. Device driver programming require '''embedded''' skills, like manipulation of bits within registers, good debugging skills, dealing with interrupts, lots of patience, etc. The following specific chipsets and drivers are also available - use Tools/PCITool to confirm Vendor and Product IDs - Please let us know any mistakes or any information to be added, to this General Chat list on [https://arosworld.org/ AROS World] : Brief Timeline : 2000-12-06 HIDD first mouse.hidd completed ([http://msaros.blogspot.com/ Michal Schulz]) : 2001-03-31 BOOT first boot from floppy disk with IDE device : 2001-10-30 BOOT first cd bootable version : 2002-01-27 HIDD first pci.hidd added (Michal Schulz) : 2002-04-13 BOOT software HDToolBox added () : 2003-04-03 HIDD vesa2.hidd graphic modes added () : 2004-03-08 HIDD new pci and ata (pata) devices worked on (Michal Schulz) : 2004-03-17 HIDD nVidia 2D driver appears (Michal Schulz) : 2005-01-05 AHI AHI v6 audio system ported (Martin Blom) : 2005-01-06 AHI SBLive SoundBlaster Live driver ported (Georg Steger) : 2005-02-04 AHI AC97 playback only driver added (Michal Schulz) : 2005-06-27 NIC amiTCP stack ported with 3com, NE2000, prism2 drivers (Neil Cafferkey) : 2005-08-25 NIC nForce2 support added (Michal Schulz) : 2005-12-24 NIC Intel Pro100 network driver added (Neil Cafferkey) : 2006-03-25 HIDD ATI radeon 2D driver added (Michal Schulz) : 2007-03-06 HIDD vesa 1.0 video driver added (Pavel Fedin) : 2007-03-08 HIDD dospackets and FAT filesystem (Rob Norris) : 2007-03-21 HIDD usb initial commit (Michal Schulz) : 2007-10-01 BOOT Installer added (Neil Cafferkey) : 2007-11-29 PORT 64bit x86 added (Michal Schulz) : 2008-04-12 BOOT GRUB2 added (Alain Greppin and Nick Andrews) : 2008-08-26 NIC RTL8139 added ([http://kalamatee.blogspot.com/ Nick Andrews]) : 2008-10-22 PORT to SAM440ep (ppc) (Michal Schulz) : 2009-02-25 PORT to efika (ppc) (Michal Schulz) : 2009-05-18 HIDD poseidon usb2.0 stack ported to AROS (Chris Hodges) : 2009-11-18 NIC RTL8169 network driver arrived (Nick Andrews and [http://pagesperso-orange.fr/franck.charlet/oldnews.html Franck Charlet]) : 2009-12-23 AHI HDAudio based Atom CPU and netbook audio driver arrived (Davy Wentzler) : 2010-03-09 BOOT USB pendrive stick booting available (Neil Cafferkey) : 2010-05-26 HIDD Intel GMA900 2D graphics card support (Michal Schulz) : 2010-09-03 NIC Wireless PCI based NIC arrived (Neil Cafferkey) : 2011-04-30 HIDD Nvidia 2D and 3D nouveau graphics card support for Aros 32bit (Deadwood) : 2011-08-30 HIDD Radeon 2D enhanced AMD driver arrives (Bearsoft) : 2011-09-17 NIC Wireless USB realtek arrives (Neil Cafferkey) : 2011-12-09 HIDD Intel 945G 3D Gallium graphics support (Sami) : 2013-02-25 AHI AC97 VIA 686 audio support (Davy Wentzler and Neil Cafferkey) : 2013-03-31 PORT early Raspberry PI native support (Nik Andrews) : 2014-01-16 AHI Envy24 audio chipset support (Davy Wentzler and Neil Cafferkey) : 2017-02-17 PORT Symmetric MultiProcessing smp added for x86 64bit (Michal Schulz) : 2018-10-20 PORT Big Endian ARM : 2021-11-26 NIC Broadcom 44xx ethernet (Neil Cafferkey) : 2023-01-12 NIC Nvidia MCP61 ethernet (Neil Cafferkey) : 2025-11-23 HIDD xHCI USB3 and isoc (Nik Andrews) : 2026-07-25 HIDD Nouveau nvidia for Aros 64bit (Deadwood) [[#top|...to the top]] ===Audio Chipsets=== '''If sound beeps in AHI prefs after Music set then some support is there. Select more than one channel for multiple audio streams, set frequency up to 44 kHz or higher and set the volume if not already set. Ensure you set the music unit 0 to 3 which allows the extra features of the audio card like microphone, line-out, etc).''' ====1996-2000 sb128.audio aka SB16 PCI==== *2021 5.27 as per CREATIVE's website, the model number is the first two digits on the front and first two digits on the back. my card says CT4810 and 161TK110B 995; this translates to CT4816 as the model. The original AudioPCI 3000 card with the ES1370 had a master clock crystal for 44.1 kHz (22.5792 MHz), used an AKM codec (AK4531, non-AC97) and had 4 channel output; Creative later modified the design with a crystal for 48 kHz (24.576 MHz) and Sigmatel AC97 codec (a CT4700 SB128 with a CT5507 chip, AK4531, 22.5792 MHz crystal and TDA7360 speaker power amp). The issue with these cards involved never quite eliminate the effects of resampling on the 64V, it also shows signs of undersized coupling caps. These Ensoniq cards automatically engaged headphone amplifier (with a 4565 opamp). Porting involved [http://repo.or.cz/w/AROS.git/commit/b60abd12967144a844980c422ea9e99c056eabca 40897], [http://repo.or.cz/w/AROS.git/commit/b7d6511fca6430a63fbaaa390b4f51bf0203a460 40898 configure], [http://repo.or.cz/w/AROS.git/commit/f51034cd22759a4ec3a2547bddb3a7169d956eaa 40900 bugs], [http://repo.or.cz/w/AROS.git/commit/4f43fc38e3489ea45d12b7b5ba6fff50b69c5746 40901 further bugs], [http://repo.or.cz/w/AROS.git/commit/d23c78aec75f049484b6916d27b6804ce858bb2c 40913 memory IO fixes], [http://repo.or.cz/w/AROS.git/commit/d256860fe3035016952e88d143c6f2611997f2f3 40914 irq fix]. {| class="wikitable sortable" width="90%" ! width="10%" |Description ! width="10%" |Vendor ID ! width="10%" |Product ID ! width="10%" |Revision ! width="10%" |Playback ! width="10%" |Recording ! width="35%" |Comments |- | Ensoniq AudioPCI 1000 | 0x1274 | 0x5000 | | {{unk}} | {{unk}} | untested - es1370 (u?) AK4531 (u?) |- | Ensoniq AudioPCI | 0x1274 | 0x5000 | 0x00 | {{yes}} | {{maybe}} | |- | CT4700 Sound Blaster PCI 64 (audioPCI 3000) | 0x1274 | 0x5000 | 0x7c | {{yes}} | {{maybe}} | works - opamp JRC4565(u?) [http://en.wikipedia.org/wiki/Ensoniq_ES1370 es1370] (u?) |- | CT4750 Sound Blaster 64/PCI | | | | {{unk}} | {{unk}} | untested - 4565-1056W (u1) stac9708t(u2) [http://arstechnica.com/civis/viewtopic.php?f=6&t=916891 ct5880-dcq] (u3) 24wc012 (u4) |- | CT4751 (SB128PCI) | 0x1274 | 0x8001 | | {{unk}} | {{unk}} | untested - [http://en.wikipedia.org/wiki/Sound_Blaster#Ensoniq_AudioPCI-based_cards es1371] (u?) |- | CT4810 Creative AudioPCI64V | 0x1274 | 0x1371 | 0x06 | {{yes}} | {{maybe}} | works |- | CT4811 (SB Vibra 128) | | | | {{unk}} | {{unk}} | untested |- | CT4812 (Vibra 128) | | | | {{unk}} | {{unk}} | untested |- | CT4813 | | | | {{unk}} | {{unk}} | untested |- | CT4815 | | | | {{unk}} | {{unk}} | untested |- | CT4816 es1373 (vibra 128) | | | | {{unk}} | {{unk}} | untested but this card has creative's ES1373 as the main chip(U1). it is also different from the other CT4810 (vibra128) in that it does not have a second chip in U2 position. Also there is only one jumper JP1 (2X3). |- | CT5801 HP | | | | {{unk}} | {{unk}} | untested - es1373 (u3) |- | CT5803 Gateway | 0x1274 | 0x1371 | 0x08 | {{yes}} | {{maybe}} | works 4565-0005b jrc (u1) 4297a-jq ztae0c0002 (u2) es1373 (u3) |- | CT4740 | 0x1274 | 0x1371 | 0x08 | {{yes}} | {{yes}} | |- | CT5805 Compaq OEM Premier Sound Presario 7 | | | | {{unk}} | {{unk}} | untested - es1373 (u3) |- | CT5806 (Sound Blaster AudioPCI 128D) | | | | {{unk}} | {{unk}} | untested - 4297A-JO EP (u?) ZTAPWC9933 (u2) es1373 (u3) |- | CT5807 Dell OEM Dimension 8100 | | | | {{unk}} | {{unk}} | untested - es1373 (u?) |- | CT5808 | | | | {{unk}} | {{unk}} | untested |- | CT4730 Sound Blaster AudioPCI 64V Ectiva EV1938 | 0x1102 | 0x8938 | | {{unk}} | {{unk}} | untested |- | CT5880 on various motherboards | 0x1274 | 0x5880 | | {{unk}} | {{unk}} | untested [http://www.xbitlabs.com/articles/mainboards/display/ga-6rx.html Gigabyte GA-6RX] (VIA ApolloPro 266 2001], Gigabyte GA-6VM7-4E mobo, [http://active-hardware.com/english/reviews/mainboard/ga-7vtx.htm Gigabyte GA-7VTX] (KT266 2001), Gigabyte [http://www.amdboard.com/gigabytega7vtxh.html GA-7VTXH] (KT266A 2001), [http://www.amdboard.com/gigabytega7vrxp.html Gigabyte 7VRXP] mobo (KT333 2002), MSI MS-6309, MS-6318, MS-6337 (815E Pro), MS-6339 (850Pro) and MS-6340, PCChips Motherboard M571 TXPRO, Soltek SL-65ME+, |- | VMware Virtual Workstation(TM) | 0x1274 | 0x1371 | 0x02 | {{Yes|but not Hi-Fi modes}} | {{maybe}} | works |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback--> | <!--Recording--> | <!--Comments--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback--> | <!--Recording--> | <!--Comments--> |- |} <pre> Revision 0x04 = ES1371 REV_ES1373_A Revision 0x06 = ES1371 REV_ES1373_B Revision 0x07 = ES1371 REV_CT5880_A Revision 0x02 = CT5880 REV_CT5880_C Revision 0x03 = CT5880 REV_CT5880_D Revision 0x04 = CT5880 REV_CT5880_E Revision 0x09 = ES1371 REV_ES1371_B Revision 0x00 = EV1938 REV_EV1938_A Revision 0x08 = ES1371 REV_ES1373_8 </pre> ====1999-2001 via-ac97.audio==== *2021 5.10 {| class="wikitable sortable" width="90%" ! width="10%" |Description ! width="10%" |Vendor ID ! width="10%" |Product ID ! width="10%" |Revision ! width="10%" |Playback ! width="10%" |Recording ! width="35%" |Comments |- | <!--Description-->694X with 686A KT133 PM133 or 693A with VT8231 | <!--Vendor ID-->0x1106 | <!--Product ID-->0x3058 | <!--Revision--> | <!--Playback-->{{Yes| }} redirects earphones correctly | <!--Recording-->{{Yes| }} | <!--Comments-->audio controller works but depends on the underlying invisible codec used see AC97 section |- | <!--Description-->686B KT133A with VT8231 | <!--Vendor ID-->0x1106 | <!--Product ID-->0x3058 | <!--Revision-->0x50 | <!--Playback-->{{Yes|}} reroutes ear pieces right | <!--Recording-->{{Yes|}} | <!--Comments-->audio controller works but depends on the underlying codec used see AC97 section below |- | <!--Description-->686C | <!--Vendor ID-->0x1106 | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk}} | <!--Recording-->{{unk}} | <!--Comments-->untested |- | <!--Description-->KM266 or KT266 with VT8233, KT266A with VT8233A, VT8233C | <!--Vendor ID-->0x1106 | <!--Product ID-->0x3059 | <!--Revision-->0x10 | <!--Playback-->{{No| }} | <!--Recording-->{{No| }} | <!--Comments--> |- | <!--Description-->KM333 KT333 with VT8235 | <!--Vendor ID-->0x1106 | <!--Product ID-->0x3059 | <!--Revision-->0x30 | <!--Playback-->{{unk}} | <!--Recording-->{{unk}} | <!--Comments--> |- | <!--Description-->KM400 KT400 with VT8237, KT600 with VT8237R, | <!--Vendor ID-->0x1106 | <!--Product ID-->0x3059 | <!--Revision-->0x40 0x50 0x60 | <!--Playback-->{{No| }} | <!--Recording-->{{No| }} | <!--Comments--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk}} | <!--Recording-->{{unk}} | <!--Comments--> |- |} ====1998-2003 emu10kx.audio - Creative Labs SoundBlaster Live! and Audigy==== *2021 6.5 {| class="wikitable sortable" width="90%" ! width="10%" |Description ! width="10%" |Vendor ID ! width="10%" |Product ID ! width="10%" |Revision ! width="10%" |Playback ! width="10%" |Recording ! width="35%" |Comments |- | PCI512 CT4790 (emu10k1) | 0x1102 | 0x0002 | 0x0 | <!--Playback--> {{unk}} | <!--Recording--> {{unk}} | untested (1st Gen) |- | Live CT4620 | 0x1102 | 0x0002 | 0x0 | <!--Playback--> {{unk}} | <!--Recording--> {{unk}} | untested |- | Live CT4760 | 0x1102 | 0x0002 | 0x07 | <!--Playback--> {{yes}} | <!--Recording--> {{unk}} | playback works |- | Live Value CT4670 | 0x1102 | 0x0002 | 0x0 | <!--Playback--> {{yes}} | <!--Recording--> {{unk}} | works plays stereo (2nd Gen) |- | Live Value DELL CT4780 | 0x1102 | 0x0002 | 0x06 | <!--Playback--> {{yes}} | <!--Recording--> {{unk}} | plays/records stereo - untested 4.1mode |- | Live Value Compaq CT4830 | 0x1102 | 0x0002 | 0x0 | <!--Playback--> {{Maybe}} | <!--Recording--> {{unk}} | not working |- | Live Value CT4831 | 0x1102 | 0x0002 | 0x00 | <!--Playback--> {{unk}} | <!--Recording--> {{unk}} | untested |- | Live Value CT4832 | 0x1102 | 0x0002 | 0x07 | <!--Playback--> {{yes}} | <!--Recording--> {{partial|Line-In only}} | works |- | Live Value CT4832 | 0x1102 | 0x0002 | 0x08 | <!--Playback--> {{yes}} | <!--Recording--> {{maybe}} | works |- | Live Value HP CT4870 | 0x1102 | 0x0002 | | <!--Playback--> {{yes}} | <!--Recording--> {{maybe}} | Works |- | Live Value Gateway CT4871 | 0x1102 | 0x0002 | | <!--Playback--> {{unk}} | <!--Recording--> {{unk}} | untested |- | Live! Platinum 5.1 SB0060 | 0x1102 | 0x0002 | 0x00 | <!--Playback--> {{yes}} | <!--Recording--> {{yes}} | plays audio/records, untested 5.1 (3rd Gen) |- | Live 5.1 SB0100 -SFF | 0x1102 | 0x0002 | 0x00 | <!--Playback--> {{yes}} | <!--Recording--> {{maybe}} | works |- | Live 5.1 Player SB0220 | 0x1102 | 0x0002 | 0x0a | <!--Playback--> {{yes}} | <!--Recording--> {{yes}} | plays audio/records stereo, untested 5.1 |- | Live 5.1 Digital SB0228 | 0x1102 | 0x0002 | 0x0a | <!--Playback--> {{yes}} | <!--Recording--> {{yes}} | working |- | Audigy SB0090 (emu10k2) | 0x1102 | 0x0004 | | <!--Playback--> {{unk}} | <!--Recording--> {{unk}} | untested |- | <!--Description-->Audigy SB0230 | <!--Vendor ID-->0x1102 | <!--Product ID-->0x0004 | <!--Revision-->0x03 | <!--Playback-->{{Yes| }} | <!--Recording-->{{Yes|Mic only}} | <!--Comments-->5th Dec 2012 - untested optical tos link. contains also IEEE1394/Firewire (untested) |- | Audigy 2 Platinum 6.1 SB0240 SB0250 EMU10K2.5 | 0x1102 | 0x0004 | 0x04 | <!--Playback--> {{yes}} | <!--Recording--> {{maybe}} | works |- | Audigy 2 PRO SB0280 EMU10K2.5 | 0x1102 | 0x0004 | | <!--Playback--> {{unk}} | <!--Recording--> {{unk}} | untested |- | Audigy 2 ZS SB0350 | 0x1102 | 0x0004 | 0x04 | <!--Playback--> {{yes}} | <!--Recording--> {{yes}} | |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback--> | <!--Recording--> | <!--Comments--> |- style="background:lightgrey; text-align:center; font-weight:bold;" | Description | Vendor ID | Product ID | Revision | Playback | Recording | Comments |- | Live 5.1 DELL SB0200 SB0203 emu10kx | 0x1102 | 0x0006 | 0x0 | <!--Playback-->{{no}} | <!--Recording-->{{no}} | |- | Live 24bit SB0410 | 0x1102 | 0x0007 | 0x | <!--Playback-->{{no}} | <!--Recording-->{{no}} | no driver |- | Live 24bit DELL SB0413 | 0x1102 | 0x0007 | 0x | <!--Playback-->{{no}} | <!--Recording-->{{no}} | no driver |- | Audigy LS SB0310 | 0x1102 | 0x0007 | 0x0 | <!--Playback-->{{no}} | <!--Recording-->{{no}} | no driver |- | Audigy SE 7.1 SB0570 | 0x1102 | 0x0007 | | <!--Playback-->{{no}} | <!--Recording-->{{no}} | no driver |- | Audigy 2 ZS SB0320 SB0360 (PRO) | 0x1102 | 0x0008 | | <!--Playback-->{{no}} | <!--Recording-->{{no}} | no driver |- | Audigy 2 VALUE SB0400 | 0x1102 | 0x0008 | | <!--Playback-->{{no}} | <!--Recording-->{{no}} | no driver |- | Audigy 4 VALUE SB0610 | 0x1102 | 0x0008 | | <!--Playback-->{{no}} | <!--Recording-->{{no}} | no driver |- | Audigy 4 PRO SB0380 | 0x1102 | 0x0008 | | <!--Playback-->{{no}} | <!--Recording-->{{no}} | no driver |- | EMU E-MU 0404 PCI (not USB) EM8852 | 0x1102 | 0x000 | 0x0 | <!--Playback-->{{no}} | <!--Recording-->{{no}} | no driver but linux support needs firmware |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback--> | <!--Recording--> | <!--Comments--> |- |} the green jack is for the main speaker pair AND headphones, so manual switching will be required If your card is wired for the "AC97" standard, then it's up to your headphone jack to switch the green speaker output in and out the headphone jack has Normally-closed contacts that will open on insertion, which breaks the signal path back to the sound card (FP_RETURN) ====2000-2010 cmi8738.audio - C-Media==== *2021 5.20 ;Read [http://amigaworld.net/modules/news/article.php?storyid=2512 more] and imported on [http://repo.or.cz/w/AROS.git/commit/aff741d60160c6a9d7d39c9e004a25ea3aa13847 20th July 2011] and [http://alsa.opensrc.org/Cmipci alsa docs]. {| class="wikitable sortable" width="90%" ! width="10%" |Description ! width="10%" |Vendor ID ! width="10%" |Product ID ! width="10%" |Revision ! width="10%" |Playback ! width="10%" |Recording ! width="35%" |Comments |- | Audiotrak MAYA EX5 | | | | <!--Playback--> | <!--Recording--> | untested |- | cmi8738-sx 4ch | 0x13f6 | 0x0111 | 0x10 | <!--Playback--> | <!--Recording--> | untested |- | e3dx hsp56 CMedia 8738-sx 4ch | | | | <!--Playback--> | <!--Recording--> | untested |- | EDio SC3000D 6ch | | | | <!--Playback--> | <!--Recording--> | untested |- | Genius SoundMaker Value PCI C3DX | | | | <!--Playback--> | <!--Recording--> | untested |- | Guillemot Maxi Sound Muse | | | | <!--Playback--> | <!--Recording--> | untested |- | Hercules Gamesurround Muse LT | 0x13f6 | 0x0111 | 0x10 | <!--Playback--> {{yes}} | <!--Recording--> {{no}} | |- | Hercules Gamesurround Muse XL LT 5.1 | | | | <!--Playback--> | <!--Recording--> | untested |- | Inno audio extreme 5.1 cmi8738/lx pci 6ch | 0x13f6 | 0x0111 | 0x | <!--Playback--> | <!--Recording--> | untested |- | M-Audio (Midiman) DiO 2448 | | | | <!--Playback--> | <!--Recording--> | untested |- | Sabrent SBT-SP6C 6ch | | | | <!--Playback--> | <!--Recording--> | untested |- | StarTech PCISOUND4CH 8738sx 4ch | | | | <!--Playback--> | <!--Recording--> | untested |- | Sweex SC012 CMI8738-lx 4ch | | | | <!--Playback--> | <!--Recording--> | untested |- | Terratec 5.1 PCI | 0x13f6 | 0x0111 | 0x10 | <!--Playback--> | <!--Recording--> | untested |- | Terratec Aureon Fun 5.1 | | | | <!--Playback--> {{yes}} | <!--Recording--> {{unk}} | Has SPDIF |- | Trust Sound Expert Digital Surround 5.1 (cm8738-mx 6ch) | | | | <!--Playback--> | <!--Recording--> | untested |- | Turtle Beach Riviera CMI8738-MX 6ch | | | | <!--Playback--> | <!--Recording--> | untested |- | XSonic CMI 8738 6ch | | | | <!--Playback--> | <!--Recording--> | untested |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback--> | <!--Recording--> | <!--Comments--> |- style="background:lightgrey; text-align:center; font-weight:bold;" | Description | Vendor ID | Product ID | Revision | Playback | Recording | Comments |- | <!--Description-->CMI8738 6ch PCI-E PCI Express version | <!--Vendor ID-->0x13f6 | <!--Product ID-->0x0111 | <!--Revision-->0x10 | <!--Playback-->{{Yes|}} | <!--Recording-->{{Maybe|}} | <!--Comments-->Chinese based card with playback tested so far |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback--> | <!--Recording--> | <!--Comments--> |- |} ====2001-2005 ac97.audio==== *6.4 27-12-2008 The AC97 chips were designed to be pinout interchangeable so that the sound support could change easily and quickly without motherboard redesigns the green jack is for the main speaker pair AND headphones, so manual switching will be required If your card is wired for the "AC97" standard, then it's up to your headphone jack to switch the green speaker output in and out, the headphone jack has Normally-closed contacts that will open on insertion, which breaks the signal path back to the sound card (FP_RETURN) The ProductID and VendorID are for the audio controller only - the important additional codec is '''NOT''' so easily identified. {| class="wikitable sortable" width="90%" ! width="10%" |Description ! width="10%" |Vendor ID ! width="10%" |Product ID ! width="10%" |Revision ! width="10%" |Playback ! width="10%" |Recording ! width="35%" |Comments |- | <!--Description-->Avance Logic (now Realtek) ALC100 and ALC101 codec | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk}} | <!--Recording-->{{No}} | <!--Comments-->untested |- | <!--Description-->ALC200 and ALC201 codec | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk}} | <!--Recording-->{{No}} | <!--Comments-->untested |- | <!--Description-->ALC201A and ALC202 and ALC202A codec | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk}} | <!--Recording-->{{No}} | <!--Comments-->untested |- | <!--Description-->ALC650 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{Yes}} | <!--Recording-->{{No}} | <!--Comments-->most Nforce2 boards plays audio only - Abit NF7, Asus A7N8X, MSI K7N2, Epox 8RDA+, DFI |- | <!--Description-->ALC850 codec | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{No}} | <!--Recording-->{{No}} | <!--Comments-->no support for via P4P800 chipset on ASUS A8V-E SE Deluxe mobo - ICaros 1.3 |- | <!--Description-->Realtek ALC653 codec and ALC655 codec | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk}} | <!--Recording-->{{No}} | <!--Comments-->untested Acorp 7NFU400 |- | <!--Description-->Realtek ALC658 codec ALC658D | <!--Vendor ID-->0x8080 | <!--Product ID-->0x24c5 | <!--Revision-->0x0 | <!--Playback-->{{Yes|Prefs Music and Units 0-3 set volume control - playback}} | <!--Recording-->{{No}} | <!--Comments-->MSI Motherboard on NB 22-09-2012 |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Playback--> | <!--Recording--> | <!--Revision--> | <!--Comments--> |- style="background:lightgrey; text-align:center; font-weight:bold;" | Description | Vendor ID | Product ID | Revision | Playback | Recording | Comments |- | <!--Description-->AD1881 SoundMAX | <!--Vendor ID--> | <!--Product ID--> | <!--Playback--> | <!--Recording--> | <!--Revision--> | <!--Comments-->Analog Devices first AC97 |- | <!--Description-->AD1881A | <!--Vendor ID--> | <!--Product ID--> | <!--Playback-->{{Yes}} | <!--Recording-->{{Yes}} | <!--Revision--> | <!--Comments-->works with VIA Controller - untested Intel etc |- | <!--Description-->AD1881B | <!--Vendor ID--> | <!--Product ID--> | <!--Playback--> | <!--Recording--> | <!--Revision--> | <!--Comments--> |- | <!--Description-->AD1885 codec | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{Maybe}} | <!--Recording-->{{No}} | <!--Comments-->Playback only with issues on D845HV but not working on MS-6367 because Units 0-3 have masked volume control |- | <!--Description-->AD1886 | <!--Vendor ID--> | <!--Product ID--> | <!--Playback--> | <!--Recording--> | <!--Revision--> | <!--Comments--> |- | <!--Description-->AD1887 | <!--Vendor ID--> | <!--Product ID--> | <!--Playback--> | <!--Recording--> | <!--Revision--> | <!--Comments--> |- | <!--Description-->ADI AD1888 codec | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{no}} | <!--Recording-->{{No}} | <!--Comments--> Icaros 1.51 |- | <!--Description-->AD1980 codec | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk}} | <!--Recording-->{{No}} | <!--Comments-->untested |- | <!--Description-->AD1981A codec | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk}} | <!--Recording-->{{No}} | <!--Comments-->untested IBM X30 |- | <!--Description-->Analog Devices SoundMax(TM) AD1981B codec | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{Yes}} | <!--Recording-->{{No}} | <!--Comments-->plays back only on IBM T41 Thinkpad |- | <!--Description-->AD1985 codec | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{Maybe}} | <!--Recording-->{{No}} | <!--Comments-->not working ahi prefs freezes on D865GLC mobo ([http://www.xbitlabs.com/articles/multimedia/display/int-sound2_3.html ] |- | <!--Description-->AD1986 codec | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{Maybe}} | <!--Recording-->{{No}} | <!--Comments-->untested [http://uk.ts.fujitsu.com/rl/servicesupport/techsupport/Boards/Motherboards/Fujitsu/D1931/D1931.htm D1931] but works (Acer Aspire 3610 laptop) |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Playback--> | <!--Recording--> | <!--Revision--> | <!--Comments--> |- style="background:lightgrey; text-align:center; font-weight:bold;" | Description | Vendor ID | Product ID | Revision | Playback | Recording | Comments |- | <!--Description-->Crystal Semiconductors CS4205, CS4202 codecs | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk}} | <!--Recording-->{{No}} | <!--Comments-->untested |- | <!--Description-->Cirrus Logic CrystalWare 4236 | <!--Vendor ID--> | <!--Product ID--> | <!--Playback--> | <!--Recording--> | <!--Revision--> | <!--Comments--> |- | <!--Description-->Cirrus Logic CrystalClear SoundFusion CS4297 CS4299 codec | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk}} | <!--Recording-->{{No}} | <!--Comments-->untested IBM T23 |- | <!--Description-->conexant Cx20468-31 codec (id 30) | <!--Vendor ID-->0x103c | <!--Product ID-->0x3085 | <!--Revision--> | <!--Playback-->{{No|AC97 appears in AHI Prefs}} | <!--Recording-->{{No}} | <!--Comments-->Tested AspireOS 1.8 on Gateway W322 |- | <!--Description-->ESS Technology ES1921 AC'97 2.1 | <!--Vendor ID--> | <!--Product ID--> | <!--Playback--> | <!--Recording--> | <!--Revision--> | <!--Comments--> |- | <!--Description-->CMI 6501 codec | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk}} | <!--Recording-->{{No}} | <!--Comments-->untested on ASROCK SKT-AM2 AM2NF3-VSTA |- | <!--Description-->codec CMI9738 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk}} | <!--Recording-->{{No}} | <!--Comments-->untested |- | <!--Description-->codec CMI9739 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk}} | <!--Recording-->{{No}} | <!--Comments-->untested |- | <!--Description-->C-Media CMI 9739A | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk}} | <!--Recording-->{{No}} | <!--Comments--> untested on EPoX 8RDA3+ |- | <!--Description-->CMedia CMI 9761A codec | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk}} | <!--Recording-->{{No}} | <!--Comments-->untested ASRocK K7NF2-RAID |- | <!--Description-->C-Media CMI9880 | <!--Vendor ID--> | <!--Product ID--> | <!--Playback--> | <!--Recording--> | <!--Revision--> | <!--Comments--> |- | <!--Description-->National Semi conductor (now TI) LM4540, LM4543, LM4545, LM4546, LM4548, LM4549, LM4550 LM4560 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback--> | <!--Recording--> | <!--Comments--> |- | <!--Description-->STAC9708T codec | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk}} | <!--Recording-->{{No}} | <!--Comments-->untested |- | <!--Description-->SigmaTel (now IDT) C-Major STAC 9460 (D/A only), 9461, 9462, 9463, 9200, 9202, 9250, 9251, 9220, 9221, 9223, 9750 | <!--Vendor ID--> | <!--Product ID--> | <!--Playback--> | <!--Recording--> | <!--Revision--> | <!--Comments--> |- | <!--Description-->AKM (Asahi Kasei Microsystems) AK 4540, 4543, 4544A, 4545 | <!--Vendor ID--> | <!--Product ID--> | <!--Playback--> | <!--Recording--> | <!--Revision--> | <!--Comments--> |- | <!--Description-->codec VT1616 (VIA Six-TRAC Vinyl Audio) | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{No}} | <!--Recording-->{{No}} | <!--Comments-->untested |- | <!--Description-->VIA VT1612, VT82C686 | <!--Vendor ID--> | <!--Product ID--> | <!--Playback--> | <!--Recording--> | <!--Revision--> | <!--Comments--> |- | <!--Description-->ESStech ESS ES1968 maestro-2 | <!--Vendor ID-->0x125d | <!--Product ID-->0x1968 | <!--Revision-->0x | <!--Playback-->{{No| }} | <!--Recording-->{{No| }} | <!--Comments--> |- | <!--Description-->ESStech ESS ES1978 maestro2e | <!--Vendor ID-->0x125d | <!--Product ID-->0x1978 | <!--Revision-->0x | <!--Playback-->{{No| }} | <!--Recording-->{{No| }} | <!--Comments--> |- | <!--Description-->ESStech ESS ES1988 maestro3 allegro-1 codec | <!--Vendor ID-->0x125d | <!--Product ID-->0x1988 | <!--Revision-->0x12 | <!--Playback-->{{No| }} | <!--Recording-->{{No| }} | <!--Comments--> |- | <!--Description-->Yamaha AC97 ymf-743 YMF752 YMF753 codec | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback--> | <!--Recording-->{{No}} | <!--Comments-->untested ymf-753 |- | <!--Description-->YMF724 YMF744 YMF-754 codec | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback--> | <!--Recording-->{{No}} | <!--Comments-->untested |- | SIS 7018 / Trident 4dwave DX/NX / ALi 5451 | 0x1039 (0x1023 Trident) | 0x7018 (0x2000 Trident DX) (0x2001 Trident NX) | 0x02 | <!--Playback-->{{No}} | <!--Recording-->{{No}} | no support - introduced early 2000s |- | SIS 7012 | 0x1039 | 0x7012 | | <!--Playback-->{{Yes}} | <!--Recording-->{{No}} | working through 1 speaker only took over from SIS7018 (2002 onwards) |- | <!--Description-->Wolfson (now Cirrus Logic) WM9701, WM9701A (AC'97 1.03 spec), WM9703, WM9704 (AC'97 2.1), WM9705, WM9706, WM9707, WM9708 | <!--Vendor ID--> | <!--Product ID--> | <!--Playback--> | <!--Recording--> | <!--Revision--> | <!--Comments--> |- | <!--Description-->WM9709, WM9710, WM9711, WM9712, WM971 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback--> | <!--Recording--> | <!--Comments-->first Microsoft(TM) Xbox DAC sound chip (AC Link compliant D/A converter) |- | <!--Description-->Wolfson WM9717 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback--> | <!--Recording--> | <!--Comments--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback--> | <!--Recording--> | <!--Comments--> |- style="background:lightgrey; text-align:center; font-weight:bold;" | Description | Vendor ID | Product ID | Revision | Playback | Recording | Comments |- | Parallels | | | | <!--Playback-->{{unk}} | <!--Recording-->{{unk}} | untested |- | VirtualBox | | | | <!--Playback-->{{Yes}} | <!--Recording-->{{No}} | working |- | VirtualPC | | | | <!--Playback-->{{unk}} | <!--Recording-->{{unk}} | untested |- | <!--Description-->Intel 82801AA Proxmox | <!--Vendor ID-->0x8086 | <!--Product ID-->0x | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Recording-->{{unk| }} | <!--Comments--> |- |} ====2005-20xx HDAUDIO.audio==== *6.36 2025 [https://github.com/aros-development-team/AROS/commit/43b33a9280b10963ca659de2cc3d1cf289b43a87 reset handler] *6.35 202 [] *6.34 2019 AROS One 1.5 upwards *6.29 2018 *6.27 2017 update *6.25 2014 used for most Icaros 2.x *6.20 July 2012 *6.17 Nov 2011 *6.15 Jun 2011 *[http://www.clusteruk.com/SitePortalPage.aspx?siteid=1&did=109 6.13] Sep 2010 {| class="wikitable sortable" width="90%" ! width="10%" |Description ! width="5%" |Vendor ID ! width="5%" |Product ID ! width="5%" |Revision ! width="10%" |Playback ! width="10%" |Recording ! width="35%" |Comments |- | <!--Description-->ALC260 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{Unk}} | <!--Recording-->{{Unk}} | <!--Comments--> |- | <!--Description-->ALC262 * ALC262-VD2-GR | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{Unk}} | <!--Recording-->{{Unk}} | <!--Comments-->LQFP-48 |- | ALC268 codec | 0x | 0x | 0x | <!--Playback-->{{Yes|Version 6.17 Acer AOA110 and AOA150 netbooks), works (Dell Mini Inspiron 9 and 10v, }} | <!--Recording-->{{Yes|Version 6.17 remove QUERY and select 'Mic 1' as input. Tested with 6.15 as well using QuickRecord and AE 4.0.23 under Icaros 1.4.}} | <!--Comments-->AHI UNITS and Music are set to: hdaudio:HiFi 16 bit stereo++ / Frequency 48000 Hz, Volume +0.0 dB. The hdaudio.config in SYS:Prefs/Env-Archive is WITHOUT the QUERY-line. After changing and saving the config-file turn off and start again the computer. Switch from internal loudspeaker to headphone you must turn off the music before plug in the headphone-cable, otherwise there is no output on the socket. Back from line-out to internal speakers it is the same. |- | [http://blog.foool.net/wp-content/uploads/linuxdocs/sound.pdf Linux docs ALC269] * ALC269Q-GR * ALC269QSRS-GR * ALC269W-GR | 0x | 0x | 0x | <!--Playback-->{{Maybe| }} | <!--Recording-->{{Unk| }} | <!--Comments-->TQFP 48 pin Power IC Chip From [https://patchwork.kernel.org/project/alsa-devel/patch/1408118123-15849-1-git-send-email-tiwai@suse.de/ ALC269 & co have many vendor-specific setups with COEF verbs, result in the codec stalling] |- | [http://www.alsa-project.org/db/?f=0321f8479fd670cd510f9912b1120fe7edcf2e07 ALC269VB] * ALC269Q-VB5-GR * ALC269Q-VB6-CG * ALC269Q-VB6-GR | 0x10ec | 0x0269 | 0x100004, 0x100100, 0x100202 | <!--Playback-->{{Maybe|some versions work}} | <!--Recording-->{{Unk}} | <!--Comments--> * v1 works Asus eee PC netbook 901/1000HA 1005HA/1008HA, 1001P, * v2 maybe working Lenovo S9 S10 S10-2 S10-3 under HDAudio version 6.13 * v3 maybe dell wyse 7010 |- | [http://alsa-project.org/db/?f=9c1746c5957b0ce72ff9cfffa312e97d14baf785 ALC269VC aka ALC3202] * ALC269Q-VC2-GR * ALC269Q-VC3-GR | 0x10ec | 0x0269 | 0x100203, | <!--Playback-->{{Maybe|some versions work}} | <!--Recording-->{{Unk}} | <!--Comments-->SMT SMD QFN-48 - * v1 unknown * v2 unknown * v3 x230, dell wyse, |- | ALC272 * ALC272-VA4-GR | 0x10ec | 0x0272 | 0x0 | <!--Playback-->{{Yes| }} | <!--Recording-->{{Unk}} | * works Acer AOD150 and Acer AOD250 works [http://amigaworld.net/modules/newbb/viewtopic.php?topic_id=33755&forum=28#616910 Samsung NP-NC10], works Samsung NF210-A02] netbooks, |- | <!--Description-->ALC273 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{Unk}} | <!--Recording-->{{Unk}} | <!--Comments--> |- | <!--Description-->ALC270 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback--> | <!--Recording--> | <!--Comments--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback--> | <!--Recording--> | <!--Comments--> |- | <!--Description-->ALC282 | <!--Vendor ID-->0x1002 | <!--Product ID-->0x | <!--Revision--> | <!--Playback-->{{No|Version 6.17}} | <!--Recording-->{{No|Version 6.17}} | <!--Comments-->needs retest |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback--> | <!--Recording--> | <!--Comments--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback--> | <!--Recording--> | <!--Comments--> |- | <!--Description-->ALC660 ALC660-VD | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{Yes| }} | <!--Recording--> | <!--Comments--> * works asus F9s, F9e * untested asus w7j, M51SN, A6Tc, A8Sr, |- | <!--Description-->ALC661-GR (2011) | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback--> | <!--Recording--> | <!--Comments--> |- | ALC662 | 0x1043 | 0x82a1 | 0x0 | <!--Playback-->{{Yes|Version 6.17 if QUERY added to top of hdaudio.config}} | <!--Recording-->{{No|Version 6.17 not working for eee pc 900}} | * works Asus eee PC netbook 700/701/900, Atom 270 and 330 mobos, odd clicks (D410 NM10 PineTrail), |- | <!--Description-->[http://outpost.fr/rmaa/ALC663.htm ALC663] | <!--Vendor ID-->0x10ec | <!--Product ID-->0x0861 | <!--Revision--> | <!--Playback-->{{No|Version 6.13}} | <!--Recording-->{{Unk}} | <!--Comments-->not bad output like headphone amp part of the codec actually works well but messed up by undersized coupling capacitors to actually support such a low impedance * not working Asus n50vn x71vn, |- | <!--Description-->ALC665 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback--> | <!--Recording--> | <!--Comments--> |- | <!--Description-->ALC666 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback--> | <!--Recording--> | <!--Comments--> |- | <!--Description-->ALC667 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback--> | <!--Recording--> | <!--Comments--> |- | <!--Description-->ALC668 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback--> | <!--Recording--> | <!--Comments--> |- | <!--Description-->ALC670 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback--> | <!--Recording--> | <!--Comments--> |- style="background:lightgrey; text-align:center; font-weight:bold;" | Description | Vendor ID | Product ID | Revision | Playback | Recording | Comments |- | <!--Description-->ALC880 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{Unk}} | <!--Recording-->{{Unk}} | <!--Comments-->some 915 and 925 chipset mobos |- | <!--Description-->ALC882M | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{Yes| }} | <!--Recording-->{{Unk}} | <!--Comments--> |- | Realtek ALC883 ALC883-GR ALC883D-GR ALC883DTS-GR ALC883DD-GR codec | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{Maybe|some early versions work }} | <!--Recording-->{{Unk| }} | 2005 to 2007 HD Audio codec untested (Asus ), |- | Codec ALC885 | 0x10ec | 0x0885 | <!--Revision--> | <!--Playback-->{{No}} | <!--Recording-->{{Unk}} | |- | ALC888 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{Unk}} | <!--Recording-->{{Unk}} | |- | ALC888s * ALC888S-VD2-GR | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{Yes}} MSI Wind U90/U100, | <!--Recording-->{{Unk}} | LQFP-48 |- | ALC888b | 0x8086 | 0x0 | <!--Revision-->0x0 | <!--Playback-->{{Unk}} | <!--Recording-->{{Unk}} | untested (D510 NM10 Dual Core PineTrail mobo), |- | ALC888-VD | 0x8086 | 0x0 | <!--Revision-->0x0 | <!--Playback-->{{Unk}} | <!--Recording-->{{Unk}} | untested |- | ALC889A | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{Yes|works if QUERY added to the top of hdaudio.config in Prefs drawer/directory}} | <!--Recording-->{{Unk}} | |- | ALC889 Gr | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{Yes}} with crackles | <!--Recording-->{{Unk}} | |- | ALC889 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{Yes}} | <!--Recording-->{{Unk}} | Tested with MSI H55 board |- | ALC887 ALC887-GR | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{Yes}} | <!--Recording-->{{Unk}} | * working on ASUS P5KPL/EPU and Gigabyte GA-E350N-Win8 Rev1.0 |- | ALC887-VD-CG | <!--Vendor ID-->0x10ec | <!--Product ID-->0x0887 | <!--Revision-->0x100302 | <!--Playback-->{{Unk| }} | <!--Recording-->{{Unk}} Subsystem Id: 0x1458a002 | |- | ALC887-VD | <!--Vendor ID-->0x10ec | <!--Product ID-->0x0887 0x1458 | <!--Revision-->0xa002 | <!--Playback-->{{Maybe}} | <!--Recording-->{{Unk}} index = 2 | ALC887 does not have any volume control ability on the mixer NIDs, so put the volume controls on the dac NIDs instead * working with intermittent corrupting pop popping skipping stuttering sound issues MSI 760GM-P23 (FX), * not working Gigabyte H61MA-D3V, AT3IONT-I Deluxe, |- | ALC887-VD2 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{Unk| }} | <!--Recording-->{{Unk}} | 3jacks |- | ALC887-VD2-GR | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{No}} | <!--Recording-->{{Unk}} | |- | ALC887- | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{Unk| }} | <!--Recording-->{{Unk}} | |- | ALC892-CG rev | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{Unk| }} | <!--Recording-->{{Unk| }} | 2011 48-pin LQFP Green package - |- | ALC892 ALC892-DTS-CG rev | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{Unk| }} | <!--Recording-->{{Unk}} | 2009 introduced * works * not working * untested |- | ALC892 rev | <!--Vendor ID-->0x0x10ec | <!--Product ID-->0x0892 | <!--Revision-->0x100302 | <!--Playback-->{{Unk| }} | <!--Recording-->{{Unk| }} | 2014 |- | Realtek ALC886-GR | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{Unk| }} | <!--Recording-->{{Unk| }} | LQFP-48 |- | Codec ALC861 ALC861-VD | 0x10ec | <!--Product ID-->0x0663 | <!--Revision--> | <!--Playback-->{{Unk| }} | <!--Recording-->{{Unk}} | * not working Toshiba Tecra A7 |- | <!--Description-->ALC1200 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{Unk}} | <!--Recording-->{{Unk}} | <!--Comments--> |- | ALC898 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{Unk| }} | <!--Recording-->{{Unk}} | not working |- | <!--Description-->ALC1500 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{Unk| }} | <!--Recording--> | <!--Comments--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{Unk| }} | <!--Recording--> | <!--Comments--> |- | <!--Description-->ALC aka ALC | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback--> | <!--Recording--> | <!--Comments--> |- | <!--Description-->ALC3232 (aka ALC292) | <!--Vendor ID-->0x10ec | <!--Product ID-->0x0292 | <!--Revision--> | <!--Playback-->{{Unk| }} | <!--Recording--> | <!--Comments--> |- | <!--Description-->ALC aka ALC | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback--> | <!--Recording--> | <!--Comments--> |- | <!--Description-->ALC3234 aka ALC255 | <!--Vendor ID-->0x10ec | <!--Product ID-->0x0255 | <!--Revision-->003 | <!--Playback-->{{No| }} | <!--Recording-->{{No| }} | <!--Comments--> |- | <!--Description-->ALC aka ALC | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback--> | <!--Recording--> | <!--Comments--> |- | <!--Description-->ALC3287 aka ALC257 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{yes| }} | <!--Recording-->{{no| }} | <!--Comments--> |- | <!--Description-->ALC aka ALC | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback--> | <!--Recording--> | <!--Comments--> |- | <!--Description-->ALC aka ALC | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback--> | <!--Recording--> | <!--Comments--> |- style="background:lightgrey; text-align:center; font-weight:bold;" | Description | Vendor ID | Product ID | Revision | Playback | Recording | Comments |- | <!--Description-->AD1882 | <!--Vendor ID--> | <!--Product ID--> | <!--Playback--> | <!--Recording--> | <!--Revision--> | <!--Comments--> |- | <!--Description-->AD1883 HD Codec | <!--Vendor ID--> | <!--Product ID--> | <!--Playback--> | <!--Recording--> | <!--Revision--> | <!--Comments--> |- | <!--Description-->AD1884 | <!--Vendor ID--> | <!--Product ID--> | <!--Playback--> | <!--Recording--> | <!--Revision--> | <!--Comments--> |- | Analog Devices SoundMAX AD1981 | <!--Vendor ID-->0x0 | <!--Product ID-->0x0 | <!--Revision-->0x0 | <!--Playback-->{{Unk}} | <!--Recording-->{{Unk}} | IBM Thinkpad T60, |- | AD1984 hp-m4 codec | <!--Vendor ID-->0x0 | <!--Product ID-->0x0 | <!--Revision-->0x0 | <!--Playback-->{{No}} | <!--Recording-->{{Unk}} | * audio not working on Lenovo X61, Thinkpad T61, |- | AD1986 | <!--Vendor ID-->0x0 | <!--Product ID-->0x0 | <!--Revision-->0x0 | <!--Playback-->{{Unk}} | <!--Recording-->{{Unk}} | |- | AD1988 | <!--Vendor ID-->0x0 | <!--Product ID-->0x0 | <!--Revision-->0x0 | <!--Playback-->{{No}} | <!--Recording-->{{Unk}} | |- | <!--Description-->AD1988A | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback--> | <!--Recording--> | <!--Comments--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback--> | <!--Recording--> | <!--Comments--> |- style="background:lightgrey; text-align:center; font-weight:bold;" | Description | Vendor ID | Product ID | Revision | Playback | Recording | Comments |- | <!--Description-->Cirrus Logic CS4207 | <!--Vendor ID-->0x0 | <!--Product ID-->0x0 | <!--Revision-->0x0 | <!--Playback--> | <!--Recording--> | |- | <!--Description-->Cirrus Logic CS4208 | <!--Vendor ID-->0x0 | <!--Product ID-->0x0 | <!--Revision-->0x0 | <!--Playback--> | <!--Recording--> | |- | <!--Description-->Conexant CX20549 codec | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{Maybe|very very very low volume}} | <!--Recording-->{{Unk}} | <!--Comments-->untested Fujitsu Amilo SI 1510 1520 no datasheet for the general public |- | <!--Description-->Conexant CX20549-12Z codec | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{Unk}} | <!--Recording-->{{Unk}} | <!--Comments-->untested HP 530 |- | <!--Description-->Conexant CX20561 codec | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{yes}} | <!--Recording-->{{Unk}} | <!--Comments--> * working lenovo x200s * untested Lenovo Essential G555 Notebook, HP Pavilion dv6700, |- | <!--Description-->Conexant CX20582 codec | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{Unk}} | <!--Recording-->{{Unk}} | <!--Comments-->untested |- | <!--Description-->Conexant CX2059x CX20590 CX20594-21Z codec | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{Unk}} | <!--Recording-->{{Unk}} | <!--Comments-->untested |- | <!--Description-->Conexant CX20585 codec | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{yes}} | <!--Recording-->{{Unk}} | <!--Comments--> * working Lenovo Thinkpad T410, |- | <!--Description-->Conexant CX20672 codec | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{Unk}} | <!--Recording-->{{Unk}} | <!--Comments-->untested |- | <!--Description-->Conexant CX20671 codec | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{Unk}} | <!--Recording-->{{Unk}} | <!--Comments-->untested |- | <!--Description-->Conexant CX20751-21Z codec | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{yes| }} | <!--Recording-->{{Unk}} | <!--Comments--> |- | <!--Description-->Conexant CX11852 codec | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{Unk}} | <!--Recording-->{{Unk}} | <!--Comments-->untested |- | <!--Description-->Conexant CX11880 codec | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{Unk}} | <!--Recording-->{{Unk}} | <!--Comments-->untested |- | <!--Description-->Conexant after 2015 up to 2018 CX7501 codec | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{no|no driver codec}} | <!--Recording-->{{no|no driver codec}} | <!--Comments-->Conexant bought by synaptics 2019 |- style="background:lightgrey; text-align:center; font-weight:bold;" | Description | Vendor ID | Product ID | Revision | Playback | Recording | Comments |- | <!--Description-->C-Media CMI9880 codec | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{Unk}} | <!--Recording-->{{Unk}} | <!--Comments-->Gigabyte GA-8GPNXP |- | <!--Description-->Silicon Labs 3054 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback--> | <!--Recording--> | <!--Comments--> |- | VIA 1708A | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{Unk}} | <!--Recording-->{{Unk}} | untested, |- | VIA VT1708B | <!--Vendor ID--> | <!--Product ID--> | 0x0010 | <!--Playback-->{{No|VIA PicoITX}} | <!--Recording-->{{Unk}} | |- | VIA 1708S | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{Yes}} | <!--Recording-->{{Unk}} | |- | <!--Description-->VT2021 10ch | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback--> | <!--Recording--> | <!--Comments-->Gigabyte Z77MX-D3H, GA-H61M-S2H‎ S2P, |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback--> | <!--Recording--> | <!--Comments--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback--> | <!--Recording--> | <!--Comments--> |- | <!--Description-->Creative CA0110-IBG | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback--> | <!--Recording--> | <!--Comments--> |- style="background:lightgrey; text-align:center; font-weight:bold;" | Description | Vendor ID | Product ID | Revision | Playback | Recording | Comments |- | <!--Description-->SigmaTel STAC 9220 9221 9223 8ch (7+1) | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{Unk| }} | <!--Recording-->{{Unk| }} | <!--Comments-->ECS 945GCT/M-1333 (version 3.0), |- | IDT SigmaTec [http://explorer.cekli.com/articles/pdf/hd-audio STAC9227] /28/29/30 codec | <!--Vendor ID-->0x8384 | <!--Product ID-->0x7626 | <!--Revision-->0x0002 | <!--Playback-->{{Yes| }} | <!--Recording-->{{Unk}} | * works HP Compaq mini 110 * untested HP Pavilion HDX9000 CTO Notebook, Intel DG33TL mobo, Dell E520, Intel DP35DP mobo, Dell E6410 Laptop, |- | IDT (formerly SigmaTel) IDC STAC 9271/71D | <!--Vendor ID-->0x8384 | <!--Product ID-->0x7626 | <!--Revision-->0x0002 | <!--Playback-->{{Unk}} | <!--Recording-->{{Unk}} | |- | <!--Description-->IDC STAC 9272 9273 9274 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback--> | <!--Recording--> | <!--Comments-->Intel D5400XS, |- | <!--Description-->IDT 92HD73C | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{yes}} | <!--Recording--> | <!--Comments-->headphones only Asus AT4NM10 mobo |- | <!--Description-->IDT 92HD75B | <!--Vendor ID-->0x111d | <!--Product ID-->0x7608 | <!--Revision--> | <!--Playback-->{{Yes}} | <!--Recording-->{{Unk}} | <!--Comments--> * working [http://koti.kapsi.fi/jvaltane/aros/hdaudio/ HP Compaq Mini 700 Netbook - feedback required] * untested HP Mini 5103 and 5102, HP Compaq 610, HP ProBook Laptop 4520s 4525s 6450b 6550b 6555b, HP EliteBook 2540p 2740p 8440p, Mobile Workstation 8540w 8740w, Pavilion NoteBook DV8, |- | <!--Description-->IDC 92HD81XX | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback--> | <!--Recording--> | <!--Comments--> |- | <!--Description-->IDC 92HD83XX | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback--> | <!--Recording--> | <!--Comments--> |- | <!--Description-->IDC STAC 92HD89XX | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback--> | <!--Recording--> | <!--Comments--> |- | <!--Description-->IDC | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback--> | <!--Recording--> | <!--Comments--> |- | <!--Description-->IDC | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback--> | <!--Recording--> | <!--Comments--> |- | <!--Description-->IDC | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback--> | <!--Recording--> | <!--Comments--> |- | <!--Description-->IDC | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback--> | <!--Recording--> | <!--Comments--> |- | <!--Description-->Wolfson (now Cirrus Logic) WM8850 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback--> | <!--Recording--> | <!--Comments--> |- | <!--Description-->Wolfson WM8860 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback--> | <!--Recording--> | <!--Comments-->Intel High Definition Audio Revision 1.0. - 4-Channel DAC, 4-channel ADC. - DAC sampling |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback--> | <!--Recording--> | <!--Comments--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback--> | <!--Recording--> | <!--Comments--> |- |} Using Prefs/AHI ensure you set the music unit and at least Units 0 (where most audio comes from) in top left drop down menu to HDaudio - HIFI in the section below. Set Units 1 or 2 to microphone or other outputs. Plus allow more than one channel for multiple audio streams and set frequency up to 44 kHz or higher on the right hand side of the ahi prefs. If sound beeps when you press the test button then all should be OK. Output <- Codec <- Audio Controller (HDA) <-> Computer codecs and exact hardware identifier. As mentioned above, HDA is only part of the work here, it gets the audio out of the main chipset in digital format (on a bus called I2S). This is not enough, there is another step needed which is routing that I2S signal to the output, converting it to actual audio, amplifying it, etc. This is handled by a separate chip called a "codec". Sometimes it is initialized by the BIOS, but this is not always the case. Most audio drivers are made up of two parts a [http://www.kernel.org/doc/Documentation/sound/alsa/HD-Audio.txt Controller + a Codec]. The ProductID and VendorID are for the audio controller only - the important additional codec is '''NOT''' so easily identified. Some newer versions of codecs are missing at the moment. Things to try if sound not working * try to connect something to the audio jack, maybe it is not playing on internal speakers or vice versa * make sure you try and select all music units e.g. unit0, unit1.... * even if PCI ID's are in Prefs/Env-Archive/HDaudio.config, this doesn't mean it is working, it is the codec that matters * it might be internally muted <pre> add debug=memory to grub boot line - continue booting with F10 Open a shell Tools/Debug/Bifteck > RAM:audio.txt </pre> or <pre> Open a shell Tools/Debug/Sashimi > RAM:audio.txt Run ahi prefs Click test tone button Stop sashimi with Ctrl-C </pre> If the boot sound is enabled, you have to use Bifteck to capture AHI debug output. In the GRUB menu, press E on your selected entry, then add "debug=memory" to the options (alongside ATA=, vesa= etc.). Then F10 or Ctrl-X to boot. Once booted, run Tools/Debug/Bifteck again. or * try adding QUERYD to the start of ENVARC:hdaudio.config file (also known as Prefs/Env-Archive/) ie. on the first line * '''OR''' try removing QUERY and QUERYD from the start of the hdaudio.config file * Reboot * open a shell * type: sys:tools/debug/sashimi > ram:debug.txt * open ahi prefs * select one of the audio modes - HIFI or otherwise * press the 'test sound' button * press ctrl-c in the shell * post the results to Aros-World The HD Audio standard was designed to be hardware pinout interchangeable so that the sound support could change easily and quickly. HDA is a standard around particular chips. Each kind of chip has a certain number of DACs and pins, and even the same chip could be hooked up in different ways on different motherboards. The chips are programmable and the operating system can adjust how things are routed. Some pins aren’t even hooked up, so it makes no sense to route sound to them. Also some pins have sensors that can tell when something is plugged in, so that for example the speakers in a laptop can be muted when headphones are plugged in. Pins are also grouped, so for example all the outputs for a 5.1 sound system are grouped. Generally the HDA driver in the operating system is supposed to read the pin set up and figure out a reasonable way to set things up, and disconnected pins should be ignored, etc. HDAudio standard has headphones on a separate DAC, and it's up to the driver.. it can even send different audio to the headphones without interrupting the main (green) outputs ====Envy24 series ==== A little history. VIA bought the ICE created Envy chipsets [http://www.via.com.tw/en/products/audio/controllers/comparison_controller.jsp VT1712] first. A few years later, they created several cheaper variants VT1724 (mixer missing), VT1721 (low end cut down), VT1720 (embedded on motherboard) and lastly the VT1723 (no support apart from Windows Envy24DT like SYBA SD-PEX63034). There are PCI Express versions appearing. The Envy24 is the base product that was originally designed by ICEnsemble, and it supports multi-channel hardware mixing, which is great for professional use. The HT version removes the hardware mixer (unimportant for non-professional uses). The [http://www.avsforum.com/t/364771/envy24ht-s-the-definitive-source HT-S] version is almost exactly the same as the HT, it just uses cheaper DACs. The PT version is exactly the same as the HT-S version, it is just the edition used for on-board audio on motherboards. N.B. [http://www.soundonsound.com/sos/dec04/articles/pcnotes.htm PCI slot identification] and [http://hsi.web.cern.ch/HSI/s-link/devices/s32pci64/slottypes.html 3.3v PCI]. =====[http://www.opensound.com/readme/README.Envy24.html envy24.audio] - [http://www.anime.net/~goemon/alsa/ VT1712] ===== {| class="wikitable" ! Description ! Vendor ID ! Product ID ! Revision ! Playback ! Recording ! Comments |- | M-Audio Delta 66 - Rev B 1999 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback--> | <!--Recording--> | untested AK4524VF CS8404A-CS - needs Delta Series break out box with D-sub lead - |- | [http://ixbtlabs.com/articles/maudioaudiophile/index.html Audiophile 2496] Rev A 2000 | 0x14 | 0x | | <!--Playback-->{{unk| }} | <!--Recording-->{{unk| }} | works audio out on - I2S stereo codec AKM AK4528VF with the 24bit/96kHz DAC and ADC; CS8427 digital transceiver |- | [http://ixbtlabs.com/articles/maudioaudiophile/index.html Audiophile 2496] Rev B 2003 | 0x14 | 0x | | <!--Playback-->{{Yes }} | <!--Recording--> | works well - I2S stereo codec AKM AK4528VF with the 24bit/96kHz DAC and ADC; CS8427 digital transceiver |- | M-Audio Delta 410 - 2001 2001 REV-B | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback--> | <!--Recording--> | untested for D-A AK4529VQ converters with CS8427-CS 5532 1158B or Event Echo Gina 20-Bit Multitrack Interface Breakout Box - |- | M-Audio Delta 1010 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback--> | <!--Recording--> | untested AK5383 and AK4393 - 25 pin dsub - |- | M-Audio Delta 1010LT 1010E | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback--> | <!--Recording--> | untested for D-A AK4529 converters with 2 XLR Microphone inputs with pre amps * be aware of redesign in 2007 - possible issues |- | M Audio Delta 44 - Rev A 2002 - Rev B 2003 - Rev D 2003 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback--> | <!--Recording--> | untested ICE1712G AK4524VF needs breakout box with 15 pin D-sub lead - |- | M-Audio Delta 66 Rev E 2006 - Omni Studio | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback--> | <!--Recording--> | untested needs break out box with 15 pin D-sub lead - |- | <!--Description-->M-Audio Delta DiO 2496 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback--> | <!--Recording--> | <!--Comments--> |- | Terratec EWX24/96 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback--> | <!--Recording--> | untested |- | [http://ixbtlabs.com/articles2/terratecdmx6fire/index.html TerraTec 6fire DMX 24/96] | <!--Vendor ID-->0x1412 | <!--Product ID-->0x1712 | <!--Revision-->0x02 | <!--Playback-->{{No|tried line 1-2 3-4 5-6 7-8 }} | <!--Recording-->{{No| }} | untested - AKM and codec |- | <!--Description-->Terratec EWSA88MT | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback--> | <!--Recording--> | <!--Comments--> |- | [http://lists.freebsd.org/pipermail/freebsd-multimedia/2007-March/006087.html Audiotrak Prodigy HD2] 24/96 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback--> | <!--Recording--> | untested |- | Audiotrak (ESI) Maya 1010 1010L | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback--> | <!--Recording--> | untested |- | EMU 1212M | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback--> | <!--Recording--> | untested |- | EMU 1616M | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback--> | <!--Recording--> | untested |- | <!--Description-->Terratec EWS 88MT EWS 88D | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback--> | <!--Recording--> | <!--Comments--> |- | <!--Description-->Hoontech Soundtrack DSP 24 Soundtrack DSP 24 Value Soundtrack DSP 24 Media 7.1 Event Electronics EZ8 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback--> | <!--Recording--> | <!--Comments--> |- | <!--Description-->Digigram VX442 Lionstracs Mediastation Terrasoniq TS 88 Roland/Edirol DA-2496 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback--> | <!--Recording--> | <!--Comments--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback--> | <!--Recording--> | <!--Comments--> |- |} =====envy24ht.audio - VIA VT1724===== {| class="wikitable sortable" width="90%" ! width="10%" |Description ! width="10%" |Vendor ID ! width="10%" |Product ID ! width="10%" |Revision ! width="10%" |Playback ! width="10%" |Recording ! width="35%" |Comments |- | ESI Juli@ | 0x3031 | 0x4553 | 0x0 | <!--Playback-->{{Yes}} | <!--Recording-->{{Yes}} | reported working years ago [http://envy24.svobodno.com/ Envy24HT-S] - AKM 4358 DAC - AKM 4114/4112 DIT |- | ESI Juli@ Ego Igo rev K | 0x3031 | 0x | 0x0 | <!--Playback-->{{Unk}} | <!--Recording-->{{Unk}} | AK4358? DAC - AK4114 AK4112 DIT |- | [http://ixbtlabs.com/articles2/multimedia/m-audio-revolution51.html M-Audio Revolution 5.1] | 0x1412 | 0x3631 | 0x0 | <!--Playback-->{{unk}} | <!--Recording-->{{unk}} | reported working years ago but discontinued - (Envy24GT) - 3ch AKM 4358 DAC - ADC AKM 5365 - |- | [http://ixbtlabs.com/articles2/m-audio-revolution71/index.html M-Audio Revolution 7.1] 24/192 | 0x1412 | 0x3630 0x1724 | 0x0 | <!--Playback-->{{No| }} | <!--Recording-->{{No| }} | not working - illegal semaphore - 6ch ADC AKM AK4355 24-bit 192 kHz - 2ch DAC AKM AK4381 24-bit 192 kHz - ADC AKM AK5380 |- | Terratec Aureon Sky 5.1 | 0x153b | 0x1147 | 0x | <!--Playback-->{{unk}} | <!--Recording-->{{unk}} | untested - discontinued |- | [http://ixbtlabs.com/articles2/terratec-aureon71/index.html Terratec Aureon Space 7.1] | 0x153b | 0x1145 | 0x0 | <!--Playback-->{{unk}} | <!--Recording-->{{unk}} | untested - Wolfson WM8770 DAC, AC'97 codec SigmaTel STAC9744 |- | Terratec Aureon Universe 7.1 | 0x153b | 0x1153 (rev x) 0x1724 (rev3) | 0x0 | <!--Playback-->{{No| }} | <!--Recording-->{{No| }} | not working - semaphore error on rev 3 - DAC ADC |- | Terratec Phase 22 | 0x153b | 0x1150 | | <!--Playback-->{{unk}} | <!--Recording-->{{unk}} | untested - Envy24HT-S - AK4524 |- | Terratec Phase 28 | 0x153b | 0x1149 | | <!--Playback-->{{unk}} | <!--Recording-->{{unk}} | untested - Envy24HT-S - AK4524 |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk}} | <!--Recording-->{{unk}} | <!--Comments--> |- style="background:lightgrey; text-align:center; font-weight:bold;" | Description | Vendor ID | Product ID | Playback | Recording | Revision | Comments |- | Audiotrak (ESI) Prodigy 7.1 | 0x4933 | 0x4553 | | <!--Playback-->{{unk}} | <!--Recording-->{{unk}} | no driver - Wolfson WM8770 and AC'97 SigmaTel STAC9744 codec |- | Audiotrak (ESI) Prodigy 7.1 LT | 0x3132 | 0x4154 | | <!--Playback-->{{unk}} | <!--Recording-->{{unk}} | no driver - |- | [http://ixbtlabs.com/articles2/sound/audiotrak-prodigy192.html Audiotrak (ESI) Prodigy 192] 24/96 | | | | <!--Playback-->{{unk}} | <!--Recording-->{{unk}} | no driver - STAC9460S codec |- | <!--Description-->Echo Layla 24/96 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk}} | <!--Recording-->{{unk}} | <!--Comments--> |- | [http://www.bit-tech.net/custompc/labs/80752/hercules-gamesurround-fortissimo-4.html Hercules Gamesurround Fortissimo 4] | | | | <!--Playback-->{{unk}} | <!--Recording-->{{unk}} | no driver - Wolfson WM8776 Codec and WM8766 DAC |- | [http://ixbtlabs.com/articles2/multimedia/m-audio-audiophile192.html M-Audio Audiophile Delta AP 192k] | 0x1412 | 0x3632 | | <!--Playback-->{{unk}} | <!--Recording-->{{unk}} | no driver - Stereo ADC AKM AK5385A 24-bit 192 kHZ - 8-channel DAC AKM AK4358 24-bit 192 kHz - AKM 4114/4112 DIT |- | ONKYO SE-150PCI | 0x160b | 0x0001 | | <!--Playback-->{{unk}} | <!--Recording-->{{unk}} | no driver |- | <!--Description-->ESI Waveterminal 192x | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk}} | <!--Recording-->{{unk}} | <!--Comments--> |- | <!--Description-->Quartet | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk}} | <!--Recording-->{{unk}} | <!--Comments--> - AKM 4114/4112 DIT |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk}} | <!--Recording-->{{unk}} | <!--Comments--> |- |} ====hdmiaudio.audio - hdmi no support==== {| class="wikitable" ! Description ! Vendor ID ! Product ID ! Revision ! Comments |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Comments--> |- |- style="background:lightgrey; text-align:center; font-weight:bold;" | Description | Vendor ID | Product ID | Revision | Playback | Recording | Comments |- | <!--Description-->ATI R6xx HDMI Audio codec support output | <!--Vendor ID-->0x1002 | <!--Product ID-->0x9840 | <!--Revision--> | <!--Playback-->{{No| }} | <!--Recording-->{{No| }} | <!--Comments-->Not detected |- | <!--Description-->NVidia HDMI | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback--> | <!--Recording--> | <!--Comments--> |- | <!--Description-->Intel Series 6 CougarPoint HDMI codec | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback--> | <!--Recording--> | <!--Comments--> |- | <!--Description-->Intel HDMI | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback--> | <!--Recording--> | <!--Comments--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback--> | <!--Recording--> | <!--Comments--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback--> | <!--Recording--> | <!--Comments--> |} [[#top|...to the top]] ===Graphic GFX Chipsets=== [https://gallium.readthedocs.io/en/latest/systems.html PCIe based] graphic chipset is defacto on 64bit AROS and recommended on 32bit. AGP works on 32bit but faster transfers through the AGP slot are only available on a few supported motherboard chipsets * Faster AGP Working = SIS 650 board, Intel 865pe AGP slot on MSI 6788-050, * Not Supported = NForce2 chipsets, most Intel 815/820 chipsets, VIA chipsets, ALi chipsets, The fallback for all graphics modes is vesa if any native support does not work. There is a choice of very low resolution vga as the last resort 2D tests performed with [http://download.aros3d.org/software/gfxbench.zip gfxbench] in the shell type gfxbench > out.txt (40 seconds blank screen is part of the test), via FreeDoom via limit-removing engine like odamex, chocolate or vanilla doom -timedemo demo1 or doom2 -timedemo demo1, doom.exe -iwad doom2 -file mymap.wad, Duke DNRATE 640x480 windowed 3D tests performed with Demos/Mesa/ , Cube 1080p, Cube 2 windowed not fullscreen 1920 x 1025, Quake3 ~ cl_drawFPS 1, Xonotic , [http://shinh.skr.jp/sdlbench/showtestgl.cgi test gl], HDMI, DVI and DisplayPort monitors have a native resolution of 480p, 720p, 1080i, 1080p and up <pre> HDMI (licensing fee) 1.2 720p res. 1.3 1080 resolution 1.4 4K @ 30Hz 2.0 4K @ 60Hz 2.1 48Gbs for 4K @ 120Hz, 8K @ , VRR, etc 2.2 ultra96 </pre> <pre> DisplayPort (VESA introduced) 1.4 4K @ 60Hz 2.1 96Gbs for 4K @ 240Hz, 8K @ 120Hz. MST daisy chain multiple monitors, </pre> <pre> GPMI chinese standard 2.0 </pre> *OpenGL4 must have 64-bit floating point FP64 math support. The last revision opengl 4.6 (2017) on [https://wiki.gentoo.org/wiki/AMDGPU AMDGPU] RX 5000's / 6000s ([https://forum.batocera.org/d/7491-enable-opengl-46-and-vulkan-for-an-old-radeon-video-card RDNA] and Nvidia RTX might come to AROS) but Intel UHD, Iris Plus or Xe or Arc will not unless a developer wants the challenge - [https://docs.mesa3d.org/relnotes/20.0.0.html#mesa-20-0-0-release-notes-2020-02-19 Mesa 20.0.0] implements the OpenGL 4.6 API, but the version reported by glGetString(GL_VERSION) or glGetIntegerv(GL_MAJOR_VERSION) / glGetIntegerv(GL_MINOR_VERSION) depends on the particular driver being used and may report a lower version depending on each driver. Mesa 20.0.0 implements the Vulkan 1.2 API, but the version reported by the apiVersion property of the VkPhysicalDeviceProperties struct depends on the particular driver being used. *OpenGL3 last revision 3.3 (2011) *OpenGL2 nvidia-nouveau on Aros 32bit, *OpenGL1 intel gma950 on Aros 32bit and 64bit, ====vga.hidd==== {| class="wikitable" ! Description ! Vendor ID ! Product ID ! Revision ! Comments |- | | 0x | 0x | 0x0 | Generic VGA Driver, limited to 640x480 in 16 colours - no 3D support |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Comments--> |- |} ====vesa.hidd==== {| class="wikitable" ! Description ! Vendor ID ! Product ID ! Revision ! Comments |- | | 0x | 0x | 0x0 | 2D support for VBE1, VBE2 and VBE3 (most cards) - various resolutions and 24bit colour - no 3D support |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Comments--> |- |} [[#top|...to the top]] ====[[w:en:Intel GMA|Intel GMA]]==== DVI output is not supported at the moment. If having problems: * Ensure the latest version is being used. * Set GMA_MEM to 128 or 256 to test * Try the FORCEGMA ToolType for 2D, and try the FORCEGALLIUM ToolType for 3D acceleration after 2D is verified to work. ToolTypes should be applied to the Devs/Monitors/IntelGMA monitor icon. If still having problems: * At GRUB boot screen edit boot line and add option: debug=memory * Boot. * Use shell command: tools/debug/bifteck > RAM:debug.txt * And post [GMA MONITOR DETECTION] and other related debug lines {| class="wikitable sortable" width="90%" ! width="5%" |Description ! width="5%" |Vendor ID ! width="5%" |Product ID ! width="3%" |Rev ! width="5%" |2D ! width="5%" |3D ! width="5%" |Analog Output ! width="5%" |Digital Output ! width="5%" |Laptop LCD ! width="30%" |Comments |- | 910GL 82910GL GMCH + ICH6 | 0x8086 | 0x2582 0x2592 | 0x0 | <!--2D-->{{Yes}} | <!--3D-->{{Unk}} | <!--Analogue Output--> | <!--Digital Output--> | <!--Laptop LCD--> | <!--Comments--> |- | 910GML 82910 GML GMCH + ICH6 Mobile | 0x8086 | 0x2582 0x2592 | 0x0 | <!--2D-->{{Yes}} | <!--3D-->{{Unk}} | <!--Analogue Output--> | <!--Digital Output--> | <!--Laptop LCD--> | may need to add forceGMA to grub boot line to work |- | 915G 82915G GMCH + ICH6-M | 0x8086 | 0x | 0x0 | <!--2D-->{{Unk}} | <!--3D-->{{Unk}} | <!--Analogue Output--> | <!--Digital Output--> | <!--Laptop LCD--> | |- | 915GL 82915GL GMCH | 0x8086 | 0x | 0x0 | <!--2D-->{{Unk}} | <!--3D-->{{Unk}} | <!--Analogue Output--> | <!--Digital Output--> | <!--Laptop LCD--> | |- | 915GV 82915GV GMCH | 0x8086 | 0x | 0x0 | <!--2D-->{{Yes|}} | <!--3D-->{{No|}} | <!--Analogue Output--> | <!--Digital Output--> | <!--Laptop LCD-->{{N/A}} | HP DC5100 small form factor |- | 915GM GMA900 | 0x8086 | 0x | 0x0 | <!--2D--> {{Yes| }} | <!--3D--> {{Unk| tunnel gearbox }} | <!--Analogue Output--> | <!--Digital Output--> | <!--Laptop LCD-->{{Yes}} | asus eee pc 900 |- | 915GMS | 0x8086 | 0x | 0x0 | <!--2D--> {{Yes| }} | <!--3D--> {{Unk| tunnel }} | <!--Analogue Output--> | <!--Digital Output--> | <!--Laptop LCD-->{{Yes| }} | |- style="background:lightgrey; text-align:center; font-weight:bold;" | Description | Vendor ID | Product ID | Rev | 2D | 3D | Analog Output | Digital Output | Laptop LCD | Comments |- | [http://www.notebookcheck.net/Intel-Graphics-Media-Accelerator-950.2177.0.html 945GU] - 133 MHz (Lake port for Intel A100 and A110) | 0x8086 | 0x2772 | 0x0 | <!--2D--> {{Yes| }} | <!--3D--> {{Unk| }} | <!--Analogue Output--> | <!--Digital Output--> | <!--Laptop LCD--> | Fujitsu LifeBook U1010, |- | 945GMS - 166 MHz / 250 MHz (1.05V) | 0x8086 | 0x27a2 | 0x0 | <!--2D--> {{Yes| }} | <!--3D--> {{Unk| }} | <!--Analogue Output--> | <!--Digital Output--> | <!--Laptop LCD-->{{Yes}} | Dell D430 |- | 945GSE - 166 MHz (for Atom) | 0x8086 | 0x27ae | 0x0 | <!--2D--> {{Yes| }} | <!--3D--> {{Yes|[http://www.x.org/wiki/GalliumStatus]}} | {{Yes}} | {{No|dvi port}} | {{Yes| }} | for atom motherboards and most 2008/2009 netbooks * 3D Works - AOA110 AOA150, Dell Mini 9, Samsung NC10, Toshiba NB100, |- | 945G 82945G GMCH + ICH7 | 0x8086 | 0x27a6 | 0x0 | <!--2D-->{{Unk}} | <!--3D-->{{Unk}} | <!--Analogue Output--> | <!--Digital Output--> | <!--Laptop LCD--> | untested 2D and 3D |- | 945GC 82945GC MCH | 0x8086 | 0x27a6 | 0x0 | <!--2D-->{{Unk}} | <!--3D-->{{Unk}} | <!--Analogue Output--> | <!--Digital Output--> | <!--Laptop LCD--> | untested 2D and 3D |- | 945PM | 0x8086 | 0x | 0x0 | <!--2D-->{{Yes}} | <!--3D-->{{Yes}} | <!--Analogue Output--> | <!--Digital Output--> | <!--Laptop LCD--> | Dell D420, Compaq nc6400, |- | 945GMS - 250 MHz Calistoga | 0x8086 | 0x | 0x0 | <!--2D--> {{Yes}} | <!--3D--> {{Yes|most models}} | <!--Analogue Output--> | <!--Digital Output--> | <!--Laptop LCD-->{{Yes}} | * 3D Works Dell Latitude 2100, HP Compaq nc6320, Lenovo 3000, Lenovo T60, Samsung Q35, Dell D620, Dell D820, * 3D untested Toshiba Satellite L100-120, Toshiba Portege M400, |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--2D-->{{Unk}} | <!--3D-->{{Unk}} | <!--Analogue Output--> | <!--Digital Output--> | <!--Laptop LCD--> | |- style="background:lightgrey; text-align:center; font-weight:bold;" | Description | Vendor ID | Product ID | Rev | 2D | 3D | Analog Output | Digital Output | Laptop LCD | Comments |- | GMA 3100 G31 | 0x | 0x | 0x0 | <!--2D-->{{Maybe|}} | <!--3D-->{{No|}} | <!--Analogue-->{{Unk}} | <!--Digital-->{{Unk}} | <!--Laptop LCD-->{{Unk}} | works 2D but no 3D |- | GMA 3100 G33 | 0x | 0x | 0x0 | <!--2D-->{{Maybe|}} | <!--3D-->{{No|}} | <!--Analogue-->{{Unk}} | <!--Digital-->{{Unk}} | <!--Laptop LCD-->{{Unk}} | works 2D but no 3D |- | [http://en.wikipedia.org/wiki/Intel_GMA GMA 3150] netbooks and nettops | 0x | 0x | 0x0 | <!--2D-->{{Maybe|}} | <!--3D-->{{No|}} | <!--Analogue-->{{Unk}} | <!--Digital-->{{Unk}} | <!--Laptop LCD-->{{Unk}} | works 2D but no 3D. no vga, dvi or hdmi output for nettops |- | <!--Description--> G965 | <!--Vendor ID--> 0x8086 | <!--Product ID--> 0x | <!--Revision--> | <!--2D-->{{Maybe|}} | <!--3D-->{{No|}} | <!--Analogue-->{{Unk}} | <!--Digital-->{{Unk}} | <!--Laptop LCD-->{{Unk}} | <!--Comments--> |- | <!--Description--> Q965 | <!--Vendor ID--> 0x8086 | <!--Product ID--> 0x2992 | <!--Revision--> | <!--2D-->{{Maybe|}} | <!--3D-->{{No|}} | <!--Analogue-->{{No}} | <!--Digital-->{{Unk}} | <!--Laptop LCD-->{{Unk}} | <!--Comments--> Only tested with VGA output. |- | 965GM X3100 (500 MHz) | 0x | 0x | 0x0 | <!--2D-->{{Maybe|}} | <!--3D-->{{No|}} | <!--Analogue-->{{Unk}} | <!--Digital-->{{Unk}} | <!--Laptop LCD-->{{Unk}} | some support 2D but no hardware 3D - could not get it to work with VGA or dvi output * untested Apple MacBook Air, Lenovo Thinkpad X300, Dell Inspiron 1525, Toshiba M9, |- | 960GM X3100 (400 MHz) | 0x | 0x | 0x0 | <!--2D-->{{Maybe|}} | <!--3D-->{{No|}} | <!--Analogue-->{{Unk}} | <!--Digital-->{{Unk}} | <!--Laptop LCD-->{{Unk}} | |- | 965M X3100 (400 MHz) | 0x | 0x | 0x0 | <!--2D-->{{Maybe|}} | <!--3D-->{{No|}} | <!--Analogue-->{{Unk}} | <!--Digital-->{{Unk}} | <!--Laptop LCD-->{{Unk}} | Dell D830, |- | 965PM ?? | 0x | 0x | 0x0 | <!--2D-->{{Maybe|}} | <!--3D-->{{No|}} | <!--Analogue-->{{Unk}} | <!--Digital-->{{Unk}} | <!--Laptop LCD-->{{Unk}} | Toshiba A9 works with limited 2D acceleration but no hardware 3D |- | GL965 | 0x | 0x | 0x0 | <!--2D-->{{Maybe|}} | <!--3D-->{{No|}} | <!--Analogue-->{{Unk}} | <!--Digital-->{{Unk}} | <!--Laptop LCD-->{{Unk}} | works with limited 2D acceleration but no hardware 3D |- | GM965 | 0x | 0x | 0x0 | <!--2D-->{{Maybe|}} | <!--3D-->{{No|}} | <!--Analogue-->{{Unk}} | <!--Digital-->{{Unk}} | <!--Laptop LCD-->{{Unk}} | works with limited 2D acceleration but no hardware 3D |- | GMA X3500 G35 | 0x | 0x | 0x0 | <!--2D-->{{Maybe|}} | <!--3D-->{{No|}} | <!--Analogue-->{{Unk}} | <!--Digital-->{{Unk}} | <!--Laptop LCD-->{{Unk}} | works with limited 2D acceleration but no hardware 3D |- | <!--Description-->X4500M G41 G43 G45 (400Mhz) Mobile 4 Series | <!--Vendor ID--> 0x8086 | <!--Product ID--> 0x2a42 0x2a43 | <!--Revision-->0x07 | <!--2D-->{{Maybe|}} | <!--3D-->{{No|}} | <!--Analogue--> {{No|}} | <!--Digital--> {{No|}} | <!--Laptop LCD--> {{Yes| VESA}} | <!--Comments-->works with limited 2D acceleration but no hardware 3D |- | <!--Description-->GMA 4500M HD (533 MHz) | <!--Vendor ID--> 0x8086 | <!--Product ID--> 0x | <!--Revision--> | <!--2D-->{{Maybe|}} | <!--3D-->{{No|}} | <!--Analogue-->{{Unk}} | <!--Digital-->{{Unk}} | <!--Laptop LCD-->{{Unk}} | <!--Comments-->works with limited 2D acceleration but no hardware 3D |- | <!--Description-->GMA 4700M HD (640MHZ) | <!--Vendor ID--> 0x8086 | <!--Product ID--> 0x2a42 | <!--Revision--> | <!--2D-->{{Maybe|}} | <!--3D-->{{No|}} | <!--Analogue-->{{Unk}} | <!--Digital-->{{Unk}} | <!--Laptop LCD-->{{Unk}} | <!--Comments-->works with limited 2D acceleration but no hardware 3D |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--2D--> | <!--3D--> | <!--Analogue--> | <!--Digital--> | <!--Laptop LCD--> | <!--Comments--> |- |} ====[http://nouveau.freedesktop.org/wiki/FeatureMatrix nouveau].hidd (nvidia pci, agp, pci-e desktop)==== PCIe based nvidia graphics (gfx 8xxx) are the base level for 64bit AROS but earlier models still has some support on 32bit AROS *Desktop, more likely hit rather than miss on early nvidia on Aros 32bit but on Aros 64bit ... *Laptop, limited support for '''very''' early non-optimus (i.e. just Nvidia gfx only so no Intel and nvidia gfx combinations on 32bit but on 64bit ...) Please note that the nouveau project is reverse engineering a nvidia graphics driver but takes time because of [https://nouveau.freedesktop.org/ nVidia's closed firmwares], etc * 202 * 2026-07 - DEVS Nouveau.hidd Gallium.hidd Softpipe - LIBS Gallium GLU 20.0 Mesa OpenCL * 2011-10 - DEVS 6.11 Nouveau.hidd 7.4 Gallium.hidd 9.4 Softpipe - LIBS 2.3 Gallium 1.3 GLU 19.0 Mesa OpenCL 1.x * 2011-04 - DEVS 5.31 Nouveau.hidd 7.3 Gallium.hidd 9.3 Softpipe - LIBS 2.2 Gallium 1.1 GLU 18.0 Mesa OpenCL n/a Nouveau support for AROS is limited to OpenGL 2.1 compliance on 32bit even for modern GL4 capable GPUs but on 64bit ... On Aros 32bit OpenCL supports the NV50 (8000 9000) cards, less support in NVC0 fermi cards (300 upwards) On Aros 64bit ADoom3 graphic details ultra, benchmark while playing press the "`" key and type "Timedemo demo1" in the console {| class="wikitable sortable" width="90%" ! width="5%" | Graphic Card ! width="5%" | Aros 32bit 1024 x 768 ! width="5%" | Aros 32bit 800 x 600 ! width="5%" | Aros 32bit 640 x 480 ! width="5%" | Aros 64bit 1024 x 768 ! width="5%" | Aros 64bit 800 x 600 ! width="5%" | Aros 64bit 640 x 480 |- | NV50 Asus EN8400GS SILENT/P/512M PCIe (G98) || || || || || || |- | Gigabyte 8500GT 256M || 42,6 || 57,2 || 68,6 || || || |- | NV96 (G96) Geforce 9500GT 512M || 43 || 53 || 57 || || || |- | NV96 (G96) 9600GT || || || || || || |- | NVA3 (GT215) GT240 || || || || || || |- | NVA5 (GT216) Palit GT220 Sonic 512M || 39,7 || 55,8 || 63,7 || || || |- | NVA8 (GT218) gt210 || || || || || || |- | NVA8 (GT218) ION2 || 38,4 || 53,9 || 61,7 || Not Detected || Not Detected || Not Detected |- | NVC3 (GF106) GT440 GTS 450 || || || || || || |- | NVCF (GF116) NVC0 Fermi GTX 550Ti or GTS 450 v2 || || || || || || |- | NVC8 (GF110) 580GTX || N/A || N/A || N/A || || || |- | NVE0 Kepler GT630 || N/A || N/A || N/A || || || |- | NVE6 (GK106) Kepler GTX660 || N/A || N/A || N/A || || || |- | NVE7 (GK107) GTX 650 || N/A || N/A || N/A || || || |- | NV110 Maxwell GTX 750 || N/A || N/A || N/A || || || |- | NV126 (GM206) GTX950 || N/A || N/A || N/A || unk || unk || unk |- | NV160 family (Turing) GTX 1650 and RTX 2000 upwards with GSP firmware || N/A || N/A || N/A || unknown || unknown || unknown |- | HostGL Ryzen 5 4600H - Nvidia 1650 - Linux mint 21.1 || N/A || N/A || N/A || 150fps || 154fps || 155fps |- style="background:lightgrey; text-align:center; font-weight:bold;" | width="5%" | Graphic Card | width="5%" | Aros 32bit 1024 x 768 | width="5%" | Aros 32bit 800 x 600 | width="5%" | Aros 32bit 640 x 480 | width="5%" | Aros 64bit 1024 x 768 | width="5%" | Aros 64bit 800 x 600 | width="5%" | Aros 64bit 640 x 480 |} {| class="wikitable sortable" width="90%" ! width="5%" | Description ! width="5%" | Vendor ID ! width="5%" | Product ID ! width="2%" | Rev ! width="5%" | 2D ! width="5%" | 3D ! width="5%" | Analog Output ! width="5%" | Digital Output ! width=40%" | Comments |- | <!--Description-->tnt1 (nv04) tnt2 (nv05) m64 value (1998) | 0x | 0x | 0x0 | <!--2D-->{{Maybe| }} | <!--3D-->{{No|very slow}} | <!--Analogue--> | <!--Digital--> | NV04 Riva TNT TNT2 Fahrenheit freezes on via motherboard chipset so rename agp.hidd in SYS:Devs/Drivers or Monitors |- | <!--Description-->tnt vanta lt (nv06) 1998 /9 | 0x10de | 0x002c | 0x15 | <!--2D-->{{Maybe| }} | <!--3D-->{{No|slow}} | <!--Analogue--> | <!--Digital--> | |- | <!--Description-->Geforce 256 (nv10) (2000) | 0x | 0x | 0x0 | <!--2D-->{{Maybe| }} | <!--3D-->{{No|slow }} | <!--Analogue--> | <!--Digital--> | Geforce256 |- | <!--Description-->Geforce 2 Geforce 3 Geforce 4 (nv20) 2000 / 2 | 0x | 0x | 0x0 | <!--2D-->{{Maybe| }} | <!--3D-->{{No|slow }} | <!--Analogue--> | <!--Digital--> | works for some PCI and AGP Geforce2 Geforce3 Geforce4 |- style="background:lightgrey; text-align:center; font-weight:bold;" | Description | Vendor ID | Product ID | Rev | 2D | 3D | Analog Output | Digital Output | Comments |- | Geforce FX5200 nv34 (2003) | 0x10DE | 0x0322 0x | 0xA1 | <!--2D-->{{Maybe| }} | <!--3D-->{{Maybe| }} | <!--Analogue-->{{Maybe|VGA15 }} | <!--Digital-->{{Maybe|DVI}} | NV30 GeForce 5 FX Rankine Hardware OpenGL 1.5 - slower than GF MX 4000 for 2D - max 1024 x768 * not working [https://eab.abime.net/showthread.php?t=92328&page=8 mobos with VIA chipsets 2018] * working (MSI 0x9174) the previous nouveau 5.x driver * Others work with 6.x series XFX PV-T34K-NA, ASUS V9520-X/TD |- | Geforce FX5500 (nv34) (2003) | 0x | 0x | 0x0 | <!--2D-->{{Yes| }} | <!--3D-->{{Yes| }} | <!--Analogue-->{{Maybe| }} | <!--Digital-->{{Yes|DVI}} | works |- | Geforce 5100 (NV34) | 0x | 0x | 0x0 | <!--2D--> | <!--3D--> | <!--Analogue--> | <!--Digital--> | |- | Geforce FX 5200LE (NV34) | 0x | 0x | 0x0 | <!--2D--> | <!--3D--> | <!--Analogue--> | <!--Digital--> | |- | GeForce FX 5200 Ultra | 0x | 0x | 0x0 | <!--2D--> | <!--3D--> | <!--Analogue--> | <!--Digital--> | |- | Geforce FX5600 (nv31) (2004) | 0x | 0x | 0x0 | <!--2D-->{{Yes| }} | <!--3D-->{{Yes}} | <!--Analogue-->{{Maybe| }} | <!--Digital-->{{Yes|DVI}} | works |- | GeForce FX 5600 Ultra | 0x | 0x | 0x0 | <!--2D--> | <!--3D--> | <!--Analogue--> | <!--Digital--> | |- | GeForce FX 5600SE | 0x | 0x | 0x0 | <!--2D--> | <!--3D--> | <!--Analogue--> | <!--Digital--> | |- | GeForce FX 5600XT | 0x | 0x | 0x0 | <!--2D--> | <!--3D--> | <!--Analogue--> | <!--Digital--> | |- | Geforce FX5700 (nv36) (2004) | 0x | 0x | 0x0 | <!--2D-->{{Yes|some}} | <!--3D-->{{Yes| }} | <!--Analogue-->{{Maybe| }} | <!--Digital-->{{Yes|DVI}} | |- | GeForce FX 5700VE | 0x | 0x | 0x0 | <!--2D--> | <!--3D--> | <!--Analogue--> | <!--Digital--> | |- | GeForce FX 5700 Ultra | 0x | 0x | 0x0 | <!--2D--> | <!--3D--> | <!--Analogue--> | <!--Digital--> | |- | GeForce FX 5700LE | 0x | 0x | 0x0 | <!--2D--> | <!--3D--> | <!--Analogue--> | <!--Digital--> | |- | GeForce FX 5800 (NV30) | 0x | 0x | 0x0 | <!--2D--> | <!--3D--> | <!--Analogue--> | <!--Digital--> | |- | GeForce FX 5800 Ultra (NV30) | 0x | 0x | 0x0 | <!--2D--> | <!--3D--> | <!--Analogue--> | <!--Digital--> | |- | GeForce FX 5900 (NV35) | 0x | 0x | 0x0 | <!--2D--> | <!--3D--> | <!--Analogue--> | <!--Digital--> | |- | GeForce FX 5900 Ultra | 0x | 0x | 0x0 | <!--2D--> | <!--3D--> | <!--Analogue--> | <!--Digital--> | |- | GeForce FX 5900XT | 0x | 0x | 0x0 | <!--2D--> | <!--3D--> | <!--Analogue--> | <!--Digital--> | |- | GeForce FX 5900ZT | 0x | 0x | 0x0 | <!--2D--> | <!--3D--> | <!--Analogue--> | <!--Digital--> | |- | GeForce FX 5950 Ultra | 0x | 0x | 0x0 | <!--2D--> | <!--3D--> | <!--Analogue--> | <!--Digital--> | |- | Geforce 5xxx | 0x | 0x | 0x0 | <!--2D--> | <!--3D--> | <!--Analogue--> | <!--Digital--> | |- style="background:lightgrey; text-align:center; font-weight:bold;" | Description | Vendor ID | Product ID | Rev | 2D | 3D | Analog Output | Digital Output | Comments |- | Geforce 6200 (nv44) (2005) | 0x | 0x00F3 0x014F | 0x0 | <!--2D-->{{Yes|5.28 Pixel Text}} | <!--3D-->{{Maybe| use 5.28}} | <!--Analogue-->{{Yes|VGA15 and s-video - plain 4pin cable lead will work with 7pin}} | <!--Digital-->{{Yes|DVI}} | NV40 GeForce 6 GeForce 7 Curie AGP Hardware OpenGL 2.1 needing previous 5.x version as regression arose 2011-10 |- | Geforce 6200 (nv44a) (2006) | 0x | 0x0221 | 0x0 | <!--2D-->{{Yes|5.28 Pixel Text }} | <!--3D-->{{Yes|}} | <!--Analogue-->{{Yes|VGA15}} | <!--Digital-->{{Yes|DVI}} | Hardware OpenGL 2.1, PCI version tested OK in 2014-01-02 - Icaros 1.5.2 * not working *working |- | GeForce 6200 with Turbo Cache (NV43) | 0x | 0x0161 | 0x0 | <!--2D-->{{Yes}} | <!--3D-->{{Yes}} | <!--Analogue--> | <!--Digital-->{{Yes|DVI}} | |- | GeForce 6200SE with Turbo Cache (NV44) | 0x | 0x0162 | 0x0 | <!--2D--> | <!--3D--> | <!--Analogue--> | <!--Digital--> | |- | Geforce 6200 LE | 0x10de | 0x0163 | 0x0 | <!--2D--> | <!--3D--> | <!--Analogue--> | <!--Digital--> | PCI-E |- | GeForce 6600 LE | 0x | 0x00F4 0x0142 | 0x0 | <!--2D--> | <!--3D--> | <!--Analogue--> | <!--Digital--> | <!--Comments--> |- | GeForce 6600 | 0x | 0x00F2 0x0141 | 0x0 | <!--2D-->{{Yes| }} | <!--3D--> | <!--Analogue--> | <!--Digital--> | 2006 PureVideo HD 1 or VP1 re-used the MPEG-1/MPEG-2 decoding pipeline from FX |- | Geforce 6600gt (nv4x) (2005) | 0x | 0x00F1 0x0140 | 0x0 | <!--2D-->{{Yes}} | <!--3D-->{{Yes}} | <!--Analogue-->{{Yes| }} | <!--Digital-->{{Yes|DVI}} | OpenGL tests - |- | Geforce 6800 (nv40) (2005) | 0x | 0x0041 0x00C1 0x00F0 0x0211 | 0x0 | <!--2D-->{{Yes}} | <!--3D-->{{Yes}} | <!--Analogue-->{{Yes| }} | <!--Digital-->{{Yes|DVI}} | <!--Comments--> |- | GeForce 6800 XE (NV4x) | 0x | 0x0043 | 0x0 | <!--2D--> | <!--3D--> | <!--Analogue--> | <!--Digital--> | <!--Comments--> |- | GeForce 6800 LE | 0x | 0x0042 0x00C2 0x0212 | 0x0 | <!--2D--> | <!--3D--> | <!--Analogue--> | <!--Digital--> | <!--Comments--> |- | GeForce 6800 GT (quadro fx 1400) | 0x | 0x0045 0x0046 0x0215 | 0x0 | <!--2D-->{{Yes}} | <!--3D-->{{Yes}} | <!--Analogue--> | <!--Digital--> | <!--Comments--> |- | Geforce 6800 GS | 0x | 0x0047 0x00C0 0x00F6 | 0x0 | <!--2D--> | <!--3D--> | <!--Analogue--> | <!--Digital--> | <!--Comments--> |- | GeForce 6800 GTS NV40 | 0x | 0x0040 0x0F9 | 0x0 | <!--2D-->{{Yes}} | <!--3D-->{{Yes}} | <!--Analogue--> | <!--Digital-->{{Yes|DVI}} | <!--Comments--> |- | Geforce 6800XT | 0x | 0x0044 0x0048 0x00C3 0x0218 | 0x0 | <!--2D-->{{Yes| }} | <!--3D-->{{No| }} | <!--Analogue--> | <!--Digital--> | <!--Comments--> |- | GeForce 6600 VE | 0x | 0x0143 | 0x0 | <!--2D--> | <!--3D--> | <!--Analogue--> | <!--Digital--> | <!--Comments--> |- | GeForce 6500 NV44 | 0x | 0x0160 | 0x0 | <!--2D-->{{unk| }} | <!--3D-->{{unk| }} | <!--Analogue--> | <!--Digital--> | <!--Comments--> |- | GeForce 6250 | 0x | 0x0169 | 0x0 | <!--2D--> | <!--3D--> | <!--Analogue--> | <!--Digital--> | <!--Comments--> |- | Geforce 6xxx | 0x | 0x | 0x0 | <!--2D--> | <!--3D--> | <!--Analogue--> | <!--Digital--> | <!--Comments--> |- style="background:lightgrey; text-align:center; font-weight:bold;" | Description | Vendor ID | Product ID | Rev | 2D | 3D | Analog Output | Digital Output | Comments |- | GeForce 7800 GTX | 0x | 0x0090 0x0091 | 0x0 | <!--2D-->{{Yes| }} | <!--3D-->{{Yes| tunnel gearbox cube cube2 25}} | <!--Analogue--> | <!--Digital--> | <!--Comments--> 256MB DDR3 - 1 6pin psu connector - * not working asus en7800gtx/2dhtv/256m/osp/a - * Works XFX PV-T70F-UDD7 Works in steve jones' scrap pc aros build 2010 2 DVI-I ports * Untested |- | GeForce 7800 GT | 0x | 0x0092 | 0x0 | <!--2D--> | <!--3D--> | <!--Analogue--> | <!--Digital--> | <!--Comments--> |- | Geforce 7600gt (G8 ) (nv4 ) (2006) | 0x | 0x02E0 0x0391 | 0x0 | <!--2D-->{{Yes| }} | <!--3D-->{{Yes| }} | <!--Analogue--> | <!--Digital--> | <!--Comments--> OpenGL 2.1 * not working * working |- | GeForce 7800 SLI | 0x | 0x0095 | 0x0 | <!--2D--> | <!--3D--> | <!--Analogue--> | <!--Digital--> | <!--Comments--> |- | GeForce 7900 GTX | 0x | 0x0290 | 0x0 | <!--2D--> | <!--3D--> | <!--Analogue--> | <!--Digital--> | <!--Comments--> |- | GeForce 7900 GT GTO | 0x | 0x0291 | 0x0 | <!--2D--> | <!--3D--> | <!--Analogue--> | <!--Digital--> | <!--Comments--> |- | GeForce 7900 GS | 0x10de | 0x0292 | 0x0a1 | <!--2D-->{{Yes|Pixel Text}} | <!--3D-->{{Yes}} | <!--Analogue--> | <!--Digital--> | <!--Comments--> * not working * Works with a few glitches with XFX Pine 0x2218 |- | GeForce 7950 GX2 | 0x10de | 0x0293 0x0294 | 0x0 | <!--2D--> | <!--3D--> | <!--Analogue--> | <!--Digital--> | <!--Comments--> |- | GeForce 7950 GT | 0x | 0x0295 0x02E4 | 0x0 | <!--2D--> | <!--3D--> | <!--Analogue--> | <!--Digital--> | <!--Comments--> |- | GeForce 7900 GS | 0x | 0x02E3 | 0x0 | <!--2D--> | <!--3D--> | <!--Analogue--> | <!--Digital--> | <!--Comments--> |- | GeForce 7600 GS | 0x | 0x02E1 0x0392 | 0x0 | <!--2D--> | <!--3D--> | <!--Analogue--> | <!--Digital--> | <!--Comments--> |- | GeForce 7650 GS | 0x10de | 0x0390 | 0x0 | <!--2D--> | <!--3D--> | <!--Analogue--> | <!--Digital--> | <!--Comments--> |- | GeForce 7600 LE | 0x10de | 0x0394 | 0x0 | <!--2D--> | <!--3D--> | <!--Analogue--> | <!--Digital--> | <!--Comments--> |- | Geforce 7800GS (G8 ) (nv4 ) (2006) | 0x10de | 0x0093 0x00F5 | 0x0 | <!--2D-->{{Yes|Pixel Text}} | <!--3D-->{{Yes}} | <!--Analogue--> | <!--Digital--> | <!--Comments--> * not working * works if AGP motherboard chipset is supported - Hardware OpenGL 2.1 |- | GeForce 7100 GS | 0x10de | 0x016A | 0x0 | <!--2D-->{{Yes|Pixel Text}} | <!--3D--> | <!--Analogue--> | <!--Digital--> | <!--Comments--> |- | GeForce 7350 LE | 0x10de | 0x01D0 | 0x0 | <!--2D--> | <!--3D--> | <!--Analogue--> | <!--Digital--> | <!--Comments--> |- | Geforce 7300le (G8 ) (nv4 ) (2006) | 0x10de | 0x01D1 | 0x0 | <!--2D-->{{Yes|Pixel Text}} | <!--3D-->{{No}} | <!--Analogue--> | <!--Digital--> | <!--Comments--> |- | GeForce 7300SE 7200GSGF-7200GS-N-B1 variant (G72) | 0x10de | 0x01D3 | 0x0a1 | <!--2D--> | <!--3D--> | <!--Analogue-->{{Unk|1x DVI, 1x VGA, 1x S-Video}} | <!--Digital--> | <!--Comments-->2007 40W pci-e 1.0 VP1 no unified shaders - * not working Asus on via chipset (2015), * works Asus on intel chipset (2015), |- | Geforce 7300gt (G8 ) (nv4 ) (2006) | 0x10de | 0x0395 0x0393 | 0x0 | <!--2D-->{{Yes|Pixel Text}} | <!--3D-->{{No}} | <!--Analogue--> | <!--Digital--> | <!--Comments--> * not working * works |- | GeForce 7300 GS | 0x10de | 0x01DF | 0x0 | <!--2D--> | <!--3D--> | <!--Analogue--> | <!--Digital--> | <!--Comments--> |- | GeForce 7500 LE | 0x10de | 0x01DD | 0x0 | <!--2D--> | <!--3D--> | <!--Analogue--> | <!--Digital--> | <!--Comments--> |- | Geforce 7xxx | 0x10de | 0x | 0x0 | <!--2D--> | <!--3D--> | <!--Analogue--> | <!--Digital--> | <!--Comments--> |- style="background:lightgrey; text-align:center; font-weight:bold;" | Description | Vendor ID | Product ID | Rev | 2D | 3D | Analog Output | Digital Output | Comments |- | GeForce 8800 Ultra (NV50 family) | 0x10de | 0x0194 | 0x0 | <!--2D--> | <!--3D--> | <!--Analogue--> | <!--Digital--> | <!--Comments-->NV50 GeForce 8 to GeForce 200s opengl 3.x - max res - 80nm technology - PureVideo HD 2 or VP2 Nvidia VDPAU Feature Set A (absent from ultra and some 8800gt?) added a dedicated bitstream processor (BSP) and enhanced video processor for H.264, VC-1 acceleration |- | Geforce 8800gts (nv50) (G8x) (2007) | 0x10de | 0x0400 0x0600 0x0193 | 0x0 | <!--2D-->{{Yes| }} | <!--3D-->{{Yes| }} | <!--Analogue-->{{unk| }} | <!--Digital-->{{unk| }} | <!--Comments-->2007 200w openGL3 openCL - 2x6pin psu * not working 0x0193 models (2015) on via chipsets, * works |- | Geforce 8800gtx (nv5 ) (G8x) (2007) | 0x10de | 0x | 0x0 | <!--2D-->{{Yes| }} | <!--3D-->{{no| }} | <!--Analogue-->{{unk| }} | <!--Digital-->{{unk| }} | <!--Comments-->2008 200W 1x 6pin connector, * not working * working * untested XFX PV-T88P-YDF4, Alpha Dog Edition runs extremely hot - Gigabyte GV-NX88T512H, |- | GeForce 8800 GT | 0x10de | 0x0602 0x0611 0x0193 | 0x0 | <!--2D-->{{Yes| }} | <!--3D-->{{Yes}} | <!--Analogue--> | <!--Digital-->DVI up to 2500 x 1600 | <!--Comments--> opengl 3.x - 6pin psu power connector required * not working * untested Asus EN8800GT/HTDP/256M EN8800GT/HTDP/512M EN8800GT/G/HTDP/512M * works |- | GeForce 8800 GT (G92) | 0x10de | 0x0611 | 0x0a2 | <!--2D-->{{Yes|6.11 Pixel Text}} | <!--3D-->{{Yes}} | <!--Analogue-->{{N/A}} | <!--Digital-->{{Yes}} | <!--Comments--> opengl 3 pci-e 2.0 8800GT 512MB on Icaros 2.0.3 [[File:8800GT aros heads.png|thumb|8800GT]] [[File:8800GT aros tails.png|thumb|8800GT detail]] |- | Geforce 8600gt (nv5 ) (G8x) (2007) | 0x10de | 0x0401 0x0402 | 0x0 | <!--2D-->{{Yes|Pixel Text}} | <!--3D-->{{No}} | <!--Analogue--> | <!--Digital--> | <!--Comments--> opengl 3.x - max res * not working * works |- | GeForce 8500 GT G86 based chipset | 0x10de | 0x0421 | 0x0 | <!--2D-->{{Yes|32bit and 64bit}} | <!--3D-->{{yes|32bit and 64bit}} | <!--Analogue--> | <!--Digital--> | <!--Comments--> OpenGL tests - max opengl 3.x but 2.1 offered on Aros 32bit and * works Gigabyte 8500 GT, * not working |- | GeForce 8800 GS | 0x10de | 0x0606 0x060D | 0x0 | <!--2D--> | <!--3D--> | <!--Analogue--> | <!--Digital--> | <!--Comments--> opengl 3.x - max res |- | GeForce 8600GS | 0x10de | 0x0403 | 0x0 | <!--2D--> | <!--3D--> | <!--Analogue--> | <!--Digital--> | <!--Comments--> openGL 3.x VP3 offers complete hardware-decoding for all 3 video codecs of the Blu-ray Disc format: MPEG-2, VC-1, and H.264 - Nvidia VDPAU Feature Set B |- | GeForce 8300 GS | 0x10de | 0x0423 | 0x0 | <!--2D--> | <!--3D--> | <!--Analogue--> | <!--Digital--> | <!--Comments--> opengl 3.x - max res |- | Geforce 8400gs G98GS (end 2007) GT218 (2009) * Rev2 with 8/16 cores and 128-512MB of DDR2 or GDDR3 memory. * Rev3 with 8 cores and 512MB-1GB of DDR3 memory (based on Tesla 2.0) | 0x10de | 0x0424 0x0422 | 0x0 | <!--2D-->{{Yes|Doom Doom2 Duke }} | <!--3D-->{{Yes| tunnel 490 gearbox 505 Cube 135 Cube2 55 quake3 }} | <!--Analogue-->{{Yes|works digital part of DVI but nothing from any display port}} | <!--Digital-->{{Yes|output on digital 24 pin array of DDWG's DVI and hdmi}} | <!--Comments-->2009 50W openGL 3.1 openCL - case single slot - one single-link DVI digital output, supporting up to one 1920x1080 resolution display - analog resolution 640 x 480 to 1024 x 768 16 and 24 bit color - [http://www.phoronix.com/scan.php?page=article&item=nouveau_comp_2011&num=19 runs a little hotter than expected] - G98 VP3 pci-e 2.0 512MB DDR2 - * not working * works Asus EN8400GS SILENT/P/512M PCIe (G98), |- | Geforce 8400gs (nv50) (G86) (mid-2007) * Rev1 with 16 cores / 256MB of DDR2 memory. | 0x10de | 0x0404 | 0x0 | <!--2D-->{{Yes|Doom Doom2 Duke }} | <!--3D-->{{Yes| tunnel 490 gearbox 505 Cube 135 Cube2 55 quake3 }} | <!--Analogue-->{{Yes|works but not tested thru 4 pins of analog signal of DVI plug}} | <!--Digital-->{{Yes|output on digital 24 pin array of DDWG's DVI and hdmi}} | <!--Comments-->2008 50W openGL 3.1 openCL - case single slot - one single-link DVI digital output up to 1920x1080 resolution display - analog resolution 640 x 480 to 1024 x 768 16 and 24 bit color - [http://www.phoronix.com/scan.php?page=article&item=nouveau_comp_2011&num=19 runs a little hotter than expected] - G86 VP2 128MB - * not working XFX PV-T86S-YAJG NVIDIA GeForce 8400 GS 512MB DDR2, Sparkle 8400GS 512MB SX84GS512D2L-DPP, * works Asus EN8400GS SILENT/HTP/256M SILENT/HTP/512M/A, |- | GeForce 8400 SE | 0x10de | 0x0420 | 0x0 | <!--2D--> | <!--3D--> | <!--Analogue--> | <!--Digital--> | <!--Comments--> openGL 2.x openCL |- | NVidia Quadro NVS290 DMS-59 | 0x10de | 0x0403 | 0x0 | <!--2D-->{{no| }} | <!--3D-->{{no| }} | <!--Analogue-->{{unk|DMS-59 socket}} | <!--Digital-->{{unk|DMS-59 }} | <!--Comments-->2008 21W - G86S (G86-827-A2) - 16 shading units, 8 texture mapping units, and 4 ROPs. NVIDIA has paired 256 MB DDR2 - PCIe 1.0 x16 Low Profile - |- | Geforce Quadro FX 4600 (SDI), 5600 | 0x10de | 0x | 0x0 | <!--2D-->{{Partial|VESA 2d}} | <!--3D-->{{no| }} | <!--Analogue-->{{partial| }} | <!--Digital-->{{partial| }} | <!--Comments--> |- style="background:lightgrey; text-align:center; font-weight:bold;" | Description | Vendor ID | Product ID | Rev | 2D | 3D | Analog Output | Digital Output | Comments |- | GeForce 9800 GX2 (NV50 family) | 0x10de | 0x0604 | 0x0 | <!--2D-->{{Partial|VESA }} | <!--3D-->{{no| }} | <!--Analogue-->{{Partial| }} | <!--Digital-->{{unk| }} | <!--Comments-->2009 150w - 65nm technology |- | GeForce 9800 GTX | 0x10de | 0x0612 | 0x0a2 | <!--2D-->{{Yes| }} | <!--3D-->{{Maybe|6.11 }} | <!--Analogue--> | <!--Digital--> | <!--Comments-->2009 2x6pin psu - * not working xfx on via chipset (2015), * works xfx on chipset intel , |- | GeForce 9800 GTX+ | 0x10de | 0x0613 | 0x0 | <!--2D-->{{Yes| }} | <!--3D-->{{Maybe| }} | <!--Analogue--> | <!--Digital--> | <!--Comments--> opengl 3.x - max res 2560 x 1920 - case dual slot - 26amp 12v rail on computer psu if 2x6pin connectors needed - 55nm version of the G92 chip - will not work with PCI-e 1.0a slots - * not working * works on a few models |- | Geforce 9800gt (nv50) (G92a) (2008) | 0x10de | 0x0614 | 0x0xa2 | <!--2D-->{{Yes| Doom Doom2 Duke }} | <!--3D-->{{Maybe| tunnel 495 gearbox 513 Cube 156 Cube2 120 Quake3 }} | <!--Analogue--> | <!--Digital-->{{partial| DVI}} | <!--Comments--> OpenGL 3.1 openCL 1.x - case dual slot - 600w 26amp on both 12v rails for 2x6pin psu on gfx card - no fan control - some come with 1x6pin - renamed version of the venerable GeForce 8800 GT - randomly works * not working Gainward 512M untested * working Gainward CardExpert (0x0401) Green Edition NE39800TFHD02-PM8D92 1024MB (no 6pin) |- | Geforce gf9600 9600gt (nv5 ) (G9x) (2008) | 0x10de | 0x0622 | 0x0a1 | <!--2D-->{{Yes| Doom Doom2 Duke }} | <!--3D-->{{Maybe| tunnel 493 gearbox 675 Cube Cube2 100 Quake3 }} | <!--Analogue--> | <!--Digital-->{{Yes| DVI}} | <!--Comments--> OpenGL 3.2 openCL but no fan control - case dual slot - 1 6pin pcie psu connector - 500 Watt or greater power supply with a minimum of 26 Amp on the +12 volt rail - Max Analog: 2048x1536 and Max Digital: 2560x1600 (Dual Link DVI Only) - PCI Express® 2.0 / 1.1 Support - g96 gpu randomly works - * not working bfg tech ocx, * works gigabyte gv-n96tsl-512i - |- | Geforce gf9500 9500gt (nv5 ) (G9x) (2008) | 0x10de | 0x0640 | 0x0a1 | <!--2D-->{{Yes| Doom Doom2 Duke }} | <!--3D-->{{Maybe| tunnel 480 gearbox 500 Cube Cube2 64 Quake3 }} | <!--Analogue--> | <!--Digital-->{{Yes| DVI}} | <!--Comments--> opengl 3.2 - case single slot - 350 Watt/400 Watt or greater power supply with a minimum of 18 Amp/22 Amp on the +12 volt rail - Max Analog: 2048x1536 and Max Digital: 2560x1600 (Dual Link DVI Only) - PCI Express® 2.0 / 1.1 Support - * not working zotac zone fanless, Gainward USA NE29500THHD01-PM8796, PNY G9500GN2E50X+0TE, * works xfx xne-9500t-td01-pm8596 1024mb ddr2, |- | GeForce 9600 GS | 0x | 0x0623 | 0x0 | <!--2D--> | <!--3D--> | <!--Analogue--> | <!--Digital--> | <!--Comments--> opengl 3.x - max res - will not work with PCI-e 1.0a slots - * not working * works |- | GeForce 9600 GSO | 0x | 0x0610 | 0x0 | <!--2D--> | <!--3D--> | <!--Analogue--> | <!--Digital--> | <!--Comments--> opengl 3.x - max res - G92 chopped down - 9600GSO is re-badged 8800GS both very power hungry cards - |- | GeForce 9300 GS | 0x | 0x06E1 | 0x0 | <!--2D--> | <!--3D--> | <!--Analogue--> | <!--Digital--> | <!--Comments-->2009 opengl 3.x - max res |- | Geforce 9400 GT (nv5 ) (G86S) (2008) | 0x | 0x | 0x0 | <!--2D-->{{partial|}} | <!--3D-->{{unk|}} | <!--Analogue-->{{unk|1x DVI, 1x VGA, 1x S-Video}} | <!--Digital-->{{unk|1x DVI}} | <!--Comments-->2009 50W opengl 3.x - max res |- | Geforce 9xxx (nv5 ) (G9x) (2008) | 0x | 0x | 0x0 | <!--2D-->{{unk|}} | <!--3D-->{{unk|}} | <!--Analogue-->{{unk|}} | <!--Digital-->{{unk|}} | <!--Comments-->2009 opengl 3.x - max res |- | <!--Description-->Quadro FX 580 G96 chipset | <!--Vendor ID-->0x10de | <!--Product ID--> | <!--Revision--> | <!--2D-->{{unk| }} | <!--3D-->{{unk| }} | <!--Analogue-->{{unk| }} | <!--Digital-->{{unk| }} | <!--Comments-->2009 |- | <!--Description--> NV84 (G84) GeForce 8600 (GT, GTS, M GT, M GS), 8700M GT, NV92 (G92) GeForce 8800 (GT, GS, GTS 512, M GTS, M GTX) GeForce 9600 GSO, 9800 (GT, GTX, GTX+, GX2, M GT, M GTX) NV96 (G96) GeForce 9400 GT, 9500 (GT, M G), 9600 (M GS, M GT), NV86 (G86) GeForce 8300 GS, 8400 (GS, M G, M GS, M GT), 8500 GT | <!--Vendor ID-->0x10de | <!--Product ID--> | <!--Revision--> | <!--2D-->{{unk| }} | <!--3D-->{{unk| }} | <!--Analogue-->{{unk| }} | <!--Laptop LCD-->{{unk| }} | <!--Comments--> |- style="background:lightgrey; text-align:center; font-weight:bold;" | Description | Vendor ID | Product ID | Rev | 2D | 3D | Analog Output | Digital Output | Comments |- | <!--Description-->NVA0 (GT200) Tesla GeForce GTX (260, 275, 280, 285, 295) | <!--Vendor ID-->0x10de | <!--Product ID--> | <!--Revision--> | <!--2D-->{{unk| }} | <!--3D-->{{unk| }} | <!--Analogue-->{{unk| }} | <!--Digital-->{{unk| }} | <!--Comments--> |- | <!--Description-->GeForce GTX 280 (NV50 family) | <!--Vendor ID--> | <!--Product ID-->0x05E1 | <!--Revision--> | <!--2D-->{{Maybe|VESA}} | <!--3D-->{{no| }} | <!--Analogue-->{{unk| }} | <!--Digital-->{{unk| }} | <!--Comments--> opengl 3.x - max res PureVideo HD 4 (Nvidia Feature Set C or "VDPAU Feature Set C), VP4 added hardware to offload MPEG-4 Advanced Simple Profile (original DivX and Xvid) |- | <!--Description-->GeForce GTX 260 | <!--Vendor ID-->0x10de | <!--Product ID-->0x05E2 | <!--Revision--> | <!--2D-->{{partial|Vesa}} | <!--3D-->{{no| }} | <!--Analogue-->{{unk| }} | <!--Digital-->{{unk| }} | <!--Comments--> 2 6pin - psu pci express 2.1 - |- | Geforce GTS250 250GTS (g92b) (2009) | 0x10de | 0x0615 | 0x0a2 | <!--2D-->{{Yes| Doom Doom2 Duke }} | <!--3D-->{{Yes| tunnel 486 gearbox 508-642 Cube Cube2 80 Quake3 }} | <!--Analogue--> | <!--Digital-->{{Yes| DVI}} | <!--Comments--> 2x6pin psu VP2 - pci-e 2.x - case dual slots - 738m 1gb ddr3 - * not working Zotac branded version GDDR3 - * works PNY gs-250x-zdfl and Gigabyte ??, BFG Tech RGTS2501024OCE, palit ne3ts250fhd52-pm8a92 with 2x6pin on top and hdmi output port, |- | <!--Description-->GeForce GT 240 (GT215 family) | <!--Vendor ID-->0x10de | <!--Product ID-->0x0ca3 | <!--Revision-->0xa2 | <!--2D-->{{Maybe|use VESA}} | <!--3D-->{{No|6.11 tunnel gearbox}} | <!--Analogue--> | <!--Digital--> | <!--Comments-->late 2009 openGl 3.2 - case dual slots - no 6pin psu required with VP4 - All are pcie 2.1 cards and may not work in 1.0a slots - * not working * DDR3 with 512MB or 1GB - * DDR5 -Asus ENGT240 - XFX Pine GT240XYHFC 0x3001 - Gigabyte GV-N240D5-512I rev 1.0 - Zotac AMP! with HDMI 1.3a with DisplayPort 1.1, Dual Link DVI - * works |- | <!--Description-->GT220 (GT216) G220 | <!--Vendor ID-->0x10de | <!--Product ID-->0x0a20 | <!--Revision-->0xa2 | <!--2D-->{{Yes| }} | <!--3D-->{{Yes}} | <!--Analogue-->{{Yes}} | <!--Digital-->{{Yes|DVI }} | <!--Comments--> Icaros 2.0.3 GeForce GT220 1GB[[File:GT220 aros heads.png|thumb|GT220]][[File:GT220 aros tails.png|thumb|GT220]] * untested NVIDIA Quadro® 400 512MB DDR3 GT216 DP DVI, AFox AF220 1Gb DDR3, |- | Geforce GT220 220GT G94 Tesla (g92b) | 0x10de | 0x0a20 | 0xa2 | <!--2D-->{{Yes| Doom Doom2 Duke }} | <!--3D-->{{Yes| tunnel 490 gearbox 505 cube 150 cube2 50 Quake3 }} | <!--Analogue-->{{Unk|1x DVI, 1x VGA}} | <!--Digital-->{{Yes|DVI but not 1x HDMI }} | 58W pci express 2.0 cards DDR3 - case single slot - * not working ASUS ENGT220/DI/1GD2(LP)/V2 - * works - gainward card expert 0x0401 GDDr3 512MB - |- | <!--Description-->GT210 GT 210 210GT G210 based on Tesla 2.0 GT218S GT218-300-A2 variant, GT218-300-B1 | <!--Vendor ID-->0x10de | <!--Product ID-->0x0a65 | <!--Revision-->0xa2 | <!--2D-->{{Yes|6.11 Pixel Text}} | <!--3D-->{{Yes| }} | <!--Analogue-->{{Unk|1x DVI, 1x VGA}} | <!--Digital-->{{Maybe|DVI out works but not hdmi or 1x DisplayPort}} | <!--Comments-->2009 31W OpenGL 3.3 pci-e 2.0 cards - single slot - * working GT218 based Asus EN210 based silent low profile large passively cooled - * untested MSI GeForce 210 1GB DDR3 PCIe N210-MD1GD3H/LP, * not working |- | <!--Description-->Nvidia ION2 9400M class (GT218) Tesla | <!--Vendor ID-->0x10de | <!--Product ID-->0x | <!--Revision--> | <!--2D-->{{unk| }} | <!--3D-->{{unk| }} | <!--Analogue-->{{unk| }} | <!--Digital-->{{unk| }} | <!--Comments-->2012 |- | <!--Description-->Quadro NVS 295 (256 MB GDDR3), NVS 450 (256M/512 MB DDR3) | <!--Vendor ID-->0x10de | <!--Product ID-->0x | <!--Revision--> | <!--2D-->{{yes| }} | <!--3D-->{{unk| }} | <!--Analogue--> | <!--Digital-->{{partial|2 or 4 dp ports}} | <!--Comments-->2009 25w low performance - G98s with 8 shading units, 4 texture mapping units, and 4 ROPs on PCI-Express 1.0 x16 - *not working some NVIDIA Quadro NVS 295 2 dp ports (DELL, HP), *working |- | <!--Description-->GT310 Tesla 310, 315, GT 320, GT 330 GT 340 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--2D-->{{Maybe|VESA}} | <!--3D-->{{Maybe|6.11 tunnel gearbox}} | <!--Analogue--> | <!--Digital--> | <!--Comments-->2010 50w OpenGL 3.3 openCL all similar in performance to GT2xx except gt31x (poor) |- | <!--Description-->Quadro NVS310 NVIDIA NVS 310 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--2D--> | <!--3D--> | <!--Analogue--> | <!--Digital--> 2 dp | <!--Comments-->2012 25w GF119S (GF119-825-A1) 48 shading units, 8 texture mapping units, and 4 ROPs on PCI-Express 2.0 x16 - 512 MB DDR3 - PureVideo VP5 VDPAU Feature Set D - |- | <!--Description--> | <!--Vendor ID-->0x10de | <!--Product ID--> | <!--Revision--> | <!--2D-->{{unk| }} | <!--3D-->{{unk| }} | <!--Analogue-->{{unk| }} | <!--Digital-->{{unk| }} | <!--Comments--> |- | <!--Description--> | <!--Vendor ID-->0x10de | <!--Product ID--> | <!--Revision--> | <!--2D-->{{unk| }} | <!--3D-->{{unk| }} | <!--Analogue-->{{unk| }} | <!--Digital-->{{unk| }} | <!--Comments--> |- style="background:lightgrey; text-align:center; font-weight:bold;" | Description | Vendor ID | Product ID | Rev | 2D | 3D | Analog Output | Digital Output | Comments |- | <!--Description--> GTX 470, GTX 480 GF10 GF10* core (NVC0 family) | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--2D-->{{Maybe|VESA}} | <!--3D-->{{Maybe| tunnel gearbox}} | <!--Analogue--> | <!--Digital--> | <!--Comments-->2010 215w 2x6 plugs - NVC0 family (Fermi) GF100 (GF100-275-A3) Fermi 448 shading units, 56 texture mapping units, and 40 ROPs with 1,280 MB GDDR5 - up to OpenGL4.5 OpenCL1.1 Tessellation - case dual slots - |- | Geforce GTX460 460GTX (G104) 256bit, 1GB v2 192bit and GTX 465 | 0x10de | 0x0e22 | 0xa1 | <!--2D-->{{Maybe|VESA }} | <!--3D-->{{Maybe| tunnel gearbox cube 055-111 cube2 50}} | <!--Analogue--> | <!--Digital--> | <!--Comments-->NVC0 family (Fermi) up to OpenGL 4.x but - 2x6pin psu - case dual slots - * not working evga 768MB GDDR5 192bit 01G-P3-1373-ER or 01G-P3-1372-TR * works 1GB GDDR5 256bit 01G-P3-1371-ER |- | <!--Description-->Geforce GTX 460SE 192bit | <!--Vendor ID-->0x10de | <!--Product ID-->0x0e23 | <!--Revision-->0x91 or 0xa1 | <!--2D-->{{Yes| }} | <!--3D-->{{Maybe| }} | <!--Analogue--> | <!--Digital-->{{Yes| }} | <!--Comments-->2010 - 2 6pin psu needed - case dual slots - * not working * works EVGA 01g-p3-1366-b6 et 1024MB p1041 - |- | Geforce GT450 GTS450 450GTS GF106 | 0x10de | 0x0dc4 | 0x0a1 | <!--2D-->{{Yes| Doom Doom2 Duke }} | <!--3D-->{{Maybe| tunnel gearbox cube cube2 50 Quake3 }} | <!--Analogue--> | <!--Digital-->{{Yes|DVI }} | 2010 Hardware up to OpenGL 4.2 but nouveau set at 3.3 - most need 1x 6pin psu - case dual slots - * not working * DDR3 1 or 2GB - Palit NEAS450NHD41F, * GDDR5 512Mb or 1GB - MSI MPN N450GTSM2D1GD5OC, Asus MPN ENGTS450DI1GD5, * works Gainward Card Expert NE5S4500FHd51, |- | <!--Description-->GT 440 GF108 chipset or better OEM GF106 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--2D-->{{Maybe|VESA 6.11 Pixel Text}} | <!--3D-->{{Maybe| tunnel gearbox}} | <!--Analogue--> | <!--Digital--> | <!--Comments-->2010 up to openGl 4.1 opencl 1.x - no 6 pin psu - 96 cuda cores 128bit - case dual slots - * not working * OEM * GDDR5 512MB to 1GB ASUSTeK ENGT440/DI/1GD5 * GDDR3 Asus 1gb to 2gb, * works |- | <!--Description-->GT430 430GT (GF108) | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--2D-->{{Maybe|6.11 Pixel Text}} | <!--3D-->{{Maybe|6.11 tunnel gearbox}} | <!--Analogue--> | <!--Digital--> | <!--Comments-->2010 ddr3 memory 64bit or 128bit - buggy on Aros 32 but * not working * works |- | <!--Description-->nVidia Quadro FX1800 768MB GDDR3 Full Height Graphics Card Workstation | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--2D-->{{Maybe|VESA 6.11 Pixel Text}} | <!--3D-->{{no|6.11 tunnel gearbox}} | <!--Analogue--> | <!--Digital-->{{Maybe|DVI-I 2xDP}} | <!--Comments-->59W 768 MB GDDR3 memory using a 192-bit memory interface - OpenGL 3.3 - |- | <!--Description--> | <!--Vendor ID-->0x10de | <!--Product ID--> | <!--Revision--> | <!--2D-->{{unk| }} | <!--3D-->{{unk| }} | <!--Analogue-->{{unk| }} | <!--Digital-->{{unk| }} | <!--Comments--> |- | <!--Description--> | <!--Vendor ID-->0x10de | <!--Product ID--> | <!--Revision--> | <!--2D-->{{unk| }} | <!--3D-->{{unk| }} | <!--Analogue-->{{unk| }} | <!--Digital-->{{unk| }} | <!--Comments--> |- | <!--Description--> | <!--Vendor ID-->0x10de | <!--Product ID--> | <!--Revision--> | <!--2D-->{{unk| }} | <!--3D-->{{unk| }} | <!--Analogue-->{{unk| }} | <!--Digital-->{{unk| }} | <!--Comments--> |- style="background:lightgrey; text-align:center; font-weight:bold;" | Description | Vendor ID | Product ID | Rev | 2D | 3D | Analog Output | Digital Output | Comments |- | <!--Description-->GTX 590 Fermi | <!--Vendor ID-->0x10de | <!--Product ID--> | <!--Revision--> | <!--2D-->{{Maybe|VESA}} | <!--3D-->{{No|6.11 }} | <!--Analogue-->{{Unk| }} | <!--Digital-->{{Unk| }} | <!--Comments-->OpenGL4.4 OpenCL 1.1 - GDDR5 - 6pin and 8pin psu connectors - 512 cuda - case dual slots - * not working * works |- | <!--Description-->GTX 580, | <!--Vendor ID-->0x10de | <!--Product ID--> | <!--Revision--> | <!--2D-->{{Maybe|VESA}} | <!--3D-->{{No|6.11 }} | <!--Analogue-->{{Unk| }} | <!--Digital-->{{unk| }} | <!--Comments-->PureVideo HD 5" or "VP5" (Nvidia Feature Set D or VDPAU Feature Set D) 4k UHD 3840 × 2160 H.264 decode - |- | <!--Description-->GTX 570, | <!--Vendor ID-->0x10de | <!--Product ID--> | <!--Revision--> | <!--2D-->{{Maybe|VESA}} | <!--3D-->{{Maybe|6.11 }} | <!--Analogue-->{{Unk| }} | <!--Digital-->{{Unk| }} | <!--Comments--> * not working Zotac GTX 570, Gainward GTX560TI/570 Phantom, * works gigabyte, evga |- | <!--Description-->Geforce 5xx 560gtx Fermi GTX 560, | <!--Vendor ID-->0x10de | <!--Product ID--> | <!--Revision--> | <!--2D-->{{Maybe|VESA}} | <!--3D-->{{No|6.11 }} | <!--Analogue-->{{Unk| }} | <!--Digital-->{{Unk| }} | <!--Comments-->opengl 4.x - 2 6pin psu - 384 cuda cores - case dual slots - will not work with PCI-e 1.0a slots - * not working Asus ENGTX560 DC/2DI/1GD5, * Ti LE 448 cuda GDDR5 320bit * Ti 256bit * works |- | <!--Description-->GTX 560 Ti | <!--Vendor ID-->0x10de | <!--Product ID--> | <!--Revision--> | <!--2D-->{{Maybe|VESA}} | <!--3D-->{{No|6.11 }} | <!--Analogue-->{{Unk| }} | <!--Digital-->{{Unk| }} | <!--Comments--> * not working evga GTX 560Ti 01GP31560KR - Gainward GTX560TI/570 Phantom, * works |- | <!--Description-->GTX 550 Ti | <!--Vendor ID-->0x10de | <!--Product ID-->0x1201 | <!--Revision--> | <!--2D-->{{Maybe|VESA Doom Doom2 Duke }} | <!--3D-->{{No|6.11 }} | <!--Analogue-->{{Unk| }} | <!--Digital-->{{Unk| }} | <!--Comments-->can hang on boot up on I2C Init or suffer random lockups on OpenGL apps - most need 1 6pin min 400W 24A on the +12V1 / +12V2 dual 12V rails of the computers' power supply unit - 192 cuda cores - case dual slots used - will not work with PCI-e 1.0a slots - * not working eVGA GeForce GTX 550 Ti (1024 MB) (01GP31556KR) - * untested asus Extreme, eVGA GeForce GTX 550 Ti (1024 MB) (01GP31557KR) - - * works |- | <!--Description-->GT 545 and OEM GF116 | <!--Vendor ID-->0x10de | <!--Product ID--> | <!--Revision--> | <!--2D-->{{Maybe|VESA}} | <!--3D-->{{No|6.11 }} | <!--Analogue-->{{Unk| }} | <!--Digital-->{{Unk| }} | <!--Comments-->openGL 4.2 opencl 1.x - GDDR5 with OEM only - |- | <!--Description-->GT530 OEM | <!--Vendor ID-->0x10de | <!--Product ID--> | <!--Revision--> | <!--2D-->{{Maybe|VESA 6.11 Pixel Text}} | <!--3D-->{{No|6.11 }} | <!--Analogue-->{{Unk| }} | <!--Digital-->{{Unk| }} | <!--Comments-->96 cuda cores - 1GB or 2GB DDR3 128bit |- | <!--Description-->GT520 520GT | <!--Vendor ID-->0x10de | <!--Product ID--> | <!--Revision--> | <!--2D-->{{Maybe|VESA 2D}} | <!--3D-->{{No|6.11 }} | <!--Analogue-->{{Unk| }} | <!--Digital-->{{Unk| }} | <!--Comments-->untested 48 cuda cores - DDR3 64bit |- | <!--Description-->510, GT 530 | <!--Vendor ID-->0x10de | <!--Product ID--> | <!--Revision--> | <!--2D-->{{Maybe|VESA 2D 6.11 Pixel Text}} | <!--3D-->{{No|6.11 }} | <!--Analogue-->{{Unk| }} | <!--Digital-->{{Unk| }} | <!--Comments--> ddr 3 - 50w max - |- | <!--Description-->GT610 Fermi GF119 | <!--Vendor ID-->0x10de | <!--Product ID--> | <!--Revision--> | <!--2D-->{{Maybe|VESA}} | <!--3D-->{{No|6.11 }} | <!--Analogue-->{{Unk| }} | <!--Digital-->{{Unk| }} | <!--Comments--> |- | <!--Description-->NVS 315 300 GF119S | <!--Vendor ID-->0x10de | <!--Product ID--> | <!--Revision--> | <!--2D-->{{No|VESA}} needs special dms-59 cable | <!--3D-->{{No| }} | <!--Analogue-->{{Unk| }} | <!--Digital-->{{Unk| }} | <!--Comments-->2013 fermi 315 PNY VCNVS315-T 1Gb DDR3 but needs special dms-59 cable - |- | <!--Description-->GT630 GF108 Fermi | <!--Vendor ID-->0x10de | <!--Product ID--> | <!--Revision--> | <!--2D-->{{Maybe|VESA}} | <!--3D-->{{No| }} | <!--Analogue-->{{Unk| }} | <!--Digital-->{{Unk| }} | <!--Comments-->not accelerated 2015 - like the GT730 below - 96 cuda cores whilst kepler version has 384 - 128bit to keplers' 64bit bandwidth - kepler has 2GB DDR3 * not working Gigabyte * DDR3 * GDDR5 * works |- | <!--Description-->Geforce GT 730 (two versions) | <!--Vendor ID-->0x10de | <!--Product ID--> | <!--Revision--> | <!--2D-->{{Maybe| use VESA 6.11 Pixel Text}} | <!--3D-->{{No| }} | <!--Analogue-->{{Unk| }} | <!--Digital-->{{Unk| }} | <!--Comments--> fermi version has 96 cuda cores 128bit GF108 * not working Asus * works |- | <!--Description-->nVIDIA Quadro 4000 | <!--Vendor ID-->0x10de | <!--Product ID--> | <!--Revision--> | <!--2D-->{{Maybe|VESA}} 2 dp ports | <!--3D-->{{No| }} | <!--Analogue-->{{Unk| }} | <!--Digital-->{{Unk| }} | <!--Comments-->142W 2Gb GDDR5 - PCI Express 2.0 x16 ; full Height card with 1x 6-Pin PCIe power need - CUDA Cores 256 - OpenGL 4.5 |- | <!--Description-->nVIDIA Quadro 5000 | <!--Vendor ID-->0x10de | <!--Product ID--> | <!--Revision--> | <!--2D-->{{Maybe|VESA}} | <!--3D-->{{No| }} | <!--Analogue-->{{Unk| }} | <!--Digital-->{{Unk| }} | <!--Comments-->2011 200W 2.5Gb GDDR5 320 bit - PCI Express 2.0 x16 full Height card with 2x 6-Pin PCIe power need - |- | <!--Description--> | <!--Vendor ID-->0x10de | <!--Product ID--> | <!--Revision--> | <!--2D-->{{unk| }} | <!--3D-->{{unk| }} | <!--Analogue-->{{unk| }} | <!--Digital-->{{unk| }} | <!--Comments--> |- style="background:lightgrey; text-align:center; font-weight:bold;" | Description | Vendor ID | Product ID | Rev | 2D | 3D | Analog Output | Digital Output | Comments |- | <!--Description-->GeForce GTX Titan GeForce GTX Titan Black GeForce GTX Titan Z | <!--Vendor ID-->0x10de | <!--Product ID--> | <!--Revision--> | <!--2D-->{{Maybe|VESA}} | <!--3D-->{{No| }} | <!--Analogue-->{{Unk| }} | <!--Digital-->{{Unk| }} | <!--Comments-->NVE0 family (Kepler) GeForce 600 GeForce 700 GeForce GTX Titan Kepler |- | <!--Description-->GeForce GTX 780 GeForce GTX 780 Ti | <!--Vendor ID-->0x10de | <!--Product ID--> | <!--Revision--> | <!--2D-->{{Maybe|VESA}} | <!--3D-->{{No| }} | <!--Analogue-->{{Unk| }} | <!--Digital-->{{Unk| }} | <!--Comments-->PureVideo HD 6" or "VP6" (Nvidia Feature Set E or VDPAU Feature Set E) significantly improved performance when decoding H.264 and MPEG-2 |- | <!--Description-->GeForce GTX 770 | <!--Vendor ID-->0x10de | <!--Product ID--> | <!--Revision--> | <!--2D-->{{Maybe|VESA}} | <!--3D-->{{No| }} | <!--Analogue-->{{Unk| }} | <!--Digital-->{{Unk| }} | <!--Comments-->opengl 4.4 opencl 1.1 |- | <!--Description-->GeForce GTX 760 GeForce GTX 760 Ti | <!--Vendor ID-->0x10de | <!--Product ID--> | <!--Revision--> | <!--2D-->{{Maybe|VESA}} | <!--3D-->{{No| }} | <!--Analogue-->{{Unk| }} | <!--Digital-->{{Unk| }} | <!--Comments--> |- | <!--Description-->GeForce GT 740 | <!--Vendor ID-->0x10de | <!--Product ID--> | <!--Revision--> | <!--2D-->{{Maybe|VESA}} | <!--3D-->{{No| }} | <!--Analogue-->{{Unk| }} | <!--Digital-->{{Unk| }} | <!--Comments--> |- | <!--Description-->GeForce GT 730 Kepler (two versions) f | <!--Vendor ID-->0x10de | <!--Product ID--> | <!--Revision--> | <!--2D-->{{Maybe|VESA}} | <!--3D-->{{No| }} | <!--Analogue-->{{Unk| }} | <!--Digital-->{{Unk| }} | <!--Comments--> kepler 384 cores 64bit GK208 |- | <!--Description-->680gtx GK104 core gtx680 680m | <!--Vendor ID-->0x10de | <!--Product ID--> | <!--Revision--> | <!--2D-->{{Maybe|VESA}} | <!--3D-->{{No| }} | <!--Analogue-->{{Unk| }} | <!--Digital-->{{Unk| }} | <!--Comments-->NVE0 family (Kepler) |- | <!--Description-->GTX 690 Kepler NVE0 | <!--Vendor ID-->0x10de | <!--Product ID--> | <!--Revision--> | <!--2D-->{{Maybe|VESA}} | <!--3D-->{{No| }} | <!--Analogue-->{{Unk| }} | <!--Digital-->{{Unk| }} | <!--Comments-->pci-e 3.0, OpenGL 4.4 OpenCL 1.1 |- | <!--Description-->GTX 670 | <!--Vendor ID-->0x10de | <!--Product ID--> | <!--Revision--> | <!--2D-->{{Maybe|VESA}} | <!--3D-->{{No| }} | <!--Analogue-->{{Unk| }} | <!--Digital-->{{Unk| }} | <!--Comments--> |- | <!--Description-->GTX 660 GTX 660 Ti GK104 | <!--Vendor ID-->0x10de | <!--Product ID--> | <!--Revision--> | <!--2D-->{{Maybe|VESA}} | <!--3D-->{{No| }} | <!--Analogue-->{{Unk| }} | <!--Digital-->{{Unk| }} | <!--Comments-->2012 up to OpenGL 4.5 |- | <!--Description-->GTX 650 GTX 650 Ti GTX 650 Ti Boost | <!--Vendor ID-->0x10de | <!--Product ID--> | <!--Revision--> | <!--2D-->{{Maybe|VESA}} | <!--3D-->{{No| }} | <!--Analogue-->{{Unk| }} | <!--Digital-->{{Unk| }} | <!--Comments-->2012 NVE0 family (Kepler) most need 1 6pin psu * not working asus ENGTX560 DC/2DI/1GD5 * works |- | <!--Description-->Geforce GT 640 | <!--Vendor ID-->0x10de | <!--Product ID--> | <!--Revision--> | <!--2D-->{{Maybe|VESA}} | <!--3D-->{{No| }} | <!--Analogue-->{{Unk| }} | <!--Digital-->{{Unk| }} | <!--Comments-->2012 * 128bit DDR3 * 192bit DDR3 1.5 to 3GB 50W * 128bit GDDR5 75W |- | <!--Description-->GT 620 | <!--Vendor ID-->0x10de | <!--Product ID--> | <!--Revision--> | <!--2D-->{{Maybe|VESA}} | <!--3D-->{{No| }} | <!--Analogue-->{{Unk| }} | <!--Digital-->{{Unk| }} | <!--Comments-->2012 up to OpenGL 4.5 |- | <!--Description-->Quadro K2000 NVE7 (GK107) Kepler | <!--Vendor ID-->0x10de | <!--Product ID--> | <!--Revision--> | <!--2D-->{{Maybe|VESA}} | <!--3D-->{{No| }} | <!--Analogue-->{{Unk| }} | <!--Digital-->{{Unk| }} | <!--Comments-->2013 - 50w single slot pcie 2.0 - like 740gs - |- | <!--Description-->NVIDIA® Quadro® K4200 GK104 Kepler | <!--Vendor ID-->0x10de | <!--Product ID--> | <!--Revision--> | <!--2D-->{{unk| }} | <!--3D-->{{unk| }} | <!--Analogue-->{{unk| }} | <!--Digital-->{{unk| }} | <!--Comments-->2014 4Gb GDDR5 - 108W 1 6pin - |- | <!--Description-->NVIDIA® Quadro® K420 1GB DDR3 Kepler | <!--Vendor ID-->0x10de | <!--Product ID--> | <!--Revision--> | <!--2D-->{{unk| }} | <!--3D-->{{unk| }} | <!--Analogue-->{{unk| }} | <!--Digital-->{{unk| }} | <!--Comments-->2014 41W - |- | <!--Description--> | <!--Vendor ID-->0x10de | <!--Product ID--> | <!--Revision--> | <!--2D-->{{unk| }} | <!--3D-->{{unk| }} | <!--Analogue-->{{unk| }} | <!--Digital-->{{unk| }} | <!--Comments--> |- style="background:lightgrey; text-align:center; font-weight:bold;" | Description | Vendor ID | Product ID | Rev | 2D | 3D | Analog Output | Digital Output | Comments |- | <!--Description-->GeForce 750ti | <!--Vendor ID-->0x10de | <!--Product ID--> | <!--Revision--> | <!--2D-->{{Maybe|VESA 2D}} | <!--3D-->{{No| }} | <!--Analogue-->{{No| }} | <!--Digital-->{{No| }} | <!--Comments-->2015 [https://nouveau.freedesktop.org/FeatureMatrix.html NV110] Maxwell - |- | <!--Description-->Nvidia GTX 750 | <!--Vendor ID-->0x10de | <!--Product ID-->0x1381 | <!--Revision-->0xa2 | <!--2D-->{{yes| }} | <!--3D-->{{yes| }} | <!--Analogue-->{{yes|vga on 64bit test }} | <!--Digital-->{{unk|not dp }} | <!--Comments-->2014 and tested in 2026 with latest nouveau test |- | <!--Description--> | <!--Vendor ID-->0x10de | <!--Product ID--> | <!--Revision--> | <!--2D-->{{unk| }} | <!--3D-->{{unk| }} | <!--Analogue-->{{unk| }} | <!--Digital-->{{unk| }} | <!--Comments--> |- | <!--Description-->Quadro K2200 (GM107) Maxwell | <!--Vendor ID-->0x10de | <!--Product ID--> | <!--Revision--> | <!--2D-->{{Maybe|VESA}} | <!--3D-->{{No| }} | <!--Analogue-->{{Unk| }} | <!--Digital-->{{Unk| }} | <!--Comments-->2014 - 68w single slot pcie 2.0 - |- | <!--Description-->Quadro K620 Maxwell | <!--Vendor ID-->0x10de | <!--Product ID--> | <!--Revision--> | <!--2D-->{{Maybe|VESA 2D}} | <!--3D-->{{No| }} | <!--Analogue-->{{No| }} | <!--Digital-->{{No| }} | <!--Comments-->2014 50w slim low profile 2gb ddr3 - |- | <!--Description--> | <!--Vendor ID-->0x10de | <!--Product ID--> | <!--Revision--> | <!--2D-->{{unk| }} | <!--3D-->{{unk| }} | <!--Analogue-->{{unk| }} | <!--Digital-->{{unk| }} | <!--Comments--> |- | <!--Description-->NV12B (GM20B) Tegra X1 | <!--Vendor ID-->0x10de | <!--Product ID--> | <!--Revision--> | <!--2D-->{{Maybe|VESA}} | <!--3D-->{{No| }} | <!--Analogue-->{{no| }} | <!--Digital-->{{No| }} | <!--Comments-->2015 GM206 2nd gen maxwell PureVideo HD 7" or "VP7" (Nvidia Feature Set F or VDPAU Feature Set F) adds full hardware-decode of H.265 HEVC Version 1 (Main and Main 10 profiles and full fixed function VP9 (video codec) hardware decoding |- | <!--Description-->NV124 (GM204) GeForce GTX 980 | <!--Vendor ID-->0x10de | <!--Product ID-->0x13c0 | <!--Revision-->0x | <!--2D-->{{yes| }} | <!--3D-->{{unk| }} | <!--Analogue-->{{yes| }} | <!--Digital-->{{unk| }} | <!--Comments--> |- | <!--Description-->NV124 (GM204) GeForce GTX 970 | <!--Vendor ID-->0x10de | <!--Product ID-->0x13c2 | <!--Revision-->0xa1 | <!--2D-->{{yes| }} | <!--3D-->{{unk| }} | <!--Analogue-->{{yes| }} | <!--Digital-->{{no| }} | <!--Comments--> |- | <!--Description-->NV126 (GM206) GeForce GTX 960 | <!--Vendor ID-->0x10de | <!--Product ID--> | <!--Revision--> | <!--2D-->{{yes| }} | <!--3D-->{{unk| }} | <!--Analogue-->{{unk| }} | <!--Digital-->{{unk| }} | <!--Comments--> |- | <!--Description-->NV126 (GM206) GeForce GTX 950 | <!--Vendor ID-->0x10de | <!--Product ID--> | <!--Revision--> | <!--2D-->{{yes| }} | <!--3D-->{{yes| }} | <!--Analogue-->{{yes| }} | <!--Digital-->{{yes| }} | <!--Comments-->2016 |- | <!--Description-->NV120 (GM200) GeForce GTX Titan X | <!--Vendor ID-->0x10de | <!--Product ID--> | <!--Revision--> | <!--2D-->{{unk| }} | <!--3D-->{{unk| }} | <!--Analogue-->{{unk| }} | <!--Digital-->{{unk| }} | <!--Comments-->2016 |- | <!--Description--> | <!--Vendor ID-->0x10de | <!--Product ID--> | <!--Revision--> | <!--2D-->{{unk| }} | <!--3D-->{{unk| }} | <!--Analogue-->{{unk| }} | <!--Digital-->{{unk| }} | <!--Comments--> |- |- style="background:lightgrey; text-align:center; font-weight:bold;" | Description | Vendor ID | Product ID | Rev | 2D | 3D | Analog Output | Digital Output | Comments |- | <!--Description-->NV132 (GP102) NVIDIA Titan (X, Xp), GeForce GTX 1080 Ti | <!--Vendor ID-->0x10de | <!--Product ID--> | <!--Revision--> | <!--2D-->{{unk| }} | <!--3D-->{{unk| }} | <!--Analogue-->{{unk| }} | <!--Digital-->{{unk| }} | <!--Comments-->2017 probably little support |- | <!--Description--> | <!--Vendor ID-->0x10de | <!--Product ID--> | <!--Revision--> | <!--2D-->{{unk| }} | <!--3D-->{{unk| }} | <!--Analogue-->{{unk| }} | <!--Digital-->{{unk| }} | <!--Comments-->2017 probably little support |- | <!--Description-->NV134 (GP104) GeForce GTX 1080 | <!--Vendor ID-->0x10de | <!--Product ID--> | <!--Revision--> | <!--2D-->{{unk| }} | <!--3D-->{{unk| }} | <!--Analogue-->{{unk| }} | <!--Digital-->{{unk| }} | <!--Comments-->2017 probably little support |- | <!--Description-->NV134 (GP104) GeForce GTX 1070 | <!--Vendor ID-->0x10de | <!--Product ID--> | <!--Revision--> | <!--2D-->{{unk| }} | <!--3D-->{{unk| }} | <!--Analogue-->{{unk| }} | <!--Digital-->{{unk| }} | <!--Comments-->2017 probably little support - 2 6pin psu ports - |- | <!--Description-->NV136 (GP106) GeForce GTX 1060 | <!--Vendor ID-->0x10de | <!--Product ID--> | <!--Revision--> | <!--2D-->{{unk| }} | <!--3D-->{{unk| }} | <!--Analogue-->{{unk| }} | <!--Digital-->{{unk| }} | <!--Comments-->2017 probably little support up to OpenGL 4.6 |- | <!--Description-->quadro p620 2gb gddr5 128bit and quadro p1000 4gb gt1030 30w | <!--Vendor ID-->0x10de | <!--Product ID--> | <!--Revision--> | <!--2D-->{{Maybe|VESA 2D}} | <!--3D-->{{No| }} | <!--Analogue-->{{No| }} | <!--Digital-->{{No| }} | <!--Comments-->2017 50w slim low profile - |- | <!--Description-->GeForce gtx 1060 | <!--Vendor ID-->0x10de | <!--Product ID--> | <!--Revision--> | <!--2D-->{{Maybe|VESA 2D}} | <!--3D-->{{No| }} | <!--Analogue-->{{No| }} | <!--Digital-->{{No| }} | <!--Comments-->NV130 Pascal |- | <!--Description-->NV137 (GP107) GeForce GTX (1050, 1050 Ti) | <!--Vendor ID-->0x10de | <!--Product ID--> | <!--Revision--> | <!--2D-->{{unk| }} | <!--3D-->{{unk| }} | <!--Analogue-->{{unk| }} | <!--Digital-->{{unk| }} | <!--Comments-->2017 probably little support |- | <!--Description-->NV138 (GP108) GeForce GT 1030 | <!--Vendor ID-->0x10de | <!--Product ID--> | <!--Revision--> | <!--2D-->{{unk| }} | <!--3D-->{{unk| }} | <!--Analogue-->{{unk| }} | <!--Digital-->{{unk| }} | <!--Comments-->2017 probably little support |- | <!--Description--> | <!--Vendor ID-->0x10de | <!--Product ID--> | <!--Revision--> | <!--2D-->{{unk| }} | <!--3D-->{{unk| }} | <!--Analogue-->{{unk| }} | <!--Digital-->{{unk| }} | <!--Comments-->NV130 family (Pascal) |- | <!--Description--> | <!--Vendor ID-->0x10de | <!--Product ID--> | <!--Revision--> | <!--2D-->{{unk| }} | <!--3D-->{{unk| }} | <!--Analogue-->{{unk| }} | <!--Digital-->{{unk| }} | <!--Comments--> |- style="background:lightgrey; text-align:center; font-weight:bold;" | Description | Vendor ID | Product ID | Rev | 2D | 3D | Analog Output | Digital Output | Comments |- | <!--Description-->NV162 (TU102) NVIDIA Titan RTX, GeForce RTX 2080 Ti | <!--Vendor ID-->0x10de | <!--Product ID--> | <!--Revision--> | <!--2D-->{{unk| }} | <!--3D-->{{unk| }} | <!--Analogue-->{{unk| }} | <!--Digital-->{{unk| }} | <!--Comments-->2018 needs gsp firmware and latest nouveau version |- | <!--Description-->NV164 (TU104) GeForce RTX (2070 Super, 2080, 2080 Super) | <!--Vendor ID-->0x10de | <!--Product ID--> | <!--Revision--> | <!--2D-->{{Maybe|VESA 2D}} | <!--3D-->{{No| }} | <!--Analogue-->{{No| }} | <!--Digital-->{{No| }} | <!--Comments-->2019 NV160 family (Turing) unified gsp-rm firmware - best starting point for Vulkan support |- | <!--Description-->NV166 (TU106) GeForce RTX (2060, 2060 Super, 2070) | <!--Vendor ID-->0x10de | <!--Product ID--> | <!--Revision--> | <!--2D-->{{unk| }} | <!--3D-->{{unk| }} | <!--Analogue-->{{unk| }} | <!--Digital-->{{unk| }} | <!--Comments-->2019 |- | <!--Description-->NV168 (TU116) GeForce GTX (1650 Super, 1660, 1660 Ti, 1660 Super) | <!--Vendor ID-->0x10de | <!--Product ID--> | <!--Revision--> | <!--2D-->{{Maybe|VESA}} | <!--3D-->{{No| }} | <!--Analogue-->{{No| }} | <!--Digital-->{{No| }} | <!--Comments-->2018 |- | <!--Description-->NV167 (TU117) GeForce GTX 1650 | <!--Vendor ID-->0x10de | <!--Product ID--> | <!--Revision--> | <!--2D-->{{unk| }} | <!--3D-->{{unk| }} | <!--Analogue-->{{unk| }} | <!--Digital-->{{unk| }} | <!--Comments-->2019 |- | <!--Description-->gtx 1650ti super | <!--Vendor ID-->0x10de | <!--Product ID--> | <!--Revision--> | <!--2D-->{{Maybe|VESA 2D}} | <!--3D-->{{No| }} | <!--Analogue-->{{No| }} | <!--Digital-->{{No| }} | <!--Comments-->2018 old style |- | <!--Description-->Quadro RTX 4000 | <!--Vendor ID-->0x10de | <!--Product ID--> | <!--Revision--> | <!--2D-->{{unk| }} | <!--3D-->{{unk| }} | <!--Analogue-->{{unk| }} | <!--Digital-->{{unk| }} | <!--Comments-->2019 |- | <!--Description--> | <!--Vendor ID-->0x10de | <!--Product ID--> | <!--Revision--> | <!--2D-->{{unk| }} | <!--3D-->{{unk| }} | <!--Analogue-->{{unk| }} | <!--Digital-->{{unk| }} | <!--Comments--> |- style="background:lightgrey; text-align:center; font-weight:bold;" | Description | Vendor ID | Product ID | Rev | 2D | 3D | Analog Output | Digital Output | Comments |- | <!--Description-->NV172 (GA102) GeForce RTX (3080, 3090) | <!--Vendor ID-->0x10de | <!--Product ID--> | <!--Revision--> | <!--2D-->{{Maybe|VESA}} | <!--3D-->{{No| }} | <!--Analogue-->{{No| }} | <!--Digital-->{{No| }} | <!--Comments-->2020 av1 decoding ampere |- | <!--Description-->NV174 (GA104) GeForce RTX (3060 Ti, 3070, 3080 Mobile) | <!--Vendor ID-->0x10de | <!--Product ID--> | <!--Revision--> | <!--2D-->{{unk| }} | <!--3D-->{{unk| }} | <!--Analogue-->{{unk| }} | <!--Digital-->{{unk| }} | <!--Comments-->2020 NV170 family (Ampere) |- | <!--Description-->NV176 (GA106) GeForce RTX (3050, 3060) | <!--Vendor ID-->0x10de | <!--Product ID--> | <!--Revision--> | <!--2D-->{{unk| }} | <!--3D-->{{unk| }} | <!--Analogue-->{{unk| }} | <!--Digital-->{{unk| }} | <!--Comments-->2021 |- | <!--Description-->NV177 (GA107) GeForce RTX 3050 | <!--Vendor ID-->0x10de | <!--Product ID--> | <!--Revision--> | <!--2D-->{{unk| }} | <!--3D-->{{unk| }} | <!--Analogue-->{{unk| }} | <!--Digital-->{{unk| }} | <!--Comments--> |- | <!--Description--> | <!--Vendor ID-->0x10de | <!--Product ID--> | <!--Revision--> | <!--2D-->{{unk| }} | <!--3D-->{{unk| }} | <!--Analogue-->{{unk| }} | <!--Digital-->{{unk| }} | <!--Comments--> |- | <!--Description--> | <!--Vendor ID-->0x10de | <!--Product ID--> | <!--Revision--> | <!--2D-->{{unk| }} | <!--3D-->{{unk| }} | <!--Analogue-->{{unk| }} | <!--Digital-->{{unk| }} | <!--Comments--> |- style="background:lightgrey; text-align:center; font-weight:bold;" | Description | Vendor ID | Product ID | Rev | 2D | 3D | Analog Output | Digital Output | Comments |- | <!--Description-->NV192 (AD102) GeForce RTX 4090 ada | <!--Vendor ID-->0x10de | <!--Product ID--> | <!--Revision--> | <!--2D-->{{unk| }} | <!--3D-->{{unk| }} | <!--Analogue-->{{unk| }} | <!--Digital-->{{unk| }} | <!--Comments-->2022 |- | <!--Description-->NV193 (AD103) GeForce RTX 4080 | <!--Vendor ID-->0x10de | <!--Product ID--> | <!--Revision--> | <!--2D-->{{unk| }} | <!--3D-->{{unk| }} | <!--Analogue-->{{unk| }} | <!--Digital-->{{unk| }} | <!--Comments-->NV190 family (Ada Lovelace) |- | <!--Description-->NV194 (AD104) GeForce RTX (4070, 4070 Ti) | <!--Vendor ID-->0x10de | <!--Product ID--> | <!--Revision--> | <!--2D-->{{unk| }} | <!--3D-->{{unk| }} | <!--Analogue-->{{unk| }} | <!--Digital-->{{unk| }} | <!--Comments--> |- | <!--Description-->NV196 (AD106) GeForce RTX 4060 Ti | <!--Vendor ID-->0x10de | <!--Product ID--> | <!--Revision--> | <!--2D-->{{unk| }} | <!--3D-->{{unk| }} | <!--Analogue-->{{unk| }} | <!--Digital-->{{unk| }} | <!--Comments--> |- | <!--Description-->NV197 (AD107) GeForce RTX 4060 | <!--Vendor ID-->0x10de | <!--Product ID--> | <!--Revision--> | <!--2D-->{{unk| }} | <!--3D-->{{unk| }} | <!--Analogue-->{{unk| }} | <!--Digital-->{{unk| }} | <!--Comments--> |- | <!--Description--> | <!--Vendor ID-->0x10de | <!--Product ID--> | <!--Revision--> | <!--2D-->{{unk| }} | <!--3D-->{{unk| }} | <!--Analogue-->{{unk| }} | <!--Digital-->{{unk| }} | <!--Comments--> |- style="background:lightgrey; text-align:center; font-weight:bold;" | Description | Vendor ID | Product ID | Rev | 2D | 3D | Analog Output | Digital Output | Comments |- | <!--Description-->Geforce RTX 5090 blackwell GB202 | <!--Vendor ID-->0x10de | <!--Product ID--> | <!--Revision--> | <!--2D--> | <!--3D--> | <!--Analogue--> | <!--Digital--> | <!--Comments--> |- | <!--Description--> | <!--Vendor ID-->0x10de | <!--Product ID--> | <!--Revision--> | <!--2D--> | <!--3D--> | <!--Analogue--> | <!--Digital--> | <!--Comments--> |- | <!--Description--> | <!--Vendor ID-->0x10de | <!--Product ID--> | <!--Revision--> | <!--2D-->{{unk| }} | <!--3D-->{{unk| }} | <!--Analogue-->{{unk| }} | <!--Digital-->{{unk| }} | <!--Comments--> |- | <!--Description-->Quadro RTX Pro 4000 Blackwell | <!--Vendor ID-->0x10de | <!--Product ID--> | <!--Revision--> | <!--2D-->{{unk| }} | <!--3D-->{{unk| }} | <!--Analogue-->{{unk| }} | <!--Digital-->{{unk| }} | <!--Comments-->2024 70w - |- | <!--Description--> | <!--Vendor ID-->0x10de | <!--Product ID--> | <!--Revision--> | <!--2D-->{{unk| }} | <!--3D-->{{unk| }} | <!--Analogue-->{{unk| }} | <!--Digital-->{{unk| }} | <!--Comments--> |- style="background:lightgrey; text-align:center; font-weight:bold;" | Description | Vendor ID | Product ID | Rev | 2D | 3D | Analog Output | Digital Output | Comments |- | <!--Description--> | <!--Vendor ID-->0x10de | <!--Product ID--> | <!--Revision--> | <!--2D--> | <!--3D--> | <!--Analogue--> | <!--Digital--> | <!--Comments--> |- | <!--Description--> | <!--Vendor ID-->0x10de | <!--Product ID--> | <!--Revision--> | <!--2D--> | <!--3D--> | <!--Analogue--> | <!--Digital--> | <!--Comments--> |- | <!--Description--> | <!--Vendor ID-->0x10de | <!--Product ID--> | <!--Revision--> | <!--2D-->{{unk| }} | <!--3D-->{{unk| }} | <!--Analogue-->{{unk| }} | <!--Digital-->{{unk| }} | <!--Comments--> |- style="background:lightgrey; text-align:center; font-weight:bold;" | Description | Vendor ID | Product ID | Rev | 2D | 3D | Analog Output | Digital Output | Comments |- | <!--Description--> | <!--Vendor ID-->0x10de | <!--Product ID--> | <!--Revision--> | <!--2D--> | <!--3D--> | <!--Analogue--> | <!--Digital--> | <!--Comments--> |- | <!--Description--> | <!--Vendor ID-->0x10de | <!--Product ID--> | <!--Revision--> | <!--2D--> | <!--3D--> | <!--Analogue--> | <!--Digital--> | <!--Comments--> |- | <!--Description--> | <!--Vendor ID-->0x10de | <!--Product ID--> | <!--Revision--> | <!--2D-->{{unk| }} | <!--3D-->{{unk| }} | <!--Analogue-->{{unk| }} | <!--Digital-->{{unk| }} | <!--Comments--> |- style="background:lightgrey; text-align:center; font-weight:bold;" | Description | Vendor ID | Product ID | Rev | 2D | 3D | Analog Output | Digital Output | Comments |- | <!--Description--> | <!--Vendor ID-->0x10de | <!--Product ID--> | <!--Revision--> | <!--2D-->{{unk| }} | <!--3D-->{{unk| }} | <!--Analogue-->{{unk| }} | <!--Digital-->{{unk| }} | <!--Comments--> |} ==== nouveau mobile integrated ==== If you purchased a notebook with an NVidia sticker on it, most of the time you have a optimus based one, ie Intel CPU+GPU melded with Nvidia GPU, Optimus was slated at one point to go into desktop PCs but the industry ended up rejecting that concept {| class="wikitable sortable" width="90%" ! width="5%" | Description ! width="5%" | Vendor ID ! width="5%" | Product ID ! width="2%" | Rev ! width="5%" | 2D ! width="5%" | 3D ! width="5%" | Analog Output ! width="5%" | Digital Output ! width="5%" | Laptop LCD ! width=40%" | Comments |- | GeForce 6100 nForce 405 | 0x | 0x03D1 0x0242 | 0x0 | <!--2D-->{{Maybe|VESA}} | <!--3D-->{{No| }} | <!--Analogue-->{{No| }} | <!--Digital-->{{No|nothing}} | <!--Laptop LCD-->{{N/A}} | |- | <!--Description-->GeForce 6100 nForce 400 | <!--Vendor ID--> | <!--Product ID-->0x03D2 | <!--Revision--> | <!--2D-->{{Maybe|VESA}} | <!--3D-->{{No| }} | <!--Analogue-->{{No| }} | <!--Digital-->{{No|nothing}} | <!--Laptop LCD-->{{N/A}} | <!--Comments--> |- | <!--Description-->GeForce 6100 nForce 420 | <!--Vendor ID--> | <!--Product ID-->0x03D5 | <!--Revision--> | <!--2D-->{{Maybe|VESA}} | <!--3D-->{{No| }} | <!--Analogue-->{{No| }} | <!--Digital-->{{No|nothing}} | <!--Laptop LCD-->{{N/A}} | <!--Comments--> |- | <!--Description-->GeForce 6150 LE | <!--Vendor ID--> | <!--Product ID-->0x0241 | <!--Revision--> | <!--2D-->{{Maybe|VESA}} | <!--3D-->{{No| }} | <!--Analogue-->{{No| }} | <!--Digital-->{{No|nothing}} | <!--Laptop LCD-->{{N/A}} | <!--Comments--> |- | GeForce 6150SE nForce 430 | 0x | 0x03D0 | 0x0 | <!--2D-->{{Maybe| }} | <!--3D-->{{Maybe| }} | <!--Analogue--> | <!--Digital--> | <!--Laptop LCD--> | working |- | <!--Description-->GeForce 6150 | <!--Vendor ID--> | <!--Product ID-->0x0240 | <!--Revision--> | <!--2D--> | <!--3D--> | <!--Analogue--> | <!--Digital--> | <!--Laptop LCD--> | <!--Comments--> |- | <!--Description-->GeForce 7150M / nForce 630M | <!--Vendor ID--> | <!--Product ID-->0x0531 | <!--Revision--> | <!--2D--> | <!--3D--> | <!--Analogue--> | <!--Digital--> | <!--Laptop LCD--> | <!--Comments--> |- | <!--Description-->GeForce 7000M / nForce 610M | <!--Vendor ID--> | <!--Product ID-->0x0533 | <!--Revision--> | <!--2D--> | <!--3D--> | <!--Analogue--> | <!--Digital--> | <!--Laptop LCD--> | <!--Comments--> |- | <!--Description-->GeForce 7050 PV / NVIDIA nForce 630a | <!--Vendor ID--> | <!--Product ID-->0x053A 0x053B | <!--Revision--> | <!--2D--> | <!--3D--> | <!--Analogue--> | <!--Digital--> | <!--Laptop LCD--> | <!--Comments--> |- | Geforce IGP 7025 nForce 630a | 0x | 0x053E | 0x0 | <!--2D-->{{Yes|some}} | <!--3D-->{{Yes|some}} | <!--Analogue--> | <!--Digital--> | <!--Laptop LCD-->{{No| }} | some support on some chipsets |- | GeForce 7100 / nForce 630i (C73) | 0x10de | 0x07e1 | 0x0a2 | <!--2D-->{{Maybe}} | <!--3D-->{{Maybe}} | <!--Analogue-->{{Maybe}} | <!--Digital-->{{Maybe}} | <!--Laptop LCD-->{{N/A}} | Icaros 2.0.3 and Gigabyte 73-pvm-s2h rev. 1.0 but will not boot on [https://ae.amigalife.org/index.php?topic=806.msg8765#new Acer x270 with Icaros 2.3] |- | <!--Description-->GeForce 7150 / NVIDIA nForce 630i | <!--Vendor ID--> | <!--Product ID-->0x07E0 | <!--Revision--> | <!--2D--> | <!--3D--> | <!--Analogue--> | <!--Digital--> | <!--Laptop LCD--> | <!--Comments--> |- | <!--Description-->GeForce 7050 / NVIDIA nForce 610i | <!--Vendor ID--> | <!--Product ID-->0x07E3 | <!--Revision--> | <!--2D--> | <!--3D--> | <!--Analogue--> | <!--Digital--> | <!--Laptop LCD--> | <!--Comments--> |- | Geforce IGP 8100 (nForce 720a) | 0x | 0x084F | 0x0 | <!--2D--> | <!--3D--> | <!--Analogue--> | <!--Digital--> | <!--Laptop LCD--> | |- | GeForce 8100P | 0x | 0x0847 | 0x0 | <!--2D--> | <!--3D--> | <!--Analogue--> | <!--Digital--> | <!--Laptop LCD--> | |- | <!--Description-->Geforce 8200 8300 nForce 730a | <!--Vendor ID--> | <!--Product ID-->0x084A 0x0848 (GeForce 8300) 0x0849 (GeForce 8200) 0x084B (GeForce 8200) | <!--Revision--> | <!--2D--> | <!--3D--> | <!--Analogue--> | <!--Digital--> | <!--Laptop LCD--> | <!--Comments-->working on some 8300's with Icaros 1.5 but others untested |- | <!--Description-->nForce 780a SLI | <!--Vendor ID--> | <!--Product ID-->0x084C | <!--Revision--> | <!--2D--> | <!--3D--> | <!--Analogue--> | <!--Digital--> | <!--Laptop LCD--> | <!--Comments--> |- | <!--Description-->nForce 750a SLI | <!--Vendor ID-->0x10de | <!--Product ID-->0x084D | <!--Revision--> | <!--2D--> | <!--3D--> | <!--Analogue--> | <!--Digital--> | <!--Laptop LCD--> | <!--Comments--> |- | Nvidia Geforce IGP 9300 (nForce MCP7a) | 0x10de | 0x | 0x0 | <!--2D-->{{Maybe| }} | <!--3D-->{{Maybe| }} | <!--Analogue--> | <!--Digital--> | <!--Laptop LCD-->works | |- | <!--Description-->9400 (ION) | <!--Vendor ID-->0x10de | <!--Product ID-->0x087d | <!--Revision--> | <!--2D-->{{Yes| }} | <!--3D-->{{Yes| }} | <!--Analogue--> | <!--Digital--> | <!--Laptop LCD--> | <!--Comments-->If AROS detects GPU chipset, works sometimes |- | <!--Description-->9700M () | <!--Vendor ID-->0x10de | <!--Product ID--> | <!--Revision--> | <!--2D--> | <!--3D--> | <!--Analogue--> | <!--Digital--> | <!--Laptop LCD--> | <!--Comments--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--2D--> | <!--3D--> | <!--Analogue--> | <!--Digital--> | <!--Laptop LCD--> | <!--Comments--> |- | Geforce ION 2 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--2D-->{{Yes| }} | <!--3D-->{{Yes| }} | <!--Analogue--> | <!--Digital--> | <!--Laptop LCD--> | <!--Comments-->works well |- style="background:lightgrey; text-align:center; font-weight:bold;" | Description | Vendor ID | Product ID | Rev | 2D | 3D | Analog Output | Digital Output | Laptop LCD | Comments |- | <!--Description-->GeForce Go 6150 | <!--Vendor ID--> | <!--Product ID-->0x0244 | <!--Revision--> | <!--2D--> | <!--3D--> | <!--Analogue--> | <!--Digital--> | <!--Laptop LCD--> | <!--Comments--> |- | <!--Description-->GeForce Go 6100 | <!--Vendor ID--> | <!--Product ID-->0x0247 | <!--Revision--> | <!--2D--> | <!--3D--> | <!--Analogue--> | <!--Digital--> | <!--Laptop LCD--> | <!--Comments--> |- | <!--Description-->GeForce Go 6200 | <!--Vendor ID--> | <!--Product ID-->0x0164 0x0167 | <!--Revision--> | <!--2D--> | <!--3D--> | <!--Analogue--> | <!--Digital--> | <!--Laptop LCD--> | <!--Comments--> |- | <!--Description-->GeForce Go 6400 | <!--Vendor ID--> | <!--Product ID-->0x0166 0x0168 | <!--Revision--> | <!--2D--> | <!--3D--> | <!--Analogue--> | <!--Digital--> | <!--Laptop LCD--> | <!--Comments-->Sony Laptop |- | <!--Description-->GeForce Go 6800 | <!--Vendor ID--> | <!--Product ID-->0x00C8 | <!--Revision--> | <!--2D--> | <!--3D--> | <!--Analogue--> | <!--Digital--> | <!--Laptop LCD--> | <!--Comments--> |- | <!--Description-->GeForce Go 6800 Ultra | <!--Vendor ID--> | <!--Product ID-->0x00C9 | <!--Revision--> | <!--2D--> | <!--3D--> | <!--Analogue--> | <!--Digital--> | <!--Laptop LCD--> | <!--Comments--> |- | <!--Description-->GeForce Go 6600 | <!--Vendor ID--> | <!--Product ID-->0x0144 | <!--Revision--> | <!--2D--> | <!--3D--> | <!--Analogue--> | <!--Digital--> | <!--Laptop LCD--> | <!--Comments--> |- | <!--Description-->GeForce Go 6600 TE/6200 TE | <!--Vendor ID--> | <!--Product ID-->0x0146 | <!--Revision--> | <!--2D--> | <!--3D--> | <!--Analogue--> | <!--Digital--> | <!--Laptop LCD--> | <!--Comments--> |- | <!--Description-->GeForce Go 6600 | <!--Vendor ID--> | <!--Product ID-->0x0148 | <!--Revision--> | <!--2D--> | <!--3D--> | <!--Analogue--> | <!--Digital--> | <!--Laptop LCD--> | <!--Comments--> |- | <!--Description-->GeForce Go 6600 GT | <!--Vendor ID--> | <!--Product ID-->0x0149 | <!--Revision--> | <!--2D--> | <!--3D--> | <!--Analogue--> | <!--Digital--> | <!--Laptop LCD--> | <!--Comments--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--2D--> | <!--3D--> | <!--Analogue--> | <!--Digital--> | <!--Laptop LCD--> | <!--Comments--> |- | <!--Description-->GeForce Go 7200 | <!--Vendor ID--> | <!--Product ID-->0x01D6 | <!--Revision--> | <!--2D--> | <!--3D--> | <!--Analogue--> | <!--Digital--> | <!--Laptop LCD--> | <!--Comments--> |- | <!--Description-->GeForce Go 7300 | <!--Vendor ID--> | <!--Product ID-->0x01D7 | <!--Revision--> | <!--2D--> | <!--3D--> | <!--Analogue--> | <!--Digital--> | <!--Laptop LCD--> | <!--Comments-->untested |- | <!--Description-->GeForce Go 7400 | <!--Vendor ID--> | <!--Product ID-->0x01D8 | <!--Revision--> | <!--2D--> | <!--3D-->works 2D and 3d issues though | <!--Analogue--> | <!--Digital--> | <!--Laptop LCD--> | <!--Comments--> |- | <!--Description-->GeForce Go 7800 | <!--Vendor ID--> | <!--Product ID-->0x098 | <!--Revision--> | <!--2D--> | <!--3D--> | <!--Analogue--> | <!--Digital--> | <!--Laptop LCD--> | <!--Comments--> |- | <!--Description-->GeForce Go 7800 GTX | <!--Vendor ID--> | <!--Product ID-->0x0099 | <!--Revision--> | <!--2D--> | <!--3D--> | <!--Analogue--> | <!--Digital--> | <!--Laptop LCD--> | <!--Comments--> |- | <!--Description-->GeForce Go 7950 GTX | <!--Vendor ID--> | <!--Product ID-->0x0297 | <!--Revision--> | <!--2D--> | <!--3D--> | <!--Analogue--> | <!--Digital--> | <!--Laptop LCD--> | <!--Comments--> |- | <!--Description-->GeForce Go 7900 GS | <!--Vendor ID--> | <!--Product ID-->0x0298 | <!--Revision--> | <!--2D--> | <!--3D--> | <!--Analogue--> | <!--Digital--> | <!--Laptop LCD--> | <!--Comments--> |- | <!--Description-->GeForce Go 7900 GTX | <!--Vendor ID--> | <!--Product ID-->0x0299 | <!--Revision--> | <!--2D--> | <!--3D--> | <!--Analogue--> | <!--Digital--> | <!--Laptop LCD--> | <!--Comments--> |- | <!--Description-->GeForce Go 7600 | <!--Vendor ID--> | <!--Product ID-->0x0398 | <!--Revision--> | <!--2D--> | <!--3D--> | <!--Analogue--> | <!--Digital--> | <!--Laptop LCD--> | <!--Comments--> |- | <!--Description-->GeForce Go 7600 GT | <!--Vendor ID--> | <!--Product ID-->0x0399 | <!--Revision--> | <!--2D--> | <!--3D--> | <!--Analogue--> | <!--Digital--> | <!--Laptop LCD--> | <!--Comments--> |- | <!--Description-->GeForce 6610 XL | <!--Vendor ID--> | <!--Product ID-->0x0145 | <!--Revision--> | <!--2D--> | <!--3D--> | <!--Analogue--> | <!--Digital--> | <!--Laptop LCD--> | <!--Comments--> |- | <!--Description-->GeForce 6700 XL | <!--Vendor ID--> | <!--Product ID-->0x0147 | <!--Revision--> | <!--2D--> | <!--3D--> | <!--Analogue--> | <!--Digital--> | <!--Laptop LCD--> | <!--Comments--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--2D--> | <!--3D--> | <!--Analogue--> | <!--Digital--> | <!--Laptop LCD-->{{N/A}} | <!--Comments--> |- style="background:lightgrey; text-align:center; font-weight:bold;" | Description | Vendor ID | Product ID | Rev | 2D | 3D | Analog Output | Digital Output | Laptop LCD | Comments |- | <!--Description-->GeForce 8700M GT | <!--Vendor ID--> | <!--Product ID-->0x0409 | <!--Revision--> | <!--2D--> | <!--3D--> | <!--Analogue--> | <!--Digital--> | <!--Laptop LCD--> | <!--Comments--> |- | <!--Description-->GeForce 8600M GS | <!--Vendor ID--> | <!--Product ID-->0x0425 | <!--Revision--> | <!--2D--> | <!--3D--> | <!--Analogue--> | <!--Digital--> | <!--Laptop LCD--> | <!--Comments--> |- | <!--Description-->GeForce 8400M GT | <!--Vendor ID--> | <!--Product ID-->0x0426 | <!--Revision--> | <!--2D--> | <!--3D--> | <!--Analogue--> | <!--Digital--> | <!--Laptop LCD--> | <!--Comments--> |- | <!--Description-->GeForce 8400M GS | <!--Vendor ID--> | <!--Product ID-->0x0427 | <!--Revision--> | <!--2D--> | <!--3D--> | <!--Analogue--> | <!--Digital--> | <!--Laptop LCD--> | <!--Comments--> |- | <!--Description-->GeForce 8400M G | <!--Vendor ID--> | <!--Product ID-->0x0428 | <!--Revision--> | <!--2D--> | <!--3D--> | <!--Analogue--> | <!--Digital--> | <!--Laptop LCD--> | <!--Comments--> |- | <!--Description-->GeForce 8800M GTS | <!--Vendor ID--> | <!--Product ID-->0x0609 | <!--Revision--> | <!--2D--> | <!--3D--> | <!--Analogue--> | <!--Digital--> | <!--Laptop LCD--> | <!--Comments--> |- | <!--Description-->GeForce 8800M GTX | <!--Vendor ID--> | <!--Product ID-->0x060C | <!--Revision--> | <!--2D--> | <!--3D--> | <!--Analogue--> | <!--Digital--> | <!--Laptop LCD--> | <!--Comments--> |- | <!--Description-->GeForce 9500M GS | <!--Vendor ID--> | <!--Product ID-->0x0405 | <!--Revision--> | <!--2D--> | <!--3D--> | <!--Analogue--> | <!--Digital--> | <!--Laptop LCD--> | <!--Comments--> |- | <!--Description-->GeForce 8600M GT | <!--Vendor ID--> | <!--Product ID-->0x0407 | <!--Revision--> | <!--2D--> | <!--3D--> | <!--Analogue--> | <!--Digital--> | <!--Laptop LCD--> | <!--Comments--> |- | <!--Description-->GeForce 9650M GS | <!--Vendor ID--> | <!--Product ID-->0x0408 | <!--Revision--> | <!--2D--> | <!--3D--> | <!--Analogue--> | <!--Digital--> | <!--Laptop LCD--> | <!--Comments--> |- | <!--Description-->GeForce 9400M GT | <!--Vendor ID--> | <!--Product ID-->0x042C | <!--Revision--> | <!--2D--> | <!--3D--> | <!--Analogue--> | <!--Digital--> | <!--Laptop LCD--> | <!--Comments--> |- | <!--Description-->GeForce 9300M G | <!--Vendor ID--> | <!--Product ID-->0x042E | <!--Revision--> | <!--2D--> | <!--3D--> | <!--Analogue--> | <!--Digital--> | <!--Laptop LCD--> | <!--Comments--> |- | <!--Description-->GeForce 9100M G | <!--Vendor ID--> | <!--Product ID-->0x0844 | <!--Revision--> | <!--2D--> | <!--3D--> | <!--Analogue--> | <!--Digital--> | <!--Laptop LCD--> | <!--Comments--> |- | <!--Description-->GeForce 9800M GTS | <!--Vendor ID--> | <!--Product ID-->0x0628 | <!--Revision--> | <!--2D--> | <!--3D--> | <!--Analogue--> | <!--Digital--> | <!--Laptop LCD--> | <!--Comments--> |- | <!--Description-->GeForce 9700M GTS | <!--Vendor ID--> | <!--Product ID-->0x062A | <!--Revision--> | <!--2D--> | <!--3D--> | <!--Analogue--> | <!--Digital--> | <!--Laptop LCD--> | <!--Comments--> |- | <!--Description-->GeForce 9800M GTS | <!--Vendor ID--> | <!--Product ID-->0x062C | <!--Revision--> | <!--2D--> | <!--3D--> | <!--Analogue--> | <!--Digital--> | <!--Laptop LCD--> | <!--Comments--> |- | <!--Description-->GeForce 9600M GT | <!--Vendor ID--> | <!--Product ID-->0x0647 | <!--Revision--> | <!--2D--> | <!--3D--> | <!--Analogue--> | <!--Digital--> | <!--Laptop LCD--> | <!--Comments--> |- | <!--Description-->GeForce 9600M GS | <!--Vendor ID--> | <!--Product ID-->0x0648 | <!--Revision--> | <!--2D--> | <!--3D--> | <!--Analogue--> | <!--Digital--> | <!--Laptop LCD--> | <!--Comments--> |- | <!--Description-->GeForce 9600M GT | <!--Vendor ID--> | <!--Product ID-->0x0649 | <!--Revision--> | <!--2D--> | <!--3D--> | <!--Analogue--> | <!--Digital--> | <!--Laptop LCD--> | <!--Comments--> |- | <!--Description-->GeForce 9500M G | <!--Vendor ID--> | <!--Product ID-->0x064B | <!--Revision--> | <!--2D--> | <!--3D--> | <!--Analogue--> | <!--Digital--> | <!--Laptop LCD--> | <!--Comments--> |- | <!--Description-->GeForce 9300M GS | <!--Vendor ID--> | <!--Product ID-->0x06E5 | <!--Revision--> | <!--2D--> | <!--3D--> | <!--Analogue--> | <!--Digital--> | <!--Laptop LCD--> | <!--Comments--> |- | <!--Description-->GeForce 9200M GS | <!--Vendor ID--> | <!--Product ID-->0x06E8 | <!--Revision--> | <!--2D--> | <!--3D--> | <!--Analogue--> | <!--Digital--> | <!--Laptop LCD--> | <!--Comments--> |- | <!--Description-->GeForce 9300M GS | <!--Vendor ID--> | <!--Product ID-->0x06E8 | <!--Revision--> | <!--2D--> | <!--3D--> | <!--Analogue--> | <!--Digital--> | <!--Laptop LCD--> | <!--Comments--> |- | <!--Description-->NV50 (G80) Quadro FX (4600 (SDI), 5600) Quadro FX (2800M, 3600M, 3700, 3700M, 3800M, 4700 X2), VX 200 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--2D--> | <!--3D--> | <!--Analogue--> | <!--Digital--> | <!--Laptop LCD-->{{N/A}} | <!--Comments--> |- | <!--Description-->NV94 (G94) 9700M GTS, 9800M GTS, GeForce G 110M, GT 130(M), GT 140, Quadro FX (1800, 2700M) | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--2D--> | <!--3D--> | <!--Analogue--> | <!--Digital--> | <!--Laptop LCD-->{{N/A}} | <!--Comments--> |- | <!--Description-->NV84 (G84) Tesla 8700M GT, GeForce 9500M GS, 9650M GS Quadro FX (370, 570, 570M, 1600M, 1700), NVS 320M NV86 (G86) GeForce 8300 GS, 8400 (GS, M G, M GS, M GT), 8500 GT, GeForce 9300M G Quadro FX 360M, NVS (130M, 135M, 140M, 290) GeForce GTS 150(M), GTS 160M, GTS 240, GTS 250, GTX (260M, 280M, 285M), GT (330, 340) | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--2D--> | <!--3D--> | <!--Analogue--> | <!--Digital--> | <!--Laptop LCD-->{{N/A}} | <!--Comments--> |- | <!--Description-->NV96 (G96) 9650M GT, 9700M GT GeForce G 102M, GT 120 Quadro FX (380, 580, 770M, 1700M) NV98 (G98) GeForce 8400 GS, GeForce 9200M GS, 9300 (GE, GS, M GS) GeForce G 100, G 105M Quadro FX (370 LP, 370M), NVS (150M, 160M, 295, 420, 450) Quadro CX, FX (3800, 4800, 5800) | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--2D--> | <!--3D--> | <!--Analogue--> | <!--Digital--> | <!--Laptop LCD-->{{N/A}} | <!--Comments--> |- | <!--Description-->NVA3 (GT215) GeForce GT (240, 320, 335M), GTS (250M, 260M, 350M, 360M) Quadro FX 1800M NVA5 (GT216) GeForce GT (220, 230M, 240M, 325M, 330M), 315 Quadro 400, FX 880M, NVS 5100M | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--2D--> | <!--3D--> | <!--Analogue--> | <!--Digital--> | <!--Laptop LCD-->{{N/A}} | <!--Comments--> |- | <!--Description-->NVA8 (GT218) Tesla GeForce 8400 GS, GeForce 210M, 305M, 310M, Quadro FX 380M, NVS 2100M, 3100M | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--2D--> | <!--3D--> | <!--Analogue--> | <!--Digital--> | <!--Laptop LCD-->{{N/A}} | <!--Comments--> |- | <!--Description-->NVAA (MCP77/MCP78) GeForce 8100, 8200, 8300 mGPU / nForce 700a series, 8200M G NVAC (MCP79/MCP7A) ION, GeForce 9300, 9400 mGPU / nForce 700i series, 8200M G, 9100M, 9400M (G) | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--2D--> | <!--3D--> | <!--Analogue--> | <!--Digital--> | <!--Laptop LCD-->{{N/A}} | <!--Comments--> |- | <!--Description-->NVAF (MCP89) GeForce 320M | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--2D--> | <!--3D--> | <!--Analogue--> | <!--Digital--> | <!--Laptop LCD-->{{N/A}} | <!--Comments--> |- style="background:lightgrey; text-align:center; font-weight:bold;" | Description | Vendor ID | Product ID | Rev | 2D | 3D | Analog Output | Digital Output | Laptop LCD | Comments |- | <!--Description-->NVC0 (GF100) Fermi GeForce GTX 480M, Quadro 5000M | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--2D--> | <!--3D--> | <!--Analogue--> | <!--Digital--> | <!--Laptop LCD-->{{N/A}} | <!--Comments--> |- | <!--Description-->NVC1 (GF108) GeForce GT 415M, 420M, 425M, 435M, 520M, 525M, 540M, 550M, 555M, 630M, 635M, 640M LE, Quadro 1000M | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--2D--> | <!--3D--> | <!--Analogue--> | <!--Digital--> | <!--Laptop LCD-->{{N/A}} | <!--Comments--> |- | <!--Description-->NVC3 (GF106) Fermi GeForce GT 445M, 555M, 630M, 635M), GTX 460M, Quadro 2000M | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--2D--> | <!--3D--> | <!--Analogue--> | <!--Digital--> | <!--Laptop LCD-->{{N/A}} | <!--Comments--> |- | <!--Description-->NVC4 (GF104) GeForce GTX 470M, 485M, Quadro 5000M | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--2D--> | <!--3D--> | <!--Analogue--> | <!--Digital--> | <!--Laptop LCD-->{{N/A}} | <!--Comments--> |- | <!--Description-->NVCE (GF114) GeForce GTX 570M, 580M, 670M, 675M, | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--2D--> | <!--3D--> | <!--Analogue--> | <!--Digital--> | <!--Laptop LCD-->{{N/A}} | <!--Comments--> |- | <!--Description-->NVD7 (GF117) Fermi Geforce GT 620M, 625M, (some) 630M, 710M, 720M | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--2D-->{{Maybe|VESA}} | <!--3D-->{{No| }} | <!--Analogue-->{{No| }} | <!--Digital-->{{No|nothing}} | <!--Laptop LCD-->{{N/A}} | <!--Comments--> |- | <!--Description-->NVD9 (GF119) Fermi GeForce 410M, GT 520M, 520MX, 610M, Quadro NVS 4200M | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--2D--> | <!--3D--> | <!--Analogue--> | <!--Digital--> | <!--Laptop LCD-->{{N/A}} | <!--Comments--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--2D--> | <!--3D--> | <!--Analogue--> | <!--Digital--> | <!--Laptop LCD-->{{N/A}} | <!--Comments--> |- style="background:lightgrey; text-align:center; font-weight:bold;" | Description | Vendor ID | Product ID | Rev | 2D | 3D | Analog Output | Digital Output | Laptop LCD | Comments |- | <!--Description-->NVE4 (GK104) GeForce GTX 670M, 680M, 775M, 780M, Quadro K3000M, K3100M, K4000M, K4100M, K5000M, K5100M, | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--2D--> | <!--3D--> | <!--Analogue--> | <!--Digital--> | <!--Laptop LCD-->{{N/A}} | <!--Comments--> |- | <!--Description-->NVE7 (GK107) GeForce GT640M, 645M, 650M, 710M, 720M, 730M, 740M, 745M, 750M, 755M, GTX 660M, K500M, K1000M, K1100M, K2000M | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--2D--> | <!--3D--> | <!--Analogue--> | <!--Digital--> | <!--Laptop LCD-->{{N/A}} | <!--Comments--> |- | <!--Description-->Geforce gtx 760m GK106S | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--2D-->{{Maybe|VESA}} | <!--3D-->{{No| }} | <!--Analogue-->{{No| }} | <!--Digital-->{{No|nothing}} | <!--Laptop LCD-->{{N/A}} | <!--Comments-->2013 like msi ge40 ge60 |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--2D--> | <!--3D--> | <!--Analogue--> | <!--Digital--> | <!--Laptop LCD-->{{N/A}} | <!--Comments--> |- | <!--Description-->Geforce GTX 860M GK104 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--2D--> | <!--3D--> | <!--Analogue--> | <!--Digital--> | <!--Laptop LCD-->{{N/A}} | <!--Comments-->2014 slower than gtx 750 ti |- style="background:lightgrey; text-align:center; font-weight:bold;" | Description | Vendor ID | Product ID | Rev | 2D | 3D | Analog Output | Digital Output | Laptop LCD | Comments |- | <!--Description-->Geforce GTX 860M GM107 | <!--Vendor ID-->0x10de | <!--Product ID-->0x1392 | <!--Revision--> | <!--2D--> | <!--3D--> | <!--Analogue--> | <!--Digital--> | <!--Laptop LCD-->{{N/A}} | <!--Comments-->2014 like a gtx 750 ti - |- | <!--Description-->Geforce GTX 850M GM107 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--2D--> | <!--3D--> | <!--Analogue--> | <!--Digital--> | <!--Laptop LCD-->{{N/A}} | <!--Comments-->2014 slower than gtx 750 ti - |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--2D--> | <!--3D--> | <!--Analogue--> | <!--Digital--> | <!--Laptop LCD-->{{N/A}} | <!--Comments--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--2D--> | <!--3D--> | <!--Analogue--> | <!--Digital--> | <!--Laptop LCD-->{{N/A}} | <!--Comments--> |- | <!--Description-->Geforce 980M GM204 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--2D--> | <!--3D--> | <!--Analogue--> | <!--Digital--> | <!--Laptop LCD-->{{N/A}} | <!--Comments-->2015 like a 1050 ti - |- | <!--Description-->GTX 970M | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--2D--> | <!--3D--> | <!--Analogue--> | <!--Digital--> | <!--Laptop LCD-->{{N/A}} | <!--Comments--> |- | <!--Description-->GTX 960 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--2D--> | <!--3D--> | <!--Analogue--> | <!--Digital--> | <!--Laptop LCD-->{{N/A}} | <!--Comments--> |- | <!--Description-->GTX 950 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--2D--> | <!--3D--> | <!--Analogue--> | <!--Digital--> | <!--Laptop LCD-->{{N/A}} | <!--Comments-->2015 |- |- | <!--Description-->Geforce M2000M | <!--Vendor ID-->0x10de | <!--Product ID--> | <!--Revision--> | <!--2D-->{{unk| }} | <!--3D-->{{unk| }} | <!--Analogue-->{{unk| }} | <!--Digital-->{{unk| }} | <!--Laptop LCD-->{{N/A}} | <!--Comments-->2016 55w |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--2D--> | <!--3D--> | <!--Analogue--> | <!--Digital--> | <!--Laptop LCD-->{{N/A}} | <!--Comments--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--2D--> | <!--3D--> | <!--Analogue--> | <!--Digital--> | <!--Laptop LCD-->{{N/A}} | <!--Comments--> |- style="background:lightgrey; text-align:center; font-weight:bold;" | Description | Vendor ID | Product ID | Rev | 2D | 3D | Analog Output | Digital Output | Laptop LCD | Comments |- | <!--Description-->GTX 1650 mobile | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--2D--> | <!--3D--> | <!--Analogue--> | <!--Digital--> | <!--Laptop LCD-->{{N/A}} | <!--Comments-->2019 turing architecture - last old skool support pre Vulkan |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--2D--> | <!--3D--> | <!--Analogue--> | <!--Digital--> | <!--Laptop LCD-->{{N/A}} | <!--Comments--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--2D--> | <!--3D--> | <!--Analogue--> | <!--Digital--> | <!--Laptop LCD-->{{N/A}} | <!--Comments--> |- style="background:lightgrey; text-align:center; font-weight:bold;" | Description | Vendor ID | Product ID | Rev | 2D | 3D | Analog Output | Digital Output | Laptop LCD | Comments |- | <!--Description-->rtx 2050 mobile | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--2D--> | <!--3D--> | <!--Analogue--> | <!--Digital--> | <!--Laptop LCD-->{{N/A}} | <!--Comments-->2022 ampere architecture best starting point for vulkan support |- | <!--Description-->rtx 2060 mobile | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--2D--> | <!--3D--> | <!--Analogue--> | <!--Digital--> | <!--Laptop LCD-->{{N/A}} | <!--Comments--> |- |- style="background:lightgrey; text-align:center; font-weight:bold;" | Description | Vendor ID | Product ID | Rev | 2D | 3D | Analog Output | Digital Output | Laptop LCD | Comments |- | <!--Description-->rtx 4060 mobile | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--2D--> | <!--3D--> | <!--Analogue--> | <!--Digital--> | <!--Laptop LCD-->{{N/A}} | <!--Comments--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--2D--> | <!--3D--> | <!--Analogue--> | <!--Digital--> | <!--Laptop LCD-->{{N/A}} | <!--Comments--> |- |} ====radeon.hidd==== Michel Shultz ''2D'' graphics driver (standard on most distributions but only for very old GPUs) and bearsofts updated 2013 around Icaros 1.3.1 3D is not implemented by AROS yet but could cover these AMD chipsets <pre> 2014 SI AMD HD 7xxx 2016 GCN3rd AMD R5E R7E 2019 GCN5th AMD Vega 8 2022 RDNA1 AMD RX5500 desktop only 2023 RDNA2 AMD 680M 780M 2024 RDNA3 AMD 880M 890M 2025 RDNA3.5 AMD 8060S strix halo and AI 2027 RDNA4 AMD </pre> {| class="wikitable" ! Description ! Vendor ID ! Product ID ! Revision ! 2D ! 3D ! Analogue Output ! Digital Output ! Laptop LCD ! Comments |- | 7000 (r100) | 0x1002 | 0x5159 | 0x0 | <!--2D-->{{Yes}} | <!--3D-->{{No}} | <!--Analogue-->{{Maybe|vga15 pin connection but not s-video}} | <!--Digital-->{{Yes|DVI}} | <!--Laptop LCD-->{{N/A}} | <!--Comments-->openGL 1.3 |- | 7500 (rv200 but still r100 based) | 0x1002 | 0x5157 | 0x | <!--2D-->{{Yes}} | <!--3D-->{{No}} | <!--Analogue-->{{Yes|vga15}} | <!--Digital-->{{Yes|DVI}} | <!--Laptop LCD-->{{N/A}} | <!--Comments-->openGL 1.3 |- | 8000 8500 (r200) | 0x1002 | 0x514c (8500LE) | 0x0 | <!--2D-->{{Yes}} | <!--3D-->{{No}} | <!--Analogue--> | <!--Digital--> | <!--Laptop LCD-->{{N/A}} | <!--Comments-->openGL 1.4 |- | 9000 9100 9250 (r200) | 0x1002 | 0x5964 (9000) 0x514d (9100) | 0x0001 | <!--2D-->{{Yes}} | <!--3D-->{{No}} | <!--Analogue-->{{Maybe|VGA15 but not s-video}} | <!--Digital-->{{Yes|DVI}} | <!--Laptop LCD-->{{N/A}} | <!--Comments-->openGL 1.4 |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--2D--> | <!--3D--> | <!--Analogue--> | <!--Digital--> | <!--Laptop LCD-->{{N/A}} | <!--Comments--> |- style="background:lightgrey; text-align:center; font-weight:bold;" | Description | Vendor ID | Product ID | Revision | 2D | 3D | Analogue Output | Digital Output | Laptop LCD | Comments |- | 9600 9800 (r300) | 0x | 0x | 0x0 | <!--2D-->{{Yes}} | <!--3D-->{{No}} | <!--Analogue--> | <!--Digital--> | <!--Laptop LCD-->{{N/A}} | <!--Comments-->openGL 2.1 |- | x300 x600 (r300) | 0x | 0x | 0x0 | <!--2D-->{{Yes}} | <!--3D-->{{No}} | <!--Analogue--> | <!--Digital--> | <!--Laptop LCD-->{{N/A}} | <!--Comments-->openGL 2.1 |- | x700, x800 ([http://en.wikipedia.org/wiki/Radeon_R600 r420]) | 0x | 0x554d (R430 x800xl) | 0x0 | <!--2D-->{{Yes|new driver}} | <!--3D-->{{No}} | <!--Analogue--> | <!--Digital--> | <!--Laptop LCD-->{{N/A}} | <!--Comments-->openGL 2.1 - x800 XL PCIE (problem with mouse-pointer, some part of the pointer is not transparent) |- | x1300 x1550 x1600 x1800 x1900 x1950 ([http://en.wikipedia.org/wiki/Radeon_R520 r520]) | 0x | 0x | 0x0 | <!--2D-->{{Yes|new driver}} | <!--3D-->{{no}} | <!--Analogue--> | <!--Digital--> | <!--Laptop LCD-->{{N/A}} | <!--Comments-->openGL 2.1 |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--2D--> | <!--3D--> | <!--Analogue--> | <!--Digital--> | <!--Laptop LCD-->{{N/A}} | <!--Comments--> |- style="background:lightgrey; text-align:center; font-weight:bold;" | Description | Vendor ID | Product ID | Revision | 2D | 3D | Analogue Output | Digital Output | Laptop LCD | Comments |- | HD2400 HD2600 HD2900 ([http://en.wikipedia.org/wiki/Radeon_R600 r600]) | 0x | 0x | 0x0 | <!--2D-->{{Maybe|some features with new driver}} | <!--3D-->{{No}} | <!--Analogue--> | <!--Digital--> | <!--Laptop LCD-->{{N/A}} | <!--Comments--> openGL 3.3 open CL 1.2 TeraScale architecture |- | HD3400 HD3600 HD3800 (r600) | 0x | 0x | 0x0 | <!--2D-->{{Maybe|some features with new driver}} | <!--3D-->{{No}} | <!--Analogue--> | <!--Digital--> | <!--Laptop LCD-->{{N/A}} | <!--Comments-->pci-e 2.0, openGL 3.3 |- | HD4300 HD4500 HD4600 HD4700 HD4800 ([http://en.wikipedia.org/wiki/Radeon_R600 r700]) | 0x1002 | 0x | 0x0 | <!--2D-->{{Maybe|but some later cards need 3D engine for faster and more flexible 2D now}} | <!--3D-->{{No}} | <!--Analogue--> | <!--Digital--> | <!--Laptop LCD-->{{N/A}} | <!--Comments-->openGL 3.3 - DDR3 - GDDR5 was one of AMD's aces for the 4800 series - 4670 liked - |- | HD6900 cayman series | 0x | 0x | 0x0 | <!--2D-->{{Maybe|some features with new driver}} | <!--3D-->{{No}} | <!--Analogue--> | <!--Digital--> | <!--Laptop LCD-->{{N/A}} | <!--Comments--> openGL 3.3 open CL not mature (2014) - |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--2D--> | <!--3D--> | <!--Analogue--> | <!--Digital--> | <!--Laptop LCD-->{{N/A}} | <!--Comments--> |- style="background:lightgrey; text-align:center; font-weight:bold;" | Description | Vendor ID | Product ID | Revision | 2D | 3D | Analogue Output | Digital Output | Laptop LCD | Comments |- | HD5400 Series HD5430 HD5450 HD5470 | 0x | 0x | 0x0 | <!--2D-->{{No|needs 3D engine for accelerated 2D now}} | <!--3D-->{{No}} | <!--Analogue--> | <!--Digital--> | <!--Laptop LCD-->{{N/A}} | <!--Comments-->2010 openGL 3.3 openCL - GDDR3 - |- | HD5500 Series HD5550 HD5570 HD5600 Series HD5650 HD5670 HD5700 Series HD5750 HD5770 | 0x | 0x | 0x0 | <!--2D-->{{No|needs 3D engine for accelerated 2D now}} | <!--3D-->{{No}} | <!--Analogue--> | <!--Digital--> | <!--Laptop LCD-->{{N/A}} | <!--Comments-->openGL 3.3 openCL - GDDR5 |- | HD 5800 Series HD5850 HD5870 HD5900 Series HD5950 HD5970 - HD6xxx not NI chipset ([http://en.wikipedia.org/wiki/Evergreen_(GPU_family) r800 evergreen]) | 0x | 0x | 0x0 | <!--2D-->{{No|needs 3D engine for accelerated 2D now}} | <!--3D-->{{No}} | <!--Analogue--> | <!--Digital--> | <!--Laptop LCD-->{{N/A}} | <!--Comments-->2009 openGL 3.3 openCL - DDR5 pci-e 2.1 best avoided for all pci-e 1.0 mobos - Ati TeraScale2 architecture - |- | HD6450 [http://en.wikipedia.org/wiki/Northern_Islands_(GPU_family) Northern Islands chipset] | 0x | 0x | 0x0 | <!--2D-->{{No|needs 3D engine for accelerated 2D now}} | <!--3D-->{{No}} | <!--Analogue--> | <!--Digital--> | <!--Laptop LCD-->{{N/A}} | <!--Comments--> - DDR3 - |- | HD6600 Series HD6650 HD6570 HD6600 Series HD6650 HD6670 | 0x | 0x | 0x0 | <!--2D-->{{No|needs 3D engine for accelerated 2D now}} | <!--3D-->{{No}} | <!--Analogue--> | <!--Digital--> | <!--Laptop LCD-->{{N/A}} | <!--Comments-->2011 - DDR5 - Radeon HD 8470 11 TeraScale 2 Radeon HD 8350 11 TeraScale 2 Radeon HD 7510 11 TeraScale 2 Radeon HD 6550D 11 TeraScale 2 Radeon HD 6530D 11 TeraScale 2 Radeon HD 6410D 11 TeraScale 2 Radeon HD 6370D 11 TeraScale 2 Radeon HD 6320 11 TeraScale 2 Radeon HD 6310 11 TeraScale 2 Radeon HD 6290 11 TeraScale 2 Radeon HD 6250 11 TeraScale 2 |- | HD6800 Series HD6850 HD6870 HD6700 Series HD6790 to HD6990 | 0x | 0x | 0x0 | <!--2D-->{{No|needs 3D engine for accelerated 2D now}} | <!--3D-->{{No}} | <!--Analogue--> | <!--Digital--> | <!--Laptop LCD-->{{N/A}} | <!--Comments-->2011 - DDR5 - AMD TeraScale3 - |- | <!--Description-->HD7450-HD7670 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--2D-->{{Maybe|VESA}} | <!--3D-->{{No| }} | <!--Analogue-->{{No| }} | <!--Digital-->{{No|nothing}} | <!--Laptop LCD-->{{N/A}} | <!--Comments-->2012 OpenGL but not Vulkan Radeon HD 7660D 11 TeraScale 3 Radeon HD 7560D 11 TeraScale 3 Radeon HD 7540D 11 TeraScale 3 Radeon HD 7480D 11 TeraScale 3 Radeon HD 6930 11 TeraScale 3 |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--2D--> | <!--3D--> | <!--Analogue--> | <!--Digital--> | <!--Laptop LCD-->{{N/A}} | <!--Comments--> |- style="background:lightgrey; text-align:center; font-weight:bold;" | Description | Vendor ID | Product ID | Revision | 2D | 3D | Analogue Output | Digital Output | Laptop LCD | Comments |- | <!--Description-->HD7750 HD 7770 / R7 250X HD7850 HD7870 / R9 270X HD 7950 / R9 280 HD 7970 / R9 280X [http://en.wikipedia.org/wiki/Southern_Islands_(GPU_family) Southern Islands] *AMD Radeon R7 250XE Cape Verde XT *AMD Radeon R7 M465X Cape Verde *AMD Radeon R9 255 Cape Verde PRX *AMD Radeon HD 7750 Cape Verde PRO *AMD Radeon R7 250E Cape Verde PRO *AMD Radeon HD 8740 Cape Verde PRO *AMD Radeon HD 7730 Cape Verde LE | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--2D-->{{Maybe|VESA}} | <!--3D-->{{No| }} | <!--Analogue-->{{No| }} | <!--Digital-->{{No|nothing}} | <!--Laptop LCD-->{{N/A}} | <!--Comments-->2012 pci-e 3.0 1st Gen GCN architecture - |- | <!--Description-->R5 430, FirePro W2100, | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--2D-->{{Maybe|VESA}} | <!--3D-->{{No| }} | <!--Analogue-->{{No| }} | <!--Digital-->{{No|nothing}} | <!--Laptop LCD-->{{N/A}} | <!--Comments-->2015 50W+ openGL openCL 1/3 speed of gtx750ti 1st gen gcn1 |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--2D--> | <!--3D--> | <!--Analogue--> | <!--Digital--> | <!--Laptop LCD-->{{N/A}} | <!--Comments--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--2D--> | <!--3D--> | <!--Analogue--> | <!--Digital--> | <!--Laptop LCD-->{{N/A}} | <!--Comments--> |- style="background:lightgrey; text-align:center; font-weight:bold;" | Description | Vendor ID | Product ID | Revision | 2D | 3D | Analogue Output | Digital Output | Laptop LCD | Comments |- | <!--Description-->HD7790 [ Sea Islands ] | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--2D-->{{Maybe|VESA}} | <!--3D-->{{No| }} | <!--Analogue-->{{No| }} | <!--Digital-->{{No|nothing}} | <!--Laptop LCD-->{{N/A}} | <!--Comments-->2013 openGL 4.1 open CL - GCN2.0 Vulkan 1.0 introduced a Shader Engine (SE) comprising one geometry processor, up to 44 CUs (Hawaii chip), rasterizers, ROPs, and L1 cache and Graphics Command Processor for faster audio/video - suits Vulkan 1.1 |- | <!--Description-->r5 240 240x (slow) R7 250 250x (faster) HD 7790 / R7 260 260X / R7 360 to R5 350 (fast) and last one R5 430 OEM Plus (slow again) | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--2D-->{{Maybe|VESA}} | <!--3D-->{{No| }} | <!--Analogue-->{{No| }} | <!--Digital-->{{No|nothing}} | <!--Laptop LCD-->{{N/A}} | <!--Comments-->2013 50W+ GCN 1st gen - openGL 4.x openCL 1.x Vulkan 1.0 |- | <!--Description-->R9 290 / R9 390 R9 290X / R9 390X | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--2D-->{{Maybe|VESA}} | <!--3D-->{{No| }} | <!--Analogue-->{{No| }} | <!--Digital-->{{No|nothing}} | <!--Laptop LCD-->{{N/A}} | <!--Comments-->2014 GCN 1.1 2nd Gen architecture - openGL 4.x openCL 1.x Vulkan 1.1 - |- | <!--Description-->R9 Fury Nano | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--2D--> | <!--3D--> | <!--Analogue--> | <!--Digital--> | <!--Laptop LCD-->{{N/A}} | <!--Comments-->2015 GCN 1.2 3rd Gen - openGL openCL vulkan |- | <!--Description-->r-200 series r8 275 285 295 375 [Volcanic Islands] | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--2D-->{{Maybe|VESA}} | <!--3D-->{{No| }} | <!--Analogue-->{{No| }} | <!--Digital-->{{No|nothing}} | <!--Laptop LCD-->{{N/A}} | <!--Comments-->2015 GCN1.2 - openGL 4.x openCL 1.x Vulkan 1.2 |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--2D--> | <!--3D--> | <!--Analogue--> | <!--Digital--> | <!--Laptop LCD-->{{N/A}} | <!--Comments-->2015 [https://gpuopen.com/download/AMD_GCN3_Instruction_Set_Architecture_rev1.1.pdf GCN3] |- style="background:lightgrey; text-align:center; font-weight:bold;" | Description | Vendor ID | Product ID | Revision | 2D | 3D | Analogue Output | Digital Output | Laptop LCD | Comments |- | <!--Description-->Radeon™ RX 5700/5600/5500 Series | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--2D--> | <!--3D--> | <!--Analogue--> | <!--Digital--> | <!--Laptop LCD-->{{N/A}} | <!--Comments-->2022 GCN 4 - OpenGL 4, Vulkan 1.3 - |- | <!--Description-->Radeon™ RX 400/500 Series like rx vega 580 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--2D--> | <!--3D--> | <!--Analogue--> | <!--Digital--> | <!--Laptop LCD-->{{N/A}} | <!--Comments--> |- | <!--Description-->Radeon™ Pro WX 9100, x200 Series and Radeon™ Pro W5700/W5500 Series | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--2D--> | <!--3D--> | <!--Analogue--> | <!--Digital--> | <!--Laptop LCD-->{{N/A}} | <!--Comments--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--2D--> | <!--3D--> | <!--Analogue--> | <!--Digital--> | <!--Laptop LCD-->{{N/A}} | <!--Comments--> |- style="background:lightgrey; text-align:center; font-weight:bold;" | Description | Vendor ID | Product ID | Revision | 2D | 3D | Analogue Output | Digital Output | Laptop LCD | Comments |- | <!--Description-->Radeon™ RX 7900/7600 Series | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--2D--> | <!--3D--> | <!--Analogue--> | <!--Digital--> | <!--Laptop LCD-->{{N/A}} | <!--Comments--> |- | <!--Description-->Radeon™ RX 6900/6800/6700/6600/6500 Series | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--2D--> | <!--3D--> | <!--Analogue--> | <!--Digital--> | <!--Laptop LCD-->{{N/A}} | <!--Comments--> |- style="background:lightgrey; text-align:center; font-weight:bold;" | Description | Vendor ID | Product ID | Revision | 2D | 3D | Analogue Output | Digital Output | Laptop LCD | Comments |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--2D--> | <!--3D--> | <!--Analogue--> | <!--Digital--> | <!--Laptop LCD-->{{N/A}} | <!--Comments--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--2D--> | <!--3D--> | <!--Analogue--> | <!--Digital--> | <!--Laptop LCD-->{{N/A}} | <!--Comments--> |} ==== amd radeon mobile integrated ==== {| class="wikitable sortable" width="90%" ! width="5%" | Description ! width="5%" | Vendor ID ! width="5%" | Product ID ! width="2%" | Rev ! width="5%" | 2D ! width="5%" | 3D ! width="5%" | Analog Output ! width="5%" | Digital Output ! width="5%" | Laptop LCD ! width=40%" | Comments |- | <!--Description-->ATI RC410 [Radeon Xpress 200M] | <!--Vendor ID-->0x1002 | <!--Product ID-->0x5a62 0x5955 0x5974 (200m) | <!--Revision-->0x00 | <!--2D-->{{Maybe|VESA}} | <!--3D-->{{No}} | <!--Analogue--> | <!--Digital--> | <!--Laptop LCD-->{{No}} | <!--Comments--> |- | <!--Description-->Mobility Radeon 7500 | <!--Vendor ID-->0x1002 | <!--Product ID-->0x4c57 (7500) | <!--Revision--> | <!--2D-->{{Maybe|VESA}} | <!--3D-->{{No}} | <!--Analogue--> | <!--Digital--> | <!--Laptop LCD-->{{No}} | <!--Comments--> |- | <!--Description-->Mobility Radeon 9000 | 0x1002 | 0x4966 (9000) | <!--Revision--> | <!--2D-->{{Maybe|VESA}} | <!--3D-->{{No}} | <!--Analogue--> | <!--Digital--> | <!--Laptop LCD-->{{No}} | <!--Comments--> |- | <!--Description-->Mobility Radeon 9500 9550 (rv360) 9600 (rv350) | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--2D-->{{Maybe|VESA}} | <!--3D-->{{No}} | <!--Analogue--> | <!--Digital--> | <!--Laptop LCD-->{{No}} | <!--Comments-->untested |- | <!--Description-->Mobility Radeon 9800 (rv420) | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--2D-->{{Maybe|VESA}} | <!--3D-->{{No}} | <!--Analogue--> | <!--Digital--> | <!--Laptop LCD-->{{No}} | <!--Comments-->untested |- | <!--Description-->Mobility Radeon X300 (RV370) X600 (RV380) | 0x1002 | 0x (RV370) 0x5657 (RV380) | <!--Revision--> | <!--2D-->{{Maybe|VESA}} | <!--3D-->{{No}} | <!--Analogue--> | <!--Digital--> | <!--Laptop LCD-->{{No}} | <!--Comments-->untested |- | <!--Description-->Mobility Radeon X700 (RV410) X800 (RV423) | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--2D-->{{Maybe|VESA}} | <!--3D-->{{No}} | <!--Analogue--> | <!--Digital--> | <!--Laptop LCD-->{{No}} | <!--Comments-->untested |- | <!--Description-->Mobility Radeon X1200 (RS69M0) | 0x1002 | 0x791f | 0x0 | <!--2D-->{{Maybe|VESA}} | <!--3D-->{{No}} | <!--Analogue--> | <!--Digital--> | <!--Laptop LCD-->{{No}} | <!--Comments-->X1200 IGP (RS690) |- | <!--Description-->Mobility Radeon X1300 X1350 X1400(rv515) X1600 (rv530) X1650 (RV535) X1800 (rv520) x1900 (rv570) | 0x1002 | 0x71c7 (X1650) | 0x009e | <!--2D-->{{Maybe|VESA}} | <!--3D-->{{No}} | <!--Analogue--> | <!--Digital--> | <!--Laptop LCD-->{{No}} | <!--Comments-->untested |- | <!--Description-->Mobility Radeon 2100 | 0x1002 | 0x796e (2100) | 0x0 | <!--2D-->{{Maybe|VESA}} | <!--3D-->{{No| }} | <!--Analogue-->{{No| }} | <!--Digital-->{{No|nothing}} | <!--Laptop LCD-->{{No|}} | <!--Comments-->untested |- | <!--Description-->Mobility Radeon HD 2400 (rv610) HD2600 (rv630) | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--2D-->{{Maybe|VESA}} | <!--3D-->{{No}} | <!--Analogue--> | <!--Digital--> | <!--Laptop LCD-->{{No}} | <!--Comments-->untested |- | <!--Description-->Mobility Radeon HD 3100 HD3200 HD3450 3470 (RS780MC RV620) 3670 (M86-XT RV635) HD3870 (M88-LXT RV670) | 0x1002 | 0x9610 and 0x9612 (HD3200) 0x9614 (HD3300) | <!--Revision--> | <!--2D-->{{Maybe|VESA}} | <!--3D-->{{No}} | <!--Analogue--> | <!--Digital--> | <!--Laptop LCD-->{{No}} | <!--Comments-->untested |- | <!--Description-->Mobility Radeon HD 4200 4250 (RV620) | 0x1002 | 0x (HD4200) 0x9715 (HD4250) | <!--Revision--> | <!--2D-->{{Maybe|VESA}} | <!--3D-->{{No}} | <!--Analogue--> | <!--Digital--> | <!--Laptop LCD-->{{No}} | <!--Comments-->untested |- | <!--Description-->Mobility Radeon HD 4330 4530 4550 (M92 RV710) 4650 (M96-XT RV730) 4670 RV730XT 4830 (M97 RV740) 4850 (M98 RV770) | 0x1002 | 0x (HD4350) 0x9442 (RV770) 0x9490 (HD4670) | <!--Revision--> | <!--2D-->{{Maybe|VESA}} | <!--3D-->{{No}} | <!--Analogue--> | <!--Digital--> | <!--Laptop LCD-->{{No}} | <!--Comments-->untested |- | <!--Description-->Mobility Radeon HD 530v (M92 RV710) HD 550v (M96 RV730) | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--2D-->{{Maybe|VESA}} | <!--3D-->{{No}} | <!--Analogue--> | <!--Digital--> | <!--Laptop LCD-->{{No}} | <!--Comments-->no support yet |- | <!--Description-->Mobility Radeon HD 5430 HD5650 (cedar Park LP) | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--2D-->{{Maybe|VESA}} | <!--3D-->{{No}} | <!--Analogue--> | <!--Digital--> | <!--Laptop LCD-->{{No}} | <!--Comments-->no support yet |- | <!--Description-->Radeon HD 6250 6290 6310 6320 6350M (Redwood Capilano PRO) | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--2D-->{{Maybe|VESA}} | <!--3D-->{{No}} | <!--Analogue--> | <!--Digital--> | <!--Laptop LCD-->{{No}} | <!--Comments-->no support yet |- | <!--Description-->AMD 7640G, 8450G, 8550G, 8650G Northern Islands | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--2D--> | <!--3D--> | <!--Analogue--> | <!--Digital--> | <!--Laptop LCD-->{{N/A}} | <!--Comments-->2013 Last real support for old graphics standard before Vulkan takeover |- | <!--Description-->R5 M230 M240 M255 - R7 M260 M265 (Kaveri Crystal series with Mantle and HSA) | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--2D-->{{Maybe|VESA}} | <!--3D-->{{No| }} | <!--Analogue--> | <!--Digital--> | <!--Laptop LCD--> | <!--Comments-->2015 Maybe better with Vulkan |- | <!--Description-->R5E R7E | <!--Vendor ID-->0x1002 | <!--Product ID-->0x9851 0x98 | <!--Revision--> | <!--2D-->{{Maybe|VESA}} | <!--3D-->{{No| }} | <!--Analogue--> | <!--Digital--> | <!--Laptop LCD--> | <!--Comments-->2016 bristol ridge GCN 3.0 IGP (Carrizo Mobile) |- | <!--Description-->AMD Vega 3, 6, 8, 11 iGP | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--2D-->{{Maybe|VESA 2D}} | <!--3D-->{{No| }} | <!--Analogue--> | <!--Digital--> | <!--Laptop LCD-->{{N/A}} | <!--Comments-->2018 raven ridge GCN 5th Gen |- style="background:lightgrey; text-align:center; font-weight:bold;" | Description | Vendor ID | Product ID | Revision | 2D | 3D | Analogue Output | Digital Output | Laptop LCD | Comments |- | <!--Description-->5500m 5600m 5800m | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--2D-->{{Maybe|VESA}} | <!--3D-->{{No| }} | <!--Analogue--> | <!--Digital--> | <!--Laptop LCD-->{{N/A}} | <!--Comments-->RDNA1 NaviX1 Zen 2 |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--2D-->{{Maybe|VESA}} | <!--3D-->{{No| }} | <!--Analogue--> | <!--Digital--> | <!--Laptop LCD--> | <!--Comments--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--2D-->{{Maybe|VESA}} | <!--3D-->{{No| }} | <!--Analogue--> | <!--Digital--> | <!--Laptop LCD-->{{N/A}} | <!--Comments--> |- style="background:lightgrey; text-align:center; font-weight:bold;" | Description | Vendor ID | Product ID | Revision | 2D | 3D | Analogue Output | Digital Output | Laptop LCD | Comments |- | <!--Description-->rx680m | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--2D-->{{Maybe|VESA}} | <!--3D-->{{No| }} | <!--Analogue--> | <!--Digital--> | <!--Laptop LCD-->{{N/A}} | <!--Comments-->RDNA2 NaviX2 Zen 3 |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--2D-->{{Maybe|VESA}} | <!--3D-->{{No| }} | <!--Analogue--> | <!--Digital--> | <!--Laptop LCD--> | <!--Comments--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--2D--> | <!--3D--> | <!--Analogue--> | <!--Digital--> | <!--Laptop LCD-->{{N/A}} | <!--Comments--> |- style="background:lightgrey; text-align:center; font-weight:bold;" | Description | Vendor ID | Product ID | Revision | 2D | 3D | Analogue Output | Digital Output | Laptop LCD | Comments |- | <!--Description-->phoenix apu 1103 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--2D-->{{Maybe|VESA}} | <!--3D-->{{No| }} | <!--Analogue--> | <!--Digital--> | <!--Laptop LCD-->{{N/A}} | <!--Comments-->2022 RDNA3 NaviX3 zen 4 |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--2D--> | <!--3D--> | <!--Analogue--> | <!--Digital--> | <!--Laptop LCD--> | <!--Comments--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--2D--> | <!--3D--> | <!--Analogue--> | <!--Digital--> | <!--Laptop LCD-->{{N/A}} | <!--Comments--> |- style="background:lightgrey; text-align:center; font-weight:bold;" | Description | Vendor ID | Product ID | Revision | 2D | 3D | Analogue Output | Digital Output | Laptop LCD | Comments |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--2D--> | <!--3D--> | <!--Analogue--> | <!--Digital--> | <!--Laptop LCD--> | <!--Comments--> |- |} ==== AMDGPU Vulkan desktop ==== {| class="wikitable sortable" width="90%" ! width="5%" | Description ! width="5%" | Vendor ID ! width="5%" | Product ID ! width="2%" | Rev ! width="5%" | 2D ! width="5%" | 3D ! width="5%" | Analog Output ! width="5%" | Digital Output ! width="5%" | Laptop LCD ! width=40%" | Comments |- style="background:lightgrey; text-align:center; font-weight:bold;" | Description | Vendor ID | Product ID | Revision | 2D | 3D | Analogue Output | Digital Output | Laptop LCD | Comments |- | <!--Description-->Kaveri 290 290X, 260 260X | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--2D-->{{Maybe|VESA}} | <!--3D-->{{No| }} | <!--Analogue-->{{No| }} | <!--Digital-->{{No|nothing}} | <!--Laptop LCD-->{{N/A}} | <!--Comments-->2015 AMDGPU Vulkan |- | <!--Description-->R9 285 / R9 380 R9 380X Fury / Fury X | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--2D-->{{Maybe|VESA}} | <!--3D-->{{No| }} | <!--Analogue-->{{No| }} | <!--Digital-->{{No|nothing}} | <!--Laptop LCD-->{{N/A}} | <!--Comments-->opengl 4 opencl 1 3rd Gen GCN architecture |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--2D--> | <!--3D--> | <!--Analogue--> | <!--Digital--> | <!--Laptop LCD-->{{N/A}} | <!--Comments--> |- style="background:lightgrey; text-align:center; font-weight:bold;" | Description | Vendor ID | Product ID | Revision | 2D | 3D | Analogue Output | Digital Output | Laptop LCD | Comments |- | <!--Description-->RX470 RX460 RX480 RX580 polaris10 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--2D-->{{Maybe|VESA}} | <!--3D-->{{No| }} | <!--Analogue-->{{No| }} | <!--Digital-->{{No|nothing}} | <!--Laptop LCD-->{{N/A}} | <!--Comments-->2016 opengl 4 opencl 2 4th Gen GCN architecture vulkan 1.3 |- | <!--Description-->RX460 RX560D polaris11 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--2D-->{{Maybe|VESA}} | <!--3D-->{{No| }} | <!--Analogue-->{{No| }} | <!--Digital-->{{No|nothing}} | <!--Laptop LCD-->{{N/A}} | <!--Comments-->2016 opengl 4 opencl 2 4th Gen GCN architecture vulkan 1.3 |- | <!--Description-->RX580 polaris20 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--2D-->{{Maybe|VESA}} | <!--3D-->{{No| }} | <!--Analogue-->{{No| }} | <!--Digital-->{{No|nothing}} | <!--Laptop LCD-->{{N/A}} | <!--Comments-->2016 opengl 4 opencl 2 4th Gen GCN architecture vulkan 1.3 |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--2D--> | <!--3D--> | <!--Analogue--> | <!--Digital--> | <!--Laptop LCD-->{{N/A}} | <!--Comments--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--2D--> | <!--3D--> | <!--Analogue--> | <!--Digital--> | <!--Laptop LCD-->{{N/A}} | <!--Comments--> |- style="background:lightgrey; text-align:center; font-weight:bold;" | Description | Vendor ID | Product ID | Revision | 2D | 3D | Analogue Output | Digital Output | Laptop LCD | Comments |- | <!--Description-->RX 5000 5500 Navi 1x | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--2D-->{{Maybe|VESA}} | <!--3D-->{{No| }} | <!--Analogue-->{{No| }} | <!--Digital-->{{No|nothing}} | <!--Laptop LCD-->{{N/A}} | <!--Comments-->RNDA 1 |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--2D--> | <!--3D--> | <!--Analogue--> | <!--Digital--> | <!--Laptop LCD-->{{N/A}} | <!--Comments--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--2D--> | <!--3D--> | <!--Analogue--> | <!--Digital--> | <!--Laptop LCD-->{{N/A}} | <!--Comments--> |- style="background:lightgrey; text-align:center; font-weight:bold;" | Description | Vendor ID | Product ID | Revision | 2D | 3D | Analogue Output | Digital Output | Laptop LCD | Comments |- | <!--Description-->RX 6000 Navi 2x | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--2D-->{{Maybe|VESA}} | <!--3D-->{{No| }} | <!--Analogue-->{{No| }} | <!--Digital-->{{No|nothing}} | <!--Laptop LCD-->{{N/A}} | <!--Comments-->RNDA 2 Mesa 21.3 decode av1 |- | <!--Description-->RX6000 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--2D-->{{Maybe|VESA}} | <!--3D-->{{No| }} | <!--Analogue-->{{No| }} | <!--Digital-->{{No|nothing}} | <!--Laptop LCD-->{{N/A}} | <!--Comments--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--2D-->{{Maybe|VESA}} | <!--3D-->{{No| }} | <!--Analogue-->{{No| }} | <!--Digital-->{{No|nothing}} | <!--Laptop LCD-->{{N/A}} | <!--Comments--> |- style="background:lightgrey; text-align:center; font-weight:bold;" | Description | Vendor ID | Product ID | Revision | 2D | 3D | Analogue Output | Digital Output | Laptop LCD | Comments |- | <!--Description-->RX 7000 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--2D-->{{Maybe|VESA}} | <!--3D-->{{No| }} | <!--Analogue-->{{No| }} | <!--Digital-->{{No|nothing}} | <!--Laptop LCD-->{{N/A}} | <!--Comments-->2022 RNDA 3 navi |- | <!--Description-->RX7000 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--2D-->{{Maybe|VESA}} | <!--3D-->{{No| }} | <!--Analogue-->{{No| }} | <!--Digital-->{{No|nothing}} | <!--Laptop LCD-->{{N/A}} | <!--Comments--> |- | <!--Description-->RX9070 rx 9060 XT | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--2D--> | <!--3D--> | <!--Analogue--> | <!--Digital--> | <!--Laptop LCD-->{{N/A}} | <!--Comments-->2025 rdna4 navi |- style="background:lightgrey; text-align:center; font-weight:bold;" | Description | Vendor ID | Product ID | Revision | 2D | 3D | Analogue Output | Digital Output | Laptop LCD | Comments |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--2D--> | <!--3D--> | <!--Analogue--> | <!--Digital--> | <!--Laptop LCD-->{{N/A}} | <!--Comments-->2026 udna (aka rdna5) |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--2D--> | <!--3D--> | <!--Analogue--> | <!--Digital--> | <!--Laptop LCD-->{{N/A}} | <!--Comments--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--2D--> | <!--3D--> | <!--Analogue--> | <!--Digital--> | <!--Laptop LCD-->{{N/A}} | <!--Comments--> |- style="background:lightgrey; text-align:center; font-weight:bold;" | Description | Vendor ID | Product ID | Revision | 2D | 3D | Analogue Output | Digital Output | Laptop LCD | Comments |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--2D--> | <!--3D--> | <!--Analogue--> | <!--Digital--> | <!--Laptop LCD-->{{N/A}} | <!--Comments--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--2D--> | <!--3D--> | <!--Analogue--> | <!--Digital--> | <!--Laptop LCD-->{{N/A}} | <!--Comments--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--2D--> | <!--3D--> | <!--Analogue--> | <!--Digital--> | <!--Laptop LCD-->{{N/A}} | <!--Comments--> |- style="background:lightgrey; text-align:center; font-weight:bold;" | Description | Vendor ID | Product ID | Revision | 2D | 3D | Analogue Output | Digital Output | Laptop LCD | Comments |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--2D--> | <!--3D--> | <!--Analogue--> | <!--Digital--> | <!--Laptop LCD-->{{N/A}} | <!--Comments--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--2D--> | <!--3D--> | <!--Analogue--> | <!--Digital--> | <!--Laptop LCD-->{{N/A}} | <!--Comments--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--2D--> | <!--3D--> | <!--Analogue--> | <!--Digital--> | <!--Laptop LCD-->{{N/A}} | <!--Comments--> |- style="background:lightgrey; text-align:center; font-weight:bold;" | Description | Vendor ID | Product ID | Revision | 2D | 3D | Analogue Output | Digital Output | Laptop LCD | Comments |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--2D--> | <!--3D--> | <!--Analogue--> | <!--Digital--> | <!--Laptop LCD-->{{N/A}} | <!--Comments--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--2D--> | <!--3D--> | <!--Analogue--> | <!--Digital--> | <!--Laptop LCD-->{{N/A}} | <!--Comments--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--2D--> | <!--3D--> | <!--Analogue--> | <!--Digital--> | <!--Laptop LCD-->{{N/A}} | <!--Comments--> |- style="background:lightgrey; text-align:center; font-weight:bold;" | Description | Vendor ID | Product ID | Revision | 2D | 3D | Analogue Output | Digital Output | Laptop LCD | Comments |- |} ==== AMDGPU Vulkan mobile ==== {| class="wikitable sortable" width="90%" ! width="5%" | Description ! width="5%" | Vendor ID ! width="5%" | Product ID ! width="2%" | Rev ! width="5%" | 2D ! width="5%" | 3D ! width="5%" | Analog Output ! width="5%" | Digital Output ! width="5%" | Laptop LCD ! width=40%" | Comments |- style="background:lightgrey; text-align:center; font-weight:bold;" | Description | Vendor ID | Product ID | Revision | 2D | 3D | Analogue Output | Digital Output | Laptop LCD | Comments |- | <!--Description-->R5E R7E | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--2D-->{{Maybe|VESA}} | <!--3D-->{{No| }} | <!--Analogue--> | <!--Digital--> | <!--Laptop LCD--> | <!--Comments-->2016 bristol ridge GCN 3.0 IGP (Carrizo Mobile) |- | <!--Description-->Vega 8 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--2D--> | <!--3D--> | <!--Analogue--> | <!--Digital--> | <!--Laptop LCD-->{{N/A}} | <!--Comments--> GCN 5 |- | <!--Description-->Vega iGP 3, 6, 8, 11 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--2D-->{{Maybe|VESA}} | <!--3D-->{{No| }} | <!--Analogue--> | <!--Digital--> | <!--Laptop LCD-->{{N/A}} | <!--Comments-->2018 raven ridge - Graphics Core Next (GCN) 5th gen - |- style="background:lightgrey; text-align:center; font-weight:bold;" | Description | Vendor ID | Product ID | Revision | 2D | 3D | Analogue Output | Digital Output | Laptop LCD | Comments |- | <!--Description-->5500m 5600m 5800m | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--2D-->{{Maybe|VESA}} | <!--3D-->{{No| }} | <!--Analogue--> | <!--Digital--> | <!--Laptop LCD-->{{N/A}} | <!--Comments-->RDNA1 NaviX1 Zen 2 |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--2D-->{{Maybe|VESA}} | <!--3D-->{{No| }} | <!--Analogue--> | <!--Digital--> | <!--Laptop LCD--> | <!--Comments--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--2D-->{{Maybe|VESA}} | <!--3D-->{{No| }} | <!--Analogue--> | <!--Digital--> | <!--Laptop LCD-->{{N/A}} | <!--Comments--> |- style="background:lightgrey; text-align:center; font-weight:bold;" | Description | Vendor ID | Product ID | Revision | 2D | 3D | Analogue Output | Digital Output | Laptop LCD | Comments |- | <!--Description-->rx680m | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--2D-->{{Maybe|VESA}} | <!--3D-->{{No| }} | <!--Analogue--> | <!--Digital--> | <!--Laptop LCD-->{{N/A}} | <!--Comments-->RDNA2 NaviX2 Zen 3 |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--2D-->{{Maybe|VESA}} | <!--3D-->{{No| }} | <!--Analogue--> | <!--Digital--> | <!--Laptop LCD--> | <!--Comments--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--2D--> | <!--3D--> | <!--Analogue--> | <!--Digital--> | <!--Laptop LCD-->{{N/A}} | <!--Comments--> |- style="background:lightgrey; text-align:center; font-weight:bold;" | Description | Vendor ID | Product ID | Revision | 2D | 3D | Analogue Output | Digital Output | Laptop LCD | Comments |- | <!--Description-->phoenix apu 1103 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--2D-->{{Maybe|VESA}} | <!--3D-->{{No| }} | <!--Analogue--> | <!--Digital--> | <!--Laptop LCD-->{{N/A}} | <!--Comments-->RDNA3 NaviX3 zen 4 |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--2D--> | <!--3D--> | <!--Analogue--> | <!--Digital--> | <!--Laptop LCD--> | <!--Comments--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--2D--> | <!--3D--> | <!--Analogue--> | <!--Digital--> | <!--Laptop LCD-->{{N/A}} | <!--Comments--> |- style="background:lightgrey; text-align:center; font-weight:bold;" | Description | Vendor ID | Product ID | Revision | 2D | 3D | Analogue Output | Digital Output | Laptop LCD | Comments |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--2D--> | <!--3D--> | <!--Analogue--> | <!--Digital--> | <!--Laptop LCD--> | <!--Comments--> |- |} fyi if a notebooks with two graphic cards, the integrated Intel card (id 0x7d) for low power usage and a discrete Radeon card (id 0x56) which should be used for GPU-intensive applications. By default the Intel card is always used [https://wiki.archlinux.org/title/ATI Gallium Radeon HD] is not ported yet but is [https://www.phoronix.com/scan.php?page=news_item&px=Linux-5.9-AMDGPU-Stats really big] and complex so another solution may have to be [https://discuss.haiku-os.org/t/the-graphics-acceleration-can-of-worms/10515/5 found] like [https://discuss.haiku-os.org/t/vulkan-lavapipe-software-rendering-is-working-on-haiku/11363/10 vulkan] where support starts from very recent ISA GCN islands HD7000s cards only *Vulkan *Gallium Vulkan software renderer allows to prepares the infrastructure for hardware rendering. Primary difference between software and hardware renderer is output to regular RAM vs GPU RAM, the rest is almost the same. It is possible to render to GPU RAM offscreen. bare bones basics data flow application,>>> api/opengl/vulkan>>>>, jit compiler, >>>>memory manger, >>>>gpu hardware so you need to have a compiler that takes your api call/program/shaders/drawing commands and turns them into a program the gpu can render. the vulkan to amd gpu compiler for shaders and textures is nearly os agnostic iirc as long as you have solid posix compliance Unlike OpenGL, Vulkan does not depend on windowing system and it have driver add-on system with standardized API (Mesa also have OpenGL driver add-ons, but it have non-standard Mesa-specific API). OpenGL may need more work for windowing system related code at this point but developing Vulkan on real hardware is more strategic than developing OpenGL, since now Zink 3 running on Vulkan compensates for the lack of OpenGL support by giving performance similar to native accelerated OpenGL RadeonGfx use client-server model with client-server thread pairs. For each client thread that calls 3D acceleration API, server side thread is created. If client thread terminates, server side thread also exit. ==Rough gfx comparison== <pre> Group 1 GeForce RTX 5090 5070 5060 5050 GeForce RTX 4090 4070 4060 4050 Group 2 Radeon 6700 XT GeForce RTX 2080 Super Radeon RX 6700 GeForce RTX 2070 Super Radeon 5700 XT GeForce RTX 2070 Radeon RX 7600 Quadro RTX 5000 Radeon PRO W6600 GeForce RTX 2060 12GB Radeon PRO W7500 Quadro GP100 Radeon RX 6800S GeForce RTX 3070 Laptop GPU GeForce GTX 1080 GeForce RTX 3060 8GB Quadro RTX 4000 Radeon Pro W5700 Radeon RX 6600 GeForce RTX 2080 (Mobile) GeForce RTX 2060 Super Radeon RX 7700S Radeon RX 6700S Radeon RX 6600S Quadro RTX 5000 (Mobile) GeForce GTX 1070 Ti GeForce RTX 4050 Laptop GPU Radeon Pro Vega 64X Radeon RX 5700 Radeon RX Vega 64 GeForce RTX 2060 GeForce RTX 2070 Super with Max-Q Design Group 3 Radeon RX 6600M GeForce GTX 1070 Radeon RX 6650M GeForce RTX 3060 Laptop GPU Radeon RX Vega 56 Radeon RX 6700M GeForce RTX 2080 with Max-Q Design Radeon RX 6800M GeForce GTX 980 Ti Radeon R9 Fury GeForce GTX 980 Quadro M5500 Radeon R9 390X Radeon RX 580 Radeon RX 5500 Radeon RX 6550M GeForce GTX 1660 Ti with Max-Q Design GeForce GTX 780 Ti GeForce GTX 970 Radeon R9 290X Radeon RX 480 Radeon RX 5600M Quadro RTX 3000 with Max-Q Design Radeon R9 290X / 390X Ryzen 5 4600HS with Radeon Graphics Radeon R9 290 Radeon Pro 5500 XT Radeon R9 M490 * GeForce GTX 780 Radeon RX 6500M Quadro M5500 GeForce GTX 1060 with Max-Q Design Radeon RX 6500 Radeon RX 5300 Intel Arc A770M GeForce GTX 1650 Ti Radeon Pro 580X Radeon RX 6400 GeForce RTX 2050 Ryzen 9 4900HS with Radeon Graphics Radeon Ryzen 9 6900HS GeForce GTX 980M Quadro M5000M Radeon RX 6300 GeForce GTX 1650 Ti with Max-Q Design Radeon Pro 570 Ryzen 9 6900HS with Radeon Graphics GeForce GTX 1050 Ti Quadro M4000M Radeon R9 280X 380X GeForce GTX 1650 with Max-Q Design GeForce MX570 Radeon R9 280X Radeon R9 380 Radeon 780M GeForce GTX 960 GeForce GTX 970M Quadro M4000M * GeForce GTX 680 Group 4 Radeon RX 6500M Quadro M5500 Radeon Pro WX 7100 GeForce GTX 1060 with Max-Q Design GeForce GTX 1650 Intel Arc A730M Radeon HD 7970 Radeon R9 M395X Radeon R9 M485X Radeon R9 M480 * Radeon R9 M295X Radeon R9 M390X * FirePro W7170M * Radeon R9 M395 Radeon R7 370 Radeon RX 5500M GeForce GTX 590 GeForce GTX 880M GeForce GTX 950 Radeon R9 270X GeForce GTX 660 Ti GeForce GTX 760 GeForce GTX 780M Quadro K5100M GeForce GTX 680MX Radeon HD 7870 GeForce GTX 965M Quadro M3000M * GeForce GTX 870M Radeon R9 M290X Radeon HD 8970M Radeon Ryzen 7 7735U (680M), Radeon Ryzen 7 7735HS (680M 12C) GeForce GTX 580 Radeon HD 6970 GeForce GTX 1050 GeForce GTX 680M GeForce GTX 775M GeForce GTX 1630 FirePro M6100 Radeon HD 7970M Radeon R9 M390 * GeForce GTX 750 Ti Group 5 GeForce GTX 570 GeForce GTX 480 GeForce GTX 960M Quadro M2000M * Quadro K5000M Quadro K4100M GeForce GTX 770M GeForce GTX 860M GeForce GTX 675MX GeForce GTX 950M GeForce GTX 850M Quadro M1000M Radeon R9 M280X Radeon HD 7950M * GeForce GTX 560 Ti Radeon HD 6870 GeForce GTX 470 GeForce GT 1030 GeForce MX330 Ryzen 5 PRO 5650GE with Radeon Graphics Ryzen 7 5800HS FirePro 3D V8800 GeForce MX250 Group 6 Radeon Pro WX 3200 Ryzen 7 PRO 5750G with Radeon Graphics Radeon Ryzen 5 5600H Ryzen 5 Pro 4650G with Radeon Graphics Radeon Ryzen 7 5800U Ryzen 7 7730U with Radeon Graphics Radeon Ryzen 7 5825U Radeon Pro WX 4150 Radeon Ryzen 5 PRO 4655G Ryzen 5 4600G with Radeon Graphics Radeon Ryzen 5 PRO 4655GE GeForce GTX 485M FirePro W6150M Ryzen 7 5800U with Radeon Graphics Ryzen 5 7530U with Radeon Graphics Ryzen 7 4800U with Radeon Graphics Radeon R9 M470 Ryzen 3 PRO 5350G with Radeon Graphics Radeon RX Vega Ryzen 3 5300U Ryzen 7 5825U with Radeon Graphics Ryzen 5 PRO 4400G with Radeon Graphics Radeon Ryzen 7 PRO 4750GE Radeon Ryzen 7 4800U FirePro V7900 Radeon HD 5970 Radeon Ryzen 7 7700X 8-Core Radeon Ryzen 5 PRO 5650G Radeon Ryzen 5 4400G Radeon Ryzen 5 PRO 5650GE Radeon RX 550X FirePro V8800 Radeon RX Vega Ryzen 5 5500U GeForce MX150 Quadro K3100M Ryzen 7 PRO 5850U with Radeon Graphics Radeon HD 6970M Radeon R7 250X Intel HD 5600 Ryzen 3 4300GE with Radeon Graphics GeForce GTX 460 Ryzen 7 5700U with Radeon Graphics Radeon Ryzen 5 7530U Quadro K620 Ryzen 3 PRO 5350GE with Radeon Graphics Intel Iris Pro P580 Intel UHD Graphics P630 Ryzen 5 4600H with Radeon Graphics Ryzen 5 PRO 7530U with Radeon Graphics Radeon HD 5870 Radeon HD 6870 Ryzen 7 4700G with Radeon Graphics Ryzen 5 5600U with Radeon Graphics Radeon HD 7770 Ryzen 3 Pro 4350G with Radeon Graphics Radeon Ryzen 5 5625U GeForce GTX 745 Radeon Ryzen 7 4850U Mobile Radeon Ryzen 3 PRO 7330U Quadro M600M Radeon Ryzen 5 5500U Ryzen 5 5560U with Radeon Graphics Ryzen 7 4800H with Radeon Graphics Group 7 GeForce 945M Ryzen 5 PRO 4650GE with Radeon Graphics FirePro M5100 Radeon Ryzen 5 5600U Radeon Ryzen 5 PRO 4500U GeForce GTX 580M Ryzen 7 PRO 5875U with Radeon Graphics Ryzen 3 5300GE with Radeon Graphics Radeon R9 M385 Quadro 5000MGK106S Radeon Ryzen 7 4700U Ryzen 5 PRO 5650U with Radeon Graphics Radeon Ryzen 7 PRO 4750U Ryzen 7 4700U with Radeon Graphics Ryzen 7 PRO 4750U with Radeon Graphics FirePro V7800 Radeon R9 350 Ryzen 3 4300G with Radeon Graphics Radeon Vega 11 Ryzen 5 PRO 3350G Radeon Ryzen 5 5560U GeForce GTX 460 SE Radeon Pro W5500M Radeon Vega 11 Ryzen 5 PRO 3400G Ryzen 5 5500U with Radeon Graphics Ryzen 5 PRO 4500U with Radeon Graphics GeForce GT 645 GeForce GTX 765M Radeon R9 M385X Ryzen 5 5625U with Radeon Graphics Ryzen 3 PRO 7330U with Radeon Graphics Radeon HD 5850 Radeon Vega 11 Ryzen 5 PRO 2400G Intel Iris Pro 580 Radeon HD 6850 Intel Iris Xe MAX Radeon Ryzen 7 PRO 5875U Radeon Ryzen 5 7600 6-Core GeForce GTX 470M Ryzen 3 5300G with Radeon Graphics GeForce GTX 670MX Radeon RX 640 Qualcomm Adreno Gen 3 Radeon R7 450 GeForce GTX 675M Radeon Pro WX 4130 Intel Iris Xe MAX 100 Quadro 5000 Radeon RX 570X Radeon HD 7700-serie Ryzen 5 4600U with Radeon Graphics Ryzen 3 PRO 4350GE with Radeon Graphics Radeon Vega 8 Group 8 GeForce MX230 GeForce GTX 765M Quadro K4000M Iris Pro Graphics P580 * Iris Pro Graphics 580 * GeForce GTX 645 Quadro M520 GeForce GTX 570M GeForce MX130 Radeon RX 540 Radeon Ryzen 5 PRO 5675U Intel UHD Graphics 770 Radeon RX Vega 11 Ryzen 7 3750H Radeon Vega 11 Ryzen 5 PRO 3400GE Radeon HD 5850 GeForce GTX 675M GeForce GTX 580M Radeon HD 6990M Radeon R9 M385X * Radeon R9 M470X * Radeon R9 M470 * Radeon R9 M385 * Radeon R9 M380 * Radeon R9 M370X Radeon R9 M275 Radeon HD 7770 GeForce GTX 485M GeForce GTX 460 768MB Radeon HD 6790 GeForce GTX 285M SLI Quadro K3100M FirePro W5170M * GeForce GTX 670MX Quadro 5010M GeForce GTX 760M GeForce GTX 670M Group 9 GeForce 940MX * Maxwell GPU (940M, GDDR5) FirePro M8900 Radeon HD 6970M Radeon R9 M270 Radeon HD 8870M Radeon HD 7870M Quadro K3000M GeForce GTX 570M FirePro M6000 FirePro M5100 Quadro K2100M Radeon HD 5770 GeForce GTX 550 Ti GeForce GTX 280M SLI Radeon HD 6950M Radeon R7 250 GeForce GT 755M GeForce GTX 660M GeForce 845M Radeon HD 8850M Radeon R9 M365X Radeon R9 M265X Ryzen 5 PRO 4400GE with Radeon Graphics FirePro W5130M * Radeon Vega 8 Ryzen 5 3500U Radeon HD 7850M Radeon HD 8790M FirePro W4170M FirePro W4190M FirePro W4100 Radeon Vega 6 Ryzen 3 3300U Quadro 4000M GeForce GTX 470M GeForce GTX 480M GeForce GT 750M Iris Pro Graphics 6200 Quadro K1100M GeForce 940M Radeon R9 M375 GeForce 930MX * Radeon R7 M380 * Radeon R7 M370 Quadro M600M * GeForce GT 650M Quadro K620M GeForce 840M Radeon R7 M275DX GeForce GT 745M Radeon HD 7770M GeForce GTX 560M Radeon R7 Iris Pro Graphics 5200 GeForce GT 740M GeForce 930M Radeon HD 4850 Group 10 Iris Graphics 550 * GeForce 830M Iris Graphics 540 Quadro M500M * Quadro K2000M GeForce GTS 450 GeForce GTX 260M SLI GeForce GT 735M Mobility Radeon HD 5870 GeForce 825M Quadro 5000M FirePro M4000 FirePro M7820 Radeon HD 6870M GeForce 9800M GTX SLI Radeon HD 8830M * Radeon HD 8770M Radeon R7 M260X GeForce GTX 460M GeForce 920MX * GeForce GT 730M Radeon HD 7750M GeForce GT 645M * FirePro M4100 Radeon HD 8750M Radeon R6 A10-9600P 4C+6G Quadro 3000M Radeon R7 M270 Radeon R7 M265 Quadro FX 3800M GeForce GTX 285M Mobility Radeon HD 4870 GeForce GT 640M Radeon R7 (Kaveri) Radeon R8 M365DX Radeon R7 M460 * Radeon HD 7730M Radeon R7 M360 GeForce GTX 280M Radeon HD 8690M Quadro FX 3700M Radeon R7 M340 GeForce 920M Radeon R6 M340DX HD Graphics 530 HD Graphics P530 Tegra X1 Maxwell GPU Radeon R7 M260 Radeon R6 Group 11 Mobility Radeon HD 4860 FirePro M7740 Mobility Radeon HD 4850 GeForce GTX 260M GeForce 9800M GTX Quadro FX 2800M Radeon HD 8670D Radeon HD 7690M XT FirePro M5950 GeForce GT 640M LE Radeon R6 (Kaveri) Radeon HD 8650M * Radeon HD 8730M Radeon HD 6770M GeForce GT 635M GeForce GT 555M Radeon R7 A10 PRO-7800B Radeon HD 5670 Mobility Radeon HD 5850 Radeon HD 6850M Quadro 2000M GeForce 9800M GT GeForce 8800M GTX Quadro FX 3600M GeForce GT 445M GeForce GTS 360M Group 12 GeForce GT 240 Radeon R7 PRO A10-9700 Radeon HD 7690M HD Graphics 5600 Radeon HD 8570D Radeon HD 8670M Radeon R6 M255DX Radeon HD 7660D Radeon HD 6750M Quadro K1000M GeForce GT 550M Radeon HD 8590M * GeForce GTS 260M GeForce GTS 160M GeForce 9800M GTS GeForce GT 430 Radeon HD 6830M Mobility Radeon HD 5830 Radeon HD 6730M * GeForce 9800M GS Mobility Radeon HD 4830 Mobility Radeon HD 5770 Radeon HD 6570M Radeon HD 8650G Radeon HD 7670M GeForce GT 630M Radeon HD 7560D GeForce GTS 150M * Radeon R5 M335 Radeon R5 M430 * Radeon R5 M330 Radeon R5 M255 Radeon Vega 3 Quadro 1000M GeForce 820M FirePro W2100 HD Graphics 520 620 Iris Graphics 6100 GeForce GT 720M GeForce 8800M GTS Radeon R5 M240 Radeon R5 M320 * Radeon R5 M230 Radeon R5 M315 * Mobility Radeon HD 5750 * Radeon HD 8570M Radeon R7 PRO A10-8850B HD Graphics 6000 Quadro K610M Radeon HD 8550M Iris Graphics 5100 GeForce GT 540M Mali-T880 MP12 * Radeon HD 8610G * Radeon HD 6650M HD Graphics 4600 Mobility Radeon HD 5730 HD Graphics 5500 Radeon R5 (Carrizo) * Radeon R5 (Kaveri) FirePro M5800 NVS 5400M GeForce 710M Radeon HD 7660G GeForce GT 435M HD Graphics 5000 Quadro K510M * Radeon HD 5570 Radeon HD 6550M Radeon HD 7590M * GeForce GTS 350M GeForce GTS 250M Radeon HD 6630M Radeon HD 7650M FirePro M2000 Radeon HD 7570M Radeon HD 7630M Quadro FX 1800M Mobility Radeon HD 5650 Radeon HD 8510G * Radeon HD 6530M Radeon HD 8550G Quadro K500M * GeForce GT 625M * GeForce GT 620M GeForce GT 525M Radeon HD 6550D * Radeon HD 7610M Radeon HD 7620G Radeon HD 8470D Radeon HD 7640G Adreno 530 GeForce ULP K1 (Tegra K1 Kepler GPU) HD Graphics 4400 HD Graphics 510 515 * NVS 5200M Mobility Radeon HD 565v Radeon HD 7550M Mobility Radeon HD 4670 GeForce GT 425M GeForce 9700M GTS Radeon HD 6645G2 * Quadro FX 2700M GeForce GT 335M Radeon HD 7600G Mobility Radeon HD 3870 Mobility Radeon HD 4650 GeForce GT 220 GeForce GT 420M Radeon HD 7530M * Mobility Radeon HD 3850 GeForce GT 330M Quadro FX 880M Quadro NVS 5100M GeForce GT 240M Radeon HD 7490M * HD Graphics 5300 Radeon HD 7510M * GeForce Go 7950 GTX Quadro FX 3500M GeForce 8700M GT SLI GeForce 9700M GT GeForce GT 230M Mobility Radeon HD 550v Radeon HD 7480D HD Graphics 4000 Mali-T760 MP8 Radeon HD 6620G HD Graphics (Broadwell) * Adreno 430 Radeon R5 (Beema/Carrizo-L) Radeon R4 (Beema) (Kaveri) HD Graphics (Skylake) * Radeon HD 6450 GDDR5 Radeon HD 7500G Radeon HD 8450G Radeon HD 7470M Radeon HD 6490M Radeon HD 8400 Mali-T880 MP4 GeForce GT 520MX Radeon HD 7520G GeForce GT 325M GeForce Go 7800 GTX SLI GeForce 8600M GT SLI GeForce Go 7900 GS SLI GeForce GT 130M NVS 4200M GeForce Go 7900 GTX Quadro FX 2500M Radeon HD 8350G Radeon HD 8330 GeForce 9650M GS GeForce 9650M GT Radeon R3 (Mullins/Beema) GeForce 8700M GT Quadro FX 1700M Quadro FX 1600M GeForce Go 7800 GTX GeForce Go 7900 GS Quadro NVS 320M Quadro FX 1500M GeForce 9600M GT GeForce GT 220M Quadro FX 770M GeForce GT 120M Radeon HD 7450M GeForce 610M GeForce 705M Mali-T760 MP6 Radeon HD 6470M FirePro M3900 * GeForce GT 520M Radeon HD 7420G Mobility Radeon HD 3670 Mobility FireGL V5725 PowerVR GX6450 Adreno 420 HD Graphics (Haswell) Radeon HD 6520G Radeon HD 8310G * GeForce 320M GeForce GT 320M Mobility Radeon HD 2600 XT Mobility Radeon X1900 Mobility Radeon X1800XT Mobility Radeon X1800 GeForce Go 6800 Ultra GeForce Go 7800 GeForce 9600M GS GeForce 9500M GS Radeon HD 7400G Radeon HD 6480G * Mobility Radeon HD 2700 GeForce GT 415M GeForce 410M Radeon HD 7370M Adreno 418 HD Graphics (Cherry Trail) Radeon HD 6370M Radeon HD 8280 Mobility Radeon HD 5470 Radeon HD 6450M Radeon HD 7430M * Mobility Radeon HD 3650 Mobility FireGL V5700 Mobility Radeon HD 5145 Mobility Radeon HD 545v Radeon R6 (Mullins) * Radeon HD 8240 Radeon HD 8250 Mobility Radeon HD 4570 Quadro FX 570M Mobility Radeon HD 5450 * Radeon R2 (Mullins/Beema) * GeForce 8600M GT Mobility Radeon HD 2600 HD Graphics 3000 Quadro FX 380M GeForce 310M GeForce G210M NVS 3100M GeForce 405M GeForce 315M GeForce Go 7600 GT GeForce 9500M G GeForce 8600M GS NVS 2100M GeForce Go 7700 GeForce Go 6800 Quadro FX Go 1400 Mobility Radeon X800XT Radeon HD 6430M * Radeon HD 6380G * Mobility Radeon HD 5430 Radeon HD 8210 Mobility Radeon HD 540v Mobility Radeon HD 4550 HD Graphics 2500 HD Graphics (Ivy Bridge) Quadro NVS 310 Radeon HD 7350M * Radeon HD 6350M * Mobility Radeon HD 4530 Mobility Radeon HD 4350 Radeon HD 4350 GeForce 305M Mobility Radeon X1700 Mobility FireGL V5250 Mobility Radeon X2500 GeForce Go 7600 Quadro NVS 300M Mobility Radeon X800 Mobility Radeon X1600 Mobility FireGL V5200 Mobility Radeon 9800 GeForce Go 6600 Mobility Radeon X1450 Mobility Radeon X700 Mobility FireGL V5000 GeForce G 110M Quadro NVS 295 Radeon HD 6330M * Mobility Radeon HD 4330 GeForce 8400M GT Quadro NVS 140M HD Graphics 2000 GeForce 9500M GE * GeForce 9400M (G) / ION (LE) HD Graphics (Sandy Bridge) * Adreno 330 PowerVR G6430 PowerVR GX6250 PowerVR G6400 HD Graphics (Bay Trail) Mali-T628 MP6 Mali-T760 MP4 Chrome9HD * Radeon HD 7340 Radeon HD 6320 * Radeon HD 7310 Radeon HD 6310 * Radeon HD 8180 Mobility Radeon HD 3470 GeForce 9300M G ION 2 * GeForce 9300M GS Quadro FX 370M Quadro NVS 160M GeForce 9200M GS Mobility Radeon HD 3450 Mobility Radeon HD 3430 Mobility Radeon HD 3410 Mobility Radeon HD 2400 XT Radeon HD 4270 Radeon HD 4250 Radeon HD 7290 * Radeon HD 6290 * Radeon HD 4200 Graphics Media Accelerator (GMA) HD Graphics Radeon HD 6250 Quadro NVS 150M Quadro FX 360M Mobility Radeon X1350 Mobility Radeon X1400 GeForce 9100M G GeForce 8400M GS Quadro NVS 135M Mobility Radeon HD 2400 Radeon HD 3200 Radeon HD 4225 * Radeon HD 4100 * SGX554MP4 Mali-T628 MP4 Mobility Radeon HD 3400 * Radeon HD 3100 GeForce 8400M G Mali-T860 MP2 Quadro NVS 130M GeForce 8200M G Graphics Media Accelerator (GMA) 4700MHD Graphics Media Accelerator (GMA) 4500MHD Graphics Media Accelerator (GMA) 4500M Mali-T604 MP4 GeForce Go 7400 Quadro FX 350M Quadro NVS 120M GeForce Go 7300 GeForce Tegra 4 * PowerVR G6200 Adreno 405 * Quadro NVS 110M Mobility Radeon X600 Mobility FireGL V3200 Mobility FireGL V3100 Mobility Radeon HD X2300 Mobility Radeon 9700 Mobility FireGL T2e Mobility Radeon X1300 GeForce4 4200 Go Mobility Radeon 9600 Mobility FireGL T2 Mobility Radeon 9550 GeForce Go 7200 GeForce Go 6400 Mobility Radeon X300 GeForce Go 6250 GeForce Go 6200 GeForce FX Go 5700 Quadro FX Go 1000 GeForce FX Go 5600 / 5650 Radeon Xpress X1270 Radeon Xpress X1250 Radeon Xpress X1200 Graphics Media Accelerator (GMA) X3100 Mali-T624 Adreno 320 * Mali-T760 MP2 Mali-T720 MP4 Mali-450 MP4 Graphics Media Accelerator (GMA) 3650 * GeForce 7190M * GeForce 7150M Radeon Xpress 1150 GeForce Go 6150 GeForce Go 6100 GeForce 7000M Graphics Media Accelerator (GMA) 3600 * Mobility Radeon 9200 Mobility FireGL 9000 GeForce FX Go 5200 Mobility Radeon 9000 GeForce 4 488 Go GeForce 4 460 Go GeForce 4 440 Go GeForce 4 420 Go Graphics Media Accelerator (GMA) 3150 Graphics Media Accelerator (GMA) 950 SGX545 SGX544MP2 SGX543MP2 * Mali-T720 MP2 Mali-T720 Adreno 302 304 305 306 Mobility Radeon 7500 Mobility FireGL 7800 Graphics Media Accelerator (GMA) 900 Radeon Xpress 200M Radeon Xpress 1100 Mirage 3+ 672MX Mirage 3 671MX Mali-400 MP4 * GeForce ULP (Tegra 3) * VideoCore-IV * Adreno 220 225* Vivante GC1000+ Dual-Core Mali-400 MP2 * GeForce ULP (Tegra 2) * Graphics Media Accelerator (GMA) 600 * SGX540 * Graphics Media Accelerator (GMA) 500 Adreno 205 * Adreno 203 * GC800 * SGX535 SGX531 SGX530 Adreno 200 * Mali-200 * GeForce 3 Go * GeForce 2 Go 200 / 100 Mobility Radeon 9100 IGP Mobility Radeon 9000 IGP Mobility Radeon M7 Mobility Radeon M6 Chrome9 HC Extreme Graphics 2 Mobility Radeon 7000 IGP Radeon IGP 340M Radeon IGP 320M S3G UniChrome Pro II S3G UniChrome Pro Castle Rock Mirage 2 M760 Mirage M661FX S3 Graphics ProSavage8 Mobility 128 M3 SM502 * </pre> Kernel-space drivers like '''radeon''' (older AMD driver for older GPUs), '''amdgpu''' (newer driver for newer GPUs, allows using a few new features), i915, nouveau and a few others. They are what handles the gory details of talking to the GPU itself (writing to proper registers, handling its memory directly, configuring outputs, and so on). Unfortunately most of what they're exposing can be only consumed by a single user of that GPU, which is why we need... DRM and DRI (Direct Rendering Manager/Infrastructure) controls access to the GPUs, provides interfaces for talking to the GPU concurrently by multiple apps at once (without them breaking each other) and lets the system perform the most basic tasks like setting proper resolution and such if no userspace apps understand how to talk to the GPU exposed. DRI and DRM expose the GPU interfaces mostly as-is, not in a "vendor-neutral" portable way - if you don't have an application developed specifically for a GPU you have, it won't work. "let's create a vendor-neutral interface for graphics so that apps can ignore the GPU-specific bits and get right to the drawing!" - which is what OpenGL is. User-space drivers implement the OpenGL specification and expose it as an OpenGL library to apps (like games, browsers, etc) instead of the GPU. Mesa is the most popular collection of open-source user-space drivers and contains a few user-space drivers for different GPU families: '''radeonsi''' for most modern AMD GPUs (and '''r600g''', r300g and others for older ones), '''i915/i965''' for old/new Intel GPUs and '''nouveau''' for Nvidia GPUs. There's also Gallium, which is a bunch of utilities and common code shared among these drivers - if certain things can be done once and work everywhere, they'll land in Gallium and benefit all the drivers. Most Mesa drivers use Gallium (radeonsi, nouveau, software renderers), some don't (intel after gma950). Displaying 2D windows supports device-specific 2D drivers as well, but nowadays most of these are no longer needed as the modesetting can handle most hardware on its own. As the DRM/DRI got some additional interfaces for what used to be hardware-specific (setting resolutions, refresh rates, etc) and software requiring accelerated 2D drawing was optimized OpenGL-based renderers, dedicated 2D acceleration is slowly going away. Since around 2012, the 3D part of the graphics card deals with 2D operations. Modern GPUs can also decode video!? There's VDPAU (NVIDIA & AMD GPUs) and VA-API (AMD & Intel GPUs) that can also talk to the GPU exposed via DRM/DRI and issue proper commands to decode/encode a given video stream. Those drivers are GPU-specific too. So let's say you have some example GPUs, here's how example stacks could look like: * AMD Radeon HD8750: amdgpu -> DRM/DRI -> Mesa (radeonsi) * AMD Radeon HD4850: radeon kernel driver -> DRM/DRI -> Mesa (r600g) -> games/apps/etc. * NVIDIA GeForce 460: nouveau kernel driver -> DRM/DRI -> Mesa (nouveau) -> games/apps. * Intel GMA950: i915 kernel driver -> DRM/DRI -> Mesa (i945) -> games/apps. {| class="wikitable sortable" width="90%" ! width="15%" | Description ! width="15%" | Analog Output ! width="15%" | Digital Output ! width="15%" | Laptop LCD ! width=30%" | Comments |- | <!--Description-->Fudomi GC888A | <!--Analogue--> | <!--Digital--> | <!--Laptop LCD--> | <!--Comments-->1080p 100in throw projector |- | <!--Description-->Vamvo VF320 (720P) | <!--Analogue--> | <!--Digital--> | <!--Laptop LCD--> | <!--Comments-->720p 90in |- | <!--Description-->Happrun H1 | <!--Analogue--> | <!--Digital--> | <!--Laptop LCD--> | <!--Comments-->1080p 90in |- | <!--Description-->Umbolite Magcubic HIPPUS HY320 Mini | <!--Analogue--> | <!--Digital--> | <!--Laptop LCD--> | <!--Comments-->720p 100in |- | <!--Description-->Zentality A10 Plus | <!--Analogue--> | <!--Digital--> | <!--Laptop LCD--> | <!--Comments-->720p 110in |- | <!--Description--> | <!--Analogue--> | <!--Digital--> | <!--Laptop LCD--> | <!--Comments--> |- | <!--Description-->nexigo nova mini | <!--Analogue--> | <!--Digital--> | <!--Laptop LCD--> | <!--Comments--> |- | <!--Description-->nebula mars 3 | <!--Analogue--> | <!--Digital--> | <!--Laptop LCD--> | <!--Comments--> |- | <!--Description-->epson lifestudio flex plus portable projector | <!--Analogue--> | <!--Digital--> | <!--Laptop LCD--> | <!--Comments--> |- | <!--Description-->dangbei freedo | <!--Analogue--> | <!--Digital--> | <!--Laptop LCD--> | <!--Comments--> |- | <!--Description-->benq gv50 | <!--Analogue--> | <!--Digital--> | <!--Laptop LCD--> | <!--Comments--> |- | <!--Description--> | <!--Analogue--> | <!--Digital--> | <!--Laptop LCD--> | <!--Comments--> |- | <!--Description--> | <!--Analogue--> | <!--Digital--> | <!--Laptop LCD--> | <!--Comments--> |- | <!--Description--> | <!--Analogue--> | <!--Digital--> | <!--Laptop LCD--> | <!--Comments--> |- |} Unless your computer uses a Firewire chipset manufactured by Texas Instruments, FireWire interfaces are likely to act buggy. AROS is unlikely to ever support FireWire. Bluetooth is similarly unlikely to be ever supported due to huge cost to be certified. No, x86 PCMCIA card.resource at the moment. Writing card.resource would be a similar amount of work to writing a typical driver. However, it might be complicated by having to support a variety of PCMCIA-controller chipsets like TI PCI1225, PCI1410, PCI1420, 1450, PCIxx12 and O2, etc. m68k card.resource does not really have many higher level functions, most functions are really simple or poke Gayle registers directly. only exception is CopyTuple(). Amiga card.resource has one significant flaw: it's single-unit. would need card.resource and pccard.library. There was talk in the past of designing a new API for PCMCIA because card.resource only supports one slot, but since most modern laptops only have one slot anyway, I think it might be worthwhile to implement card.resource as-is (at least as a first step). pccard.library would be trivial to port. So, a new API is needed. fejiwj8amg9ubr46bepj4k60b9nf1qt Physical Activity/Aerobic Exercise 0 30117 4654474 4636527 2026-07-14T17:30:15Z R. Henrik Nilsson 3395618 similary > similarly 4654474 wikitext text/x-wiki [[File:A20 cvičení se švihadlem Tunis r.1997.jpg|thumb]] [[File:Fahrbild.jpg|thumb]] '''Aerobic heart beat''' increases, to circulate the oxygen in the blood to the muscles faster, and remove toxins from the cell faster. This increases the blood pressure. To get more oxygen into the bloodstream, and get toxins out, the breathing rate increases, and the lungs expand and contract more. '''Lactic acid''' is produced and will cause a burning sensation in the muscles. The body will try to get oxygen to the muscles as fast as it can, but it is not always able to give the muscles all the oxygen they need. When this happens, the muscles will shift to anaerobic respiration until they can get the oxygen they need. This usually happens during any aerobic workout, if the person is trying to push him or herself. When it does happen, the muscles will produce many toxins that are created during anaerobic respiration, and then the liver will try to cleanse those toxins as fast as it can. When the liver cannot remove the toxins as fast as they are created, they build up. When a person experiences pain in their muscles because of working out, it is usually because of lactic acid building up (unless the person has pulled a muscle or damaged something). One good benefit of getting aerobic exercise is the release of '''endorphins''', which are chemicals in the brain that reduce the feeling of pain and make a person feel better. They are sort of like the body's natural pain medicine, and they make a person feel good. Sustained aerobic exercise for a long period of time, like during a marathon, can be euphoric because of endorphins. They are released to reduce the pain a person feels during aerobic exercise. A person who regularly does aerobic exercise will develop a healthier and stronger body. Their heart will be stronger, and pump more blood per heartbeat, making it more efficient, to handle the increased blood circulation required for aerobic exercise. This will allow the person to have a lower heart rate when resting, and make them feel better. The lung capacity and efficiency at transferring material between the air and the bloodstream will increase to handle the extra oxygen required during aerobic exercise. This will allow the person to breathe less when resting, making them feel better. The arteries, veins, and capillaries will become more efficient to handle the increased blood circulation. The muscles will increase their efficiency and more blood vessels will be created in the muscles. Coordination will increase. The person will feel better because of having more endorphins in their brain. The muscles, bones, organs, and other tissue will become stronger to handle the impact that exercise will give to them. Burning more energy will require eating more, but even if a person eats more, the person can more easily lose fat by working out. ==Types of exercises== *Swimming *Dancing *Walking *Running *Climbing Stairs (sustained for 20 minutes or more) *Team Sports *Rollerblading *Rowing *Chopping Wood (sustained for 20 minutes or more) *Cross Country Skiing *Hiking *Jogging *Cycling *Calisthenics == Method: Using heart rate as guide == {{yellow Warning|Use at your own discretion. This is '''NOT''' medical advice. Any change in lifestyle involving massive change in physical activity should be under doctors supervision.}} When we start conditioning, at first, our heart beat goes up to high levels even with very moderate forms of exercise. The reason for this is that our cardiovascular system and our respiratory system are not conditioned. In other words, they are not very effective for a person who has not exercised for years. But once we start exercising, these systems keep on becoming more and more effective and conditioned. Our heart becomes stronger and our lungs become stronger. Our body is able to supply more oxygen to the muscles in an easier fashion. Similarly, the muscular system becomes more efficient. Our muscles are able to produce more work by using more energy. A fit and conditioned individual can work more through his muscles than a deconditioned person. His muscles are stronger and better adapt at working. So, as we train, our body can supply more oxygen, more easily, and the muscles can use that extra oxygen to do more work more easily. Therefore, no matter if you are a fit individual or some one who has been living a sedentary lifestyle for the past many years, you can use heart rate as an effective guide line for your exercise intensity. Your heart rate will tell you how comfortable your body is while exercising. It is one measure that is tailored to your body's ability to perform. Other methods like your speed or inclination or resistance etc. are not tailored to your ability. An unconditioned individual might be struggling at a speed, at which a trained individual is barely breaking a sweat. However, the heartbeat will tell a different story. Here is the theory behind using heart beat as a guide: The maximum heart rate is your heart's response to increased oxygen demand and your body's attempt to oxygenate (meaning supply your body with oxygen). It declines with age variably and there is an interindividual variability as well. Here is a rough approximation for the maximum heart rate for an individual: Maximum Heart Beats Per Minute = 220 - (age in years) This is a very raw approximation but it doesn't matter that much. Better approximation can be achieved for an individual by putting on a good heart rate monitor and running as fast as possible for at least 2 minutes in an untrained individual to see how high his/her heart beat goes. Now, by exercising at heart beat about 70% - 80% of maximum heart beat, a person successfully improves his body, while remaining in a comfortable zone. Even 65% - 70% bpm of max, is a good conditioning zone that is very comfortable and produces constant bodily improvement. There is no need to push too much. Remain at 70% - 80% : it is very comfortable and gives huge improvements. For example, I am 25. My maximal heart beat is ~195 (220 - 25). For me: : 70% of maximal heart beat is 136 bpm. : 75% of maximal heart beat is 146 bpm. : 80% of maximal heart beat is 156 bpm. : 85% of maximal heart beat is 166 bpm. : (These are all approximations). During exercise, if I keep my heart beat at about 70% - 80%, I will have significant benefits. If I want, I can push it to 75% - 85% (85% is the upper limit). It is usually sufficient to remain around 70-75%. As an alternative to measure the heart rate run and try to talk at the same time. If you can do this without significant shortness to breath will have reached approximately 70% of your maximal heart beat. Note that, for an untrained individual, even very moderate exercise will bring his/her heart beat pumping really fast. That means that they can easily remain very comfortable and get significant health improvements. Very soon they will find that their heart beat does not rise that sharply. Invest in a good heart rate monitor. I think, polar makes excellent heart rate monitors. Buy the ones that have a chest strap. Many professional treadmills can read the heart rate readings from the chest strap - so you don't need to carry the wrist watch with you (that comes with the chest strap). I found the chest strap heart rate monitors to be much more accurate. === Energy output analysis === : Deconditioned individual - maximum energy output = 6-7 times resting energy expense : Conditioned individual - max. energy output = 10 - 12 times resting energy expense A person can only sustain about 20% of maximum energy output throughout the day, without getting fatigued over time. Therefore, : Deconditioned Individual can spend about 20% of 7 = 1.4 times what he would spend sitting/lying whole day. : Conditioned Individual can spend about 20% of 10 = 2 times what he would spend sitting/lying whole day. Considering that sitting/lying whole day (basal metabolic rate) is about 2000-3000 calories for most people, a difference of .6 (2 - 1.4) times basal metabolic rate is : 1200 - 1800 extra calories per day that a fit individual can spend compared to a deconditioned individual. Do you have any idea how much difference these 1200-1800 calories can make! Base line - become fit. Aerobic exercise, Running for example, is a pleasure and it gives the best feeling in the world to run. Don't overdo it and give your body time to slowly increase in efficiency and capacity. As heart and respiratory systems become stronger, the body's peak capacity as well as endurance increase. As muscles become stronger and more effective, body's peak capacity and endurance increase further. The whole body becomes more powerful and stronger. == Warming up and cooling down == It is very important to warm up before suddenly increasing the intensity of your exercise. It is equally (if not more) important to slowly cool off. These two things prevent injury. When warming up, you slowly bring your body into the correct state for more intense exercise, without this warm-up phase the body's muscles and tendons are tight and prone to injury thus it's important to warm up to prevent injury. The cool down is important for recuperation of your body. If you don't allow for a proper cool down, lactic acid more readily and easily builds and stays in your muscles. This acid slows down the healing process and makes you sore. Generally, 5–10 minutes to warm up and about 5 minutes to cool down is sufficient. During the cool down, it is a good idea to write down your daily exercises. After both the cool down and warm up phase, 5–10 minutes of stretching should follow. This also prevents injury, helps in recuperation, and helps to alleviate lactic acid buildup. == Specific exercise tips == === Treadmill === I found treadmill to be an excellent machine for aerobic exercise. I have always loved running and treadmill makes it so easy. Running on a treadmill, lessens chances of injury. This is because you don't need to be careful of the terrain (road, bumps on the road, footpath etc.), or vehicles or other things. No problems with weather. Also, most good treadmills absorb the shock, making the running more comfortable for your legs. Also, most treadmills have excellent programs built into them. These programs have been designed by experts and use contemporary exercise theories. Programs like heart rate based programs, can use your heart rate monitors to adjust the inclination etc. One thing to note is to accurately simulate running outside, you should set the treadmill at at least a 1% grade or higher. With the higher grade, you will be pushing more against the treadmill than the treadmill will be pushing your feet along. Important Tip: Don't ever forget to clip the stop button to your self. You never know when you might lose a step or something and end up falling. The last thing you want is the belt burning your back or increasing your injury by throwing you around. Always, clip that stop button to your clothes. This is extremely important if you are going to run at a fast pace. Heart Rate Monitor Guide: I think most treadmill heart rate monitors lack precision. A good heart rate monitor would be a good investment if you plan on exercising seriously. === Bicycling (Biking) === Biking is another excellent aerobic exercise, besides being immensely entertaining. ==== Tips about buying a bike and accessories ==== ; Shoes : Get special biking shoes. If your pedals have the lock-in mechanism, get matching shoes. The shoes can be "clipped" into the pedals. The term 'clipless' refers to the older mechanism that locked your foot, which was a cage like system, the clip. Pedals without this system but that offer the possibility to lock your foot are called clipless. That allows you to pull the pedals up in addition to the usual push down. That allows you to complete a full rotation instead of each leg just completing a partial rotation. In addition to using more muscle groups you can, with practice, develop a smoother pedal cycle with greater stability and thus allowing higher cadence. Higher cadence is essential for cardiovascular stress and training. Note that, some basic practice is needed to be able to easily unlock and lock your feet and to immediately unlock your feet in case of emergency. ; Cost : Don't buy a very expensive bike. I made this mistake and I don't think that my bike justifies the expenditure. It does not matter that your bike is 1 lb. lighter. It will pinch you for long if you belong to the category that most of us belong to. ; Pump : Tire pressure is essential for optimum performance. Correct tire pressure will yield a sufficiently low rolling resistance of the tire and a minimal risk of flats. Under-inflating will result in a softer ride but also increases the risk of 'pinch flats' caused by squeezing the tire between the ground and the rims when hard cornering. Also, rolling resistance is significantly increased resulting in less than optimal speeds. Over-inflation only reduces the rolling resistance marginally but creates some other issues such as easy puncture flats and bouncing behavior, compromising bike stability. The pressure required is a variable depending on driver weight, the kind of tire and ride circumstances. ; Tires : The choice depends on the kind of bike. There are specific tires for each kind of bike. The difference is in tire width and profile. The wider the tire, the higher the rolling resistance because of larger contact area, but also the higher the grip on the surface. Profile refers to the tire surface, this can be smooth (slicks) or heavy profile like on mountain bikes. The heavier the profile the more drag and grip it has on loose surfaces such as mud and sand. There is absolutely no point in any profile when the only surface you ride on is asphalt (road). With this in mind, a road bike has a thin smooth tire with the lowest rolling resistance and a mountain bike will have a wide tire with heavy profile for optimum grip on rough surfaces. City bikes, cyclo-cross bikes or other models may choose for something intermediate. ; Other Accessories : Accessories are optional but can be useful. The use of a helmet is heavily debated and a little out of the scope of this article. Cycling gloves may offer protection against RSI (repetitive stress injuries) from leaning on the handlebars by means of the padding in them. They can also offer extra comfort when riding rough surfaces. Most professional cyclists wear them but the choice remains yours. Glasses provide you with cover for dust and bugs but may also provide a hinder during heavy weather. Cycle clothing has several uses but may dramatically improve riding comfort, especially when riding for greater distances. Cycling shorts are essential in preventing shearing injuries from leg action under sweaty circumstances. The jerseys are in a fabric that allows sweating while still keeping warm. Basically the lycra allows for a more optimal thermoregulation, in addition they provide back pockets. Another good accessory - heart rate monitor. Its fun to see your heart rate once in a while. Another good accessory - an electronic speedometer, mileage computer. They are cheap and it's a pleasure to see how many miles you did today and the total number of miles so far. ==== Benefits of bicycling ==== * Very Entertaining - Biking is probably one of the most entertaining exercises out there. Although, every exercise gives pleasure and has a unique fun attached to it, riding a bike is like gliding. You feel the fresh air brushing your face and body. You get to see many places. Biking is really fun. * Fresh Air - Cycling is something that gives you an opportunity to catch a breath of fresh air, literally. * Low Impact - Cycling is easier on your bones than running. * Hiking while Biking! You can literally go places on your bike. It is not too hard to bike 30 miles in a day (even if you are not very trained, although, your muscles might be a bit sore the next day). You can see parks, cities, neighborhoods on your bike. * Practical - You can commute to work / school on a bike to save money on gas. {{BookCat}} aho416u87k2ihonuqkfvnhicufx2j4h User:Greenman 2 33976 4654495 4654358 2026-07-14T22:09:33Z Greenman 7490 update 4654495 wikitext text/x-wiki My main user page is on the [https://en.wikipedia.org/wiki/User:Greenman English Wikipedia]. Here, I mostly contribute to the [[Chess Opening Theory]] Wikibook. As of 2026, I've started again after a long hiatus, after noticing that Lichess makes use of the descriptions. Sadly, I've seen that pending changes are out of control. The earliest one for the Chess Opening Theory book as I write this is 1,238 days old! Let's see if I can make a dent. '''Updated status: <s>942</s> 226 days.''' Links: * [https://en.wikibooks.org/w/index.php?title=Special%3APendingChanges&namespace=&tagFilter=&limit=50&category=&size= Pages with pending changes] {{DualLicenseWithCC-BySA-Dual}} nez3n32yppu2ejcggr554wgfba71xjd Mirad/Grammar 0 34193 4654475 4620940 2026-07-14T17:30:36Z R. Henrik Nilsson 3395618 similary > similarly 4654475 wikitext text/x-wiki === Introduction === : This textbook presents Version 1 of Mirad, formerly known as Unilingua. For the Version 2 grammar and dictionary, see [[Mirad Grammar]]. === Spelling === : The author of Unilingua, Agapoff, uses a double quote to signal capitalization and thus dispenses with all majuscules. In this Mirad textbook, however, majuscules (upper case graphemes) are used and capitalization adheres to the American English model. : In this book, the mostly Cyrillic single-grapheme characters used by Agapoff for iotacized vowels are replaced with the following system: : Pre-iotacized vowels, that is, those preceded by a y-glide sound, take an acute accent: <table align=center border=1 cellspacing=0 cellpadding=2> <tr bgcolor=yellow><th>plain vowel<th>pre-iotacized vowel <tr><td>'''a'''<td>'''&aacute;''' (''ya'') <tr><td>'''e'''<td>'''&eacute;''' (''ye'') <tr><td>'''i'''<td>'''&iacute;''' (''yi'') <tr><td>'''o'''<td>'''&oacute;''' (''yo'') <tr><td>'''u'''<td>'''&uacute;''' (''yu'') </table> : Post-iotacized vowels, that is, those followed by a y-glide sound, take a grave accent: <table align=center border=1 cellspacing=0 cellpadding=2> <tr bgcolor=yellow><th>plain vowel<th>post-iotacized vowel <tr><td>'''a'''<td>'''&agrave;''' (''ay'') <tr><td>'''e'''<td>'''&egrave;''' (''ey'') <tr><td>'''i'''<td>'''&igrave;''' (''iy'') <tr><td>'''o'''<td>'''&ograve;''' (''oy'') <tr><td>'''u'''<td>'''&ugrave;''' (''uy'') </table> : Circum-iotacized vowels, that is those that are both preceded and followed by a y-glide sound, take a circumflex accent: <table align=center border=1 cellspacing=0 cellpadding=2> <tr bgcolor=yellow><th>plain vowel<th>circum-iotacized vowel <tr><td>'''a'''<td>'''&acirc;''' (''yay'') <tr><td>'''e'''<td>'''&ecirc;''' (''yey'') <tr><td>'''i'''<td>'''&icirc;''' (''yiy'') <tr><td>'''o'''<td>'''&ocirc;''' (''yoy'') <tr><td>'''u'''<td>'''&ucirc;''' (''yuy'') </table> : A pre-iotacized vowel always begins a new vowel syllabic nucleus, whereas a post-iotacized vowel ends a vowel syllabic nucleus. : Upper-case vowels take the iotacizing accents just as the lower-case values do (thus '''&Aacute;''', '''&Egrave;''', '''&Ocirc;''', etc. === Punctuation === : The punctuation marks in Mirad are the same as in English. For example, a question mark (?) is used at the end of a sentence or sentence fragment to signal an interrogation. === Nouns === ==== Structure ==== :All nouns in their base form end in a consonant. This distinguishes them from adjectives and conjugated verbs, which end in a vowel. ==== Pluralization ==== : Nouns are made plural by adding the suffix '''-i'''. <table align=center border cellspacing=0> <tr bgcolor=yellow><th>singular<th>plural <tr><td>'''tob''' ''man''<td>'''tobi''' ''men'' <tr><td>'''dat''' ''friend''<td>'''dati''' ''friends'' <tr><td>'''car''' ''instrument''<td>'''cari''' ''instruments'' </table> ==== Femininization ==== : Although nouns do not have inherent gender, the ''feminine'' or ''female-related'' counterpart of a noun can be formed by post-iotacizing the ordinal (inner) vowel, that is, by adding the grave accent '''`''' to the vowel. If the vowel is already pre-iotacized (with an acute accent), then the acute accent is replaced with a circumflex (^) (circum-yodification) to show that it is both pre-iotacized and post-iotacized. <table align=center border cellspacing=0> <tr bgcolor=yellow><th>male-related<th>female-related <tr><td>'''tad''' ''father''<td>'''t&agrave;d''' ''mother'' <tr><td>'''tob''' ''man''<td>'''t&ograve;b''' ''woman'' <tr><td>'''t&oacute;&aacute;v''' ''sock''<td>'''t&oacute;&acirc;v''' ''stocking'' <tr><td>'''epet''' ''bull''<td>'''ep&egrave;t''' ''cow'' </table> ==== Case Tagging ==== :Nouns can take the following case endings, which are shortcuts for prepositional phrases: <table align=center border cellspacing=0> <tr bgcolor=yellow><th>case ending<th>category<th>base<th>cased form <tr><td>'''-a'''<td>genetive/possessive/relative/ablative [origin]<td>'''tob''' ''man''<td>'''toba''' ''of the man, human (adj.), man's, from the man'' <tr><td>'''-u'''<td>locative/dative [destination]<td>'''tam''' ''house''<td>'''tamu''' ''to the house, (at) home, for the house'' <tr><td>'''-&agrave;'''<td>comitive [accompaniment]<td>'''at''' ''I, me''<td>'''at&agrave;''' ''with me'' <tr><td>'''-&egrave;'''<td>instrumental [means]<td>'''&eacute;s''' ''work''<td>'''&eacute;s&egrave;''' ''through / by / via work'' <tr><td>'''-&ograve;'''<td>privative ["without"]<td>'''tec''' ''meaning''<td>'''tec&ograve;''' ''without meaning, senseless'' </table> :Examples of the ''genetive/possessive'' case: ::'''<u>Meira</u> zem ce gra ama.''' = ''<u>The earth's</u> core is very hot.'' ::'''<u>Ata</u> ted tome &iacute;b&agrave;.''' = ''<u>My</u> father lives far away.'' ::'''Ed et te dad <u>ifana</u>?''' = ''Do you know the language <u>of love</u>?'' :Examples of the ''locative/dative'' case: ::'''Pu <u>tamu</u>!''' = ''Go <u>home</u>!'' ::'''&Iacute;t pe&eacute; <u>tamu</u>.''' = ''She is staying <u>at home / in the house / home</u>.'' ::'''At teaco et uda <u>moju</u>.''' = ''I'll see you this <u>evening</u>.'' (= at this evening) ::'''Buu d&eacute;n <u>atu</u>!''' = ''Give the book <u>to me</u>!'' ::'''Ev ud ce <u>atu</u>?''' = ''Is this <u>for me</u>?'' :Examples of the ''comitive'' case: ::'''Upu <u>at&agrave;</u>!''' = ''Come <u>with me</u>!'' ::'''Ud ca ekpan <u>tija tuj&agrave;</u>.''' = ''This was a <u>life-and-death</u> struggle.'' ::'''At ube&eacute; uda &eacute;bdren <u>ifan&agrave;</u>.''' = ''I am sending you this letter <u>with love</u>.'' :Examples of the ''instrumental'' case: ::'''Et vege nacikcer an&agrave; <u>es&egrave;</u>.''' = ''You can get rich only <u>through work</u>.'' ::'''It aksa <u>koen&egrave;</u> v&aacute;n.''' = ''He succeeded <u>by hiding</u> the truth.'' ::'''&Aacute;gpar pa <u>Paris&egrave;</u>.''' = ''The train went <u>through Paris</u>.'' :Examples of the ''privative'' case: ::'''Et v&ograve; vege akser <u>nac&ograve;</u>.''' = ''You cannot succeed <u>without money</u>.'' ::'''Tij <u>ifan&ograve;</u> v&ograve; naze ser.''' = ''Life <u>without love</u> is not worth living.'' ::'''Od et su <u>at&ograve;</u>?''' = ''What would you do <u>without me</u>.'' === Pronouns === ==== Forms ==== :All animate pronouns (those referring to people) end in '''t''' in their base form, while all inanimate pronouns (those referring to things) end in '''d''' in their base form. Pronouns can be singular or plural. All plural pronouns take the plural suffix '''i'''. <table align=center border cellspacing=0> <tr bgcolor=yellow><th>animate<th>animate <tr bgcolor=yellow><th>singular<th>plural <tr><td>'''ot?''' ''who?, whom?''<td>'''oti?''' ''who all?'' <tr><td>'''at''' ''I, me''<td>'''ati''' ''we, us'' <tr><td>'''et''' ''you''<td>'''eti*''' ''you (pl.), you all'' <tr><td>'''it''' ''he, him, that person''<td>'''iti''' ''they, these persons'' <tr><td>'''&igrave;t''' ''she, her''<td>'''&igrave;ti''' ''they (fem.)'' <tr><td>'''ut''' ''this person, he''<td>'''uti''' ''those persons, they'' <tr><td>'''&oacute;t''' ''nobody, no one''<td>'''&oacute;ti''' ''none'' <tr><td>'''&aacute;t''' ''everyone, everybody, each person''<td>'''&aacute;ti''' ''all'' <tr><td>'''&oacute;t''' ''another, someone else''<td>'''&eacute;ti''' ''others'' <tr><td>'''&iacute;t''' ''such a person''<td>'''&iacute;ti''' ''such people'' <tr><td>'''&eacute;t''' ''whoever, anyone''<td>'''&oacute;ti''' ''any'' <tr><td>'''&uacute;t''' ''someone, somebody''<td>'''&uacute;ti''' ''certain people'' <tr><td>'''o&aacute;t''' ''not a single person, nobody, no one''<td>&nbsp; <tr><td>'''get''' ''the same person''<td>'''geti''' ''the same ones'' <tr><td>'''oget''' ''someone else''<td>'''ogeti''' ''others'' <tr><td>'''gat''' ''another one''<td>'''gati''' ''several'' <tr bgcolor=yellow><th>singular<th>plural <tr><td>'''od''' ''what''<td>'''odi''' ''what things'' <tr><td>'''ad''' ''that (relative), the one''<td>'''adi''' ''the things that'' <tr><td>'''id''' ''that''<td>'''idi''' ''those things'' <tr><td>'''ud''' ''this''<td>'''udi''' ''these things'' <tr><td>'''&oacute;d''' ''nothing''<td>'''&oacute;di''' ''nothing'' <tr><td>'''&aacute;d''' ''everything, each''<td>'''&aacute;di''' ''all things'' <tr><td>'''&oacute;d''' ''something else, another''<td>'''&eacute;di''' ''other things'' <tr><td>'''&iacute;d''' ''such a thing''<td>'''&iacute;di''' ''such things'' <tr><td>'''&eacute;d''' ''whatever, anything''<td>'''&eacute;di''' ''any'' <tr><td>'''&uacute;d''' ''something''<td>'''&uacute;di''' ''some things, certain things'' <tr><td>'''o&aacute;d''' ''not a single thing, nothing''<td>'''o&aacute;di''' ''none'' <tr><td>'''ged''' ''the same thing''<td>'''gedi''' ''the same things'' <tr><td>'''oged''' ''something else''<td>'''ogedi''' ''other things'' <tr><td>'''gad''' ''another one''<td>'''gadi''' ''several things'' </table> ** Note: Agapoff prefers '''ait''', '''eit''', '''iit''' for '''ati''', '''eti''', and '''iti'''. ==== Inflection ==== : All pronouns can take cases, just as nouns do: <table align=center border cellspacing=0> <tr bgcolor=yellow><th>genetive/possessive ("of")<br>ablative ("from")<br>adjectival<th>dative ("to/in/on/at")<br>locative<th>comitive ("with")<th>instrumental ("by/through/via")<th>privative ("without") <tr><td>'''ata''' ''my, of me, from me''<td>'''atu''' ''to me''<td>'''at&agrave;''' ''with me''<td>'''at&egrave;''' ''by me''<td>'''at&ograve;''' ''without me'' <tr><td>'''eta''' ''your, of you, from you''<td>'''etu''' ''to you''<td>'''et&agrave;''' ''with you''<td>'''et&egrave;''' ''by you''<td>'''et&ograve;''' ''without you'' <tr><td>'''ita''' ''his, of him, from him''<td>'''itu''' ''to him''<td>'''it&agrave;''' ''with you''<td>'''it&egrave;''' ''by him''<td>'''it&ograve;''' ''without him'' <tr><td>'''&igrave;ta''' ''her, of her, from her''<td>'''&igrave;tu''' ''to her''<td>'''&igrave;t&agrave;''' ''with her''<td>'''&igrave;t&egrave;''' ''by her''<td>'''&igrave;t&ograve;''' ''without her'' <tr><td>'''atia''' ''our, of us, from us''<td>'''atiu''' ''to us''<td>'''ati&agrave;''' ''with us''<td>'''ati&egrave;''' ''by us''<td>'''ati&ograve;''' ''without us'' <tr><td>'''ota''' ''whose?, of whom?, from whom?''<td>'''otu''' ''to whom''<td>'''ot&agrave;''' ''with whom''<td>'''ot&egrave;''' ''by whom''<td>'''ot&ograve;''' ''without whom'' <tr><td>'''&aacute;ta''' ''everyone's''<td>'''&aacute;tu''' ''to everyone''<td>'''&aacute;t&agrave;''' ''with everyone''<td>'''&aacute;t&egrave;''' ''by everyone''<td>'''&aacute;t&ograve;''' ''without everyone'' <tr><td>'''oda''' ''which, of what, from what''<td>'''odu''' ''to which, at which, in which''<td>'''od&agrave;''' ''with what?''<td>'''od&egrave;''' ''by what?, how?''<td>'''od&ograve;?''' ''without what?'' <tr><td>'''ida''' ''that, of that, from that, those''<td>'''idu''' ''to that, at that, in that''<td>'''id&agrave;''' ''with that''<td>'''id&egrave;''' ''by that, thus''<td>'''id&ograve;'''' ''without that'' <tr><td>'''uda''' ''this/these, of this, from this''<td>'''udu''' ''to/at this, therefore''<td>'''ud&agrave;''' ''with this''<td>'''ud&egrave;''' ''by this, thus''<td>'''ud&ograve;''' ''without this'' <tr><td>'''&aacute;da''' ''every, each, all''<td>'''&aacute;du''' ''to everything, in everyting''<td>'''&aacute;d&agrave;''' ''with everything''<td>'''&aacute;d&egrave;''' ''by everything, by all means''<td>'''&aacute;d&ograve;''' ''without everything'' <tr><td>'''&oacute;da''' ''not, not a''<td>'''&oacute;du''' ''to nothing''<td>'''&oacute;d&agrave;''' ''with nothing''<td>'''&oacute;d&egrave;''' ''by nothing''<td>'''&oacute;d&ograve;''' ''without nothing'' <tr><td>'''o&aacute;da''' ''not a single, no''<td>'''o&aacute;du''' ''in not a single one, to none''<td>'''o&aacute;d&agrave;''' ''with nothing''<td>'''o&aacute;d&egrave;''' ''by nothing, in no way''<td>-- <tr><td>'''&eacute;da''' ''any, whichever''<td>'''&eacute;du''' ''to anything''<td>'''&eacute;d&agrave;''' ''with whatever''<td>'''&eacute;d&egrave;''' ''by whatever, however''<td>'''&eacute;d&ograve;''' ''without whatever'' <tr><td>'''&uacute;da''' ''some, a certain''<td>'''&uacute;du''' ''at a certain thing''</td><td>'''&uacute;d&agrave;''' ''with something''<td>'''&uacute;d&egrave;''' ''by something, somehow''<td>'''&uacute;d&ograve;''' ''without something'' <tr><td>'''geda''' ''same, the same''<td>'''gedu''' ''to the same thing''<td>'''ged&agrave;''' ''with the same thing''<td>'''ged&egrave;''' ''by the same thing''<td>'''ged&ograve;''' ''without the same thing'' <tr><td>'''ogeda''' ''different, the other, another''<td>'''ogedu''' ''to another thing''<td>'''oged&agrave;''' ''with another thing''<td>'''oged&egrave;''' ''by something else''<td>'''oged&ograve;''' ''without another thing'' </table> ==== Possessive Pronouns ==== : Any of the above pronominal adjective forms can be substantivized by adding '''-c'''. The resulting possessive pronouns can then take the plural affix and case endings. <table align=center border cellspacing=0> <tr bgcolor=yellow><th>singular<th>plural <tr><td>'''atac''' ''mine''<td>'''ataci''' ''mine'' <tr><td>'''etac''' ''yours''<td>'''etaci''' ''yours'' <tr><td>'''itac''' ''his''<td>'''itaci''' ''his'' <tr><td>'''&igrave;tac''' ''hers''<td>'''&igrave;taci''' ''hers'' <tr><td>'''atiac''' ''ours''<td>'''atiaci''' ''ours'' <tr><td>'''etiac''' ''yours''<td>'''etiaci''' ''yours'' <tr><td>'''itiac''' ''theirs''<td>'''itiaci''' ''theirs'' <tr><td>'''&igrave;tiac''' ''theirs''<td>'''&igrave;tiaci''' ''theirs'' <tr><td>'''utac''' ''one's''<td>'''utaci''' ''one's'' <tr><td>'''otac?''' ''whose?''<td>'''otaci''' ''whose'' <tr><td>'''&aacute;tac''' ''everyone's''<td>'''&aacute;taci''' ''everyone's'' <tr><td>'''&oacute;tac''' ''nobody's''<td>'''&oacute;taci''' ''nobody's'' <tr><td>'''odac?''' ''which one''<td>'''odaci''' ''which ones'' <tr><td>'''&oacute;dac''' ''the other one''<td>'''&oacute;daci''' ''the other ones'' <tr><td>'''udac''' ''this one''<td>'''udaci''' ''these'' <tr><td>'''idac''' ''that one''<td>'''idaci''' ''those'' <tr><td>'''&aacute;dac''' ''each one''<td>'''&aacute;daci''' ''all of them'' <tr><td>'''&eacute;dac''' ''any one, whichever one''<td>'''&eacute;daci''' ''whichever ones'' </table> : Any of the above substantival pronouns can take case endings: <table align=center border cellspacing=0> <tr bgcolor=yellow><th>Mirad<th>English <tr><td>'''ataca'''<td> ''of mine'' <tr><td>'''otac&agrave;'''<td>''with whose'' <tr><td>'''&aacute;tacu'''<td>''to everyone's'' <tr><td>'''udac&ograve;'''<td>''without this one'' </table> : Examples: <table align=center border cellspacing=0> <tr bgcolor=yellow><th>Mirad<th>English <tr><td>'''Uda tam ce atac.'''<td>''That house is mine.'' <tr><td>'''Oda d&eacute;ni et d&eacute;da&eacute;?'''<td>''Which books have you read?'' <tr><td>'''&Iacute;da tej aju v&ograve; teac&acirc;e.'''<td>''Such a life has not been seen before.'' <tr><td>'''Buu atu udi!'''<td>''Give me those!'' <tr><td>'''&Aacute;da tej nazace.'''<td>''Every life counts.'' <tr><td>'''&Aacute;dac nazace.'''<td>''Each one counts.'' <tr><td>'''&Aacute;ta tej nazace.'''<td>''Everyone's life counts.'' <tr><td>'''&Aacute;tac nazace.'''<td>''Everyone's counts.'' <tr><td>'''&Aacute;da &eacute;vcunuti kode.'''<td>''All lawyers lie.'' <tr><td>'''&Aacute;ti kode.'''<td>''All of them lie.'' <tr><td>'''&Aacute;t kode&eacute;.'''<td>''Everyone is lying.'' <tr><td>'''&Aacute;d ce kod.'''<td>''Everything is a lie.'' <tr><td>'''Mar ce zem &aacute;da.'''<td>''The sun is the center of everything.'' <tr><td>'''&Oacute;t &eacute;ge kaer if &aacute;du.'''<td>''One can find pleasure in everything.'' <tr><td>'''If &eacute;ge uper bi &eacute;d.'''<td>''Pleasure can come from anything.'' <tr><td>'''Ud ce ga fia v&eacute;l id''' (''or:'' '''ga fia idu''').<td>''This is better than that.'' <tr><td>'''Od ce eta d&uacute;n?'''<td>''What is your name?'' <tr><td>'''At vage &eacute;d et vage.'''<td>''I want what(ever) you want.'' <tr><td>'''At v&ograve; ta ev it upo.'''<td>''I didn't know whether he would come.'' <tr><td>'''At ta ad it upo.'''<td>''I knew (that) he would come.'' <tr><td>'''Ad tej ce g&uacute;a v&ograve; vege vod&eacute;.'''<td>''That life is hard cannot be denied.'' <tr><td>'''Ev it &iacute;ztejo v&ograve; twe.'''<td>''Whether he will survive is unknown.'' <tr><td>'''At v&ograve; te ev it &iacute;ztejo.'''<td>''I don't know if he'll survive.'' <tr><td>'''Ad &igrave;t sa ce ota seun.'''<td>''What she did is nobody's business.'' <tr><td>'''Atac ce ga aga v&eacute; etac.'''<td>''Mine is bigger than yours.'' <tr><td>'''Odac ce etac.'''<td>''Which one is yours?'' <tr><td>'''&Eacute;dac cu fia atu.'''<td>''Whichever one would be fine for me.'' <tr><td>'''Otac ce ud?'''<td>''Whose is this?'' <tr><td>'''Otaci ce udi?'''<td>''Whose are these?'' <tr><td>'''Ev et co ata dat?'''<td>''Are you going to be my friend?'' <tr><td>'''O&aacute;dad ifca atu.'''<td>''I did not like a single one.'' <tr><td>'''Od&egrave; &igrave;t tujswa?'''<td>''How (by what) was she killed?'' <tr><td>'''Ot&agrave; et pa?'''<td>''With whom did you go?'' <tr><td>'''...otac&ograve; ait v&ograve; vegu &iacute;ztejer.'''<td>''...without whose we could not survive.'' <tr><td>'''Odu et sa id?'''<td>''Why (for what) did you do it (that)?'' <tr><td>'''Iti &uacute;d&egrave; kaa mep.'''<td>''They somehow found the way.'' <tr><td>'''&Eacute;bdren drwa at&agrave; ot&egrave;?'''<td>''The letter was written to me by whom?'' <tr><td>'''Ota tamu et pe&eacute;?'''<td>''To whose house are you going?'' <tr><td>'''Otacu et pe&eacute;?'''<td>''To whose are you going?'' </table> === Correlatives === : By "correlatives" is meant a set of functional words in the languages than can be arranged in a matrix, all sharing a set of "deictic" or "specifier" prefixes. For example, the English words "which, what, where, why, when, how, who, whether, etc." can be considered part of a matrix of correlatives, because they all ask a question about topics such as "place", "time", "manner", and are therefore called "interrogative correlatives." The situation is similar in Unilingua. Note, however, that some of the correlative words in the chart below are slightly different from those invented by the original author of Unilingua. ==== Deictic morphemes (specifiers) ==== <table align=center border cellspacing=0> <tr bgcolor=yellow><th>category<th>deictic morpheme <tr><td>interrogative<td>'''od-''' ''which, what'' <tr><td>relative<td>'''ad-''' ''the, the one which'' <tr><td>proximal<td>'''ud-''' ''this'' <tr><td>distal<td>'''id-''' ''that'' <tr><td>intensive<td>'''&iacute;d-''' ''so, such a'' <tr><td>generic<td>'''&uacute;d-''' ''some, a certain'' <tr><td>distributive<td>'''&aacute;d-''' ''all, every, each'' <tr><td>indeterminate<td>'''&eacute;d-''' ''any, whatever'' <tr><td>negative<td>'''&oacute;d-''' ''no, not any'' <tr><td>identical<td>'''ged-''' ''same, selfsame'' <tr><td>non-indentical<td>'''oged-''' ''different, other'' </table> ==== Dimensional Classifiers ==== : The above deictic morphemes combine with the following dimensional classifiers to form a whole matrix of functional deictic correlatives: <table align=center border cellspacing=0> <tr bgcolor=yellow><th>category<th>classifier<th>short version <tr><td>person<td>'''-t'''<td> <tr><td>thing<td>'''-d'''<td> <tr><td>place<td>'''-em'''<td>'''m''' <tr><td>time<td>'''-job'''<td>'''j''' <tr><td>manner/means<td>'''-&egrave;'''<td> <tr><td>quality/kind<td>'''-&eacute;n'''<td> <tr><td>quantity<td>'''-gan'''<td> <tr><td>degree<td>'''-nog'''<td> <tr><td>frequency<td>'''-jig'''<td> </table> ==== Matrix of Deictic Correlatives ==== <table border cellspacing=0> <tr bgcolor=yellow><th>thing<th>person<th>adjective<th>place<th>time<th>manner<th>kind<th>frequency<th>quantity<th>degree <tr><td>'''od''' ''what''<td>'''ot''' ''who''<td>'''oda''' ''which''<td>'''odmu''' ''where''<td>'''odju''' ''when''<td>'''od&egrave;''' ''how''<td>'''od&eacute;na''' ''what kind of''<td>'''odjigu''' ''how often''<td>'''odganu''' ''how much''<td>'''odnogu''' ''how'' <tr><td>'''ud''' ''this''<td>'''ut''' ''this person''<td>'''uda''' ''this''<td>'''udmu''' ''here''<td>'''udju''' ''now''<td>'''ud&egrave;''' ''this way''<td>'''ud&eacute;na''' ''this kind of''<td>'''udjigu''' ''this often''<td>'''udganu''' ''this much''<td>'''udnogu''' ''to this extent'' <tr><td>'''id''' ''that''<td>'''it''' ''that person, he''<td>'''ida''' ''that''<td>'''idmu''' ''there''<td>'''idju''' ''then''<td>'''id&egrave;''' ''that way, thus''<td>'''id&eacute;na''' ''that kind of''<td>'''idjigu''' ''that often''<td>'''idganu''' ''that much''<td>'''idnogu''' ''to that extent'' <tr><td>'''&iacute;d''' ''such a thing''<td>'''&iacute;t''' ''such a person''<td>'''&iacute;da''' ''such, such a''<td>'''&iacute;dmu''' ''at such a place''<td>'''&iacute;dju''' ''at such a time''<td>'''&iacute;d&egrave;''' ''in such a way, so''<td>'''&iacute;d&eacute;na''' ''such a''<td>'''&iacute;djigu''' ''so often''<td>'''&iacute;dganu''' ''so much''<td>'''&iacute;dnogu''' ''so'' <tr><td>'''&uacute;d''' ''something''<td>'''&uacute;t''' ''someone''<td>'''&uacute;da''' ''some, a certain''<td>'''&uacute;dmu''' ''somewhere''<td>'''&uacute;dju''' ''sometime''<td>'''&uacute;d&egrave;''' ''somehow''<td>'''&uacute;d&eacute;na''' ''some kind of''<td>'''&uacute;djigu''' ''sometimes''<td>'''&uacute;dganu''' ''some''<td>'''&uacute;dnogu''' ''somewhat'' <tr><td>'''&aacute;d''' ''everything''<td>'''&aacute;t''' ''everyone''<td>'''&aacute;da''' ''every, each''<td>'''&aacute;dmu''' ''everywhere''<td>'''&aacute;dju''' ''every time, always''<td>'''&aacute;d&egrave;''' ''in every way''<td>'''&aacute;d&eacute;na''' ''every kind of''<td>'''&aacute;djigu''' ''at all times''<td>'''&aacute;dganu''' ''all of''<td>'''&aacute;dnogu''' ''completely'' <tr><td>'''&eacute;d''' ''whatever, anything''<td>'''&eacute;t''' ''whoever, anyone''<td>'''&eacute;da''' ''whichever, any''<td>'''&eacute;dmu''' ''wherever, anywhere''<td>'''&eacute;dju''' ''whenever, anytime''<td>'''&eacute;d&egrave;''' ''however, in any way''<td>'''&eacute;d&eacute;na''' ''whatever kind of''<td>'''&eacute;djigu''' ''however often''<td>'''&eacute;dganu''' ''however much, any''<td>'''&eacute;dnogu''' ''to any extent'' <tr><td>'''&oacute;d''' ''nothing''<td>'''&oacute;t''' ''nobody''<td>'''&oacute;da''' ''no, not a''<td>'''&oacute;dmu''' ''nowhere''<td>'''&oacute;dju''' ''never''<td>'''&oacute;d&egrave;''' ''in no way''<td>'''&oacute;d&eacute;na''' ''no kind of''<td>'''&oacute;djigu''' ''not once''<td>'''&oacute;dganu''' ''not any, no''<td>'''&oacute;dnogu''' ''not at all'' <tr><td>'''ged''' ''the same thing''<td>'''get''' ''the same person, self''<td>'''geda''' ''the same, the very''<td>'''gedmu''' ''at the same place''<td>'''gedju''' ''at the same time''<td>'''ged&egrave;''' ''in the same way''<td>'''ged&eacute;na''' ''the same kind of''<td>'''gedjigu''' ''as often''<td>'''gedganu, ge''' ''as much''<td>'''gednogu, ge''' ''to the same degree, as'' <tr><td>'''oged''' ''something else''<td>'''oget''' ''someone else''<td>'''ogeda''' ''the other, another''<td>'''ogedmu''' ''elsewhere''<td>'''ogedju''' ''at another time''<td>'''oged&egrave;''' ''elsewise''<td>'''oged&eacute;na''' ''another kind of''<td>'''ogedjigu''' ''at a different frequency''<td>'''ogedganu''' ''not as much''<td>'''ogednogu''' ''otherwise'' </table> ==== Basic deictic adjectives / Determiners ==== <table align=center border cellspacing=0> <tr bgcolor=yellow><th>category<th>determiner<th>example <tr><td>indefinite/unary<td>'''a''' ''a''<td>'''a tam''' ''a house'' <tr><td>definite/relative<td>'''ada''' ''the''<td>'''ada tam''' ''the house'', '''ada tami''' ''the houses'' <tr><td>interrogative<td>'''oda''' ''which''<td>'''oda d&eacute;n''' ''which book'', '''oda d&eacute;ni''' ''which books'' <tr><td>proximal<td>'''uda''' ''this, these''<td>'''uda pat''' ''this bird'', '''uda pati''' ''these birds'' <tr><td>distal<td>'''ida''' ''that, those''<td>'''ida pat''' ''that bird'', '''ida pati''' ''those birds'' <tr><td>negative<td>'''&oacute;da''' ''no''<td>'''&oacute;da mep''' ''no road'', '''&oacute;da mepi''' ''no roads'' <tr><td>totalative<td>'''&aacute;da''' ''every, all, each''<td>'''&aacute;da mep''' ''every road'', '''&aacute;da mepi''' ''all roads'' <tr><td>indeterminate<td>'''&eacute;da''' ''any, whichever''<td>'''&eacute;da voz''' ''any color'', '''&eacute;da vozi''' ''whichever colors'' <tr><td>intensive<td>'''&iacute;da''' ''such a, such''<td>'''&iacute;da d&uacute;n''' ''such a name'', '''&iacute;da d&uacute;ni''' ''such names'' <tr><td>partitive<td>'''&uacute;da''' ''some, a certain, certain''<td>'''&uacute;da tob''' ''some man'', '''&uacute;da tobi''' ''certain men'' <tr><td>identical<td>'''geda''' ''same''<td>'''geda d&uacute;n''' ''the same name'' <tr><td>non-identical<td>'''ogeda''' ''different, other''<td>'''ogeda d&uacute;n''' ''different name, another name'' <tr><td>quasi-identical<td>'''g&egrave;da''' ''similar''<td>'''g&egrave;da ceus''' ''a similar sound'' <tr><td>superior<td>'''ga''' ''more''<td>'''ga nac v&eacute;l at''' ''more money than I'' <tr><td>equal<td>'''ge''' ''as much, as many''<td>'''ge job v&eacute;l et vage''' ''as much time as you want'' <tr><td>inferior<td>'''go''' ''less, fewer''<td>'''go &eacute;s''' ''less work'' <tr><td>majorative<td>'''gla''' ''a lot, much''<td>'''gla if''' ''a lot of fun'' <tr><td>quasi-majorative<td>'''gl&agrave;''' ''a goodly portion of, several''<td>'''gl&agrave; jubi''' ''several days'' <tr><td>excessive<td>'''gra''' ''too much, too many''<td>'''gra tel''' ''too much food'' <tr><td>maximal<td>'''g&aacute;''' ''most''<td>'''g&aacute; poti''' ''most animals'' <tr><td>sufficient<td>'''g&eacute;''' ''enough, quite a bit''<td>'''g&eacute; job''' ''enough time'' <tr><td>minorative<td>'''glo''' ''very little, very few''<td>'''glo auti''' ''very few individuals'' <tr><td>insufficient<td>'''gro''' ''too little, too few''<td>'''gro &eacute;k''' ''too little effort'' <tr><td>minimal<td>'''g&oacute;''' ''the least''<td>'''g&oacute; &eacute;k''' ''the least effort'' </table> : Note: Nouns in Mirad are not normally accompanied by a definite article (''the'') or an indefinite article (''a/an''). The word '''tob''' can mean ''man'', ''a man'', or ''the man'', depending on circumstances. Where further definition is required, '''a''', the numeric or deictic adjective ''one'', can be used for the indefinite article, while '''ada''', the deictic adjective ''the'' can be used for the definite article. ==== Deitic pronouns ==== ===== Inanimate pronouns ===== <table align=center border cellspacing=0> <tr bgcolor=yellow><th>singular<th>plural <tr><td>'''od?''' ''what?''<td>'''odi?''' ''what (things)'' <tr><td>'''ad''' ''the thing (that)''<td>'''adi''' ''the things (that)'' <tr><td>'''ud''' ''this''<td>'''udi''' ''these'' <tr><td>'''id''' ''that''<td>'''idi''' ''those'' <tr><td>'''&aacute;d''' ''everything''<td>'''&aacute;di''' ''all things'' <tr><td>'''&eacute;d''' ''anything, whatever''<td>'''&eacute;di''' ''any things'' <tr><td>'''&iacute;d''' ''such, such a thing''<td>'''&iacute;di''' ''such things'' <tr><td>'''&oacute;d''' ''nothing''<td>'''&oacute;di''' ''none'' <tr><td>'''&uacute;d''' ''something''<td>'''&uacute;di''' ''certain things'' <tr><td>'''ged''' ''the same thing''<td>'''gedi''' ''the same things'' <tr><td>'''oged''' ''another, something else''<td>'''ogedi''' ''other things'' <tr><td>'''g&egrave;lac''' ''a similar thing''<td>'''g&egrave;laci''' ''similar things'' <tr><td>'''gac''' ''more''<td>'''gaci''' ''more things'' <tr><td>'''gec''' ''as much''<td>'''geci''' ''as many things'' <tr><td>'''goc''' ''less''<td>'''goci''' ''fewer things'' <tr><td>'''glac''' ''a lot, much''<td>'''glaci''' ''many things'' <tr><td>'''gl&agrave;c''' ''a goodly portion''<td>'''gl&agrave;ci''' ''several things'' <tr><td>'''grac''' ''too much''<td>'''graci''' ''too many things'' <tr><td>'''g&aacute;c''' ''the most''<td>'''g&aacute;ci''' ''most things'' <tr><td>'''g&eacute;c''' ''enough, quite a bit''<td>'''g&eacute;ci''' ''quite a few things'' <tr><td>'''gloc''' ''very little''<td>'''gloci''' ''few things'' <tr><td>'''groc''' ''too little''<td>'''groci''' ''too few things'' <tr><td>'''g&oacute;c''' ''the least''<td>'''g&oacute;ic''' ''as few things as possible'' </table> ===== Animate pronouns ===== <table align=center border cellspacing=0> <tr bgcolor=yellow><th>singular<th>plural <tr><td>'''ot?''' ''who?''<td>'''oti''' ''who (pl.)'' <tr><td>'''at''' ''I''<td>'''ati''' ''we'' <tr><td>'''et''' ''you''<td>'''eti''' ''you (pl.)'' <tr><td>'''ut''' ''this person, this one''<td>'''uti''' ''these'' <tr><td>'''it''' ''that person, that one''<td>'''iti''' ''those'' <tr><td>'''&aacute;t''' ''everyone''<td>'''&aacute;ti''' ''all people'' <tr><td>'''&eacute;t''' ''anyone, whoever''<td>'''&eacute;ti''' ''any people'' <tr><td>'''&iacute;t''' ''such a person''<td>'''&iacute;ti''' ''such people'' <tr><td>'''&oacute;t''' ''not a single person, noboby''<td>'''&oacute;ti''' ''none'' <tr><td>'''&uacute;t''' ''somebody''<td>'''&uacute;ti''' ''certain people'' <tr><td>'''get''' ''the same person, self''<td>'''geti''' ''the same people, themselves'' <tr><td>'''oget''' ''the other person, someone else''<td>'''ogeti''' ''others, other people'' <tr><td>'''&igrave;t''' ''that female,she, her''<td>'''&igrave;ti''' ''they (f.), them'' <tr><td>'''&ugrave;t''' ''this female, she, her''<td>'''&ugrave;ti''' ''they (f.), them'' <tr><td>'''aut''' ''person, individual''<td>'''auti''' ''persons, people'' <tr><td>'''out''' ''nobody, no one''<td>'''outi''' ''no people, none'' <tr><td>&nbsp;<td>'''ga auti''' ''more people'' <tr><td>&nbsp;<td>'''ge auti''' ''as many people'' <tr><td>&nbsp;<td>'''go auti''' ''fewer people'' <tr><td>&nbsp;<td>'''gla auti''' ''many people'' <tr><td>&nbsp;<td>'''gl&agrave; auti''' ''several people'' <tr><td>&nbsp;<td>'''gra auti''' ''too many people'' <tr><td>&nbsp;<td>'''g&aacute; auti''' ''most people'' <tr><td>&nbsp;<td>'''g&eacute; auti''' ''quite a few people'' <tr><td>&nbsp;<td>'''glo auti''' ''few people'' <tr><td>&nbsp;<td>'''gro auti''' ''too few people'' <tr><td>&nbsp;<td>'''g&oacute; auti''' ''as few people as possible'' </table> : Note: As with all pronouns and nouns, the above pronouns can appear in the genetive/ablative/possessive case ('''-a''') or dative/locative case ('''u'''). For example: '''otu''' ''to whom'', '''ota''' ''whose'', '''&aacute;ta''' ''everyone's'', '''gla autia''' ''most people's'', '''ata''' ''my'', '''etu''' ''to you''. The possessive adjective forms can, in turn, be substantivized by adding '''-c''' (''thing''): '''atac''' ''mine'', '''atacu''' ''to mine'', '''otac''' ''whose'', '''getac''' ''the same person's'', etc. ==== Determiners of Place ==== <table align=center border cellspacing=0> <tr bgcolor=yellow><th>place <tr><td>'''odmu?''' ''where?, whither?'' (also: '''odma?''' ''from where?, whence?'') <tr><td>'''udmu''' ''here'' (also: '''udma''' ''from here, hence'') <tr><td>'''idmu''' ''there'' (also: '''idma''' ''from there, thence'') <tr><td>'''admu''' ''at/in/to the place where'' (relative) <tr><td>'''&oacute;dmu''' ''nowhere'' <tr><td>'''&aacute;dmu''' ''everywhere'' <tr><td>'''&eacute;dmu''' ''anywhere, whereever'' <tr><td>'''&iacute;dmu''' ''at/in/to such a place'' <tr><td>'''ogedmu''' ''elsewhere'' ('''ogedem''' ''alibi'') <tr><td>'''&uacute;dmu''' ''somewhere'' <tr><td>'''gedmu''' ''at/in/to the same place'' (also: '''gedma''' ''from the same place'') <tr><td>'''g&egrave;dmu''' ''at/in/to a similar place'' (also: '''g&egrave;dma''' ''from a similar place'') </table> ==== Determiners of Time ==== <table align=center border cellspacing=0> <tr bgcolor=yellow><th>time <tr><td>'''odju?''' ''when?'' (also: '''odja''' ''whence?'', '''ji odjob''' ''since when?'', etc.) <tr><td>'''udju''' ''now'' (also: '''udja''' ''hence'') <tr><td>'''idju''' ''then'' (also: '''idja''' ''thence'') <tr><td>'''adju''' ''when, at the time when'' (relative) <tr><td>'''&oacute;dju''' ''never'' <tr><td>'''&aacute;dju''' ''each time, everytime, always, ever'' <tr><td>'''&eacute;dju''' ''anytime, whenever'' <tr><td>'''&iacute;dju''' ''at/in/to such a time'' <tr><td>'''&uacute;dju''' ''sometime'' <tr><td>'''gedju''' ''at the same time'' <tr><td>'''ogedju''' ''at another time'' </table> ==== Determiners of Quality ==== <table align=center border cellspacing=0> <tr bgcolor=yellow><th>kind <tr><td>'''od&eacute;na?''' ''what kind of?'' <tr><td>'''ud&eacute;na''' ''this kind of'' <tr><td>'''id&eacute;na''' ''that kind of'' <tr><td>'''ad&eacute;na''' ''the/what kind of'' (relative) <tr><td>'''&oacute;d&eacute;na''' ''no kind of'' <tr><td>'''&aacute;d&eacute;na''' ''every kind of'' <tr><td>'''&eacute;d&eacute;na''' ''any/whatever kind of'' <tr><td>'''&iacute;d&eacute;na''' ''such'' <tr><td>'''&uacute;d&eacute;na''' ''some kind of'' <tr><td>'''ged&eacute;na''' ''the same kind of'' <tr><td>'''g&egrave;d&eacute;na''' ''a similar kind of'' <tr><td>'''oged&eacute;na''' ''another kind of'' </table> ==== Determiners of Degree ==== <table align=center border cellspacing=0> <tr bgcolor=yellow><th>degree <tr><td>'''odnogu?''' ''how (...big, ...little, etc.)?, to what extent?'' <tr><td>'''udnogu''' ''this, to this degree'' <tr><td>'''idnogu''' ''that, to that extent'' <tr><td>'''adnogu''' ''how, to what degree, to the extent (that...) (relative)'' <tr><td>'''&oacute;dnogu''' ''not at all, to no extent'' <tr><td>'''&aacute;dnogu''' ''completely, to the full extent'' <tr><td>'''&eacute;dnogu''' ''however, to whatever extent'' <tr><td>'''&iacute;dnogu''' ''so, to such an extent'' <tr><td>'''&uacute;dnogu''' ''in some way, somehow'' <tr><td>'''ge, genogu''' ''equally, to the same degree, as'' <tr><td>'''oge, ogenogu''' ''unequally, to a different extent'' <tr><td>'''g&egrave;, g&egrave;nogu''' ''similarly, to a similar extent'' <tr><td>'''ga, ganogu''' ''more, to a greater extent'' <tr><td>'''gla, glanogu''' ''very, greatly, very much so'' <tr><td>'''gra, granogu''' ''too, to too great an extent, overly, extremely'' <tr><td>'''go, gonogu''' ''less, to a lesser extent'' <tr><td>'''glo, glonogu''' ''slightly, to a small extent'' <tr><td>'''gro, gronogu''' ''to too small a degree, under'' <tr><td>'''g&aacute;, g&aacute;nogu''' ''maximally, to the greatest extent possible'' <tr><td>'''g&oacute;, g&oacute;nogu''' ''minimally, to the smallest extent possible'' <tr><td>'''g&eacute;, g&eacute;nogu''' ''enough, rather, pretty, sufficiently, quite'' <tr><td>'''og&eacute;, og&eacute;nogu''' ''insufficiently'' <tr><td>'''fi&agrave;, finogu''' ''to a good extent, well'' <tr><td>'''fu&agrave;, funogu''' ''to a bad extent, poorly'' <tr><td>'''v&eacute;g&agrave;, v&eacute;ga nogu''' ''proportionately'' <tr><td>'''v&aacute;c&agrave;, v&aacute;ca nogu''' ''to the right extent, properly, duly'' <tr><td>'''v&oacute;c&agrave;, v&oacute;ca nogu''' ''to the wrong extent, disproportionately, unduly'' <tr><td>'''anogu''' ''primarily'' <tr><td>'''enogu''' ''secondarily'' <tr><td>'''uja nogu''' ''ultimately'' </table> ==== Determiners of Manner, Means ==== <table align=center border cellspacing=0> <tr bgcolor=yellow><th>manner <tr><td>'''od&egrave;?''' ''how?, in what way?'' <tr><td>'''ud&egrave;''' ''this way, thus'' <tr><td>'''id&egrave;''' ''that way, thus'' <tr><td>'''ad&egrave;''' ''how, in the way that, as'' <tr><td>'''&oacute;d&egrave;''' ''in no way'' <tr><td>'''&aacute;d&egrave;''' ''in every way'' <tr><td>'''&eacute;d&egrave;''' ''in whatever way, however'' <tr><td>'''&iacute;d&egrave;''' ''so, in such a way'' <tr><td>'''&uacute;d&egrave;''' ''somehow'' <tr><td>'''ged&egrave;''' ''in the same way, also'' <tr><td>'''oged&egrave;''' ''otherwise'' <tr><td>'''g&egrave;d&egrave;''' ''similarly, likewise'' </table> ==== Determiners of Quantity ==== ::The noun following the determiner is in the singular if a mass noun ('''odganu dril''' ''how much ink'') or in the plural if a countable noun ('''odganu jubi''' ''how many years''). <table align=center border cellspacing=0> <tr bgcolor=yellow><th>quantity <tr><td>'''odganu?*''' ''how much, how many'' <tr><td>'''udganu''' ''this much, this many'' <tr><td>'''idganu''' ''that much, that many'' <tr><td>'''adganu''' ''how much, how many, the amount/number that'' <tr><td>'''&oacute;dganu''' ''no, not any, no amount of'' <tr><td>'''&aacute;dganu''' ''all'' <tr><td>'''&eacute;dganu''' ''any, however much, however many'' <tr><td>'''&iacute;dganu''' ''so much, so many'' <tr><td>'''&uacute;dganu''' ''a certain amount of, some, some number of'' <tr><td>'''ge, geganu''' ''as much, as many'' <tr><td>'''oge, ogeganu''' ''a different quanity of'' <tr><td>'''ga''' ''more'' <tr><td>'''go''' ''less, fewer'' <tr><td>'''gla''' ''a lot (of), much, many'' <tr><td>'''gl&agrave;''' ''a goodly amount (of), quite a few'' <tr><td>'''glo''' ''little, too many'' <tr><td>'''gl&ograve;''' ''barely, scarcely, hardly'' <tr><td>'''g&aacute;''' ''most'' <tr><td>'''gro''' ''too little, too few'' <tr><td>'''g&oacute;''' ''as little/few as possible'' <tr><td>'''g&eacute;''' ''a fair amount (of), enough, quite a lot (of)'' <tr><td>'''g&ecirc;''' ''several'' </table> : * Literally: ''in what quantity'', as in '''Odganu nac et &agrave;ce?''' ''How much money do you have?''. Used substantively, '''Odganu''' becomes '''Odgan''', as in '''Odgan et &agrave;ce?''' ''How much do you have?'' If followed by a mass noun, '''gla''' means ''much''; if followed by a counting noun, '''gla''' means ''many''; if followed by an adjective or adverb, it means ''very''. All of the '''ga...ge...go''' words are multifunctional in this way. ==== Determiners of Frequency ==== <table align=center border cellspacing=0> <tr bgcolor=yellow><th>frequency ('''jig''' = ''rate, frequency'' <tr><td>'''odjigu?''' ''how often?''(lit: on how many occasions) <tr><td>'''udjigu''' ''this often'' <tr><td>'''idjigu''' ''that often'' <tr><td>'''adjigu''' ''as often as, the rate that'' <tr><td>'''&oacute;djigu''' ''never'' <tr><td>'''&aacute;djigu''' ''every time'' <tr><td>'''&eacute;djigu''' ''however often, anytime'' <tr><td>'''&iacute;djigu''' ''so often'' <tr><td>'''&uacute;djigu''' ''with some frequency, sometimes'' <tr><td>'''gejigu''' ''as often'' <tr><td>'''ogejigu''' ''at a different rate'' <tr><td>'''gajigu''' ''more often'' <tr><td>'''gojigu''' ''less often'' <tr><td>'''glajigu''' ''(very) often, frequently'' <tr><td>'''glojigu''' ''seldom, rarely, not very often'' <tr><td>'''grajigu''' ''too often'' <tr><td>'''g&aacute;jigu''' ''as often as possible'' <tr><td>'''grojigu''' ''too seldom'' <tr><td>'''g&oacute;jigu''' ''as seldom as possible'' <tr><td>'''g&eacute;jigu''' ''quite often, rather often, frequently enough'' </table> === Prepositions and relational adverbs === <table align=center border=1 cellspacing=0> <tr bgcolor=yellow><th>positive<th>&nbsp;<th>middle<th>&nbsp;<th>negative<th>&nbsp; <tr> <td>'''ab''' <td>on, at the top of <td>'''eb''' <td>between <td>'''ob''' <td>off, at the bottom of <tr> <td>'''&aacute;b''' <td>above, up <td>'''&eacute;b''' <td>amid, among <td>'''&oacute;b''' <td>below, down <tr> <td>'''b&agrave;''' <td>with, along <td>'''b&egrave;''' <td>by, via <td>'''b&ograve;''' <td>without <tr> <td>'''ib''' <td>away from <td>'''---''' <td>&nbsp; <td>'''ub''' <td>toward <tr> <td>'''&iacute;b''' <td>far from <td>'''---''' <td>&nbsp; <td>'''&uacute;b''' <td>near to <tr> <td>'''bi''' <td>from, of <td>'''be''' <td>at <td>'''bu''' <td>to <tr> <td>'''b&iacute;''' <td>starting with, since <td>'''---''' <td>&nbsp; <td>'''b&uacute;''' <td>ending with, up to, as far as <tr> <td>'''&aacute;n''' <td>together <td>'''---''' <td>&nbsp; <td>'''&oacute;n''' <td>apart <tr> <td>'''za''' <td>in front of <td>'''ze''' <td>in the middle of <td>'''zo''' <td>behind <tr> <td>'''z&agrave;''' <td>forward <td>'''z&egrave;''' <td>across <td>'''z&ograve;''' <td>back <tr> <td>'''&aacute;z''' <td>flush with <td>'''&eacute;z''' <td>in <td>'''&oacute;z''' <td>out <tr> <td>'''iza''' <td>straight <td>'''---''' <td> <td>'''uza''' <td>roundabout <tr> <td>'''&iacute;z''' <td>beyond <td>'''---''' <td>&nbsp; <td>'''&uacute;z''' <td>around, about <tr> <td>'''zi''' <td>right <td>'''---''' <td>&nbsp; <td>'''zu''' <td>left <tr> <td>'''z&iacute;''' <td>all over <td>'''z&eacute;''' <td>through <td>'''z&uacute;a''' <td>round <tr> <td>'''ja''' <td>before <td>'''je''' <td>during, while <td>'''jo''' <td>after <tr> <td>'''j&agrave;''' <td>ahead (in time) <td>'''j&egrave;''' <td>throughout <td>'''j&ograve;''' <td>back (in time) <tr> <td>'''ji''' <td>since <td>'''---''' <td> <td>'''ju''' <td>until <tr> <td>'''av''' <td>for <td>'''ev''' <td>if <td>'''ov''' <td>against </table> ==== Compound prepositions ==== : Prepositions can be compounded for more detailed senses: <table align=center border cellspacing=0> <tr bgcolor=yellow><th>compound preposition<th>example <tr><td>'''&eacute;zbu''' ''into''<td>'''It t&ocirc;apa &eacute;zbu tim.''' He walked ''into'' the room. <tr><td>'''&eacute;zbi''' ''in from''<td>'''At upa &eacute;zbi mamil.''' I came ''in from'' the rain. <tr><td>'''&eacute;zbe''' ''in (location)''<td>'''D&eacute;n ce &eacute;zbe n&eacute;m.''' The book is ''inside'' the box. <tr><td>'''&oacute;zbu''' ''out to''<td>'''Po &oacute;zbu ekem.''' Go ''out to'' the playground. <tr><td>'''&oacute;zbi''' ''out of, out from''<td>'''It upea &oacute;zbi ita &eacute;sim.''' He was coming ''out of'' his office. <tr><td>'''&oacute;zbe''' ''out in'' (as in: ''out in the backyard'')<td>'''Pot&ograve;g ce &oacute;zbe mamil.''' The pet is ''out in'' the rain. <tr><td>'''&aacute;bz&egrave;''' ''over''<td>'''Mampar pa &aacute;bz&egrave; tam.''' The plane flew ''over'' the house. <tr><td>'''&oacute;bz&egrave;''' ''under''<td>'''At t&ocirc;apa &oacute;bz&egrave; domep.''' I walked ''under'' the highway. <tr><td>'''z&egrave;bu''' ''across to''<td>'''At t&ocirc;apa z&egrave;bu ogeda kum.''' I walked ''over to'' the other side. <tr><td>'''z&egrave;bi''' ''across from''<td>'''It beme z&egrave;bi at.''' He sits ''across from'' me. <tr><td>'''z&ograve;bu''' ''back to''<td>'''Ait pee z&ograve;bu Berlin.''' We are going ''back to'' Berlin. <tr><td>'''z&ograve;be''' ''back at''<td>'''Ait ce z&ograve;be tom.''' We are ''back at'' home. <tr><td>'''z&ograve;bi''' ''back from''<td>'''Ait ce z&oacute;bi Berlin.''' We are ''back from'' Berlin. <tr><td>'''z&agrave;bu''' ''ahead to''<td>'''Teaso z&agrave;bu eta oj.''' Look ''forward to'' your future. <tr><td>'''z&agrave;bi''' ''ahead of''<td>'''Ed et ce z&agrave;bi at?''' Are you ''ahead of'' me? <tr><td>'''&oacute;nbi''' ''apart from''<td>'''Pa &oacute;nbi ogeti.''' ''It went ''apart from'' the others.'' <tr><td>'''&aacute;nbe''' ''together with''<td>'''Upo &aacute;nbe at.''' Come ''along with'' me. <tr><td>'''izbu''' ''straight to''<td>'''Po izbu &oacute;totem!''' ''Go ''straight to'' hell!'' <tr><td>'''izbi''' ''straight from''<td>'''&Igrave;t upa izbi nunem.''' She came ''straight from'' the market. <tr><td>'''izbe''' ''right at''<td>'''At ca izbe zem.''' I was ''right at'' the center. <tr><td>'''zabi''' ''in front of''<td>'''At ce zabi et.''' I am ''in front of'' you. <tr><td>'''zobi''' ''in back of''<td>'''Et ce zobi at.'''' You are ''in back of'' me. <tr><td>'''abu''' ''onto''<td>'''Bo d&eacute;n abu cem.''' Put the book ''onto'' the table. <tr><td>'''abe''' ''on (at)''<td>'''D&eacute;n ce abe cem.''' The book is ''on'' the table. <tr><td>'''obi''' ''off of''<td>'''Bio d&eacute;n obi cem.''' Take the book ''off of'' the table. <tr><td>'''obe''' ''on the underside of''<td>'''Ece &uacute;d obe cem.''' There is something ''on the underside of'' the table. <tr><td>'''&aacute;bu''' ''up to''<td>'''Po &aacute;bi eta tim.''' Go ''up to'' your room. <tr><td>'''&aacute;be''' ''up in''<td>'''Od ce &iacute;d &aacute;be mam?''' What is that ''up in'' the sky? <tr><td>'''&aacute;bi''' ''up from''<td>'''It upa &aacute;bi aaned.''' He came ''up from'' the first floor. <tr><td>'''&aacute;b&egrave;''' ''up (via)''<td>'''At t&ocirc;apa &aacute;b&egrave; meb.''' I walked ''up'' the mountain. <tr><td>'''&oacute;bu''' ''down to''<td>'''Upo &oacute;bu momtim.''' Come ''down to'' the basement. <tr><td>'''&oacute;be''' ''down in''<td>'''At ce &oacute;be momtim.''' I am ''down in'' the basement. <tr><td>'''&oacute;bi''' ''dowm from''<td>'''Upo &oacute;bi mamtim.''' Come ''down from'' the attic. <tr><td>'''&oacute;b&egrave;''' ''down (via)''<td>'''It igpa &oacute;b&egrave; meb.''' He hurried ''down'' the mountain. <tr><td>'''&oacute;b&eacute;zbu''' ''down into''<td>'''Pa &oacute;b&eacute;zbu mom.''' He went ''down into'' the underground. <tr><td>'''&uacute;zbu''' ''around to''<td>'''Po &uacute;zbu ogeda kum tama.''' Go ''around to'' the other side of the house. <tr><td>'''&uacute;zb&egrave;''' ''around (via)''<td>'''Par pa &uacute;zb&egrave; tam.''' The car went ''around'' the house. <tr><td>'''&iacute;zbi''' ''past, beyond''<td>'''Par pa &iacute;zbi ait.''' The car went ''past'' us. <tr><td>'''&iacute;zbu''' ''on to''<td>'''At pa &iacute;zbu Kanad.''' I went ''on to'' Canada. </table> ==== Postpositions / Cases ==== : The following case endings or postpositions are shortcuts for prepositions: <table align=center border cellspacing=0> <tr bgcolor=yellow><th>short form<th>long form <tr><td>'''-a''' ''of, from''<td>'''bi''' <tr><td>'''-u''' ''to, on, at''<td>'''bu''' ''to'' or '''be''' ''at / in / on'' <tr><td>'''-&agrave;''' ''with''<td>'''b&agrave;''' <tr><td>'''-&ograve;''' ''without''<td>'''b&ograve;''' <tr><td>'''-&egrave;''' ''by, via, through, per''<td>'''b&egrave;''' </table> : For example, the following expressions are equivalent: <table align=center border cellspacing=0> <tr bgcolor=yellow><th>long form<th>short form <tr><td>'''be tam bi X''' ''at the house of X''<td>'''tamu Xa''' <tr><td>'''bi dom bu dom''' ''from town to town''<td>'''doma domu''' <tr><td>'''tej b&ograve; if''' ''life without pleasure''<td>'''tej if&ograve;''' <tr><td>'''b&egrave; Paris''' ''by way of Paris''<td>'''Paris&egrave;''' <tr><td>'''b&agrave; at''' ''with me''<td>'''at&agrave;''' </table> ==== Other Prepositional Constructions ==== <table align=center border cellspacing=0> <tr><td>'''v&eacute;lu''' ''regarding, concerning, about, with respect to'' <tr><td>'''g&egrave; ov''' ''despite'' <tr><td>'''kumu''' ''next to, beside, along, on the side of'' <tr><td>'''&oacute;n bi''' ''apart from'' <tr><td>'''&aacute;n bu''' ''together with'' <tr><td>'''gal''' ''in addition to, plus, including, besides'' <tr><td>'''gol''' ''minus, except'' <tr><td>'''gar''' ''times, multiplied by'' <tr><td>'''gor''' ''divided by'' <tr><td>'''zamu...-a''' ''in the face of'' (also: '''be zamu bi''') <tr><td>'''c&agrave;nu ...-a''' ''in the guise of'' <tr><td>'''canu ...-a''' ''in the form of'' <tr><td>'''debanu ...-a''' ''under the auspices of'' <tr><td>'''&ucirc;b''' ''in the presence of, in the face of'' <tr><td>'''dida ...-&egrave;''' ''at the request of'' <tr><td>'''iju...-a''' ''at the end of'' <tr><td>'''tecu...-a''' ''in the sense of'' <tr><td>'''av b&uacute;un...-a''' ''for the sake of'' <tr><td>'''...''' ''thanks to'' <tr><td>'''...''' ''along the lines of'' <tr><td>'''izanu...-a''' ''in the direction of'' <tr><td>'''z&aacute;g''' ''along'' <tr><td>'''kumnidu ...-a''' ''on the edge of, on the brink of'' <tr><td>'''genidu ...-a''' ''in line with, parallel to'' <tr><td>'''&uacute;banu ...-a''' ''in the vicinity of, around'' <tr><td>'''g&aacute;anu ...-a''' ''in excess of'' <tr><td>'''bi abem...-a''' ''off the top of'' <tr><td>'''bi kumnidu...-a''' ''from the brink of'' <tr><td>'''dudea...-u''' ''in response to'' <tr><td>'''ovbea''' ''in opposition to'' <tr><td>'''...''' ''in contrast to'' <tr><td>'''lovanu...-a''' ''in spite of'' <tr><td>'''oejanu...-a''' ''in the absence of'' <tr><td>'''usu ...-a''' ''because of'' <tr><td>'''usu ...-a''' ''on account of'' <tr><td>'''g&egrave; ov''' ''notwithstanding'' <tr><td>'''...-&egrave;''' ''per'' <tr><td>'''z&eacute;''' ''via'' <tr><td>'''v&eacute;l''' ''than, compared to, relative to'' <tr><td>'''adju ...-a''' ''at the time of'' <tr><td>'''admu ...-a''' ''at the place of'' </table> ==== Using prepositions ==== : Prepositions go between the two elements they link, just as in English. Here are some examples: <table align=center border cellspacing=0> <tr bgcolor=yellow><th>Mirad<th>English <tr><td>Odju et po '''bu d&eacute;ntam'''?(or: '''d&eacute;ntamu''')<td>When are you going ''to the library''? <tr><td>Uda bun ce '''av et''' (or: '''etu''').<td>This gift is ''for you''. <tr><td>Dyen ca '''ab cem''' (or: '''cemu''').<td>The book was ''on the table''. <tr><td>Upu '''bay at''' (or: '''at&agrave;''').<td>Come ''with me''. <tr><td>Iyt igpa '''ub titam'''.<td>She ran ''toward the school''. <tr><td>Et co '''&eacute;z gela titim'''.<td>You will be ''in the same class''. <tr><td>Tob tyoyapa '''&oacute;zbi tam'''.<td>The man walked ''out of the house.'' <tr><td>Mampar zaymampa '''&aacute;bz&egrave; dom'''.<td>The plane flew ''over the city''. <tr><td>Nidpar pa '''bi him bu hum'''.<td>The train went ''from here to there.'' <tr><td>Et voy ibo bun '''ju zemoj'''.<td>You won't receive the ''gift until midnight''. </table> ==== Prepositions prefixed to verbs ==== : As adverbials, many prepositions can be prefixed to other words, especially to verb bases. The following is a list of '''per''' (go) and '''ber''' (put) verbs with prepositional prefixes. Note that prepositions ending in '''b''' drop the '''b''' before the verb bases '''per''' and '''ber'''. <table align=center border cellspacing=0> <tr> <td bgcolor=yellow>'''intransitive''' <td bgcolor=yellow>&nbsp; <td bgcolor=yellow>'''transitive''' <td bgcolor=yellow>&nbsp; <tr> <td style="background:#efefef;">'''aper''' <td>get on <td style="background:#efefef;">'''aber''' <td>put on <tr> <td style="background:#efefef;">'''eper''' <td>stop <td style="background:#efefef;">'''eber''' <td>stop <tr> <td style="background:#efefef;">'''oper''' <td>get off <td style="background:#efefef;">'''ober''' <td>take off <tr> <td style="background:#efefef;">'''&aacute;per''' <td>rise <td style="background:#efefef;">'''&aacute;ber''' <td>raise <tr> <td style="background:#efefef;">'''&eacute;per''' <td>intervene <td style="background:#efefef;">'''&eacute;ber''' <td>block <tr> <td style="background:#efefef;">'''&oacute;per''' <td>descend <td style="background:#efefef;">'''&oacute;ber''' <td>lower <tr> <td style="background:#efefef;">'''iper''' <td>go (away) <td style="background:#efefef;">'''iber''' <td>receive <tr> <td style="background:#efefef;">'''uper''' <td>come <td style="background:#efefef;">'''uber''' <td>send <tr> <td style="background:#efefef;">'''&uacute;per''' <td>approach <td style="background:#efefef;">'''&uacute;ber''' <td>bring near <tr> <td style="background:#efefef;">'''&iacute;per''' <td>go away <td style="background:#efefef;">'''&iacute;ber''' <td>take away <tr> <td style="background:#efefef;">'''&eacute;zper''' <td>enter <td style="background:#efefef;">'''&eacute;zber''' <td>bring in <tr> <td style="background:#efefef;">'''&iacute;zper''' <td>surpass <td style="background:#efefef;">'''&iacute;zber''' <td>take beyond <tr> <td style="background:#efefef;">'''z&eacute;per''' <td>go through <td style="background:#efefef;">'''z&eacute;ber''' <td>pull through <tr> <td style="background:#efefef;">'''z&egrave;per''' <td>transit <td style="background:#efefef;">'''z&egrave;ber''' <td>take across <tr> <td style="background:#efefef;">'''&aacute;nper''' <td>meet <td style="background:#efefef;">'''&aacute;nber''' <td>unite <tr> <td style="background:#efefef;">'''&oacute;nper''' <td>separate <td style="background:#efefef;">'''&oacute;nber''' <td>separate <tr> <td style="background:#efefef;">'''izper''' <td>go straight/ head (for) <td style="background:#efefef;">'''izber''' <td>guide <tr> <td style="background:#efefef;">'''z&uacute;per''' <td>roll <td style="background:#efefef;">'''z&uacute;ber''' <td>turn <tr> <td style="background:#efefef;">'''&oacute;zper''' <td>exit <td style="background:#efefef;">'''&oacute;zber''' <td>take out <tr> <td style="background:#efefef;">'''z&ograve;per''' <td>return, go back <td style="background:#efefef;">'''z&ograve;ber''' <td>take back <tr> <td style="background:#efefef;">'''z&ograve;puer''' <td>arrive back <td style="background:#efefef;">'''z&ograve;buer''' <td>give back <tr> <td style="background:#efefef;">'''zateaser''' <td>look forward <td style="background:#efefef;">'''zoteaser''' <td>look behind <tr> <td style="background:#efefef;">'''z&egrave;teaser''' <td>look across <td style="background:#efefef;">'''z&iacute;teaser''' <td>look all around <tr> <td style="background:#efefef;">'''z&eacute;teaser''' <td>look through <td style="background:#efefef;">'''&iacute;zteaser''' <td>look beyond <tr> <td style="background:#efefef;">'''&eacute;zteaser''' <td>look in <td style="background:#efefef;">'''&oacute;zteaser''' <td>look out <tr> <td style="background:#efefef;">'''&aacute;bteaser''' <td>look up <td style="background:#efefef;">'''&oacute;bteaser''' <td>look down <tr> <td style="background:#efefef;">'''ibteaser''' <td>look away <td style="background:#efefef;">'''izteaser''' <td>look straight (ahead) <tr> <td style="background:#efefef;">'''ziteaser''' <td>look left <td style="background:#efefef;">'''zuteaser''' <td>look right <tr> <td style="background:#efefef;">'''uzteaser''' <td>look askance <td style="background:#efefef;">'''&uacute;zteaser''' <td>look around <tr> <td style="background:#efefef;">'''avdaer''' <td>speak for <td style="background:#efefef;">'''ovdaer''' <td>speak against </table> === Personal pronouns and pronominal adjectives === : Personal pronouns have three ''persons'' (represented by the ordinal vowels '''a''' (1st), '''e''' (2nd), and '''i''' (3rd). : The plural forms have the suffix '''i'''. : There are also three ''case'' forms, which are alternate ways of expressing prepositional relations: Add '''-a''' for the genetive/possessive (''of'', ''from''); '''-u''' for the locative/dative (''to'', ''at'', ''for''); '''-&agrave;''' (short for '''b&agrave;''') for ''with''; '''&egrave;''' (short for '''b&egrave;''') for ''through/by'', and '''&ograve;''' (short for '''b&ograve;''') for ''without''. : Note: These are the same case endings that can be added to any nouns. For example, '''tamu''' (to the house), '''ta&eacute;b&ograve;''' (without hair), '''teda''' (father's). <table border=1 cellspacing=0 cellpadding=2> <tr bgcolor=yellow> <th>nominative/accusative <th>genetive/possessive <th>dative/locative <th>comitive <th>instrumental <th>privative <tr> <td>'''at''' (I, me) <td>'''ata''' (my, mine) <td>'''atu''' (to/for me) <td>'''at&agrave;''' (with me) <td>'''at&egrave;''' (through/by me) <td>'''at&ograve;''' (without me) <tr> <td>'''et''' (you) <td>'''eta''' (your, yours) <td>'''etu''' (to/for you) <td>'''et&agrave;''' (with you) <td>'''et&egrave;''' (through/by you) <td>'''et&ograve;''' (without you) <tr> <td>'''it''' (he, him) <td>'''ita''' (his) <td>'''itu''' (to/for him) <td>'''it&agrave;''' (with him) <td>'''it&egrave;''' (through/by him) <td>'''it&ograve;''' (without him) <tr> <td>'''&igrave;t''' (she,her) <td>'''&igrave;ta''' (her, hers) <td>'''&igrave;tu''' (to/for her) <td>'''&igrave;t&agrave;''' (with her) <td>'''&igrave;t&egrave;''' (through/by her) <td>'''&igrave;t&ograve;''' (without her) <tr> <td>'''ati''' (we, our) <td>'''atia''' (our, ours) <td>'''atiu''' (to/for us) <td>'''ati&agrave;''' (with us) <td>'''ati&egrave;''' (through/by us) <td>'''ati&ograve;''' (without us) <tr> <td>'''eti''' (you [all]) <td>'''etia''' (your, yours) <td>'''etiu''' (to/for you) <td>'''eti&agrave;''' (with you) <td>'''eti&egrave;''' (through/by you) <td>'''eti&ograve;''' (without you) <tr> <td>'''iti''' (they, them (m. or m/f)) <td>'''itia''' (their) <td>'''itiu''' (to/for them) <td>'''iti&agrave;''' (with them) <td>'''iti&egrave;''' (through/by them) <td>'''iti&ograve;''' (without them) <tr> <td>'''&igrave;t''' (they (f.)) <td>'''&igrave;tia''' (their) <td>'''&igrave;tiu''' (to/for them) <td>'''&igrave;ti&agrave;''' (with them) <td>'''&igrave;ti&egrave;''' (through/by them) <td>'''&igrave;ti&ograve;''' (without them) </table> : Possessive pronouns are expressed with the addition of '''-c''' to the genetive/possessive ending: <table border=1 cellspacing=0 cellpadding=2> <tr bgcolor=yellow><th>English<th>Mirad <tr><td>This book is ''mine''.<td>'''Uda d&eacute;n ce ''atac''.''' <tr><td>Those books are ''ours''.<td>'''Ida d&eacute;ni ce ''atiaci''.''' <tr><td>''Theirs'' has not arrived.<td>''' ''Itiac'' v&ograve; pua&eacute;.''' <tr><td>''Theirs'' have arrived.<td>''' ''Itiaci'' pua&eacute;.''' <tr><td>Is this ''yours'' or ''mine''?<td>'''Ev ud ce ''etac'' v&egrave; ''atac''?''' <tr><td>Will you come ''to mine'' tomorrow?<td>'''Ev et upo ''atacu'' zajubu?''' <tr><td>Nothing will happen ''without yours''.<td>'''&oacute;d swo ''etac&ograve;''.''' </table> === Conjunctions === ==== Correlative Conjunctions/Adverbs ==== <table border=1 cellspacing=0 cellpadding=2> <tr bgcolor=yellow><th>positive<th>neutral<th>negative <tr><td>'''va''' ''yes''<td>'''ve''' ''maybe''<td>'''vo''' ''no'' <tr><td>'''v&agrave;''' ''indeed''<td>'''v&egrave;''' ''possibly''<td>'''v&ograve;''' ''not'' <tr><td>'''v&agrave;...v&agrave;''' ''both...and''<td>'''v&egrave;...v&egrave;''' ''either...or''<td>'''v&ograve;...v&ograve;''' ''neither...nor'' <tr><td>'''av''' ''that, so that, for''<td>'''ev''' ''whether, if''<td>'''ov''' ''lest, against'' <tr><td>'''&agrave;''' ''and''<td>'''&egrave;''' ''or''<td>'''&ograve;''' ''but'' <tr><td>'''-&agrave;''' ''with''<td>'''-&egrave;''' ''by, through, via''<td>'''-&ograve;''' ''without'' <tr><td>'''ga''' ''more (than)''<td>'''ge''' ''as, equal to''<td>'''go''' ''less (than'' <tr><td>'''g&aacute;''' ''most''<td>'''g&eacute;''' ''enough''<td>'''g&oacute;''' ''least'' <tr><td>'''g&agrave;''' ''also, moreover''<td>'''g&egrave;''' ''even, including''<td>'''g&ograve;''' ''except, but'' <tr><td>'''gla''' ''very''<td>'''gle''' ''somewhat''<td>'''glo''' ''slightly, little, not very'' <tr><td>'''gra''' ''too (much)''<td>'''gre''' ''just, exactly''<td>'''gro''' ''too little'' </table> Note: '''oev''' = ''unless''; '''ad''' means ''that'' as the conjunction introducing a factual clause, not to be confused with '''av''' meaning ''so that'' introducing a subjunctive or unreal clause. <table border=1 cellspacing=0 cellpadding=2> <tr bgcolor=yellow><th>English<th>Mirad <tr><td> ''I <u>do</u> want to go, but I can<u>not</u>.''<td>'''At <u>v&agrave;</u> vage per &ograve; at <u>v&ograve;</u> vege.''' <tr><td> ''<u>Do</u> you know <u>whether</u> he's coming.''<td>'''<u>Ev</u> et te <u>ev</u> it upo?''' <tr><td> ''It will <u>either</u> rain <u>or</u> snow.''<td>'''<u>V&egrave;</u> mamilo <u>v&egrave;</u> m&agrave;l&oacute;mo.''' <tr><td> ''<u>If</u> it rains, I'll not come.''<td>'''<u>Ev</u> mamilo at v&ograve; upo.''' <tr><td> ''<u>No</u>, it's <u>not</u> true <u>that</u> he died.''<td>'''<u>Vo</u>, <u>v&ograve;</u> ce v&aacute;a <u>ad</u> it tuja.''' <tr><td> ''My father <u>and</u> mother are still alive.''<td>'''Ata ted <u>&agrave;</u> t&egrave;d gaju teje&eacute;.''' <tr><td> ''<u>Is it true that</u> you were you born here?''<td>'''<u>Ev</u> et tija udmu?''' <tr><td> ''We did <u>not</u> know <u>(that)</u> you were married.''<td>'''Ati <u>v&ograve;</u> ta <u>ad</u> et ce tadca.''' <tr><td> ''<u>The fact that</u> you work is not the issue.''<td>'''<u>Ad</u> et &eacute;se v&ograve; ce kos.''' <tr><td> ''<u>Whether</u> you work <u>or</u> play is more important.''<td>'''Et <u>v&egrave;</u> &eacute;se <u>v&egrave;</u> eke ce ga k&iacute;ta.''' <tr><td> ''<u>Unless</u> you go to school you will never learn anything.''<td>'''<u>Oev</u> et po titamu et &oacute;dju tio &uacute;d.''' <tr><td> ''<u>In order to</u> learn you must study <u>more</u>.''<td>'''<u>Av</u> ticer et &eacute;ge <u>ga</u> tier.''' <tr><td> ''Everyone <u>except</u> you is ready.''<td>'''Yat <u>g&ograve;</u> et ce perfia.''' <tr><td> ''<u>Did</u> you want me <u>to</u> come long?'''<td>'''<u>Ev</u> et vaga <u>av</u> at &agrave;pu?''' <tr><td> ''I want you <u>not to</u> leave.''<td>'''At vage <u>ov</u> et piu.''' <tr><td> ''<u>Don't</u> tell her what I did.''<td>'''<u>Ov</u> du &igrave;tu od at sa.''' <tr><td> ''Are you <u>for</u> <u>or</u> <u>against</u> me?''<td>'''<u>Ev</u> et <u>av</u> <u>&egrave;</u> <u>ov</u> at?''' </table> ==== Other Conjunctional Expressions ==== <table border cellspacing=0> <tr bgcolor=yellow><th>conjunction<th>example <tr><td>'''ad''' ''that''<td>'''Ati ta ad it upo.''' ''We knew (that) he would come.'' <tr><td>'''av''' ''so that''<td>'''At egdo id av et tico.''' ''I will repeat it so that you'll understand.'' <tr><td>'''avad''' ''because''<td>'''It tuja bi us avad it v&ograve; ab&aacute; &iacute;gtef.''' ''He died because he was not wearing a helmet.'' <tr><td>'''ju''' ''until''<td>'''Ju et uvdo at v&ograve; teapo et.''' ''Until you apologize, I will not visit you.'' <tr><td>'''ji''' ''since''<td>'''Ji et pua at cee iva.''' ''Since you arrived, I've been happy.'' <tr><td>'''&aacute;nad''' ''even though, although''<td>'''&Aacute;nad et oka, at gaju f&iacute;tce et.''' ''Even though you lost, I still respect you.'' <tr><td>'''ovad''' ''despite the fact that''<td>'''Ovad et zageda, et v&ograve; upa.''' ''Despite the fact that you agreed in advance, you didn't come.'' <tr><td>'''igjo''' ''as soon as''<td>'''Igjo &igrave;t pua at gafi teca.''' ''As soon as she arrived, I felt better.'' <tr><td>'''v&aacute;f&agrave; ge''' ''just as''<td>'''V&aacute;f&agrave; ge at jada, ija mamiler.''' ''Just as I predicted, it started raining.'' <tr><td>'''ge ev''' ''as if''<td>'''&Igrave;t teuboz&aacute; ge ev &igrave;t ca iva.''' ''She smiled as if she were happy.'' <tr><td>'''ev''' ''whether''<td>'''At v&ograve; te ev mamilo.''' ''I don't know whether it will rain.'' <tr><td>'''ev''' ''if''<td>'''Et z&agrave;po ev et &eacute;ko.''' ''You will advance if you try.'' <tr><td>'''&agrave;''' ''and''<td>'''Et &agrave; at ce g&aacute; fia.''' ''You and I are the best.'' <tr><td>'''&egrave;''' ''or''<td>'''Et vege jobier &egrave; kobier; ce eta kebi.''' ''You can borrow or steal; it's your choice.'' <tr><td>'''k&eacute;&agrave; ad''' ''in the event that''<td>'''K&eacute;&agrave; ad mamilo, a&uacute;bio eta mamilovar.''' ''In the event that it should rain, bring along your umbrella.'' <tr><td>'''fi&aacute;kea av''' ''in the hope that''<td>'''It nucbia dr&eacute;net fi&aacute;kea av it ako.''' ''He bought a ticket in the hope that he would win.'' <tr><td>'''f&uacute;nea ov''' ''for fear that''<td>'''It &eacute;zpa f&uacute;nea ov mamilo.''' ''He went inside for fear that it might rain.'' <tr><td>'''ov''' ''lest''<td>'''Bono ov et t&iacute;jso lop&eacute;t.''' ''Stay calm lest you awake the snake.'' <tr><td>'''&oacute;nad''' ''aside from the fact that''<td>'''Yonad gaijop mamile, doma mamecan ce gla fia.''' ''Aside from the fact that it rains occasionally, the city's weather is very nice.'' <tr><td>'''tea ad''' ''knowing that''<td>'''At vage tujer tea ad at po totamu.''' ''I want to die knowing that I will go to heaven.'' </table> === Verbs === : Verbs in Mirad are conjugated for tense (present, past, future), mood (indicative, conditional/imperative/subjunctive/jussive), voice (active, passive), and finiteness. The verbal system is perfectly regular and predictable. : The ''infinitive'', which serves as the dictionary lookup form, always ends in '''-er'''. The ''stem'', therefore, is the infinitive without the '''-er''' ending. For example, the stem of the verb '''buner''' (to push) is '''bun'''. The stem is used as the base of all conjugated verb forms. ==== Finite forms ==== : Finite verb forms are modulated for tense based on the three-way vowel distinction '''a''' (present), '''e''' (past), and '''o''' (future). : A fourth ending, '''u''' is used for the equivalent of the English conditionals, subjunctives, and imperatives. : Verbs can be further modulated for progressive, anterior (perfect), and imminent senses through compounding. : Endings do not change depending on the subject person. For example, unlike in English where ''am'', ''are'', and ''is'' are used in the present depending on the subject, the Unilingua verb '''cer''' has one present indicative form of ''to be'' for all persons: '''ce'''. <table align=center border cellspacing=0> <tr bgcolor=yellow><th>Mirad<th>English <tr><td>'''at ce'''<td>''I am'' <tr><td>'''et ce'''<td>''you are'' <tr><td>'''it ce'''<td>''he is'' <tr><td>'''&igrave;t ce'''<td>''she is'' <tr><td>'''id ce'''<td>''that is, it is'' <tr><td>'''ud ce'''<td>''this is'' <tr><td>'''ot ce'''<td>''who is?'' <tr><td>'''ati ce'''<td>''we are'' <tr><td>'''eti ce'''<td>''you (all) are'' <tr><td>'''iti ce'''<td>''they are'' <tr><td>'''&iacute;ti ce'''<td>''they are'' <tr><td>'''oti ce'''<td>''who are?'' <tr><td>'''&aacute;t ce'''<td>''everyone is'' <tr><td>'''&eacute;t ce'''<td>''whoever/anyone is'' <tr><td>'''&oacute;d ce'''<td>''nothing is'' <tr><td>'''apeti ce'''<td>''horses are'' </table> ===== Simple tense forms ===== : The simple tense verb forms are generated by adding the tense markers '''a''', '''e''', '''o''', or the conditional marker '''u''' to the stem of the verb. For example, the stem of the verb '''ter''' ''to know'' is '''t''' and the inflected forms of the simple tenses are as follows: ===== Active voice forms ===== <table align=center border cellspacing=0> <tr bgcolor=yellow><th>ending<th>meaning<th>example <tr><td>'''e'''<td>''present''<td>'''It te.''' ''He knows.'' <tr><td>'''a'''<td>''past''<td>'''At ta.''' ''I knew.'' <tr><td>'''o'''<td>''future''<td>'''Et to.''' ''You will know.'' <tr><td>'''u'''<td>''conditional''<td>'''Iti tu.''' ''They would know.'' </table> ===== Non-indicative forms ===== : The '''u''' ending is not only used for the conditional as above, but also non-indicative moods such as the imperative and subjunctive. The conditional form without a subject is used for imperatives (direct commands). Positive subjunctives and jussives are expressed with the use of the affirmative jussive conjunction '''av''' (for, so that, let) followed by the subject and the verb in the conditional. <table align=center border cellspacing=0> <tr bgcolor=yellow><th>'''pattern'''<th>'''meaning'''<th>'''example''' <tr><td>'''Vu'''<td>''direct command''<td>'''Aku!''' (short for '''Av et aku!''') ''Win!.'' <tr><td>'''av N Vu'''<td>''may N V''<td>'''Av ati aku!''' ''May we win!.'' <tr><td>'''av N Vu'''<td>''let N V''<td>'''Av it upu.''' ''Let him come.'' <tr><td>'''av N Vu'''<td>''wishes, etc.''<td>'''At v&agrave;ge (av) et piu.''' ''I wish you would leave.'' </table> : Negative subjunctives and jussives are expressed with the use of the negative jussive conjunction '''ov''' (against, lest) followed by the subject and the verb in the conditional. <table align=center border cellspacing=0> <tr bgcolor=yellow><th>'''pattern'''<th>'''meaning'''<th>'''example''' <tr><td>'''ov Vu'''<td>''direct command''<td>'''Ov oku!.''' ''Don't lose!'' <tr><td>'''ov N Vu'''<td>''may N V''<td>'''Ov ati oku!''' ''May we NOT lose!.'' <tr><td>'''ov N Vu'''<td>''lest N V''<td>'''Ov it upu.''' ''Don't let him come.'' <tr><td>'''ov N Vu'''<td>''wishes, etc.''<td>'''At vayge ov et piu.''' ''I wish you would NOT leave (lit: I wish lest you leave).'' </table> : Unreal conditionals are expressed with the conditional conjunction '''ev''' (if, whether) followed by the subject and the verb in the conditional ('''-u''') in both the main and subordinate clause.. <table align=center border cellspacing=0> <tr bgcolor=yellow><th>'''pattern'''<th>'''meaning'''<th>'''example''' <tr><td>'''ev N Vu, N Vu...'''<td>'''if N were..., N would...'''<td>'''Ev at cu edeb, at &iacute;vsu it.''' ''If I were king, I would free him.'' </table> ===== Illative patterns ===== ====== Interrogative ====== : Beginning a sentence with the conditional conjunction '''ev''' (whether, if) makes the sentence into a yes/no question: <table align=center border cellspacing=0> <tr bgcolor=yellow><th>'''pattern'''<th>'''meaning'''<th>'''example''' <tr><td>'''ev + VP'''<td>''Is it true that...?''<td>'''Ev et aka?''' ''Did you win?'' </table> ====== Negative ====== : Use the negative adverb '''voy''' (not) in front a verb to negate it: <table align=center border cellspacing=0> <tr bgcolor=yellow><th>pattern<th>meaning<th>example <tr><td>'''v&ograve; + V'''<td>''negative''<td>'''Et v&ograve; ako.''' ''You will not win.'' <tr><td>'''ev + negVP'''<td>''negative interrogative''<td>'''Ev et v&ograve; ake&eacute;?''' ''Aren't you winning?'' </table> ====== Affirmative ====== : Similarly, the positive adverb '''vay''' (indeed) is used in various combinations to qualify verbs. Like '''v&ograve;''' (not), this adverb immediate preceeds the verb form. <table align=center border cellspacing=0> <tr bgcolor=yellow><th>ending<th>meaning<th>example <tr><td>'''v&agrave; + V'''<td>''affirmative''<td>'''At v&agrave; aka.''' ''I did win. / I won indeed.'' </table> ====== Potential ====== : Used the potential adverb '''v&egrave;''' (maybe) in front of a verb to qualify it as potential or possible (like English ''may''): <table align=center border cellspacing=0> <tr bgcolor=yellow><th>ending<th>meaning<th>example <tr><td>'''v&egrave; + V'''<td>''potential''<td>'''It v&egrave; ako''' ''He may win!.'' <tr><td>'''ev + VP'''<td>''negative potential interrogative''<td>'''Ev et v&egrave; v&ograve; aka&uacute;?''' ''Might'nt you have won?'' </table> ===== Passive voice forms ===== : The passive voice is formed by preceding the tense endings with '''w'''. <table align=center border cellspacing=0> <tr bgcolor=yellow><th>ending<th>meaning<th>example <tr><td>'''w+e'''<td>''present''<td>'''It twe.''' ''He is known.'' <tr><td>'''w+a'''<td>''past''<td>'''It twa.''' ''He was known.'' <tr><td>'''w+o'''<td>''future''<td>'''It two.''' ''He will be known.'' <tr><td>'''w+u'''<td>''conditional''<td>'''It twu.''' ''He would be known.'' </table> ==== Progressive aspect forms ==== : The progressive or continuous tenses, which are optional and used only where the distinction is useful, are formed from the simple present forms by compounding with pre-iotacized tense vowels. <table align=center border cellspacing=0> <tr bgcolor=yellow><th>ending<th>meaning<th>example <tr><td>'''e+&eacute;'''<td>''present continuous active''<td>'''At ake&eacute;.''' ''I am winning.'' (pronounced: ''a-KE-ye'') <tr><td>'''e+&aacute;'''<td>''past continuous active''<td>'''At ake&aacute;''' ''I was winning.'' (pronounced: ''a-KE-ya'') <tr><td>'''e+&oacute;'''<td>''future continuous active''<td>'''At ake&oacute;.''' ''I will be winning.'' <tr><td>'''e+&uacute;'''<td>''conditional continuous active''<td>'''At ake&uacute;.''' ''I would be winning.'' <tr><td>'''we+&eacute;'''<td>''present continuous passive''<td>'''At akwe&eacute;.''' ''I am being beaten.'' <tr><td>'''we+&aacute;'''<td>''past continuous passive''<td>'''At akwe&aacute;''' ''I was being beaten.'' <tr><td>'''we+&oacute;'''<td>''future continuous passive''<td>'''At akwe&oacute;.''' ''I will be in the process of being beaten.'' <tr><td>'''we+&uacute;'''<td>''conditional continuous passive''<td>'''At akwe&uacute;.''' ''I would be in the process of being beaten.'' </table> ==== Anterior tense forms ==== : The anterior or perfect tenses, which are also optional, are formed from the simple past tense form by compounding with pro-iotacized tense vowels. <table align=center border cellspacing=0> <tr bgcolor=yellow><th>ending<th>meaning<th>example <tr><td>'''a+&eacute;'''<td>''present perfect active''<td>'''At aka&eacute;.''' ''I have won.'' <tr><td>'''a+&aacute;'''<td>''past perfect active''<td>'''Ati aka&aacute;''' ''We had won.'' <tr><td>'''a+&oacute;'''<td>''future perfect active''<td>'''Ati aka&oacute;.''' ''We will have won.'' <tr><td>'''a+&uacute;'''<td>''conditional perfect active''<td>'''Ati aka&uacute;.''' ''We would have won.'' <tr><td>'''wa+&eacute;'''<td>''present perfect passive''<td>'''Iti akwa&eacute;.''' ''They have been beaten.'' <tr><td>'''wa+&aacute;'''<td>''past perfect passive''<td>'''Iti akwa&aacute;.''' ''They had been beaten.'' <tr><td>'''wa+&oacute;'''<td>''future perfect passive''<td>'''Iti akwa&oacute;.''' ''They will have been beaten.'' <tr><td>'''wa+&uacute;'''<td>''conditional perfect passive''<td>'''Iti akwa&uacute;.''' ''They would have been beaten.'' </table> ==== Imminent aspect forms ==== : The so-called ''imminent'' tenses are formed from the simple future active tense forms in the same way. <table align=center border cellspacing=0> <tr bgcolor=yellow><th>ending<th>meaning<th>example <tr><td>'''o+&eacute;'''<td>''present imminent active''<td>'''At ako&eacute;.''' ''I am going to win.'' <tr><td>'''o+&aacute;'''<td>''past imminent active''<td>'''At ako&aacute;''' ''I was about to win.'' <tr><td>'''wo+&eacute;'''<td>''present imminent passive''<td>'''Et akwo&eacute;.''' ''You are going to be beaten.'' <tr><td>'''wo+&aacute;'''<td>''past imminent passive''<td>'''Et akwo&aacute;.''' ''You were about to be beaten.'' </table> ==== Non-finite forms ==== <table align=center border cellspacing=0> <tr bgcolor=yellow><th>ending<th>meaning<th>example <tr><td>'''er'''<td>active infinitive<td>'''Et &eacute;ge aker''' ''You must win.'' <tr><td>'''wer'''<td>passive infinitive<td>'''Et v&ograve; vagu akwer''' ''You would not want to be defeated.'' <tr><td>'''en'''<td>active verbal noun<td>'''Aken ce &aacute;d.''' ''Winning is everything.'' <tr><td>'''wen'''<td>passive verbal noun<td>'''At v&ograve; ife akwen.''' ''I do not like being beaten.'' <tr><td>'''ea'''<td>active present participle<td>'''Akea ekut''' ''The winning player'' <tr><td>'''aa'''<td>active past participle<td>'''Akaa ekut''' ''The player who won.'' <tr><td>'''oa'''<td>active future participle<td>'''Tob ce tujoa.''' ''Man is mortal (about to die).'' <tr><td>'''ua'''<td>active conditional participle<td>'''Tob cua deb.''' ''The man who would be king.'' <tr><td>'''wea'''<td>passive present participle<td>'''Akwea ekut''' ''The player being beaten'' <tr><td>'''waa'''<td>passive past participle<td>'''Magelwaa taol''' ''Cooked meat.'' <tr><td>'''woa'''<td>passive future participle<td>'''Teacwoa pancin''' ''the film to be seen'' <tr><td>'''wua'''<td>passive conditional participle<td>'''Oteacwua tob''' ''the invisible man'' <tr><td>'''e&agrave;'''<td>present affirmative gerundive<td>'''At teacibso pue&agrave;.''' ''I will call upon arriving.'' <tr><td>'''e&ograve;'''<td>present negative gerundive<td>'''At ija te&ograve; &eacute;d.''' ''I started without knowing anything.'' <tr><td>'''a&agrave;'''<td>past affirmative gerundive<td>'''Teaca&agrave; at pia.''' ''Having seen, I left.'' <tr><td>'''a&ograve;'''<td>past negative gerundive<td>'''At pila dom teaca&ograve; &aacute;d.''' ''I left the town without having seen everything.'' <tr><td>'''en&egrave;'''<td>present instrumental gerundive<td>'''Et akso gla &eacute;sen&egrave;.''' ''You will succeed by working hard.'' </table> ** Note: The '''-ua/wua''' ending approximates the English ''-able'' ending. '''oteacwua''' = ''invisible'', '''&iacute;ztijua''' = ''survivable'', '''ogorwua''' = ''indivisible'', '''vegua''' = ''capable'', '''opanua''' = ''immobile''. Adding an '''-n''' forms the substantive, eg. '''ogorwuan''' = ''indivisibility''. ==== Conditional constructions ==== : In sentences with conditional clauses the conditional clause is in the same tense as the main clause, contrary to the practice in English: ::* '''Ev mamilo at co uva.''' ''If it rains (= will rain), I will be sad.'' ::* '''Ev mamila&uacute; at ca&uacute; uva.''' ''If it had rained (= would have rained), I would have been sad.'' ::* '''Ev at cu nasika at ga z&iacute;pu.''' ''If I were (=would be) rich, I'd travel more.'' ::* '''Ev et tu dud, (av et) du id atu.''' ''If you (= would) know the answer, (= that you would) tell it to me.'' ==== Sequence of tenses ==== : Unlike in English, the tense of a consecutive clause is a real tense, not an adjusted tense relative to the main clause: ::* '''It da ad it ''tadco'' at.''' ''He said he would (= will) marry me.'' ::* '''It da ad it ''teaca'' it ejipu.''' ''He said he had seen (= saw) it twice.'' ==== Impersonal constructions ==== : Impersonal verbs are conjugated without the subject personal pronoun: ::*'''Mamile&eacute;.'''&nbsp;''It is raining.'' ::*'''Amco.'''&nbsp;''It will warm up.'' ::*'''Eco dropek.'''&nbsp;''There will be a war.'' ::*'''&Eacute;ge av et upu j&aacute;.'''&nbsp;''It is necessary that you come early.'' ::*'''Ce fia.'''&nbsp;''It's ok.'' ==== The verb ''"to be"'' ==== : In Mirad, the verb '''cer''' (''to be'') is not suppressed in the present tense as in some languages like Russian or Agapoff's original version of Unilingua. Also, there is no existential distinction as in Spanish between '''ser''' and '''estar'''. Furthermore, the progressive forms '''ce&aacute;''' and '''ce&eacute;''' can be used at times as in some of the examples below: ::* '''Ati ce &iacute;va!''' ''We are free.'' ::* '''At co idmu.''' ''I'll be there.'' ::* '''D&eacute;ni ca ab cem.''' ''The books were on the table.'' ::* '''Cayo e jubi ji at ca dopu.''' ''It will have been two days since I was in the army.'' ::* '''Cer ey voy cer.''' ''To be or not to be.'' ::* '''At ca&uacute; uva ev et v&ograve; upa&uacute;.''' ''I would have been sad if you hadn't come.'' ::* '''Et ce&eacute; gla fua.''' ''You are being very bad.'' ::* '''At v&ograve; ce&aacute; ivcla.''' ''I was not being funny.'' ==== Reflexive constructions ==== : Verbs can be made reflexive by adding the direct object '''get''' (self). ::* '''At v&iacute;mila get ja per majtulu.''' ''I washed up (washed myself) before going to breakfast.'' ::* '''Tobet tuja get.''' ''The boy killed himself.'' ::* '''At teasa get cinz&eacute;fu.''' ''I looked at myself in the mirror.'' ::* '''Tu get!''' ''Know thyself!'' ==== Modal or auxiliary verbs ==== <table align=center border cellspacing=0> <tr bgcolor=yellow><th>Mirad<th>English<th>Meaning<th>Example <tr><td>'''&iacute;ver'''<td>may<td>permission<td>'''Et &iacute;ve iper.''' ''You may leave.'' <tr><td>'''&uacute;ver'''<td>must<td>requirement<td>'''Et &uacute;ve iper.''' ''You must leave.'' <tr><td>'''&ucirc;ver'''<td>should<td>obligation<td>'''Et &ucirc;ve iper.''' ''You should leave.'' <tr><td>'''&eacute;ger'''<td>have to<td>necessity<td>'''At &eacute;ge iper.''' ''I have to leave.'' <tr><td>'''&ecirc;ger'''<td>should<td>obligation<td>'''Et &ecirc;ge iper.''' ''You ought to leave.'' <tr><td>'''vager'''<td>want to<td>volition<td>'''At vage iper.''' ''I want to leave.'' <tr><td>'''vaager'''<td>long to<td>yearning<td>'''At vaage iper.''' ''I long to leave.'' <tr><td>'''v&agrave;ger'''<td>would like to<td>preference<td>'''At v&agrave;ge iper.''' ''I would like to go.'' <tr><td>'''vagrer'''<td>be eager to<td>eagerness<td>'''At vagre iper.''' ''I am eager to leave.'' <tr><td>'''valter'''<td>intend to<td>intention<td>'''At valte iper.''' ''I intend to leave.'' <tr><td>'''veger'''<td>can<td>ability<td>'''At vege ser id.''' ''I can do that.'' <tr><td>'''voger'''<td>refuse to<td>refusal<td>'''At voge ser id.''' ''I refuse to do that.'' <tr><td>'''&aacute;ker'''<td>expect to<td>expectation<td>'''At &aacute;ke aker.''' ''I expect to win.'' <tr><td>'''&aacute;aker'''<td>hopeto<td>aspiration<td>'''At &aacute;ake aker.''' ''I hope to win.'' <tr><td>'''&eacute;ker'''<td>try to<td>attempt<td>'''It v&ograve; &eacute;ko iper.''' ''He won't try to leave.'' <tr><td>'''&eacute;kler'''<td>dare to<td>dare<td>'''It v&ograve; &eacute;klo iper.''' ''He will not dare leave.'' <tr><td>'''&oacute;ker'''<td>to be surprised to<td>surprise<td>'''At &oacute;ka aker.''' ''I was surprised to win.'' <tr><td>'''ifer'''<td>to love to<td>love<td>'''It ife eker.''' ''He loves to play.'' <tr><td>'''&igrave;fer'''<td>to like to<td>liking<td>'''It &igrave;fe eker.''' ''He likes to play.'' <tr><td>'''ufer'''<td>to hate to<td>hate<td>'''It ufe eker.''' ''He hates to play.'' <tr><td>'''&ugrave;fer'''<td>to dislike to<td>dislike<td>'''It &ugrave;fe eker.''' ''He dislikes playing.'' <tr><td>'''iver'''<td>to be glad to<td>gladness<td>'''At ivo iper.''' ''I shall be glad to leave.'' <tr><td>'''uver'''<td>to regret to<td>regret<td>'''At uva der id.''' ''I regretted saying it.'' <tr><td>'''aver'''<td>to favor<td>espousal<td>'''At ave iper.''' ''I favor leaving.'' <tr><td>'''over'''<td>to be opposed to<td>opposition<td>'''At ove eker.''' ''I am opposed to playing.'' </table> : As you see in the examples above, modal verbs are followed by the infinitive form ('''-er''') of the main verb. ==== Subordinate clauses introduced by <b>ad</b> ==== : The positive complementizer particle '''ad''' (''the fact that'') is used to introduce a subordinate clause: ::* '''At ta (ad) it upo.''' ''I knew THAT he would come.'' ::* '''At ce vala (ad) et v&aacute;de&eacute;.''' ''I'm sure THAT you are telling the truth.'' ::* '''Ad mamilo ce valan.''' ''THAT it will rain is a certainty.'' ::* '''Ata t&egrave;d da (ad) iyt co tamu ojo &egrave;maj.''' ''My mother said THAT she would be home by noon.'' : As in English, if the ''that'' can be dropped without any loss of meaning, it can be: ::* '''At da at dro.''' ''I said I'd (= I'll) write.'' ::* '''Et ta it sa id.''' ''You knew he had done (= did) it.'' : Unlike in English, a relative sequence of tenses is not applied. For example, English "I knew he would come." is rendered in Unilingua as "I knew he will come." : Do not confuse the particles '''ad''' and '''av'''. Clauses following '''ad''' are facts, whereas clauses following '''av''' are unreal wishes. '''Av''' should be thought of as ''so that''. ::* '''At pana <u>av</u> it &aacute;btu.''' ''I moved <u>so that</u> he could (= would) sit down.'' ::* '''At ta <u>ad</u> it &aacute;bto.''' ''I knew <u>that</u> he would (= will) sit down.'' ==== Subordinate clauses introduced by <b>ev</b> ==== : The conditional complementizer particle '''ev''' (''whether'') is used to introduce a subordinate clause of the type "whether...": ::* '''At v&ograve; ta <u>ev</u> it upo.''' ''I did not know <u>whether</u> he would come.'' ::* '''<u>Ev</u> it upo ca tesk&iacute;a atu.''' ''<u>whether</u> he would or would come was not important to me.'' === Adjectives === : Adjectives end in the suffix '''-a'''. They are invariable in form: :* '''aga''' ''big'' :* '''oga''' ''small'' :* '''aza''' ''strong'' :* '''oza''' ''weak'' :* '''taba''' ''bodily'' :* '''teaba''' ''ocular'' :* '''tea''' ''aware'' :* '''otea''' ''unaware'' : Adjectives used substantively to describe persons end in '''-t''', while those used to describe things end in '''-c''': <table align=center border cellspacing=0> <tr bgcolor=yellow><th>adjective<th>animate substantive<th>inanimate substantive <tr><td>'''yoga''' ''young / new''<td>'''yogat''' ''youth''<td>'''yogac''' ''novelty'' <tr><td>'''tuja''' ''dead''<td>'''tujat''' ''dead person''<td>'''tujac''' ''dead thing'' <tr><td>'''fia''' ''good''<td>'''fiat''' ''good person''<td>'''fiac''' ''good thing'' </table> : Adjectives always preceed the noun they modify: :* '''aga tam''' ''a big house'' :* '''yaga drun''' ''the long sentence'' :* '''aza tob''' ''the strong man'' :* '''mona maf''' ''a dark cloud'' : Serial adjectives usually go in the same order as in English: :* '''ujna via jeeba jub''' ''the last beautiful summer day'' ==== Degrees of Comparison in Adjectives and Adverbs ==== ===== Summary of Comparison Constructions ===== : Note: '''v&eacute;l''' is a preposition that comes from the verb '''v&eacute;ler''' ''to relate'' and is used to signal the object against which a relative comparison is being made (''than, relative to''). <table align=center border cellspacing=0> <tr bgcolor=yellow><th>Mirad<th>English <tr><td>'''ga...v&eacute;l'''<td>''more...than'' <tr><td>'''ge...v&eacute;l'''<td>''as...as'' <tr><td>'''go...v&eacute;l'''<td>''less...than'' <tr><td>'''g&aacute;...v&eacute;l'''<td>''the most...in/of'' <tr><td>'''g&eacute;...v&eacute;l'''<td>''rather...compared to'' <tr><td>'''g&oacute;...v&eacute;l'''<td>''the least...in/of'' </table> ===== The Comparative of Superiority ===== : ''More than'' is expressed by the adverb '''ga''', followed by the adjective, adverb, or verb and the preposition '''v&eacute;l''' (in relation to, than, as) preceding the noun, pronoun, or predicate being compared: <table align=center border cellspacing=0> <tr bgcolor=yellow><th>Mirad<th>English <tr><td>'''Ata tadet ce ga aza v&eacute;l et.'''<td>''My brother is stronger than you.'' <tr><td>'''At ga &eacute;se v&eacute;l et.'''<td>''I work more than you.'' <tr><td>'''Ita tedet ga aga v&eacute;l ata.'''<td>''His son is taller than mine.'' <tr><td>'''Uda d&eacute;n ce ga ketlea v&eacute;l idac.'''<td>''This book is more interesting that that one.'' <tr><td>'''Mam ce ga aga v&eacute;l et tese.'''<td>''The sky is bigger than you think.'' </table> ===== The Comparative of Equality ===== : ''As...as''' is expressed by the adverb '''ge''', following by the adjective, adverb, or verb and the preposition '''v&eacute;l''' (in relation to, than, as) preceding the noun, pronoun, or predicate being compared. <table align=center border cellspacing=0> <tr bgcolor=yellow><th>Mirad<th>English <tr><td>'''&Igrave;t ge te v&eacute;l at.'''<td>''She knows as much as I do.'' <tr><td>'''At ge fi deuze v&eacute;l et.'''<td>''I sing as well as you do.'' <tr><td>'''Ata tam ce ge aga v&eacute;l eta.'''<td>''My house is as big as yours.'' <tr><td>'''Ece ge tobi v&eacute;l tobomi.'''<td>''There are as many grownups as babies.'' </table> ===== The Comparative of Inferiority ===== : ''Less...than''' is expressed by the adverb '''go''', following by the adjective, adverb, or verb and the preposition '''v&eacute;l''' (in relation to, than, as) preceding the noun, pronoun, or predicate being compared. <table align=center border cellspacing=0> <tr bgcolor=yellow><th>Mirad<th>English <tr><td>'''&Igrave;t go te v&eacute;l at.'''<td>''She knows less than I do.'' <tr><td>'''At go fi deuze v&eacute;l et.'''<td>''I sing less well than you do.'' <tr><td>'''Ata tam ce go aga v&eacute;l etac.'''<td>''My house is less big than yours.'' <tr><td>'''Ece go tobi v&eacute;l tobomi.'''<td>''There are fewer grownups than babies.'' </table> ===== The Superlative of Superiority ===== : ''The most...of/in''' is expressed by the adverb '''gya''', followed by the adjective, adverb, or verb, and the compared noun or pronoun preceded by the preposition '''vyel'''. <table align=center border cellspacing=0> <tr bgcolor=yellow><th>Mirad<th>English <tr><td>'''Ud ce gya yobaga miam vyel mir.'''<td>''This is the deepest lake in the world.'' <tr><td>'''At gya fi deuze.'''<td>''I sing the best.'' <tr><td>'''Gya fia ticudi vyel ticudyan akbuyo.'''<td>''The best students in the class will be rewarded.'' <tr><td>'''At ce gya ivat vyel yati.'''<td>''I am the happiest person of all.'' </table> ===== The Superlative of Inferiority ===== : ''The least...of/in''' is expressed by the adverb '''gyo''', followed by the adjective, adverb, or verb, and the compared noun or pronoun preceded by the preposition '''vyel'''. <table align=center border cellspacing=0> <tr bgcolor=yellow><th>Mirad<th>English <tr><td>'''Uda ticud ce g&oacute; tepaza v&eacute;l &aacute;da ticudi.'''<td>''This student is the least intelligent of all the students.'' <tr><td>'''At g&oacute; fi deuze.'''<td>''I sing the least well.'' <tr><td>'''G&oacute; fia ticudi v&eacute;l ticudyan u&oacute;vfuso.'''<td>''The worst students in the class will be punished.'' <tr><td>'''At ce g&oacute; ivat v&eacute;l &aacute;ti.'''<td>''I am the least happy person of all.'' </table> ===== Idioms Using Adjectival/Adverbial Comparison Constructions ===== <table align=center border cellspacing=0> <tr bgcolor=yellow><th>Mirad<th>English<th>example <tr><td>'''ga...ga'''<td>''the more...the more''<td>'''Ga mamile ga ilirke.''' ''The more it rains, the more it floods.'' <tr><td>'''ga...go'''<td>''the more...the less''<td>'''Ga iva at ce ga az&agrave; at dae.''' ''The happier I am the louder I speak.'' <tr><td>'''go...ga'''<td>''the less...the more''<td>'''Go et tile ga fia ce.''' ''The less you drink the better.'' <tr><td>'''go...go'''<td>''the less...the less''<td>'''Go et &eacute;zbue go et &oacute;zbie.''' ''The less you put in the less you get out.'' <tr><td>'''g&aacute;...'''<td>''as much as possible...''<td>'''At tele g&aacute; ida telamu.''' ''I eat as much as possible in that restaurant.'' <tr><td>'''g&aacute; ve&aacute;...'''<td>''the most possible''<td>'''Puo g&aacute; j&aacute; ve&aacute;.''' ''Arrive as early as possible.'' <tr><td>'''g&oacute; ve&aacute;...'''<td>''the least possible''<td>'''Bookco g&oacute; ve&aacute;.''' ''Tire yourself out the least possible.'' <tr><td>'''v&ograve;ga...v&eacute;l'''<td>''no more...than''<td>'''At tila oga v&eacute;l jub&eacute;n&agrave;.''' ''I drank no more than usual.'' </table> : Note: '''v&eacute;l''', as a preposition, originates from a verb, much like the prepositions '''gal''' ''plus'' and '''gar''' ''times'': <table align=center border cellspacing=0> <tr bgcolor=yellow><th>verb<th>preposition <tr><td>'''galer''' ''to add''<td>'''gal''' ''plus'' <tr><td>'''garer''' ''to multiply''<td>'''gar''' ''times'' <tr><td>'''goler''' ''to subtract''<td>'''gol''' ''minus'' <tr><td>'''gorer''' ''to divide''<td>'''gor''' ''divided by'' <tr><td>'''v&eacute;ler''' ''to relate''<td>'''v&eacute;l''' ''relative to, than'' </table> === Adverbs === ==== Formation ==== : Adverbs can be formed from adjectives by post-iotacizing the adjectival ending, that is, by changing '''-a''' to '''-&agrave;''', for example: <table align=center border cellspacing=0> <tr bgcolor=yellow><th>adjective<th>adverb <tr><td>'''fia''' ''good''<td>'''fi&agrave;''' ''well'' <tr><td>'''ana''' ''single''<td>'''an&agrave;''' ''only'' <tr><td>'''g&iacute;a''' ''easy''<td>'''g&iacute;&agrave;''' ''easily'' </table> : The adverbial ending '''-&agrave;''' is really the same as the comitive ending, meaning ''with''. So, in effect, nouns in the comitive case are really adverbs. The same holds true for the instrumental ending '''-&egrave;''' ''by means of, through, by''. <table align=center border cellspacing=0> <tr bgcolor=yellow><th>noun<th>adverb <tr><td>'''g&uacute;an''' ''difficulty''<td>'''g&uacute;an&agrave;''' ''with difficulty'' <tr><td>'''&aacute;gan''' ''length''<td>'''&aacute;gan&egrave;''' ''lengthwise, by length'' <tr><td>'''bik''' ''care''<td>'''bik&agrave;''' ''with care, carefully'' <tr><td>'''at''' ''me''<td>'''at&egrave;''' ''by me'' </table> : Similarly, a noun in the dative case ('''-u''') can amount to an adverbial expression. <table align=center border cellspacing=0> <tr bgcolor=yellow><th>noun<th>adverb <tr><td>'''uda job''' ''this day''<td>'''udjobu''' ''today'' <tr><td>'''oda em''' ''which place''<td>'''od(e)mu''' ''where?'' <tr><td>'''tam''' ''house''<td>'''tamu''' ''(at) home'' <tr><td>'''mep''' ''way''<td>'''mepu''' ''en route'' </table> : Some words are inherently adverbs: ::* '''&aacute;b''' ''up'' as in ''go up'' ::* '''&oacute;b''' ''down'' as in ''come down'' ::* '''z&agrave;''' ''ahead'' as in ''run ahead'' ::* '''z&ograve;''' ''back'' as ''come back'' ::* '''&uacute;z''' ''around'' as in ''spin around'' ::* '''ga''' ''more'' as in ''eat more'' ::* '''go''' ''less'' as in ''eat less'' ::* '''ge''' ''same, as'' as in ''as big'' or ''do the same'' ::* '''gla''' ''very'' as in ''very good'' ::* '''glo''' ''not so'' as in ''not so bad'' ::* '''v&agrave;''' ''indeed'' as in ''He is indeed our leader.'' ::* '''v&ograve;''' ''not'' as in ''He is not our leader.'' ::* '''v&egrave;''' ''possibly'' as in ''It's possibly true.'' ==== Comparison ==== : Adverbs are compared in the same way as adjectives: <table align=center border cellspacing=0> <tr bgcolor=yellow><th>normal<th>equalitive degree<th>comparitive degree<th>maximal degree <tr><td>'''ig&agrave;''' ''quickly''<td>'''ge ig&agrave; (v&eacute;l)''' ''as quickly (as)''<td>'''ga ig&agrave;''' ''more quickly''<td>'''g&aacute; ig&agrave;''' ''as quickly as possible'' <tr><td>'''ug&agrave;''' ''slowly''<td>'''ge ug&agrave; (v&eacute;l)''' ''as slowly (as)''<td>'''go ug&agrave;''' ''less slowly''<td>'''g&aacute; ug&agrave;''' ''as slowly as possible'' </table> ==== Syntax ==== : Adverbs, like adjectively, normally precede the element in the sentence which they modify, however, this rule is a loose one and can be bent without peril in most cases. ::* '''<u>Ig&agrave;</u> upu!''' ''Come <u>quickly</u>!'' ::* '''At <u>an&agrave; go</u> te.''' ''I know <u>only a little</u>.'' ::* '''Uda tam <u>fi&agrave;</u> ceswa.''' ''This house was built well.'' ::* '''Et v&ograve; sa ge fu&agrave;.''' ''You did not do as badly.'' ::* '''Upu g&aacute; ub&agrave;.''' ''Come as closely as possible.'' ::* '''At v&ograve; te ev it pa &aacute;b &egrave; &oacute;b.''' ''I don't know whether he went up or down.'' ==== Shortcuts ==== : Adverbs formed from adjectives ending in '''-ia''' or '''-ua''' can be shorted to '''-i''' and '''-u''', respectively: ::* '''Pu fi!''' ''Fare well!'' ::* '''vi swa''' ''beautifully done'' ::* '''&eacute;su g&uacute;!''' ''Work hard!'' <noinclude>{{Mirad/Navigation|Word Families|Conversation Lessons}}</noinclude> 7tw8konrvorb8a33fa5kyvj0itdvplt Chess/Variants 0 39703 4654463 4638066 2026-07-14T17:25:31Z R. Henrik Nilsson 3395618 similary > similarly 4654463 wikitext text/x-wiki [[File:Iacopo da Cessole - De ludo scachorum - 6440860.png|thumb|''De ludo scachorum'', 1493]] Just as chess has changed over the centuries that it has been played, there are people who try to add new features or ideas to chess even now. Sometimes this is just a minor rule change to make things interesting, but sometimes there are whole new ideas that are proposed that will modify chess so substantially that it essentially is a whole new game to be played. The following are some chess variants to be considered if you want to experiment with alternative ideas for playing chess: Many other chess variants can be [[w:Chess variant|found on Wikipedia]]. * [[/Random Opening Chess/]] * [[Arimaa]] * [[/Bug House/]] and [[/Crazy House/]] * [[/Crazy House/]] (see [[/Bug House/]]) * [[/Chinese Chess/]] or [[/Chinese Chess/|Xiangqi]] * [[w:Shogi|Shogi]] or [[w:Shogi|Japanese Chess]] == Fairy chess == It is possible to invent a piece that moves according to any defined set of rules. In fairy chess, pieces are typically divided into three categories: leapers, riders, and hoppers. A '''leaper''' moves directly from one square to another, regardless of the position of any other pieces on the board. In ordinary chess, the knight is a (2,1) leaper: it moves one square horizontally and two squares vertically, or vice versa. The king is a hybrid (1,0) and (1,1) leaper: it moves to any adjacent square. Fairy chess has pieces called camels and zebras: these are long-range leapers like knights, except that they leap (3,1) and (3,2) respectively. Note that a (3,1) leaper, like a bishop, always stays on squares of the same color, but a (3,2) leaper, like a knight, always moves to a square of the opposite color. A '''rider''' is a leaper that can make multiple leaps in the same direction on the same move. In ordinary chess, the bishop is a (1,1) rider: it can move to any square diagonally, no matter how far away it is, as long as there is no other piece blocking the diagonal line. Similarly, the rook is a (1,0) rider. The queen is a hybrid (1,1) and (1,0) rider. A special fairy chess rider is the nightrider or knightrider. This is a knight that can make consecutive knight-hops in the same direction on the same move. A '''hopper''' is a piece that moves in a line while hopping over another piece. There are no hoppers in ordinary chess, but the capture rule in checkers is a kind of hop: the capturing piece jumps over the opponent's piece, which is then removed from the board. Also, the cannon in [[Chess/Variants/Chinese Chess|Xiangqi]] is a hopper. In fairy chess, a hopper may or may not be restricted to jumping over pieces of one color or the other; and the piece that is jumped over may either stay on the board or be removed, depending on the rules for that particular hopper. The piece that is jumped over is not removed from the board; however, a '''locust''' is a special type of hopper (or sometimes considered its own type), which captures an enemy piece over which it jumps. The prototypical fairy chess hopper is the grasshopper. It moves in any direction, like a queen, but it can move only by hopping over another piece, and it lands one square beyond that piece. T. R. Dawson, one of the most prolific chess composers of all time, defined the concepts of fairy chess in the 1930s, and produced many problems using invented pieces such as the nightrider and grasshopper. Fairy chess has become a popular domain for chess composing and solving, especially because it offers a level of creativity that is sometimes hard to find in the more thoroughly developed areas of traditional chess composition. ==See Also== [[Chess Variants]] <noinclude>{{Chess/Navigation|The Endgame|Tournaments}}</noinclude> d3z5e3iybfmlzuqdkhsvpq79xwyn0x6 Celestia/Suggested New Features 0 44502 4654470 4092749 2026-07-14T17:28:28Z R. Henrik Nilsson 3395618 similary > similarly 4654470 wikitext text/x-wiki '''''This page is obsolete.''''' See the page [[Celestia/Bugs and Feature Requests|Bugs and Feature Requests]]. Features requested on this page are very unlikely to be implemented if they aren't on the [https://sourceforge.net/tracker/?group_id=21302&atid=371302| SourceForge list]. If you are interested in any of the features listed below, '''''you''''' must take the responsibility of making sure they're requested on [https://sourceforge.net/tracker/?group_id=21302&atid=371302| SourceForge]. = Keyboard Commands = == Customized Command Key Assignments == It might be useful if it were possible to specify customized command key assignments in a configuration file. == Scripted Key Commands == It might be useful if it were possible to create user-defined key commands using Lua scripting. :This already is possible. See the example script [[Celestia/Celx Scripting:Q&A:Assigning Custom Key Functions with CELX|elsewhere]] in this WikiBook. ...[[User:Selden|Selden]] 19:43, 2 September 2007 (UTC) = Time Controls = == Change Time Flow Rate While Paused == It might be useful if it were possible to change the time flow rate while paused, so that when the pause is ended time would flow at the new rate. :This is possible in Celestia v1.4.1 ...[[User:Selden|Selden]] 19:44, 2 September 2007 (UTC) == GOTO Spacecraft In Time == Currently, one needs to look at the SSC file to see when a spacecraft begins (such as Mir). Doctorjoe created a simple patch, which I have applied to my OS X builds without a problem, that shows the start and end times of a spacecraft in the view window. In addition, hitting shift-G, takes you to the spacecraft's temporal and physical location. I have this patch now... and would be happy to send it to anyone who wants to try incorporating it into CVS (contact: BlindedByTheLight). Furthermore, it might be cool to allow more than just two dates (start and end) to appear in the view. Various spacecrafts have SEVERAL temporal points of interest. Perhaps changing the code so that people could declare various times with text labels... Start Time: 34747373.4234234 Start Text: "Ship takes off" Date1: 35343434.2343 Date1Text: "Ship passes the moon" Date2: 35324344.2343223 Date2Text: "Ship circles Jupiter" End Time: 342423434 End Text: "Ship crashes into Io" Then a keyboard shortcut to go to each successive point in time...? Would be cool and would open up a whole new world for add-ons designers. = Render Options = == Improved illumination phase functions == It might be nice to allow planet/satellite illumination functions to vary dependent on the surface type. Presently objects like Jupiter are more realistic with the default lambert function. Solid surfaces are less realistic and might be improved with a type of "lunar lambert" function. == Improved distance filters == It might be nice to allow distance filters for any object, not only stars. When you have a populated system, it's annoying see all/none names/orbits. It could be possible show only largest/important/brightest names/orbits of objects from your FOV. == Display coordinates == It might be useful to show galactic and equatorial coordinates. == Display apparent magnitude for planetary bodies == It would be interesting to have the apparent magnitude of the selected planetary body displayed. The program already performs these calculations, for instance, to set the scale of the planetary scaled discs, so I assume it wouldn't be too difficult to add this information to the planetary information display. == Display axis == It might be useful to show rotation axis of bodies which I selected to see their orbits. == Display speed/forces == It might be useful to show ship's speed/forces (angular and radial) when I do a follow/sync orbit/track selection. == Create visual filters == It might be wonderful to apply filters: select between infrared, visible, ultraviolet, X-ray and gamma spectrum, simple polarized colors, aberration of light, high level of ambiental light. A stereographic mode, for use with red-cyan glasses, could be excellent (StarStrider have this). == Improved real-time clouds == It might be nice to update clouds from public databases. = View Controls = == Zoom to Fill == It might be useful if there were a key command to cause the view to zoom so that the selected object fills the screen. Then the user could select an object of small apparent size (by onscreen picking or keying-in its name), press a key to center it in the view, and press another key to zoom the view so the object fills the screen. This would be more convenient than manual zooming. == Select Orbits == It might be useful if you can select which orbits (from one group) you will see (if orbits turned on) - for example only from objects with a special size.<br /> Especially if you have many asteroids in you Solar System Browser it becomes very complex in the presentation. An alternative or additionally it might be useful to group orbits close to each other in a "fuzzy" orbit - similarly to the rings of a planet. == Third-Person View == It might be useful if you can see from perspective an Official Celestial Ship for navigation. = Solar System Browser = == Presentation == It might be useful if you can categorise and / or group planets and asteroids, so that a list doesn't become too complex. == Proximity lists == It would be interesting to have a list of the closest objects to the current position not only in the star browser, but also in the planetary one. It would be even more interesting if the program included a function that returned the closest approaches to a given body (or between two bodies of choice) in a given interval. = Orbits = == Galactic Orbits (stellar proper motion) == It might be useful if galactic orbits could be simulated based on stellar proper motion where available. == Segmented Orbits == It might be useful if orbits could be defined with multiple segments, combining elliptical orbit segments with different elements, xyz files, etc. Also if orbits for objects could be made up of different ephemeris data blocks. i.e. so the orbit is correct for various dates of interest. This would be useful when considering planet/moon events and spacecraft missions etc. At the moment using beginning and ending nearly works but celestia then has multiple objects with the same name and does not switch to the visible object of the same name at the specified ending of the objects life. Hence the satellite/Moon/asteroid disappears and the new object pops up but is not tracked only the "ghost" object. == Horseshoe and Tadpole Orbits == It might be useful if horseshoe and tadpole orbits could be specified. == SPICE Orbits == It might be useful if orbits could be specified using NASA's SPICE files. :SPICE orbits will be supported in Celestia v1.5.0. They already can be used in its prereleases. See the documentation [[Celestia/Trajectories|elsewhere]] in this WikiBook. ...[[User:Selden|Selden]] 19:49, 2 September 2007 (UTC) == Horizons Orbit Data Extraction Tool == It might be useful if there were a tool for extracting orbit data from JPL's Horizons system into a Celestia-compatible format. == Critical Interval Orbit Overrides == It might be useful if there were a way to specify xyz data for higher-precision during critical time intervals (e.g. spacecraft flybys) while using less precise orbital data at other times. == Multiple Star Orbit Display == It might be useful if orbits could be displayed for binary/multiple stars. :This already is possible in Celestia v1.4.1. See the documentation [[Celestia/STC File|elsewhere]] in this WikiBook. ...[[User:Selden|Selden]] 19:51, 2 September 2007 (UTC) == Detect collisions == It might be useful if I could select 2 bodies and calculate past and future collisions as Eclipse Finder. Or merge both as an "Events Finder" with alerts. == Extended eclipse finder == It would be real neat to have an extended eclipse finder, able to find them for any body, not just the predefined ones. = Browser = == Show Stars and Planets around Barycenters == It might be useful if it would be possible in the Star Browser to select the barycenter of a binary and then see the corresponding stars with subsequent planets or planets around the barycenter. == Improved search == It might be useful if you can search a name and see all objects which matches it (in any part of the word). And could be interesting show all known names from an object (for example, 2003 UB313 / Xena) = Label Display = == Star Labels == === Star Label Density Control === It might be useful if it were possible for the user to control the density of star labels, e.g. with a magnitude limit. === Catalog Preference for Star Labels === It might be useful if it were possible for the user to specify a precedence ordering of catalogs for selecting which star labels to use. = Data Loading = == Reload Data Without Restart == It might be useful if it were possible to reload the data without restarting the program. This would make it more convenient to test incremental changes to data. Such a reload should be able to reload one file, one directory or all of the data. = Scripting = == CEL Scripting == == CELX Scripting == === Disable User Inputs During Script === It might be useful if there were a script command to disable user inputs while the script is running. Another script command could reenable inputs if desired. The inputs wouild be reenabled automatically when the script ends, and of course the "escape" key to abort the script would always be enabled. === Write Messages to Log from Script === It might be useful if were possible to write messages to the log from a script. === Display Error Messages in Log === It might be useful if scripting error messages were displayed in the log. = Views = == Save Multiple Views in Celestia URLs == It might be useful if multiple views could be saved in a Celestia URL. This would make it possible to easily restore a desired view layout. == Separate Rendering Flag Settings for Each View == It might be useful if Celestia allowed separate rendering flag settings for separate views. This would make it possible, for example, to show orbits in one view but not another. == Default Bookmarks == It might be useful to create default views such as solar system view from above. = Data Files = == Merge STC and SSC file formats == At present Celestia requires separate file formats for stars (STC) and other bodies (SSC). It would work better if these were combined into a single file format with features of both. == Planetary Barycenters == The modelling of planets with large moons is unrealistic because the barycenter of the planet-moon system is always the center of the planet. If a barycenter for a planet-moon system could be specified, the motion of the planet and moon can be modelled more accurately. Examples of systems that can be modelled correctly with this new feature would be Pluto-Charon, Earth-Moon, and certain binary asteroids. :''I believe you can currently create barycenters for planets/moon/asteroids, just not in .ssc files. They have to go in .stc files. Granted, this is an inconvenience.'' ::The Class "invisible" hack was defined long ago for just this purpose. Celestia v1.5.0 adds the ReferencePoint directive for use in SSC files. ...[[User:Selden|Selden]] 19:56, 2 September 2007 (UTC) == Local InfoUrls == Local InfoUrls: have Celestia check local directories for InfoUrl files (html/cel/celx) before trying to look it up on the www. Alternatively, allow local InfoURL files to be specified explicitly. :This latter capability already exists. ...[[User:Selden|Selden]] 19:58, 2 September 2007 (UTC) == Spectral Light Emission == Implement a method to change the spectral color of stars in the STC. If for example you want to create a green star you can now add a green star texture with the "texture" command, but the halo of the star still has the color of the originally selected type i.e. "G2V". So the star doesn't look right. Perhaps a command with [R G B] values for this could be added. :See: "Why aren't there any green stars?" [http://www.astronomycafe.net/qadir/q72.html] Briefly, stars are black body radiators, so the spectral emission of a star is determined by its temperature. Stars emit light at essentially all wavelengths across the spectrum. We perceive color based on the wavelengths to which the receptor cells in our eyes are sensitive. Black body spectra don't have the proper proportion of radiation at different wavelengths to cause our eyes to perceive the light as green. == Multiple Names in the SSC == It might be useful if the objects in the SSC allowed multiple names like stars. This would make it possible, for example, to select asteroids by not only its name but also the number. And this allows enabling translation of the objects' name into various languages keeping original English name. == Customized body categories == (I'm not sure where this one fits best. Feel free to move around) It would be useful to be able to set up customized object categories, for instance, to separate main body asteroids from TNOs or dwarf planets, or whatever the user sees fit. {{BookCat}} m5q1s443npnezt8yqm3c9naqdygdu2e MediaWiki:Common.css 8 50984 4654503 4641949 2026-07-15T00:35:13Z Codename Noreste 3441010 Removing TOC code as the TOC templates now use TemplateStyles code. 4654503 css text/css /* CSS placed here will be applied to all skins */ .mobile-only { display: none; } .PrettyTextBox { background-color: var(--background-color-neutral-subtle, #27292d); color: inherit; border: 1px solid #AAAAAA; padding: 0.2em; } /* Add arrows to toggle-blocks for collapsible elements */ .mw-collapsible-arrowtoggle.mw-collapsible-toggle-expanded { padding-left: 20px !important; background-image: url('//upload.wikimedia.org/wikipedia/commons/1/10/MediaWiki_Vector_skin_action_arrow.png'); background-repeat: no-repeat; background-position: center left; } .mw-collapsible-arrowtoggle.mw-collapsible-toggle-collapsed { padding-left: 20px !important; background-image: url('//upload.wikimedia.org/wikipedia/commons/4/41/MediaWiki_Vector_skin_right_arrow.png'); background-repeat: no-repeat; background-position: center left; } body #siteSub { display: none; } /* Fix the background color on the sitenotice */ table#mw-dismissable-notice { background-color: transparent; } /* Selectively hide headers in WikiProject banners */ .wpb .wpb-header { display: none; } .wpbs-inner .wpb .wpb-header { display: table-row; } /* for other browsers */ .wpbs-inner .wpb-outside { display: none; } /* hide things that should only display outside shells */ .nowraplinks a, .nowraplinks .selflink { white-space: nowrap; } /* Hack to remove comment box for FlaggedRevs, since we seem unable to remove it from configuration. */ #mw-fr-commentbox { display:none; } label[for="mw-fr-commentbox"]{display: none;} body.page-Special_RecentChanges { /* Highlight edit filter tags */ span.mw-tag-markers {background-color: rgba(255, 51, 51, 0.25);} } /* Keep menus in toolbox from growing too long */ .wikiEditor-ui-toolbar .group .menu .options { height:300px; overflow: auto; } /* Show only when printing */ @media screen, projection, handheld { .printonly { display: none !important; } } /* Re-bold-en minor and bot edits in contributions, history, recent changes */ abbr.minoredit, abbr.botedit { font-weight: bold; } #catlinks li { padding:0 .3em; margin:0; } #catlinks li:first-child { padding-left:0; } /* Category tree */ #mw-subcategories ul { list-style: none none; margin-left: 0.25em; } .CategoryTreeChildren { margin-left: 1.25em; } /* To color the "updated since my last visit" in the history */ span.updatedmarker { color: #000; background: #99D642; } /* Geographical coordinates defaults. See [[Template:Coord/link]] for how these are used. The classes "geo", "longitude", and "latitude" are used by the [[w:Geo microformat]]. */ .geo-default, .geo-dms, .geo-dec { display: inline; } .geo-nondefault, .geo-multi-punct { display: none; } .longitude, .latitude { white-space: nowrap; } .nobuttons input.searchboxSearchButton, .nobuttons input.cdx-button { display:none; } /* T156351: Support for Parsoid's Cite implementation */ span[ rel="mw:referencedBy" ] { counter-reset: mw-ref-linkback 0; } span[ rel="mw:referencedBy" ] > a::before { font-weight: bold; font-style: italic; content: counter( mw-ref-linkback, lower-alpha ); } /* System messages styled similarly to fmbox */ /* for .mw-warning-with-logexcerpt, behavior of this line differs between * the edit-protected notice and the special:Contribs for blocked users * The latter has specificity of 3 classes so we have to triple up here. */ .mw-warning-with-logexcerpt.mw-warning-with-logexcerpt.mw-warning-with-logexcerpt, div.mw-lag-warn-high, div.mw-cascadeprotectedwarning, div#mw-protect-cascadeon { clear: both; margin: 0.2em 0; border: 1px solid #bb7070; background-color: var(--background-color-error-subtle, #ffdbdb); padding: 0.25em 0.9em; box-sizing: border-box; } /* default colors for partial block message */ /* gotta get over the hump introduced by the triple class above */ .mw-contributions-blocked-notice-partial .mw-warning-with-logexcerpt.mw-warning-with-logexcerpt { border-color: var(--border-color-warning, #ab7f2a); background-color: var(--background-color-warning-subtle, #fef6e7); } /* Remove bullets when there are multiple edit page warnings */ ul.permissions-errors { margin: 0; } ul.permissions-errors > li { list-style: none; } /* smart counters - allow up to #.#.# levels of counting. */ body { counter-reset: autocount-1 autocount-2 autocount-3; } .autocount:before, .autocount-list ol li:before { counter-increment:autocount-1; content: counter(autocount-1) " "; color:green; } .autocount-reset:before { counter-reset: autocount-1; } .autocount .autocount:before, .autocount-list li ol li:before { counter-increment: autocount-2; content: counter(autocount-1) "." counter(autocount-2) " "; color:red; } .autocount .autocount .autocount:before, .autocount-list li li ol li:before { counter-increment: autocount-3; content: counter(autocount-1) "." counter(autocount-2) "." counter(autocount-3) " "; color:green; } .autocount-list ol { margin-left:1.5em; } .autocount-list ol li { list-style:none; } .autocount-list ol li:first-child { counter-reset: autocount-1; } .autocount-list li ol li:first-child { counter-reset: autocount-2; } .autocount-list li li ol li:first-child { counter-reset: autocount-3; } /* Hover Box for switching the visibility of the selected item */ .hoverbox { display:inline-block; padding:0em; } .hoverbox .hoveritem { display:none; margin:0em; padding:0em; } .hoverbox .hoveritem.selected { display:inline-block; } .hoverbox:hover .hoveritem { display:inline-block; } .hoverbox:hover .hoveritem.selected { display:none; } /* Infobox template style */ .infobox { border:1px solid #aaa; background-color: #f9f9f9; color:black; margin: 0.5em 0em 0.5em 1em; padding: 0.2em; float: right; clear: right; } .infobox td, .infobox th { vertical-align:top; } .infobox caption { font-size: larger; margin-left: inherit; margin-right: inherit; } .infobox.bordered { border-collapse: collapse; } .infobox.bordered td, .infobox.bordered th { border: 1px solid #aaaaaa; } .infobox.bordered .borderless td, .infobox.bordered .borderless th { border: 0px; } .infobox.sisterproject { width: 20em; font-size:90%; } .infobox.standard-talk { border: 1px solid #c0c090; background-color:#f8eaba; } .infobox.standard-talk.bordered td, .infobox.standard-talk.bordered th { border: 1px solid #c0c090; } /* styles for bordered infobox with merged rows */ .infobox.bordered .mergedtoprow td, .infobox.bordered .mergedtoprow th { border:0px; border-top:1px solid #aaaaaa; border-right:1px solid #aaaaaa; } .infobox.bordered .mergedrow td, .infobox.bordered .mergedrow th { border:0px; border-right:1px solid #aaaaaa; } /* Styles for geography infoboxes, eg countries, country subdivisions, cities, etc. */ .infobox.geography { text-align:left; border-collapse:collapse; line-height:1.2em; font-size:90%; } .infobox.geography td, .infobox.geography th { border-top:1px solid #aaaaaa; padding:0.4em 0.6em 0.4em 0.6em; } .infobox.geography .mergedtoprow td, .infobox.geography .mergedtoprow th { border-top:1px solid #aaaaaa; padding:0.4em 0.6em 0.2em 0.6em; } .infobox.geography .mergedrow td, .infobox.geography .mergedrow th { border:0px; padding:0em 0.6em 0.2em 0.6em; } .infobox.geography .mergedbottomrow td, .infobox.geography .mergedbottomrow th { border-top:0px; border-bottom:1px solid #aaaaaa; padding:0em 0.6em 0.4em 0.6em; } .infobox.geography .maptable td, .infobox.geography .maptable th { border:0px; padding:0px; } /* Style for horizontal UL lists */ .horizontal ul, .DPLFlat ul { padding:0em; margin:0em; } .horizontal li, .DPLFlat li { display:inline; padding:0em 0.6em 0em 0.4em; border-right:1px solid #AAA; } .horizontal li:last-child, .DPLFlat li:last-child { border-right:0em; padding-right:0em; } /* Style for vertical UL lists */ .vertical ul { list-style:none; padding:0px; margin:0px; } .vertical li { padding:0.6em 0em 0.4em 0em; border-bottom:1px solid #aaaaaa; } .vertical li:last-child { border-bottom:0px; } /* Style for horizontal lists (separator following item) */ .skin-monobook .hlist dl, .skin-modern .hlist dl, .skin-vector .hlist dl { line-height: 1.5em; } .hlist dl, .hlist ol, .hlist ul { margin: 0; } .hlist dd, .hlist dt, .hlist li { display: inline; margin: 0; } /* Display nested lists inline */ .hlist dl dl, .hlist ol ol, .hlist ul ul { display: inline; } /* Generate interpuncts */ .hlist dt:after { content: ":"; } .hlist dd:after, .hlist li:after { content: " ·"; font-weight: bold; } .hlist dd:last-child:after, .hlist dt:last-child:after, .hlist li:last-child:after { content: none; } /* for IE 8 */ .hlist dd.hlist-last-child:after, .hlist dt.hlist-last-child:after, .hlist li.hlist-last-child:after { content: none; } /* Add parens around nested lists */ .hlist dl dl dd:first-child:before, .hlist ol ol li:first-child:before, .hlist ul ul li:first-child:before { content: "("; } .hlist dl dl dd:last-child:after, .hlist ol ol li:last-child:after, .hlist ul ul li:last-child:after { content: ")"; font-weight: normal; } /* For IE8 */ .hlist dl dl dd.hlist-last-child:after, .hlist ol ol li.hlist-last-child:after, .hlist ul ul li.hlist-last-child:after { content: ")"; font-weight: normal; } /* Put numbers in ordered lists */ .hlist.hnum ol li { counter-increment: level1; } .hlist.hnum ol li:before { content: counter(level1) " "; } .hlist.hnum ol ol li { counter-increment: level2; } .hlist.hnum ol ol li:first-child:before { content: "(" counter(level2) " "; } .hlist.hnum ol ol li:before { content: counter(level2) " "; } /* Unbulleted lists */ .plainlist ul { line-height: inherit; list-style: none none; margin: 0; } .plainlist ul li { margin-bottom: 0; } /* Make the list of references smaller */ div.references { font-size: 90%; } /* Highlight clicked reference in blue to help navigation */ div.references li:target, sup.reference:target, span.citation:target { background-color: #DEF; } /* Ensure refs in table headers and the like aren't bold or italic */ sup.reference { font-weight: normal; font-style: normal; } /* Styling for citations */ span.citation, cite { font-style: normal; word-wrap: break-word; } /* For linked citation numbers and document IDs, where the number need not be shown on a screen or a handheld, but should be included in the printed version */ @media screen, handheld { span.citation *.printonly { display: none; } } /* xambox */ table.xambox { width: 80%; margin: 0 auto; border-collapse: collapse; background: var(--background-color-neutral-subtle, #f8f9fa); color: inherit; border: 1px solid #aaa; border-left: 15px solid #39f; /* Default "notice" blue */ } table.xambox th, table.xambox td { /* The message body cell(s) */ padding: 0.25em 0.5em; /* 0.5em left/right */ } table.xambox td.xambox-image { /* The left image cell */ width: 52px; padding: 2px 0px 2px 0.5em; /* 0.5em left, 0px right */ text-align: center; } table.xambox td.xambox-imageright { /* The right image cell */ width: 52px; padding: 2px 0.5em 2px 0px; /* 0px left, 0.5em right */ text-align: center; } table.xambox-type-notice { border-left: 15px solid #39f; /* Blue */ /* border-right: 10px solid #39f; */ /* If you want two blue bars */ } table.xambox-type-serious { border-left: 15px solid #c00; /* Red */ } table.xambox-type-content { border-left: 15px solid #f63; /* Orange */ } table.xambox-type-style { border-left: 15px solid #fc3; /* Yellow */ } table.xambox-type-merge { border-left: 15px solid #95b; /* Purple */ } /* Put a checkered background at the file description page only visible if the image has transparent background */ .gallerybox .thumb img, .filehistory a img, #file img { background: white url("//upload.wikimedia.org/wikipedia/commons/5/5d/Checker-16x16.png") repeat; } /* Makes the background of a framed transparent image white instead of gray. */ div.thumb div a img { background-color:#ffffff; } /* Change the external link icon to an Adobe icon anywhere the PDFlink class is used (notably Template:PDFlink). This works in IE. */ #content span.PDFlink a, #mw_content span.PDFlink a { background: url("//upload.wikimedia.org/wikipedia/commons/2/23/Icons-mini-file_acrobat.gif") center right no-repeat; padding-right: 18px; } /* Collapsible Containers */ .collapsible { margin:0px; padding:0px; } .collapsible .title, .collapsible tr:first-child th, .collapsible tr:first-child td { cursor:pointer; padding-right:16px; color:inherit; } .collapsible.selected .title, .collapsible.selected tr:first-child th, .collapsible.selected tr:first-child td { color:inherit; } .collapsible span.action { display:block; float:left; white-space:nowrap; text-align:left; height:16px; margin:auto 5px auto 0px; padding:0px; } .collapsible span.action img { height:16px; width:16px; margin:0px; padding:0px; } /* Default skin for navigation boxes */ table.navbox { border:1px solid #aaaaaa; width:100%; margin:auto; clear:both; font-size:88%; text-align:center; padding:1px; } .navbox .collapsible{border:none;} table.navbox + table.navbox { margin-top: -1px; } .navbox-title, .navbox-abovebelow, table.navbox th { text-align:center; padding-left:1em; padding-right:1em; } .navbox-group { white-space:nowrap; text-align:right; font-weight:bold; padding-left:1em; padding-right:1em; } .navbox, .navbox-subgroup { background:#fdfdfd; } .navbox-list { border-color:#fdfdfd; } .navbox-title, table.navbox th { background:#ccccff; } .navbox-abovebelow, .navbox-group, .navbox-subgroup .navbox-title { background: #ddddff; } .navbox-subgroup .navbox-group, .navbox-subgroup .navbox-abovebelow { background: #e6e6ff; } .navbox-even { background: #f7f7f7; } .navbox-odd { background: transparent; } /* Navigation Tabs */ .navtabs .tabs li { list-style:none; } .navtabs .tabs a { text-decoration:none; text-transform:uppercase; outline-width:0px; font-size:x-small; font-weight:bold; color:black; } .navtabs .tabs .inactive { background:#bbb; padding:1ex; } .navtabs .tabs .selected { background:#999; padding:1.1ex; } .navtabs .tabs .inactive:hover { background:#f75; } .navtabs .contents { padding:1ex; border:3px solid #999; } /* search styling */ .mw-search-results { margin:0em; } .mw-search-results table { background: transparent; margin:0em; } .mw-search-results li { padding: 0.5em 1em; border-bottom:1px solid var(--border-color-base, #a2a9b1); background: #f6f8fc; margin:0em; } .mw-search-results li:nth-child(odd) { background: var(--background-color-neutral-subtle, #f8f9fa); color: inherit; } .mw-search-results li:nth-child(even) { background: var(--background-color-base, #fff); color: inherit; } .mw-search-results .searchresult { width:100%; } /* When <div class="nonumtoc"> is used on the table of contents, the ToC will display without numbers */ .toclimit-count .tocnumber, .nonumtoc .tocnumber { display:none; } kfng6x1xjhdy4cs2x0lu010zy5qsf7a Chess Opening Theory/1. e4/1...c5/2. Nf3/2...Nc6/3. d4/3...cxd4/4. Nxd4/4...g6/5. c4/5...Bg7/6. Be3 0 53618 4654491 4494086 2026-07-14T21:36:33Z Greenman 7490 Rejected the last text change (by [[Special:Contributions/Fencontrole|Fencontrole]]) and restored revision 3229796 by PokestarFan - not a move 4654491 wikitext text/x-wiki {{Chess Opening Theory/Position|= |Sicilian Defence, Maroczy Bind| |rd| |bd|qd|kd| |nd|rd|= |pd|pd| |pd|pd|pd|bd|pd|= | | |nd| | | |pd| |= | | | | | | | | |= | | |pl|nl|pl| | | |= | | | | |bl| | | |= |pl|pl| | | |pl|pl|pl|= |rl|nl| |ql|kl|bl| |rl|= || }} = Sicilian Defence, Maroczy Bind = Moves:1.e4 c5 2.Nf3 Nc6 3.d4 cxd4 4.Nxd4 g6 5.c4 Bg7 6.Be3 :[[/6...Nf6/]]: {{ChessMid}} ==References== {{reflist}} {{Chess Opening Theory/Footer}} {{ChessStub}} dktk15q2wo9o3p3ca44ei5hkkryk83a French/Lessons/Introduction 0 69139 4654437 4654400 2026-07-14T14:45:06Z Codename Noreste 3441010 Rejected the last text change (by [[Special:Contributions/~2026-39674-16|~2026-39674-16]]) and restored revision 4531570 by Mickie-Mickie 4654437 wikitext text/x-wiki <noinclude>{{French/Lessons/Introductory/Header}}</noinclude> '''French''' (''Français'', {{French/IPA|/fʁɑ̃sɛ/}}) is a Romance language spoken as a first language by around 136 million people worldwide. A total of 500 million speak it as either a first, second, or foreign language. Moreover, some 200 million people learn French as a foreign language. French speaking communities are present in 56 countries and territories. Most native speakers of the language live in France, the rest live essentially in Canada, particularly the province of Quebec, with minorities in the Atlantic provinces, Ontario, and Western Canada, as well as Belgium, Switzerland, Monaco, Luxembourg, and the U.S. states of Louisiana and Maine. Most second-language speakers of French live in Francophone Africa, arguably exceeding the number of native speakers. French is a descendant of the [[Latin]] language of the Roman Empire, as are national languages such as Italian, Portuguese, Spanish, Romanian and Catalan, and minority languages ranging from Occitan to Neapolitan and many more. Its closest relatives however are the other langues d'oïl and French-based creole languages. Its development was also influenced by the native Celtic languages of Roman Gaul and by the (Germanic) Frankish language of the post-Roman Frankish invaders. It is an official language in 29 countries, plus the Vatican City, which form what is called, in French, ''La Francophonie'', the community of French-speaking countries. It is an official language of all United Nations agencies and a large number of international organizations. According to the European Union, 129 million (or 26% of the Union's total population), in 27 member states speak French, of which 65 million are native speakers and 69 million claim to speak French either as a second language or as a foreign language, making it the third most spoken second language in the Union, after English and German. Twenty-percent of non-Francophone Europeans know how to speak French, totaling roughly 145.6 million people. In addition, from the 17th century to the mid-20th century, French served as the pre-eminent international language of diplomacy and international affairs as well as a lingua franca among the educated classes of Europe. The dominant position of French language has only been overshadowed recently by English, since the emergence of the USA as a major power. As a result of extensive colonial ambitions of France and Belgium, between the 17th and 20th centuries, French was introduced to America, Africa, Polynesia, South-East Asia, and the Caribbean. == History == During the Roman occupation of Gaul, the Latin language was imposed on the natives. This Latin language (Classic Latin) eventually devolved into what is known as [[w:Vulgar Latin|Vulgar Latin]], which was still very similar to Latin. Over the centuries, due to Celtic and Germanic influences (particularly the Franks), ''la langue d'oïl'' was developed. A dialect of ''la langue d'oïl'' known as ''le francien'' was the language of the court, and thus became the official language of what was to become the Kingdom of France, and later the Nation-State of France. From medieval times until the 19th century, French was the dominant language of diplomacy, culture, administration, trade and royal courts across Europe. Due to these factors, French was the ''lingua franca'' of this time period. French has influenced many languages world wide, including English. It is through French (or more precisely Norman, a dialect of ''la langue d'oïl'') that English gets about one third of its vocabulary. == Extent of the language == [[Image:Map-Francophone World.svg|300px|thumb|The French language in the world {{legend|#0049a2|Regions where French is the main language}} {{legend|#006aFF|Regions where it is an official language}} {{legend|#8ec3ff|Regions where it is a second language}} {{legend|#00ff00|Regions where it is a minority language}}]] In modern times, French is still a significant diplomatic language: it is an official language of the United Nations, the Olympic Games, and the European Union. It is also the official language of 29 countries and the Vatican City. Spoken in France, Belgium, Switzerland, Luxemburg, Lebanon, Tunisia, Morocco, Senegal, Haiti, the Ivory Coast, Madagascar, the Congo, Algeria, Niger, Mali, Burkina Faso, Togo, Gabon, the Seychelles, Burundi, Chad, Rwanda, Djibouti, Cameroon, Mauritius, and Canada (mostly in the province of Québec where it is the primary language, but it is also used in other parts of the country). All consumer product packages in Canada are required by law to have both English and French labels. == Advice on studying French == {{see also|How to learn a language}} French tends to have a reputation among English speakers as hard to learn. While it is true that it poses certain difficulties to native English-speakers, it may be noted that English is also considered 'difficult' to learn, and yet we learned it without the benefit of already knowing a language. In fact, the French language can be learned in only [http://web.archive.org/web/20071211081522/http://en.wikinerds.org/index.php/Learning_French_in_10_months 10 months], if only for the specific purpose of passing a standardized test, such as the Test d'Evaluation de Français. According to the Common European Framework of Reference for Languages, in order to reach the level of 'Independent User' (after completing Level B2), you must complete 400 hours of effective learning (so if you study 4 hours a week, every single week of the year, you would need two years to achieve it). Any way you look at it, learning any new language requires a long-term commitment. Remember, that like any skill, it requires a certain amount of effort. And it is likely that if you do not practice your French regularly, you will begin to forget it. Try to make French practice a part of your routine; even if it's not daily, at least make it regular. Also remember that you are learning a new skill. Try to master the easier concepts before moving on to the more complex. We all have to add and subtract before we can do calculus. French is a complete language; thus, while this book can teach you to read and write in French, these are only half of the skills that make up fluency. A written document cannot teach much about listening to and speaking French. You must train on all of these skills, and they will then reinforce one another. The very best way to learn French is to visit France or another French-speaking country. This allows you to start with a clean slate, as babies do. However, since most of us are unwilling or unable to take that step, the next best option is immersion. If you are serious about learning French, a period of immersion (during which you live in a Francophone culture) is a good idea once you have some basic familiarity with the language. If you can't travel to a French-speaking country, then try listening to French-language programs on the radio, TV, or the Internet. Rent or buy French-language movies (many American and U.K. movies have a French language option). Pay attention to pronunciation. Grab a French speaker you meet and talk to him or her in French. Listen, speak, and practice. Read French newspapers and magazines. Google's news page, which links to French-language news stories, is an excellent source that will enrich your vocabulary. ==Written versus modern spoken French== While the French written language is highly standardized, and hasn’t changed much in over two hundred years, the same cannot be said of the spoken language. This book, like all French training material, is oriented towards the written language. The speaking examples are straight from the standardized written language. If you were to become an expert in this French, you would probably be completely confused when you arrive in a French speaking country. Unlike the written language, the spoken language is very dynamic. The French people would not readily understand you, and you would not understand them. You can picture in your mind, a person learning English from a two hundred year old book, and coming to your town and saying "Hast thou" or "Wherefore art thou." The reason written French is stressed in learning (Schools and Internet courses), is that you can go from this standardized language to modern spoken French much easier than English to spoken French, and then going backwards to learning written French. A simple example is: ''Je ne comprends pas'' (I don't understand). For a business person (not wanting to sound too plebeian) this would be spoken as: ''Jeun comprends pas'', with the ''Je ne'' joined together. But most people on the street simplify this even further. The ''ne'' is deemed redundant and falls by the wayside, and the hard ''Je'' sound is reduced to a ''sh'' sound: ''shcomprends pas''. Another example might be ''Il ne fait pas …'' (he/it doesn’t…) resulting in ''y fay pa …'' (ee-fay-pah), or ''Il n'y a pas …'' becoming ''yapa …'' (yah-pah…). French is a language that is read, spoken, and sung. Each has different rules. Lyric and Poetry have pronunciation rules that are different than the written, and spoken French has no rules in comparison. Learning written French is only step one, and modern spoken French is your step two. This book is for learning written French. ==What should I learn first?== Many courses of language study assume you are going there for vacation, and so begin their lessons with common ''survival'' phrases that people use. There is some of that in this book, but consider that ''verbs'' are what makes a language. There are six verbs in French that, when memorized, will give you a head start when moving on to learning sentences. The distinction between a phrase and a sentence is that a phrase does not have a subject or verb. This is why they are easy to learn, and a main part of vacation-type books. You can't go wrong with a phrase. Unlike a phrase, a sentence is a grammatical unit. You will need nouns, pronouns, adjectives (words that modify nouns), adverbs (words that modify verbs and adjectives), etc. A sentence includes a subject (what/whom the sentence is about), and a predicate (words that tell us about the subject). There are also different types of sentences: ''declarative (statements)'', ''interrogative'' (questions), ''exclamative'' (exclamations), and ''commandative'' (commands). The structure of sentences, and not just phrases, must be studied and practiced in order to learn a new language. The most important thing, at beginning levels, is to get your French face on. This means pronunciation is critical. You do not want to have to unlearn anything when you get to the next level. The textual pronunciation examples here are based on the International Phonetic Alphabet (IPA), and should be used to prepare your mind. The IPA symbols are designed by scientists, and are no match to listening to French people within their own environment. It is important to actually listen to a real French speaker at this stage. Use the example voices contained in the book, but also watch French media on the Internet. You should be cautioned about French songs. It is acceptable for artists to twist a word for style and for rhyme, and they love to embellish endings. You will also find that mutes are pronounced in lyric and poetry. It is often the case that a singer or poem recitation will say "ewnuh" for ''une'' and "veeuh" for ''vie''. You may also note, to prevent boredom, a lyric may be "veeuh" on one verse, and "vee" on the next. Examples, as to why songs and poetry are added experiences in learning and enjoying the French language. The beginning verbs are: {| |Être || {{French/IPA|/ɛtʀ/|approx=ehtr}} || To be || Je suis || {{French/IPA|/ʒə sɥi/|approx=zhuh sewee}} || I am |- |Avoir || {{French/IPA|/a.vwaʀ/|approx=ah-vwahr}} || To have || J'ai || {{French/IPA|/ʒe/|approx=zheh}} || I have |- |Savoir || {{French/IPA|/sa.vwaʀ/|approx=sah-vwahr}} || To know || Je sais || {{French/IPA|/ʒə sɛ/|approx=zhuh seh}} || I know |- |Devoir || {{French/IPA|/də.vwaʀ/|approx=duh-vwahr}} || Ought to, must || Je dois || {{French/IPA|/ʒə dwa/|approx=zhuh dwah}} || I must |- |Pouvoir || {{French/IPA|/pu.vwaʀ/|approx=poo-vwahr}} || Able to, can || Je peux || {{French/IPA|/ʒə pø/|approx=zhuh puh}} || I can |- |Vouloir || {{French/IPA|/vu.lwaʀ/|approx=voo-lwahr}} || Want to || Je veux || {{French/IPA|/ʒə vø/|approx=zhuh vuh}} || I want |} Just as in English, you will use these as a base to create the fourteen (14) French tenses: present, future, conditional, etc. Don't worry about tenses for this exercise. They are complications that will take months and years to master. Generally, only ten (10) tenses are used except for advanced levels of French. The above verbs must be mastered to even begin. You might think the list is too short, so feel free to add verbs into your flash-card rotation. The next verb examples, that are important to any language, are the movement-type verbs. While you can "have, know, can, etc." you also need to "go, come, or stay" in many conversations. These verbs are considered basic building blocks. {| |Aller ({{French/IPA|/ale/|approx=ah-lay}} || To go || Je vais || {{French/IPA|/ʒə vɛ/|approx=zhuh veh}} || I go |- |Venir ({{French/IPA|/və.niʀ/|approx=vuh-neer}} || To come || Je viens || {{French/IPA|/ʒə vjɛ̃/|approx=zhuh vy<sup>uh</sup>ah<sup>(n)</sup>}} || I come |- |Sortir ({{French/IPA|/sɔʀ.tiʀ/|approx=sohr-teer}} || To leave, go out || Je sors || {{French/IPA|/ʒə sɔʀ/|approx=zhuh sohr}} || I go out, I leave |- |Partir ({{French/IPA|/paʀ.tiʀ/|approx=pahr-teer}} || To depart || Je pars || {{French/IPA|/ʒə paʀ/|approx=zhuh pahr}} || I depart |- |Rester ({{French/IPA|/ʀɛs.te/|approx=reh-stay}} || To remain, stay || Je reste || ({{French/IPA|/ʒə ʀɛst/|approx=zhuh rehst}} || I remain, I stay |} Again, feel free to add others to your flash-card rotation. That brings us to the "Big Seven" French question words. These, like the above will quickly become complicated as well. The following is obviously simplified, but your understanding at this level will quickly get you to the next level. {| |Où ||{{French/IPA|/u/|approx=oo}} ||Where ||''Où'' est le taxi ? ||Where's the taxi? |- |Quel (''quels'', ''quelle'', ''quelles'') ||{{French/IPA|/kɛl/|approx=kel}} ||Which ||''Quel'' est le problème ?, ||What's the problem? |- |Qui ||{{French/IPA|/ki/|approx=kee}} ||Who ||''Qui'' a pris mon stylo ? ||Who took my pen? |- |Pourquoi ||{{French/IPA|/puʀ.kwa/|approx=poor-kwah}} ||Why ||''Pourquoi'' êtes-vous ici ? ||Why are you here? |- |Quand ||{{French/IPA|/kɑ̃/|approx=kah<sup>(n)</sup>}} ||When ||''Quand'' je suis content, je souris. ||When I'm happy, I smile. |- |Comment ||{{French/IPA|/kɔ.mɑ̃/|approx=koh-mah<sup>(n)</sup>}} ||How ||''Comment'' allons-nous trouver des informations ? ||How will we find some information? |- |Combien ||{{French/IPA|/kɔ̃bjɛ̃/|approx=kohm-by<sup>uh</sup>a<sup>(n)</sup>}} ||How much, how many ||''Combien'' ça coûte ?", "''Combien'' font six et trois ? ||How much does it cost? How much is six plus three? |} Finally, one word that is very often needed: * Parce que ({{French/IPA|/paʀs(ə)kə/|approx=pahrs(uh) kuh}})ː Because '''ex:''' "''Parce que'' vous êtes trop vieux pour ça !" (Because you are too old for this!) Making flash-cards of all the above French words, memorizing them (forward to English/backward to French), will give you a head start in all French language courses. ==Impediment of learning by tricks== There are many methods for students to learn new subjects, and the first method is to use what are known as "tricks," designed to make it easier (so it would seem). These tricks, in most cases, merely prevent the brain from storing the information for direct lookup. One example is the French word ''chat''. We can form a rule, whereby anytime you see a ''ch'' in French, you will substitute a ''c'' and voilà - there you go. Others, such as changing ''-ment'' to ''-ly'' or ''-ant'' to ''-ing'' are a similar waste of time. A good example of the damage that can be done by these "tricks", is in learning Morse Code. Many teachers will begin by showing the dit's and dah's visually, and then make the sound using the key following each symbol. So that dah-di-da-dit "-.-." will be stored in the brain as a ''c'', and somehow (magically) retrieved for use later. Alas, this technique only works up to a certain speed, and then the students brain is so damaged, they have no hope of using the code any faster than 10 Words Per Minute. It was found (in the 1850's), that if you just associate the whole sound with a letter, and ignore the combinations of dit's and dah's, that new students listening to 20 Words Per Minute for several weeks, were able to go to work immediately. A famous Scottish-American named Andrew Carnegie went from a message boy to head telegraph operator by learning to associate sounds with whole words, and not just writing down each character, as the method used by his peers. The advice offered in this book, is to '''avoid these tricks''', and to associate word and sentence sounds with their meaning. Listen to the new word or sentence, and store the meaning in your brain. Do not try to translate one language into your native language before responding. When someone hands you a stick of /di.na.mit/ (''dee-nah-meet'') you should quickly drop it and run, and not stop to translate it into ''dynamite'' first. Simply ''associate'' the word or sentence, but ''do not translate it''. When you go shopping, and hear customers saying in English "How much is that?" then you form an association of that sentence to the person wanting to know a price. Similarly, if you hear people in the market asking "Combien ça coûte?" you don't have to translate the sentence, you associate it with people wanting to know a price (or more often wanting to know a lower price while smiling seductively at the assistant). After associating ten things about the word "Combien" the brain will simplify matters for you, much like it pulls the steering wheel with your arm, after the eyes see a pot-hole ahead. Forever more, "Combien" will be associated with a quantity "How much", or "How many" just as pot-holes are associated with "avoid." <noinclude>{{French/Lessons/Introductory||Alphabet}}</noinclude> gmotzl5uklubl1k30teu8l1xi0xvocf MIPS Assembly/Instruction Formats 0 77117 4654517 4386066 2026-07-15T07:52:27Z ~2026-39715-73 3614487 Added MIPS32 Instruction "XORI" 4654517 wikitext text/x-wiki {{MIPS Assembly Page}} This page describes the implementation details of the MIPS instruction formats. == R Instructions == R instructions are used when all the data values used by the instruction are located in registers. All R-type instructions have the following format: OP rd, rs, rt Where "OP" is the mnemonic for the particular instruction. R instructions all use the opcode 0, with the function in the funct field. ''rs'', and ''rt'' are the source registers, and ''rd'' is the destination register. As an example, the '''add''' mnemonic can be used as: add $s1, $s2, $s3 Where the values in ''$s2'' and ''$s3'' are added together, and the result is stored in ''$s1''. In the main narrative of this book, the operands will be denoted by these names. === R Format === Converting an R mnemonic into the equivalent binary machine code is performed in the following way: {| class="wikitable" style="text-align: center; |- |opcode || rs || rt || rd || shift (shamt) || funct |- |6 bits || 5 bits || 5 bits || 5 bits || 5 bits || 6 bits |} ;opcode:The opcode is the machinecode representation of the instruction mnemonic. The opcode field is 6 bits long (bit 26 to bit 31) but always set to 0 in the R format. The actual instruction to perform is placed in the funct field. ;rs, rt, rd:The numeric representations of the source registers and the destination register. These numbers correspond to the $X representation of a register, such as $0 or $31. Each of these fields is 5 bits long. (25 to 21, 20 to 16, and 15 to 11, respectively). Interestingly, rather than rs and rt being named r1 and r2 (for source register 1 and 2), the registers were named "rs" and "rt" for register source, register target and register destination. ;Shift (shamt):Used with the shift and rotate instructions, this is the amount by which the source operand ''rs'' is rotated/shifted. This field is 5 bits long (6 to 10). ;Funct:In R format instructions, the opcode is always zero, and the '''funct''' parameter contains the code for the different instructions. 6 bits long (0 to 5). For instance, to add numbers in two registers and place the result in a third, the opcode will be set to zero and the function to 0x20. == I Instructions == I instructions are used when the instruction must operate on an immediate value and a register value. Immediate values may be a maximum of 16 bits long. Larger numbers may not be manipulated by immediate instructions. I instructions are called in the following way: OP rt, rs, IMM However, '''sw''' and '''lw''' instructions are called in the following way: OP rt, IMM(rs) Where ''rt'' is the target register, ''rs'' is the source register, and ''IMM'' is the immediate value. The immediate value can be up to 16 bits long. For instance, the '''addi''' instruction can be called as: addi $s1, $s2, 100 Where the value of $s2 plus 100 is stored in $s1. === I Format === I instructions are converted into machine code words in the following format: {| class="wikitable" style="text-align: center; |- | opcode || rs || rt || IMM |- | 6 bits || 5 bits || 5 bits || 16 bits |} ;Opcode: The 6-bit opcode of the instruction. In I instructions, all mnemonics have a one-to-one correspondence with the underlying opcodes. This is because there is no '''funct''' parameter to differentiate instructions with an identical opcode. 6 bits (26 to 31) ;rs, rt: The source and target register operands, respectively. 5 bits each (21 to 25 and 16 to 20, respectively).<ref>{{cite web |url=https://www.cs.umd.edu/class/sum2003/cmsc311/Notes/Mips/format.html |title=Instruction Format |last=Lin |first=Charles |date=2003-03-27 |archiveurl=https://web.archive.org/web/20180101004911if_/http://www.cs.umd.edu/class/spring2003/cmsc311/Notes/Mips/format.html |archivedate=2018-01-01 |accessdate=2019-11-12}}</ref> ;IMM:The 16 bit immediate value. 16 bits (0 to 15). This value is usually used as the offset value in various instructions, and depending on the instruction, may be expressed in two's complement. == J Instructions == J instructions are used when a jump needs to be performed. The J instruction has the most space for an immediate value, because addresses are large numbers. J instructions are called in the following way: OP LABEL Where ''OP'' is the mnemonic for the particular jump instruction, and ''LABEL'' is the target address to jump to. === J Format === J instructions have the following machine-code format: {| class="wikitable" |- |Opcode || Pseudo-Address |- | 6 bits || 26 bits |} ;Opcode:The 6 bit opcode corresponding to the particular jump command. (26 to 31). ;Address:A 26-bit shortened address of the destination. (0 to 25). The full 32-bit destination address is formed by concatenating the highest 4 bits of the PC (the address of the instruction following the jump), the 26-bit pseudo-address, and 2 zero bits (since instructions are always aligned on a 32-bit word). == FR Instructions == FR instructions are similar to the R instructions described above, except they are reserved for use with floating-point numbers: {| class="wikitable" |- |Opcode || fmt || ft || fs || fd || funct |} == FI Instructions == FI instructions are similar to the I instructions described above, except they are reserved for use with floating-point numbers: {| class="wikitable" |- |Opcode || fmt || ft || Imm |} == Opcodes == The following table contains a listing of MIPS instructions and the corresponding opcodes. Opcode and funct numbers are all listed in hexadecimal. {| class="wikitable sortable" ! scope="col" | Mnemonic ! scope="col" | Meaning ! scope="col" | Type ! scope="col" | Opcode ! scope="col" | Funct |- | <code>add</code> || Add || R || 0x00 || 0x20 |- | <code>addi</code> || Add Immediate || I || 0x08 || NA |- | <code>addiu</code> || Add Unsigned Immediate || I || 0x09 || NA |- | <code>addu</code> || Add Unsigned || R || 0x00 || 0x21 |- | <code>and</code> || Bitwise AND || R || 0x00 || 0x24 |- | <code>andi</code> || Bitwise AND Immediate || I || 0x0C || NA |- | <code>beq</code> || Branch if Equal || I || 0x04 || NA |- | <code>blez</code> || Branch if Less Than or Equal to Zero || I || 0x06 || NA |- | <code>bne</code> || Branch if Not Equal || I || 0x05 || NA |- | <code>bgtz</code> || Branch on Greater Than Zero || I || 0x07 || NA |- | <code>div</code> || Divide || R || 0x00 || 0x1A |- | <code>divu</code> || Unsigned Divide || R || 0x00 || 0x1B |- | <code>j</code> || Jump to Address || J || 0x02 || NA |- | <code>jal</code> || Jump and Link || J || 0x03 || NA |- | <code>jalr</code> || Jump and Link Register || R || 0x00 || 0x09 |- | <code>jr</code> || Jump to Address in Register || R || 0x00 || 0x08 |- | <code>lb</code> || Load Byte || I || 0x20 || NA |- | <code>lbu</code> || Load Byte Unsigned || I || 0x24 || NA |- | <code>lhu</code> || Load Halfword Unsigned || I || 0x25 || NA |- | <code>lui</code> || Load Upper Immediate || I || 0x0F || NA |- | <code>lw</code> || Load Word || I || 0x23 || NA |- | <code>mfhi</code> || Move from HI Register || R || 0x00 || 0x10 |- | <code>mthi</code> || Move to HI Register || R || 0x00 || 0x11 |- | <code>mflo</code> || Move from LO Register || R || 0x00 || 0x12 |- | <code>mtlo</code> || Move to LO Register || R || 0x00 || 0x13 |- | <code>mfc0</code> || Move from Coprocessor 0 || R || 0x10 || NA |- | <code>mult</code> || Multiply || R || 0x00 || 0x18 |- | <code>multu</code> || Unsigned Multiply || R || 0x00 || 0x19 |- | <code>nor</code> || Bitwise NOR (NOT-OR) || R || 0x00 || 0x27 |- | <code>xor</code> || Bitwise XOR (Exclusive-OR) || R || 0x00 || 0x26 |- |<code>xori</code> |Bitwise XOR (Exclusive-OR) Immediate |I |0x00 |NA |- | <code>or</code> || Bitwise OR || R || 0x00 || 0x25 |- | <code>ori</code> || Bitwise OR Immediate || I || 0x0D || NA |- | <code>sb</code> || Store Byte || I || 0x28 || NA |- | <code>sh</code> || Store Halfword || I || 0x29 || NA |- | <code>slt</code> || Set to 1 if Less Than || R || 0x00 || 0x2A |- | <code>slti</code> || Set to 1 if Less Than Immediate || I || 0x0A || NA |- | <code>sltiu</code> || Set to 1 if Less Than Unsigned Immediate || I || 0x0B || NA |- | <code>sltu</code> || Set to 1 if Less Than Unsigned || R || 0x00 || 0x2B |- | <code>sll</code> || Logical Shift Left || R || 0x00 || 0x00 |- | <code>srl</code> || Logical Shift Right (0-extended) || R || 0x00 || 0x02 |- | <code>sra</code> || Arithmetic Shift Right (sign-extended) || R || 0x00 || 0x03 |- | <code>sub</code> || Subtract || R || 0x00 || 0x22 |- | <code>subu</code> || Unsigned Subtract || R || 0x00 || 0x23 |- | <code>sw</code> || Store Word || I || 0x2B || NA |} a4j1on6951caqnr2xr19xychgg8ts29 Chess Opening Theory/1. e4/1...a6/2. d4/2...b5 0 103116 4654415 4644139 2026-07-14T12:50:31Z Greenman 7490 ce 4654415 wikitext text/x-wiki {{Chess Position|= |St. George Defence| |rd|nd|bd|qd|kd|bd|nd|rd|= | | |pd|pd|pd|pd|pd|pd|= |pd| | | | | | | |= | |pd| | | | | | |= | | | |pl|pl| | | |= | | | | | | | | |= |pl|pl|pl| | |pl|pl|pl|= |rl|nl|bl|ql|kl|bl|nl|rl|= || }} = St. George Defence = ===2...b5=== White should now start to defend his pawn center. White cannot play Nc3 because of b4 but can play [[/3. Nf3/]] or [[/3. Bd3/]]. As little theory is available on this position, it's hard to tell whether there are other good moves. [[/3. g3/]] sounds interesting as well as [[/3. f4/]] or [[/3. c4/]]. ==Theory table== {{ChessTable}}. '1.e4 a6 2.d4 b5' <table border="0" cellspacing="0" cellpadding="4"> <tr> <th></th> <th align="left"><span style="font-size: small;">3</span></th> </tr> <tr> <th align="right"><span style="font-size: small;">Main line</span></th> <td><span style="font-size: small;">[[/3. Nf3|Nf3]]<br> -</span> </td> <td>=</td> </tr> <tr> <th align="right"><span style="font-size: small;"></span></th> <td><span style="font-size: small;">[[/3. Bd3|Bd3]]<br> -</span> </td> <td>=</td> </tr> <tr> <th align="right"><span style="font-size: small;">Three Pawns Attack</span></th> <td><span style="font-size: small;">[[/3. c4|c4]]<br> -</span> </td> <td>=</td> </tr> <tr> <th align="right"><span style="font-size: small;">Eagle Attack</span></th> <td><span style="font-size: small;">[[/3. a4|a4]]<br> -</span> </td> <td>=</td> </tr> </table> {{ChessMid}} ==References== {{reflist}} {{wikipedia|St. George Defence}} {{Chess Opening Theory/Footer}} sdyom9nl10g6z7ssxvkchznw13lrr64 The Linux Kernel/Modules 0 108805 4654512 4641539 2026-07-15T06:02:12Z Conan 3188 interfaces 4654512 wikitext text/x-wiki <noinclude>{{DISPLAYTITLE:Linux modules}}</noinclude><includeonly>== Modules ==</includeonly> A kernel module is a code that can be loaded into the kernel image at will, without requiring users to rebuild the kernel or reboot their computer. Modular design ensures that you do not have to make a monolithic kernel that contains all code necessary for hardware and situations. Common kernel modules are device drivers, which directly access computer and peripheral hardware. Kernel modules have a .ko extension. ⚲ API : /proc/modules : {{The Linux Kernel/man|8|insmod}} &ndash; simple program to insert a module : {{The Linux Kernel/man|8|modprobe}} &ndash; searches and loads a module with dependencies :: /etc/modprobe.d/, /lib/modprobe.d/, /run/modprobe.d/ :: /lib/modules/$(uname -r)/modules.dep &ndash; module dependencies, is created by depmod -a : {{The Linux Kernel/man|8|lsmod}} &ndash; list loaded modules : {{The Linux Kernel/man|8|kmod}} &ndash; core program to manage Linux Kernel modules : {{The Linux Kernel/man|8|modinfo}} : /sys/module/$name/parameters/ &ndash; current module parameter values : /sys/module/$name/initstate &ndash; module initialization state (live, coming, going) : [https://man.archlinux.org/man/dkms.8 dkms] &ndash; Dynamic Kernel Module Support, automatically rebuilds out-of-tree modules on kernel upgrades :: dkms status &ndash; list installed DKMS modules and their build state : {{The Linux Kernel/man|2|init_module}}, {{The Linux Kernel/man|2|finit_module}} &ndash; load a kernel module : {{The Linux Kernel/man|2|delete_module}} &ndash; unload a kernel module : {{The Linux Kernel/include|linux/init.h}} &ndash; initcalls : {{The Linux Kernel/include|linux/module.h}} &ndash; macros and functions for kernel module support :: {{The Linux Kernel/id|module_init}} &ndash; module initialization entry point :: {{The Linux Kernel/id|module_exit}} &ndash; module cleanup exit point :: {{The Linux Kernel/id|MODULE_LICENSE}} &ndash; licence declaration : {{The Linux Kernel/include|linux/mod_devicetable.h}} &ndash; device ID tables for module device matching : {{The Linux Kernel/include|linux/moduleparam.h}} &ndash; module parameter declaration ({{The Linux Kernel/id|module_param}}) : {{The Linux Kernel/include|linux/export.h}} &ndash; macros for symbol export control to kernel modules. : {{The Linux Kernel/include|linux/kernel.h}} &ndash; miscellaneous stuff ⚙️ Internals : {{The Linux Kernel/source|kernel/module}} &ndash; loadable module support 📖 References : {{The Linux Kernel/doc|Building External Modules|kbuild/modules.html}} 📚 Further reading : {{w|Loadable kernel module}} : [https://sysprog21.github.io/lkmpg/ The Linux Kernel Module Programming Guide] : https://wiki.archlinux.org/title/Kernel_module : [https://github.com/makelinux/ldt Linux Driver Template] : http://lwn.net/images/pdf/LDD3/ch02.pdf : http://www.xml.com/ldd/chapter/book/ch02.html : [https://docs.redhat.com/en/documentation/red_hat_enterprise_linux/9/html/managing_monitoring_and_updating_the_kernel/managing-kernel-modules_managing-monitoring-and-updating-the-kernel Managing kernel modules, RHEL] : http://www.tldp.org/LDP/tlk/modules/modules.html {{BookCat}} kzzqt3feeop996wa4znjfj53bnd298b Wikijunior:Human Body/Heart 110 117422 4654504 3596782 2026-07-15T01:02:07Z ~2026-39671-03 3614444 /* Right heart */ 4654504 wikitext text/x-wiki __NOTOC__ ==What does a heart look like?== [[Image:Diagram_of_the_human_heart_%28cropped%29.svg|300px|right|thumb|Diagram showing the parts of a human heart.]] The heart is about the size of a person's clenched fist. It is made of [[Wikijunior:Human_Body/Glossary#muscle|muscle]]. It is a muscular organ. ==What are the parts of the heart?== The heart has two sides: the left side and the right side. Each side of the heart is divided into two parts, called the [[Wikijunior:Human_Body/Glossary#atrium|atrium ]] and the [[Wikijunior:Human_Body/Glossary#ventricle|ventricle]]. The atrium is the top part. The ventricle is on the bottom. Both sides of the heart have a blood vessel (a vein) through which blood flows into the atrium. Valves are like doors that control where blood goes. Valves separate the atrium from the ventricle. Another set of valves controls the flow of blood from the ventricle to the artery that sends blood back into the body. The heart is a big muscle that builds up blood pressure by contracting. When the heart contracts, it squeezes or pumps blood throughout the entire body. This is the "beating" of your heart. <includeonly></includeonly>=== Right heart === The vein leading to the right atrium is called ''vena cava'''. It has the blood returning from all parts of the body (without oxygen). The '''right ventricle''' pumps the blood through the '''pulmonary artery''' to the lungs to get oxygen. Veins bring blood to the heart. === Left heart === Blood with fresh oxygen returns from the lungs through the '''pulmonary vein''' and flows into the '''left atrium'''. The '''left ventricle''' pumps the blood into the artery called the '''aorta'''. It supplies the whole body except the lungs with blood. ==What is the function of the heart?== The heart is the strongest muscle in the body. The heart is a '''pump''' that pumps blood to different organs of the body. Blood is the medium that carries gases, liquids, nutrients, and [[Wikijunior:Human_Body/Glossary#waste|waste]] all over the body. It is red in color because of the red blood [[Wikijunior:Human_Body/Glossary#cell|cells]]. Blood also contains white blood cells which defends the body against [[Wikijunior:Human_Body/Glossary#disease|diseases]] and makes repairs to damaged tissues. The heart moves the blood (with the oxygen, nutrients, water, and waste) to and from all parts of the body. ==How does the heart beat?== Before each beat, your heart fills with blood. Then its muscle contracts to squirt the blood along. When the heart contracts, it squeezes — try squeezing your hand into a fist. That is like what your heart does so it can squirt out the blood. Your heart does this all day and all night, all the time. ==What organ system(s) is the heart connected with?== The heart is part of the '''circulatory system'''. Its main job is to move blood from the '''lungs''' to all other parts of the body and back. In the lungs, the blood gets oxygen from the air you breathe and leaves waste to be breathed out. ==How does the heart interact with other parts of the body?== Blood with fresh oxygen is pumped through the body through tubes called '''arteries'''. Arteries divide up into smaller and smaller blood vessels. Finally, tiny blood vessels called capillaries deliver oxygen and nutrients to the body's cells. Then carbon dioxide and waste products are absorbed in the blood. The blood then returns to the right heart through blood vessels called '''veins'''. From the right heart, blood is pumped through the lungs where carbon dioxide is released and oxygen is absorbed to re-oxygenate the blood. From the lungs, the blood returns to the left heart where the cycle begins all over. Note: * Blood vessels leaving the heart are called arteries. (You can remember this by thinking of "a" for "away" from the heart.) * Blood vessels entering the heart are called veins. * All arteries contain oxygenated blood except the pulmonary artery which sends blood to the lungs. * All veins contain de-oxygenated blood except the pulmonary vein which moves blood from the lungs to the left heart. ==How can you keep your heart healthy?== You can have a healthy heart by: * getting appropriate exercise * eating healthy food (a balanced diet) * controlling high blood pressure * controlling how much you smoke {{BookCat}} hs2yzp19bk25lhfrlu252o72gi80qlx 4654505 4654504 2026-07-15T01:39:37Z Atcovi 1015207 [[WB:REVERT|Reverted]] edit by [[Special:Contributions/~2026-39671-03|~2026-39671-03]] ([[User talk:~2026-39671-03|talk]]) to last version by Mrjulesd 3596782 wikitext text/x-wiki __NOTOC__ ==What does a heart look like?== [[Image:Diagram_of_the_human_heart_%28cropped%29.svg|300px|right|thumb|Diagram showing the parts of a human heart.]] The heart is about the size of a person's clenched fist. It is made of [[Wikijunior:Human_Body/Glossary#muscle|muscle]]. It is a muscular organ. ==What are the parts of the heart?== The heart has two sides: the left side and the right side. Each side of the heart is divided into two parts, called the [[Wikijunior:Human_Body/Glossary#atrium|atrium ]] and the [[Wikijunior:Human_Body/Glossary#ventricle|ventricle]]. The atrium is the top part. The ventricle is on the bottom. Both sides of the heart have a blood vessel (a vein) through which blood flows into the atrium. Valves are like doors that control where blood goes. Valves separate the atrium from the ventricle. Another set of valves controls the flow of blood from the ventricle to the artery that sends blood back into the body. The heart is a big muscle that builds up blood pressure by contracting. When the heart contracts, it squeezes or pumps blood throughout the entire body. This is the "beating" of your heart. === Right heart === The vein leading to the right atrium is called ''vena cava'''. It has the blood returning from all parts of the body (without oxygen). The '''right ventricle''' pumps the blood through the '''pulmonary artery''' to the lungs to get oxygen. Veins bring blood to the heart. === Left heart === Blood with fresh oxygen returns from the lungs through the '''pulmonary vein''' and flows into the '''left atrium'''. The '''left ventricle''' pumps the blood into the artery called the '''aorta'''. It supplies the whole body except the lungs with blood. ==What is the function of the heart?== The heart is the strongest muscle in the body. The heart is a '''pump''' that pumps blood to different organs of the body. Blood is the medium that carries gases, liquids, nutrients, and [[Wikijunior:Human_Body/Glossary#waste|waste]] all over the body. It is red in color because of the red blood [[Wikijunior:Human_Body/Glossary#cell|cells]]. Blood also contains white blood cells which defends the body against [[Wikijunior:Human_Body/Glossary#disease|diseases]] and makes repairs to damaged tissues. The heart moves the blood (with the oxygen, nutrients, water, and waste) to and from all parts of the body. ==How does the heart beat?== Before each beat, your heart fills with blood. Then its muscle contracts to squirt the blood along. When the heart contracts, it squeezes — try squeezing your hand into a fist. That is like what your heart does so it can squirt out the blood. Your heart does this all day and all night, all the time. ==What organ system(s) is the heart connected with?== The heart is part of the '''circulatory system'''. Its main job is to move blood from the '''lungs''' to all other parts of the body and back. In the lungs, the blood gets oxygen from the air you breathe and leaves waste to be breathed out. ==How does the heart interact with other parts of the body?== Blood with fresh oxygen is pumped through the body through tubes called '''arteries'''. Arteries divide up into smaller and smaller blood vessels. Finally, tiny blood vessels called capillaries deliver oxygen and nutrients to the body's cells. Then carbon dioxide and waste products are absorbed in the blood. The blood then returns to the right heart through blood vessels called '''veins'''. From the right heart, blood is pumped through the lungs where carbon dioxide is released and oxygen is absorbed to re-oxygenate the blood. From the lungs, the blood returns to the left heart where the cycle begins all over. Note: * Blood vessels leaving the heart are called arteries. (You can remember this by thinking of "a" for "away" from the heart.) * Blood vessels entering the heart are called veins. * All arteries contain oxygenated blood except the pulmonary artery which sends blood to the lungs. * All veins contain de-oxygenated blood except the pulmonary vein which moves blood from the lungs to the left heart. ==How can you keep your heart healthy?== You can have a healthy heart by: * getting appropriate exercise * eating healthy food (a balanced diet) * controlling high blood pressure * controlling how much you smoke {{BookCat}} q321qtfi2nlpqdrxd4p4r8qpg6rao3h Linear Algebra/Introduction to Matrices and Determinants 0 118527 4654471 3426847 2026-07-14T17:29:15Z R. Henrik Nilsson 3395618 similary > similarly 4654471 wikitext text/x-wiki The determinant is a function which associates to a square matrix an element of the field on which it is defined (commonly the real or complex numbers). == Matrices == [[Image:Matrix.png|thumb|200px|right|Organization of a matrix]] Informally an ''m''&times;''n'' matrix (plural matrices) is a rectangular table of entries from a [[w:Field (mathematics)|field]] (that is to say that each entry is an [[w:Element (mathematics)|element]] of a field). Here m is the number of rows and n the number of the columns in the table. Those unfamiliar with the concept of a field, can for now assume that by a field of characteristic 0 (which we will denote by F) we are referring to a particular subset of the set of [[HSE Complex number|complex numbers]]. An m&times;n matrix (read as m by n matrix), is usually written as: :<math>A=\left(\begin{matrix} a_{11}&a_{12}&\cdots&a_{1n}\\ a_{21}&a_{22}&\cdots&a_{2n}\\ \vdots&\vdots&\ddots&\vdots\\ a_{m1}&a_{m2}&\cdots&a_{mn} \end{matrix}\right)</math> The <math>i^{th}</math> row is an element of [[w:Cartesian product|<math>F^n</math>]], showing the n components <math>\begin{pmatrix}a_{i1} & a_{i2} &\cdots a_{in} \end{pmatrix}</math>. Similarly the <math>j^{th}</math> column is an element of <math>F^m</math> showing the m components <math>\begin{pmatrix}a_{1j}\\a_{2j}\\\vdots\\a_{mj}\end{pmatrix}</math>. Here m and n are called the ''dimensions'' of the matrix. The dimensions of a matrix are always given with the number of rows first, then the number of columns. It is also said that an m by n matrix has an ''order'' of m&times;n. Formally, an m&times;n matrix M is a [[w:Function (mathematics)|function]] <math>M:A\rightarrow F</math> where A = {1,2...m} [[w:Cartesian product|&times;]] {1,2...n} and F is the field under consideration. It is almost always better to visualize a matrix as a rectangular table (or array) then as a function. A matrix having only one row is called a ''row matrix'' (or a ''row vector'') and a matrix having only one column is called a ''column matrix'' (or a ''column vector''). Two matrices of the same order whose corresponding entries are equal are considered equal. The (''i'',''j'')-entry of the matrix (often written as <math>A_{ij}</math> or <math>A_{i,j}</math>) is the element at the intersection of the <math>i^{th}</math> row (from the top) and the <math>j^{th}</math> column (from the left). For example, : <math>\begin{pmatrix} 3 & 4 & 8 \\ 2 & 7 & 11 \\ 1 & 1 & 1 \end{pmatrix}</math> is a 3&times;3 matrix (said 3 by 3). The 2nd row is <math>\begin{pmatrix}2 & 7 & 11 \end{pmatrix}</math> and the 3rd column is <math>\begin{pmatrix} 8\\ 11 \\ 1\end{pmatrix}</math>. The (2,3) entry is the entry at intersection of the 2nd row and the 3rd column, that is 11. Some special kinds of matrices are: * A ''square matrix'' is a matrix which has the same number of rows and columns. A ''diagonal matrix'' is a matrix with non zero entries only on the main diagonal (ie at <math>A_{i,i}</math> positions). * The ''unit matrix'' or ''identity matrix'' I<sub>n</sub>, is the matrix with elements on the diagonal set to 1 and all other elements set to 0. Mathematically, we may say that for the identity matrix <math>I_{i,j}</math> (which is usually written as <math>\delta_{i,j}</math> and called [[w:Kronecker's delta|Kronecker's delta]]) is given by: <math> \delta_{i,j} = \begin{cases} 1, & i=j \\ 0, & i \neq j \end{cases}</math> For example, if ''n'' = 3: : <math> I_3 = \begin{bmatrix} 1 & 0 & 0 \\ 0 & 1 & 0 \\ 0 & 0 & 1 \end{bmatrix} .</math> * The ''transpose'' of an m-by-n matrix A is the n-by-m matrix A<sup>T</sup> formed by turning rows into columns and columns into rows, i.e. <math>A_{i,j} = A^T_{j,i} \forall i,j</math>. An example is <math> \begin{bmatrix} 1 & 2 \\ 3 & 4 \\ 5 & 6 \end{bmatrix}^{\mathrm{T}} \!\! \;\! = \, \begin{bmatrix} 1 & 3 & 5\\ 2 & 4 & 6 \end{bmatrix} \; </math> *A square matrix whose transpose is equal to itself is called a ''symmetric matrix''; that is, A is symmetric if <math>A^{\mathrm{T}} = A.\,</math>. An example is <math>\begin{bmatrix} 1 & 2 & 3\\ 2 & 4 & -5\\ 3 & -5 & 6\end{bmatrix}</math> *A square matrix whose transpose is equal to its negative is called ''skew-symmetric matrix''; that is, A is skew-symmetric if <math>A^{\mathrm{T}} = -A.\,</math>. An example is <math>\begin{bmatrix} 0 & -3 & 4\\ 3 & 0 & -5\\ -4 & 5 & 0\end{bmatrix}</math> Properties of these matrices are developed in the exercises. ==Determinants== To define a determinant of order n, suppose there are n<sup>2</sup> elements of a field s<sub>ij</sub> where i and j are less than or equal to n. Define the following function (this function is important in the definition): S(a<sub>1</sub>,a<sub>2</sub>,a<sub>3</sub>,...,a<sub>n</sub>)=# of reversals, meaning the number of times a<sub>n1</sub><a<sub>n2</sub> when n<sub>1</sub>>n<sub>2</sub>, for each possible combination. Suppose you have a permutation of numbers from 1 to n {a<sub>1</sub>,a<sub>2</sub>,a<sub>3</sub>,...,a<sub>n</sub>). Then define a term of the determinant to be equal to (-1)<sup>S(a<sub>1</sub>,a<sub>2</sub>,a<sub>3</sub>,...,a<sub>n</sub>)</sup>s<sub>1a1</sub>,s<sub>2a2</sub>,s<sub>3a3</sub>,...,s<sub>nan</sub>. The sum of all possible terms (i. e. through all possible permutations) is called the determinant. ==Theorem== Definition: The transpose of a matrix A, A<sup>T</sup> is the matrix resulting when the columns and rows are interchanged i. e. the matrix s<sub>ji</sub> when A is the matrix s<sub>ij</sub> A matrix and its [[transpose]] have the same determinant: :<math>\det(A^\top) = \det(A). \,</math> ===Proof=== All terms are the same, and the signs of the terms are also unchanged since all reversals remain reversals. Thus, the sum is the same. ==Theorem== Interchanging two rows (or columns) changes the sign of the determinant: :<math>\det \begin{bmatrix} \cdots \\ \mbox{row A} \\ \cdots \\ \mbox{row B} \\ \cdots \end{bmatrix} = - \det \begin{bmatrix}\cdots \\ \mbox{row B} \\ \cdots \\ \mbox{row A} \\ \cdots \end{bmatrix} </math>. ===Proof=== To show this, suppose two adjacent rows (or columns) are interchanged. Then any reversals in a term would not be affected except for the reversal of the elements of that term within that row (or column), in which case adds or subtracts a reversal, thus changing the signs of all terms, and thus the sign of the matrix. Now, if two rows, the a<sup>th</sup> row and the (a+n)<sup>th</sup> are interchanged, then interchange successively the a<sup>th</sup> row and (a+1)<sup>th</sup> row, and then the (a+1)<sup>th</sup> row and (a+2)<sup>th</sup> row, and continue in this fashion until one reaches the (a+n-1)<sup>th</sup> row. Then go backwards until one goes back to the a<sup>th</sup> row. This has the same effect as switching the a<sup>th</sup> row and the (a+n)<sup>th</sup> rows, and takes n-1 switches for going forwards, and n-2 switches for going backwards, and their sum must then be an odd number, so it multiplies by -1 an odd number of times, so that its total effect is to multiply by -1. ===Corollary=== A determinant with two rows (or columns) that are the same has the value 0. Proof: This determinant would be the additive inverse of itself since interchanging the rows (or columns) does not change the determinant, but still changes the sign of the determinant. The only number for which it is possible is when it is equal to 0. ==Theorem== It is linear on the rows and columns of the matrix. :<math>\det \begin{bmatrix} \ddots & \vdots & \ldots \\ \lambda a_1 + \mu b_1 & \cdots & \lambda a_n + \mu b_n \\ \cdots & \vdots & \ddots \end{bmatrix} = \lambda \det \begin{bmatrix} \ddots & \vdots & \cdots \\ a_1 & \cdots & a_n \\ \cdots & \vdots & \ddots \end{bmatrix} + \mu \det \begin{bmatrix} \ddots & \vdots & \cdots \\ b_1 & \cdots & b_n \\ \cdots & \vdots & \ddots \end{bmatrix}</math> ===Proof=== The terms are of the form a<sub>1</sub>...<math>\lambda a + \mu b</math>...a<sub>n</sub>. Using the distributive law of fields, this comes out to be a<sub>1</sub>...<math>\lambda a</math>...a<sub>n</sub> + a<sub>1</sub>...<math>\mu b</math>...a<sub>n</sub>, an thus its sum of such terms is the sum of the two determinants: <math>\lambda \det \begin{bmatrix} \ddots & \vdots & \cdots \\ a_1 & \cdots & a_n \\ \cdots & \vdots & \ddots \end{bmatrix} + \mu \det \begin{bmatrix} \ddots & \vdots & \cdots \\ b_1 & \cdots & b_n \\ \cdots & \vdots & \ddots \end{bmatrix}</math> ===Corollary=== Adding a row (or column) times a number to another row (or column) does not affect the value of a determinant. ====Proof==== Suppose you have a determinant A with the k<sup>th</sup> column added by another column times a number: <math> \begin{bmatrix} a_{11} & a_{12} & a_{13} & \ldots & a_{1k}+\mu a_{1b} & \ldots & a_{1n} \\ a_{21} & a_{22} & a_{23} & \ldots & a_{2k}+\mu a_{2b} & \ldots & a_{2n} \\ a_{31} & a_{32} & a_{33} & \ldots & a_{3k}+\mu a_{3b} & \ldots & a_{3n} \\ \vdots & \vdots & \vdots & \vdots & \vdots & \vdots & \vdots \\ a_{n1} & a_{n2} & a_{n3} & \ldots & a_{nk}+\mu a_{nb} & \ldots & a_{nn} \end{bmatrix}</math> where a<sub>kb</sub> are elements of another column. By the linear property, this is equal to <math> \begin{bmatrix} a_{11} & a_{12} & a_{13} & \ldots & a_{1k} & \ldots & a_{1n} \\ a_{21} & a_{22} & a_{23} & \ldots & a_{2k} & \ldots & a_{2n} \\ a_{31} & a_{32} & a_{33} & \ldots & a_{3k} & \ldots & a_{3n} \\ \vdots & \vdots & \vdots & \vdots & \vdots & \vdots & \vdots \\ a_{n1} & a_{n2} & a_{n3} & \ldots & a_{nk} & \ldots & a_{nn} \end{bmatrix} + \begin{bmatrix} a_{11} & a_{12} & a_{13} & \ldots & \mu a_{1b} & \ldots & a_{1n} \\ a_{21} & a_{22} & a_{23} & \ldots & \mu a_{2b} & \ldots & a_{2n} \\ a_{31} & a_{32} & a_{33} & \ldots & \mu a_{3b} & \ldots & a_{3n} \\ \vdots & \vdots & \vdots & \vdots & \vdots & \vdots & \vdots \\ a_{n1} & a_{n2} & a_{n3} & \ldots & \mu a_{nb} & \ldots & a_{nn} \end{bmatrix}</math> The second number is equal to 0 because it has two columns that are the same. Thus, it is equal to <math> \begin{bmatrix} a_{11} & a_{12} & a_{13} & \ldots & a_{1k} & \ldots & a_{1n} \\ a_{21} & a_{22} & a_{23} & \ldots & a_{2k} & \ldots & a_{2n} \\ a_{31} & a_{32} & a_{33} & \ldots & a_{3k} & \ldots & a_{3n} \\ \vdots & \vdots & \vdots & \vdots & \vdots & \vdots & \vdots \\ a_{n1} & a_{n2} & a_{n3} & \ldots & a_{nk} & \ldots & a_{nn}\end{bmatrix}</math> which is the same as the matrix A. *It is easy to see that <math>\det(rI_n) = r^n \,</math> and thus :<math>\det(rA) = \det(rI_n \cdot A) = r^n \det(A) \,</math> for all <math>n</math>-by-<math>n</math> matrices <math>A</math> and all [[scalar (mathematics)|scalar]]s <math>r</math>. *A matrix over a [[commutative ring]] ''R'' is invertible if and only if its determinant is a [[Unit (ring theory)|unit]] in ''R''. In particular, if ''A'' is a matrix over a [[Field (mathematics)|field]] such as the [[real number|real]] or [[complex number]]s, then ''A'' is invertible if and only if det(''A'') is not zero. In this case we have :<math>\det(A^{-1}) = \det(A)^{-1}. \,</math> Expressed differently: the vectors ''v''<sub>1</sub>,...,''v''<sub>''n''</sub> in '''R'''<sup>''n''</sup> form a [[basis (linear algebra)|basis]] if and only if det(''v''<sub>1</sub>,...,''v''<sub>''n''</sub>) is non-zero. The determinants of a complex matrix and of its [[conjugate transpose]] are [[Complex conjugate|conjugate]]: :<math>\det(A^*) = \det(A)^*. \,</math> {{BookCat}} mpy4kspq49vehpa3ah007hj0zzd1alo Chess Opening Theory/1. e4/1...b6 0 124644 4654408 4373719 2026-07-14T12:18:35Z Greenman 7490 Rejected the last text change (by [[Special:Contributions/123957a|123957a]]) and restored revision 4315743 by LZorrer - no, it's the light-squared 4654408 wikitext text/x-wiki {{Chess Opening Theory/Position|= |Owen's Defence| |rd|nd|bd|qd|kd|bd|nd|rd|= |pd| |pd|pd|pd|pd|pd|pd|= | |pd| | | | | | |= | | | | | | | | |= | | | | |pl| | | |= | | | | | | | | |= |pl|pl|pl|pl| |pl|pl|pl|= |rl|nl|bl|ql|kl|bl|nl|rl|= |moves=1.e4 b6 |eco=[[Chess/ECOB|B00]] |parent=[[Chess/King's Pawn Opening|King's Pawn Opening]] }} = 1. e4 b6 Owen's Defense= ===1...b6=== The Owen's Defence, named after John Owen, is a very rare and uncommon response to the King’s pawn game as white can easily control the center with 2. d4 and usually black fianchettos the light-squared bishop, the Owen’s defence is still popular among club players and this opening can be transposed to an English opening or other lines. White generally responds to Owen's Defence with 2. d4, preparing to take over the centre. ==Theory table== {{ChessTable}} '''1.e4 b6''' <table border="0" cellspacing="0" cellpadding="4"> <tr> <th></th> <th align="left">2</th> <th align="left">3</th> <th align="left">4</th> </tr> <tr> <th align="right"></th> <td>[[/2. d4|d4]]<br>Bb7</td> <td>Bd3<br>Nf6</td> <td>Qe2<br>e6</td> <td>=</td> </tr> </table> {{ChessMid}} {{Wikipedia|Owen's Defence}} ==References== {{reflist}} {{NCO}} {{MCO14}} {{BCO2}} {{Chess Opening Theory/Footer}} {{ChessStub}} 3wbbrl7sm5wdcuzqgmw3etiadbvzdwz Introduction to .NET Framework 3.0/Windows Workflow Foundation 0 126661 4654464 4382801 2026-07-14T17:26:06Z R. Henrik Nilsson 3395618 similary > similarly 4654464 wikitext text/x-wiki {{.NET Framework 3.0}} Windows Workflow Foundation is a new component introduced by .NET Framework 3.0. <blockquote> A workflow is a reliably repeatable pattern of activity enabled by a systematic organization of resources, defined roles and mass, energy and information flows, into a work process that can be documented and learned. Workflows are always designed to achieve processing intents of some sort, such as physical transformation, service provision, or information processing. </blockquote> == Activites == A workflow is a set of activities. Each of these activities is a class which performs a particular operation. In Windows Workflow Foundation (WWF), they are coded using a language called XAML which has been introduced specifically for this purpose. Workflow activities are classes which are created by the author and contains methods programmed by the author which could be called and executed by the workflow. There are different types of activities: Basic activities and composite activities. Basic activities are single activities executed by the workflow while composite activities are made up of activities. Apart from this, users can also create custom activities based on existing activities. Typically, '''the WWF is made up of a number of activities or individual programs which are interlinked using XAML code'''. Hence, we need to include the namespace '''System.Workflow.ComponentModel'''. == Types of Workflow == There are two types of workflows provided by WWF. * Sequential Workflow * State-machine workflow == Components of WWF == WWF is made up of the following components: {{block center| * Base Activity Library * Runtime Engine * Runtime Services * Hosts }} === Base Activity Library === The base activity library usually contains some well-known or frequently used activities which are executed by the workflow. Besides, users can also add custom-built activities for use into the workflow. These could be activities which have been developed from existing activities or activities that have been coded from scratch. The base activity library is quite similar to the base class library(BCL) of the .NET framework and Java Class Libraries. === Runtime Engine === Another component which forms a part of Windows Workflow Foundation is the Runtime Engine. As the name implies, this consist of the runtime classes and services required for the program to run. These runtime services of the runtime engine perform the same role as providers. === Runtime Services === The runtime engine offers a number of runtime services for the workflow to run by default. But in case you want to add services on your own, you could do so by choosing and adding new services directly in the web.config. This is one of the major advantages of .NET Framework 3.0. Besides, you can also create your own custom services and implement them in your workflow. Hence, runtime services of WWF are fully extensible. === Hosts === A hosting application or a host is the application which hosts workflows. These are applications which actually contain the workflows which are embedded in the application. WF workflows define interfaces with methods and events to communicate with the outside world. A host application typically sets up an environment before running a workflow, providing objects that implement those interfaces. When an object implementing such interfaces raises an event, the corresponding workflow is retrieved and the data passed on to it. === Visual Designer === The Visual Designer is a component of WWF that provides a flowchart-based model of the workflow along with the different activities. The important feature of the Visual Designer which differentiates it from designers provided with the earlier versions is the presence of a facility to include the designer in an application. true, the visual designer model of a workflow could be introduced in an application by adding a Visual Designer tool. This helps to create a monitoring tool and in the maintenance of the workflow-based application. == References == # Wikipedia article on 'Windows Workflow Foundation' lizjd0lel9bkg698oohtssulxxbdcl1 Chess Opening Theory/1. Nf3/1...d5 0 137886 4654456 4639842 2026-07-14T16:37:55Z Greenman 7490 Remove stats 4654456 wikitext text/x-wiki {{Chess Opening Theory/Position|= |1.Nf3 Opening| |rd|nd|bd|qd|kd|bd|nd|rd|= |pd|pd|pd| |pd|pd|pd|pd|= | | | | | | | | |= | | | |pd| | | | |= | | | | | | | | |= | | | | | |nl| | |= |pl|pl|pl|pl|pl|pl|pl|pl|= |rl|nl|bl|ql|kl|bl| |rl|= || }} =1.Nf3 Opening= ===1...d5=== Black stakes a claim to the center. White has many options now and as so often with 1.Nf3 many transpositions. 2. g3, 2. d4, 2. c4 (Réti), 2. d3, 2. b3, 2. e3, and even 2. b4!? are sensible moves. White can also try the Tennison Gambit with [[/2. e4/|2. e4?!]], usually reached with 1. e4 d5 2. Nf3?!, but it's considered dubious with best play. ==Theory table== {{Chess Opening Theory/Table}}. '''1.Nf3 d5''' <table border="0" cellspacing="0" cellpadding="4"> <tr> <th></th> <th align="left">2</th> <th align="left">3</th><td>'''4'''</td><td>'''5'''</td><td>'''6'''</td><td>Evaluation</td></tr> <tr> <th align="right">[[Chess/King's Indian Attack|King's Indian Attack]]</th> <td>[[/2. g3|g3]]<br>Nf6</td> <td>Bg2<br>c6</td> <td>O-O<br>Bg4</td> <td>d3<br>Nbd7</td> <td>Nbd2<br>e5</td> <td>=</td> </tr> <tr> <th align="right">[[Chess/Reti Opening|Reti Opening]]</th> <td>[[/2. c4|c4]] d4</td> <td>e3 c5</td> <td>b4 dxe3</td> <td>fxe3 cxb4</td> <td>d4 Nf6</td> <td>∞</td> </tr> <tr> <th>[[Chess/Queen's Gambit|Queen's Gambit]]</th> <td>[[Chess Opening Theory/1. d4/1...d5/2. Nf3|d4]] e6</td> <td>c4 Nf6</td> <td>Nc3 dxc4</td> <td>e4 Bb4</td> <td>Bxc4 Nxe4</td> <td>= (Queen's Gambit Mainline)</td> </tr> </table> {{ChessMid}} {{Wikipedia|Flank opening}} ==References== {{reflist}} {{BCO2}} {{Chess Opening Theory/Footer}} b9rspbke0dvpxx90kzxp3ei1hxv7us4 Wikibooks:Reading room/Administrative Assistance 4 140081 4654528 4654386 2026-07-15T08:10:40Z ArchiverBot 1227662 Bot: Archiving 1 thread (older than 14 days) to [[Wikibooks:Reading room/Administrative Assistance/Archives/2026/June]] 4654528 wikitext text/x-wiki __NEWSECTIONLINK__ {{Discussion Rooms}} {{shortcut|WB:AN|WB:AA}} {{TOC left}} {{User:MiszaBot/config |archive = Wikibooks:Reading room/Administrative Assistance/Archives/%(year)d/%(monthname)s |algo = old(14d) |counter = 1 |minthreadstoarchive = 1 |minthreadsleft = 1 }} {{ombox|type=content|text='''To request a rename or usurpation''', go to the global request page at Meta [[meta:SRUC|here]].<br />''Please do not post those requests here!''}} {{Clear}} Welcome to the '''Administrative Assistance reading room'''. You can request assistance from [[WB:ADMIN|administrators]] for handling a variety of problems here and alert them about problems which may require special actions not normally used during regular content editing. Please be patient as administrators are often quite busy with either their own projects or trying to perform general maintenance and cleanup. You can deal with most vandalism yourself: [[Wikibooks:Dealing with vandalism|fix it]], then [[Wikibooks:Templates/User_notices|warn the user]]. If there is repeated vandalism by one user, lots of vandalism on a single page, or vandalism from many users, tell an admin here, or in [irc://irc.freenode.net/wikibooks #wikibooks] (say <code>!admin</code> to get attention). For more general questions and assistance that doesn't require an administrator, please use the [[WB:HELP|Assistance Reading Room]]. {{clear}} [[Category:Reading room]] == Emirati yahzota reported by MathXplore == * {{userlinks|Emirati yahzota}} Long-term abuse, [[:w:Wikipedia:Sockpuppet investigations/Muhammad Ali Rajab]] <!-- USERREPORTED:/Emirati yahzota/ --> [[User:MathXplore|MathXplore]] ([[User talk:MathXplore|discuss]] • [[Special:Contributions/MathXplore|contribs]]) 12:18, 2 July 2026 (UTC) :I deleted their page addition. @[[User:MarcGarver|MarcGarver]] could we get a CU here? Thanks! —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 01:28, 3 July 2026 (UTC) ::Nothing to see on CU. [[User:MarcGarver|MarcGarver]] ([[User talk:MarcGarver|discuss]] • [[Special:Contributions/MarcGarver|contribs]]) 11:07, 13 July 2026 (UTC) == Bestdealsautofla reported by MathXplore == * {{userlinks|Bestdealsautofla}} Spam <!-- USERREPORTED:/Bestdealsautofla/ --> [[User:MathXplore|MathXplore]] ([[User talk:MathXplore|discuss]] • [[Special:Contributions/MathXplore|contribs]]) 12:19, 2 July 2026 (UTC) :{{done}} —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 01:26, 3 July 2026 (UTC) == Cthrucleaningsolutionso reported by MathXplore == * {{userlinks|Cthrucleaningsolutionso}} advertising <!-- USERREPORTED:/Cthrucleaningsolutionso/ --> [[User:MathXplore|MathXplore]] ([[User talk:MathXplore|discuss]] • [[Special:Contributions/MathXplore|contribs]]) 22:19, 2 July 2026 (UTC) :{{done|Sandbox deleted}} —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 01:26, 3 July 2026 (UTC) :: The user was blocked indefinitely as a spam-only account. [[User:Codename Noreste|<span style="color:#0024FF">Codename Noreste</span>]] ([[User talk:Codename Noreste|discuss]] • [[Special:Contributions/Codename Noreste|contribs]]) 01:47, 3 July 2026 (UTC) == Protecting Pages == Hello, Admins, My name is Kayden Swanson, and I have proudly created ''[[The Geoguide]].'' But I would like to remove the ability for fellow users to edit it to prevent vandalism and preserve my prized creation I have made for school. Could you permanently lock it so others cant edit it while I still can? [[User:Kayden Swanson|Kayden Swanson]] ([[User talk:Kayden Swanson|discuss]] • [[Special:Contributions/Kayden Swanson|contribs]]) 02:41, 6 July 2026 (UTC) :Hi @[[User:Kayden Swanson|Kayden Swanson]]! Unfortunately, that is not an appropriate justification for protecting a page here at Wikibooks per the [[Wikibooks:Protection policy|protection policy]]. Notably, {{tq|"Preemptive full protection of pages is contrary to the open nature of Wikibooks"}}. Cheers —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 19:15, 6 July 2026 (UTC) ::NOOOOOOOOOOOOOOOOOOOOOOOOOOOOO okay that's fine [[User:Kayden Swanson|Kayden Swanson]] ([[User talk:Kayden Swanson|discuss]] • [[Special:Contributions/Kayden Swanson|contribs]]) 00:26, 8 July 2026 (UTC) ::: I'm sorry, but that's not within the scope of the protection policy. [[User:Codename Noreste|<span style="color:#0024FF">Codename Noreste</span>]] ([[User talk:Codename Noreste|discuss]] • [[Special:Contributions/Codename Noreste|contribs]]) 12:39, 8 July 2026 (UTC) :::If you really want a stable version, you can make a PDF of the existing content and link it. See [[Help:Print versions]] and {{tl|Print version}}/{{tl|PDF version}}. ―[[User:Koavf|Justin (<span style="color:grey">ko'''a'''<span style="color:black">v</span>f</span>)]]<span style="color:red">❤[[User talk:Koavf|T]]☮[[Special:Contributions/Koavf|C]]☺[[Special:Emailuser/Koavf|M]]☯</span> 19:15, 10 July 2026 (UTC) == Prudhvifmsdh reported by MathXplore == * {{userlinks|Prudhvifmsdh}} Spam <!-- USERREPORTED:/Prudhvifmsdh/ --> [[User:MathXplore|MathXplore]] ([[User talk:MathXplore|discuss]] • [[Special:Contributions/MathXplore|contribs]]) 12:39, 8 July 2026 (UTC) : {{done}}. [[User:Codename Noreste|<span style="color:#0024FF">Codename Noreste</span>]] ([[User talk:Codename Noreste|discuss]] • [[Special:Contributions/Codename Noreste|contribs]]) 13:07, 8 July 2026 (UTC) == I'm unable to create a page == Hello, I wanted to created the page [[English in Use/Agreement]]. I thought I would use a modified version of a Wikipedia article (https://en.wikipedia.org/wiki/Agreement_in_the_English_language). It's already written like a textbook, so I did some improvements and clicked "published", but I got the error: <blockquote>Welcome to Wikibooks!Your edit has triggered an automated filter and has been disallowed. It looks like your edit has added a large amount of content to this page.If you copied the content from another website, please do not add it without rewriting it in your own words. Unless the content is in the public domain (published before 1923), it is almost certainly copyrighted and cannot be added to Wikibooks.If all of the content is your own work and you cannot find anything to link, feel free to ask for the edit to be performed at the reading room. If you have received this message in error, you may report it here.</blockquote> What should I do? Can you help me? [[User:Justtocreateapage|Justtocreateapage]] ([[User talk:Justtocreateapage|discuss]] • [[Special:Contributions/Justtocreateapage|contribs]]) 20:43, 10 July 2026 (UTC) :@[[User:Justtocreateapage|Justtocreateapage]] An editfilter is preventing your edit. In my opinion, you did not do anything wrong and the filter is wrong, but an admin (=not me) would need to fix it. [[User:Der-Wir-Ing|Der-Wir-Ing]] ([[User talk:Der-Wir-Ing|discuss]] • [[Special:Contributions/Der-Wir-Ing|contribs]]) 20:52, 10 July 2026 (UTC) :: {{re|Justtocreateapage}} As a new user you face harsher requirements. You should make useful edits to Wikibooks first. If you want to use a modified version of a WP article, [[Wikibooks: Requests for import|requesting an import]] is the proper venue. This [[Help: Importing|preserves the edit history]]. ‑‑[[User:Kai Burghardt|Kai Burghardt]] ([[User talk:Kai Burghardt|discuss]] • [[Special:Contributions/Kai Burghardt|contribs]]) 21:15, 10 July 2026 (UTC) :::Okay, thanks you all. I'll request for an import then [[User:Justtocreateapage|Justtocreateapage]] ([[User talk:Justtocreateapage|discuss]] • [[Special:Contributions/Justtocreateapage|contribs]]) 21:39, 10 July 2026 (UTC) ::::{{done}} ―[[User:Koavf|Justin (<span style="color:grey">ko'''a'''<span style="color:black">v</span>f</span>)]]<span style="color:red">❤[[User talk:Koavf|T]]☮[[Special:Contributions/Koavf|C]]☺[[Special:Emailuser/Koavf|M]]☯</span> 21:50, 10 July 2026 (UTC) == Unprotection/edit request == Hi, would an admin please temporarily unprotect the non-MediaWiki pages at [[User:TenshiBot/Errors]]? As for the MediaWiki pages, would an admin go through them and replace the <nowiki><center></nowiki> tags and replace it with <nowiki><div style="text-align: center"></nowiki>? [[User:Tenshi Hinanawi|Tenshi Hinanawi]] ([[User talk:Tenshi Hinanawi|discuss]] • [[Special:Contributions/Tenshi Hinanawi|contribs]]) 23:10, 11 July 2026 (UTC) : Unprotecting, fixing, and protecting back would take too long—I know just the thing, which is using JWB. [[User:Codename Noreste|<span style="color:#0024FF">Codename Noreste</span>]] ([[User talk:Codename Noreste|discuss]] • [[Special:Contributions/Codename Noreste|contribs]]) 02:35, 12 July 2026 (UTC) : [[User:Tenshi Hinanawi|Tenshi Hinanawi]], I've done what JWB could process; should there be way more in your bot's error log, let me know. [[User:Codename Noreste|<span style="color:#0024FF">Codename Noreste</span>]] ([[User talk:Codename Noreste|discuss]] • [[Special:Contributions/Codename Noreste|contribs]]) 03:02, 12 July 2026 (UTC) ::There's still a lot of the <nowiki><font></nowiki> tags which need replacing in the talk page archives. [[User:Tenshi Hinanawi|Tenshi Hinanawi]] ([[User talk:Tenshi Hinanawi|discuss]] • [[Special:Contributions/Tenshi Hinanawi|contribs]]) 10:11, 12 July 2026 (UTC) ::: I can replace those, but should it be <code>div</code> or <code>span</code>? [[User:Codename Noreste|<span style="color:#0024FF">Codename Noreste</span>]] ([[User talk:Codename Noreste|discuss]] • [[Special:Contributions/Codename Noreste|contribs]]) 14:35, 12 July 2026 (UTC) ::::Span, though the font tag's parameters need to be converted as well, see [https://github.com/TenshiSWR/TenshiBot/blob/958b59d1a5e14a31ab8b46f66db54ebdba63e101/tasks/linterrors/obsolete_HTML_tags.py#L15-L52 the code] and the [https://html.spec.whatwg.org/multipage/rendering.html#:~:text=When%20a%20font%20element%20has%20a%20color,%27color%27%20property%20to%20the%20resulting%20color. HTML spec] for this. [[User:Tenshi Hinanawi|Tenshi Hinanawi]] ([[User talk:Tenshi Hinanawi|discuss]] • [[Special:Contributions/Tenshi Hinanawi|contribs]]) 14:56, 12 July 2026 (UTC) == NSSGGuarding reported by MathXplore == * {{userlinks|NSSGGuarding}} Spam <!-- USERREPORTED:/NSSGGuarding/ --> [[User:MathXplore|MathXplore]] ([[User talk:MathXplore|discuss]] • [[Special:Contributions/MathXplore|contribs]]) 12:17, 13 July 2026 (UTC) :{{done}} ―[[User:Koavf|Justin (<span style="color:grey">ko'''a'''<span style="color:black">v</span>f</span>)]]<span style="color:red">❤[[User talk:Koavf|T]]☮[[Special:Contributions/Koavf|C]]☺[[Special:Emailuser/Koavf|M]]☯</span> 16:45, 13 July 2026 (UTC) s6f4a7n4a1x6yjdg859wakvn8wil8cx French For Football/Notes/Introductory Material 0 140460 4654477 4533731 2026-07-14T17:31:24Z R. Henrik Nilsson 3395618 similary > similarly 4654477 wikitext text/x-wiki == Material for New Lessons == This is NOT a lesson page - it contains NOTES for lesson material for the Introductory Modules. It is being produced by adapting the text from the Introductory and Level One sections of the [[French]] Wikibook. As the new material is generated, the corresponding old material is deleted. ===Vocabulary: Numbers=== {| cellpadding="5" | 1 || un || 1st = 1er || premier(ère) |- | 2 || deux || 2nd = 2ième || deuxième |- | 3 || trois || 3rd = 3ième || troisième |- | 4 || quatre || 4th = 4ième || quatrième |- | 5 || cinq || 5th = 5ième || cinquième |- | 6 || six || 6th = 6ième || sixième |- | 7 || sept || 7th = 7ième || septième |- | 8 || huit || 8th = 8ième || huitième |- | 9 || neuf || 9th = 9ième || neuvième |- | 10 || dix || 10th = 10ième || dixième |- | 11 || onze || 11th = 11ième || onzième |- | 12 || douze || 12th = 12ième || douzième |- | 13 || treize || 13th = 13ième || treizième |- | 14 || quatorze || 14th = 14ième || quatorzième |- | 15 || quinze|| 15th = 15ième || quinzième |- | 16 || seize|| 16th = 16ième || seizième |- | 17 || dix-sept|| 17th = 17ième || dix-septième |- | 18 || dix-huit || 18th = 18ième || dix-huitième |- | 19 || dix-neuf|| 19th = 19ième || dix-neuvième |- | 20 || vingt || 20th = 20ième || vingtième |} {| | un || 1 || une unité (a unity) |- | dix || 10 || une dizaine (one ten) |- | douze || 12 || une douzaine (one dozen) |} == Original Material from the French Wikibook == ===Grammar: The French alphabet=== {| |- !Characters |Aa||Bb||Cc||Dd||Ee||Ff||Gg||Hh||Ii||Jj||Kk||Ll||Mm |- !Pronunciation |ah||bay||say||day||euh||eff||jhay||ash||ee||zhee||kah||el||em |- !Characters |Nn||Oo||Pp||Qq||Rr||Ss||Tt||Uu||Vv||Ww||Xx||Yy||Zz |- !Pronunciation |enn||oh||pay||ku||air||ess||tay||ue||vay||dubl-vay||eeks||ee-grehk||zedh |} In addition, French uses several accents which are worth understanding. These are: à, è, ù, (grave accents) and é (acute accent) which only applies to e. A circumflex applies to all vowels as well: â, ê, î, ô, û. And also a tréma (French for diaerasis) for vowels: ä, ë, ï, ö, ü, ÿ and combined letters: æ and œ ===Vocabulary: Greetings=== {| |Salut||Hi./Bye.||(informal) |- |Bonjour||Hello||(more formal than salut) (all day) |- |Bonsoir||Hello||(after 19h00) |- |Bonne soirée||Good evening||&nbsp; |- |Bonne nuit||Good night|| |- |Quoi de neuf ?||What's up (about you)? (lit. what's new)||&nbsp; |- |Pas grand-chose.||Not much. (lit. no big-thing)||&nbsp; |} ===Vocabulary: Goodbyes=== {| |Salut.||Hi./Bye.||(informal) |- |Au revoir.||Good-bye.||''ohrvwahr'' (''ev'' not pronounced) |- |À demain.||See you tomorrow.||''ah duhma<span style="font-size:x-small;">n</span>'' (Lit: To/Until Tomorrow) |- |Au revoir, à demain.||Bye, see you tomorrow.||&nbsp; |- |À tout à l'heure.||See you (later today)!||''ah tootah luhr'' |- |À la prochaine.||See you (tomorrow)!||''ah lah proh shayn'' |- |À bientôt.||See you soon.||''ah byantoe'' |- |Ciao||Bye.||''chow'' (Italian) |} ===Vocabulary: Courtesy=== {| | rowspan=2 | Please | S'il te plaît.||(Lit: If it pleases you.) |- | S'il vous plaît.||(formal). |- |Thanks (a lot)||Merci (beaucoup). |- | rowspan=4 | You're welcome. |De rien.||(Lit: It's nothing.) |- |Pas de quoi.||(Lit: Not of what.) (No problem.) |- |Je t'en prie.||''I pray you'' (informal) |- |Je vous en prie|| (formal) |} ===Vocabulary: Titles=== {| ! ||French||Abbr.||Pronunciation||English, Usage |- ! Singular<br>Plural | Monsieur<br>Messieurs.||M.||''muhsyeu<br>mehsyeu''||Mr., Sir.<br>Gentlemen. |- ! Singular<br>Plural | Madame<br>Mesdames||M<sup>me</sup>||''mahdamn<br>maydahm''||Mrs., Ma'am.<br>Ladies |- ! Singular<br>Plural | Mademoiselle<br>Mesdemoiselles||M<sup>lle</sup>||''mahdmwahzell<br>mehdmwahzell''||Miss, Young lady<br>Young ladies |} ===Vocabulary: How are you?=== {| |Comment allez-vous? (formal),<br> Comment vas-tu? (informal),<br> Comment ça va?/Ça va ? (informal)||How are you? |- |Ça va (très) bien||I'm doing (very) well<br>(lit. It's going (very) well) |- |Oui, ça va.||Yes, it goes. |- |Très bien, merci.||Very well, thanks. |- |Pas mal.||Not Bad |- |pas si bien/pas très bien||not so well |- |(très) mal||(very) bad |- |Comme ci, comme ça.||So-So. |- |Désolé(e).||I'm sorry. |- |Et toi?<br>Et vous?||And you? (informal)<br>And you? (formal) |} ===Vocabulary: Cardinal numbers=== {| |- | un || 1 || une unité (a unity) |- | deux || 2 |- | trois || 3 |- | quatre || 4 |- | cinq || 5 |- | six || 6 |- | sept || 7 |- | huit || 8 |- | neuf || 9 |- | dix || 10 || une dizaine (one ten) |- | onze || 11 |- | douze || 12 || une douzaine (one dozen) |- | treize || 13 |- | quatorze || 14 |- | quinze|| 15 |- | seize|| 16 |- | dix-sept|| 17 |- | dix-huit || 18 |- | dix-neuf|| 19 |- | vingt || 20 || une vingtaine (around twenty) |- | vingt et un || 21 |- | vingt [deux - neuf] || 22-29 |- | trente || 30 |- | trente et un || 31 |- | trente [deux - neuf] || 32-39 |- | quarante || 40 |- | cinquante || 50 |- | soixante || 60 |- | soixante-dix || 70 |- | soixante et onze || 71 |- | soixante-[douze - dix-neuf] || 72-79 |- | quatre-vingts || 80 |- | quatre-vingt-un || 81 |- | quatre-vingt-[deux - neuf] || 82-89 |- | quatre-vingt-dix || 90 |- | quatre-vingt-[onze - dix-neuf] || 91-99 |- | cent || 100 || une centaine (one hundred) |- | [deux - neuf] cents || 200-900 |- | deux cent un || 201 |- | neuf cent un || 901 |- | mille || 1.000 || un millier (one thousand) |- | (un) million || 1.000.000 |- | (un) milliard || 1.000.000.000 |} {{-}} '''Things of note about numbers:''' *For 70-79, it builds upon "soixante" but past that it builds upon a combination of terms for 80-99 *Only the first (21,31,41,51,61 and 71, but not 81 nor 91) have "et un" without a hyphen; but past this it is simply both words consecutively (vingt-six, trente-trois, etc) with a hyphen in between. *For 100-199, it looks much like this list already save that "cent" is added before the rest of the number; this continues up to 1000 and onward. *Many speakers of French [[w:Francophonie|outside of France]] refer to the numbers 70 to 99 in the same pattern as the other numbers. For instance, in [[w:Switzerland|Switzerland]] and [[w:Belgium|Belgium]], seventy is "septante," 71 is "septante et un," 72 "septante deux," and so on. Ninety is "nonante". In Switzerland, Eighty is "huitante" or "octante". ===Vocabulary: The days of the week.=== {| ! #||French||Pronunciation||English||Origin |- |1||lundi||''luh<span style="font-size:x-small;">n</span>dee''||Monday||Moon |- |2||mardi||''mahrdee''||Tuesday||Mars |- |3||mercredi||''maircruhdee''||Wednesday||Mercury |- |4||jeudi||''juhdee''||Thursday||Jupiter |- |5||vendredi||''vah<span style="font-size:x-small;">n</span>druhdee''||Friday||Venus |- |6||samedi||''sahmdee''||Saturday||Saturn |- |7||dimanche||''deemah<span style="font-size:x-small;">n</span>sh''||Sunday||Sun |} Notes: * ''What day is it today?'' is equivalent to ''Quel jour sommes nous aujourd'hui?'', ''Quel jour est on aujourd'hui?'' or ''On est quel jour aujourd'hui?'' (last one is less formal but more common) * ''Quel jour sommes nous aujourd'hui?'' can be answered with ''Aujourd'hui c'est...'', ''C'est...'' or ''Nous sommes ...'' / ''On est...'' * ''Nous sommes...'' is not used with ''hier'', ''aujourd’hui'', or ''demain''. ''C'était'' (past) or ''C'est'' (present/future) must be used accordingly. * The days of the week are not capitalized in French. {| | 1a||Aujourd'hui on est quel jour ?||Today is what day?||''ojzoordwee on ay kell jzoor'' |- | 1b||Aujourd'hui on est [''jour''].||Today is [''day'']. |- | 2a||Demain c'est quel jour ?||Tomorrow is what day?||''Duhma<span style="font-size:x-small;">n</span> on ay kell jzoor'' |- | 2b||Demain c'est [''jour''].||Tomorrow is [''day'']. |} <br> {| |avant-hier||the day before yesterday |- |hier||yesterday |- |aujourd'hui||today |- |ce soir||tonight |- |demain||tomorrow |- |après-demain||the day after tomorrow |} ===Vocabulary: The months of the year=== {| ! #||French||Pronounced||English |- |01||janvier||''jzah<span style="font-size:x-small;">n</span>vyay''||January |- |02||février||''fayvryay''||February |- |03||mars||''mahrse''||March |- |04||avril||''ahvrill''||April |- |05||mai||''maye''||May |- |06||juin||''jzwa<span style="font-size:x-small;">n</span>''||June |- |07||juillet||''jzuyay''||July |- |08||août||''oot/oo''||August |- |09||septembre||''septah<span style="font-size:x-small;">m</span>bruh''||September |- |10||octobre||''oktuhbr''||October |- |11||novembre||''novah<span style="font-size:x-small;">m</span>br''||November |- |12||décembre||''daysah<span style="font-size:x-small;">m</span>br''||December |} *The months of the year are not capitalized in French. *For phrases relating to the months of the year, see [[French/Vocabulary/Travel/Phrases|the phrasebook]] {| |Quelle est la date<br>(d'aujourd'hui) ?||What is the date<br>(today)?||''kell ay lah daht'' |- |C'est le [#] [month].||It's [month] [#].||''say leuh...'' |} ===Vocabulary: Seasons=== {| |la saison||season |- |[[media:Fr-printemps-fr CA.ogg|au printemps]]||Spring |- |[[media:Fr-été-fr CA.ogg|l'été]] (m)||Summer |- |[[media:Fr-automne-fr CA.ogg|l'automne]] (m)||Autumn |- |[[media:Fr-hiver-fr CA.ogg|l'hiver]] (m)||Winter |} ===Vocabulary: Asking for the time=== {| |- ! colspan=4 | Asking for the time. |- | 4a||Quelle heure est-il ? | rowspan=2 | What hour/time is it? | ''kell er ayteel'' |- | 4b||Quelle heure il est ?||''kell er eel ay'' |- | 5||Il est [nombre] heure(s).||It is [''number''] hours.||''eelay [nombre] er'' |} ===Vocabulary: Time=== In French, “il est” is used to express the time; though it would literally translate as “he is”, it is actually, in this case, equivalent to “it is” (impersonal "il"). Unlike in English, it is always important to use “heures” (“hours”) when referring to the time. In English, it is OK to say, “It’s nine,” but this wouldn’t make sense in French. {| |Quelle heure est-il ?||What time is it? |- |Il est une heure.||It is one o’clock. |- |Il est trois heures.||It is three o’clock. |- |Il est dix heures.||It is ten o’clock. |- |Il est midi.||It is noon. |- |Il est minuit.||It is midnight. |- |Il est quatre heures cinq.||It is five past four. |- |Il est quatre heures et quart.||It is a quarter past four. |- |Il est quatre heures moins le quart||It is a quarter till 4. |- |Il est quatre heures quinze.||It is four fifteen. |- |Il est quatre heures et demie.||It is half past four. |- |Il est quatre heures trente.||It is four thirty. |- |Il est cinq heures moins vingt.||It is twenty to five. |- |Il est quatre heures quarante.||It is four forty. |} ===Vocabulary: Times of day=== {| |le lever du jour||daybreak<br>lit:the rise of the day |- |le lever du soleil||sunrise<br>lit: the rise of the sun |- |le soleil levant||rising sun. |- |le matin||morning |- |...du matin||A.M., lit: of the morning |- |hier matin||yesterday morning |- |le midi ||noon, midday |- |l'après-midi (m)||afternoon |- |le soir||evening, in the evening |- |...du soir||P.M. lit: of the evening |- |la nuit||night |- |le coucher du soleil||sunset |} ===G: The verb avoir=== "Avoir" can be translated as "to have". ====Formation==== {| class=wikitable !'''avoir''' {{fr/IPA|/a.vwaʁ/ (''ah-vwahr'')|audio=Fr-avoir.ogg}} !! '''to have''' |- |j'ai {{fr/IPA|/e/ (''ay'')}} || I have |- |tu as {{fr/IPA|/a/ (''ah'')}} || you have |- |il a {{fr/IPA|/a/ (''ah'')}} || he has |- |nous avons {{fr/IPA|/a.vɔ̃/ (''ah-voh<sup>(n)</sup>'')}} || we have |- |vous avez {{fr/IPA|/a.ve/ (''ah-vay'')}} || you have |- |ils ont {{fr/IPA|/ɔ̃/ (''oh<sup>(n)</sup>'')}} || they have |- |eu {{fr/IPA|/y/}} || had |} ===Examples=== {| class="wikitable" border="1" width="50%" |J'ai deux stylos. |I have two pens. |- |Tu as trois frères. |You have three brothers. |- |Il a une idée. |He has an idea. |} ====Expressing Age==== ''Avoir'' is used to express age. *Tu as quel âge? - How old are you? [lit: You have what age?] *J'ai trente ans. - I'm thirty (years old). [lit: I have thirty years] ====There is/are - Il y a==== The expression ''il y a'' means ''there is'' or ''there are''. *Il y a un livre. - There is a book. *Il y a des livres. - There are books. ===Vocabulary: The Family=== {| ! colspan=2 | Immediate Family |- |ma famille||my family |- |les parents||parents |- |la mère||mother |- |le père||father |- |la femme||wife |- |le mari||husband |- |la soeur||sister |- |le frère||brother |- |l'enfant||child (m or f) |- |les enfants||children |- |la fille||daughter |- |le fils||son |} ===Grammar: Direct Object Pronouns ''le, la'', and ''les''=== ''le, la'', and ''les'' are called direct object pronouns, because they are pronouns that are, you guessed it, used as direct objects. A direct object is a noun that is acted upon by a verb. *Il lance ''la balle''. - He throws ''the ball''. In the above sentence ''la balle'' is the direct object. You have learned earlier that names and regular nouns can be replaced by the subject pronouns (''je, tu''...). Similarly, direct objects, such as "la balle", can be replaced by pronouns. *''le'' - replaces a masculine singular direct object *''la'' - replaces a feminine singular direct object *''l''' - replaces ''le'' and ''la'' if they come before a vowel *''les'' - replaces plural direct objects, both masculine and feminine The direct object pronouns come before the verb they are linked to. *Il ''la'' lance. - He throws it. *Il ''les'' lance. - He throws them. ''Le, la'', and ''les'' can replace either people or inanimate objects. ===D: Where are you from?=== {| !Quentin |Bonjour, Léon. Dis donc, Tu es d’où? |- !Léon |Je suis de Paris, Quentin. |- !Quentin |Alors, tu es français? |- !Léon |Oui, exactement. |- !Quentin |Et Marie, elle est d’où? |- !Léon |Elle est de Marseille. Elle est française, aussi. |- !Quentin |Merci, Léon. Au revoir. |} ===Grammar: Subject pronouns=== French has six different types of pronouns: the 1st, 2nd, and 3rd person singular and the 1st, 2nd, and 3rd person plural. {| |rowspan="2"|1st person||singular !je |I |- |plural !nous |we |- |rowspan="2"|2nd person||singular !tu |you |- |plural !vous |you |- |rowspan="2"|3rd person||singular !il, elle, on |he, she, one |- |plural !ils, elles |they (masculine)<br>they (feminine) |} When referring to more than one person in the 2nd person, “vous” must be used. When referring to a single person, “vous” or “tu” may be used depending on the situation; see notes in [[French/Lessons/Formal speech|the introductory lessons]]. The pronoun ''it'' does not exist in French. ''Il'' replaces all masculine nouns, even those that are not human. The same is true with ''elle'' and feminine nouns. In addition to the nuances between ''vous'' and ''tu'', as discussed earlier, French pronouns carry meanings that do not exist in English pronouns. The French third person "on" has several meanings, but most closely matches the now archaic English "one". While in English, "One must be very careful in French grammar" sounds old-fashioned, the French equivalent "On doit faire très attention à la grammaire française" is quite acceptable. Also, while the third person plural "they" has no gender in English, the French equivalents "ils" and "elles" do. However, when pronounced, they normally sound the same as "il" and "elle", so distinguishing the difference requires understanding of the various conjugations of the verbs following the pronoun. Also, if a group of people consists of '''both''' males and females, the male form is used, even with a majority of females — however, this sensibly yields to overwhelming majority: given a group of only one male to thousands of females, the female form would be used. In everyday language, “on” is used, instead of “nous”, to express “we”; the verb is always used in the 3rd person singular. For example, to say "We (are) meeting at 7 o'clock", you could say either ''“On se rencontre au cinéma à sept heures.”'' (colloquial) or ''“Nous rencontrons au cinéma à sept heures.”'' (formal). For more, see [[w:French personal pronouns#The pronoun on|the Wikipedia entry]]. ===G: Introduction to Verbs=== A verb is a word that describes an action or mental or physical state. ====Tenses and Moods==== French verbs can be formed in four moods, each of which express a unique feeling. Each mood has a varying number of tenses, which indicate the time when an action takes place. In the next section, we will look at the conjugations in the present tense of the indicative mood, more commonly called '''the present indicative'''. There is one conjugation for each of the six subject pronouns. ====Infinitives==== The infinitive form is the basic form of a verb. It does not refer to a particular tense, person or subject. In this book, the infinitive form of the verb is used to identify it. In English, the infinitive form is ''to ___''. In French, the infinitive is one word. For example, ''parler'' translates to ''to speak'', ''finir'' translates to ''to finish'', and ''aller'' translates to ''to go''. ====Conjugation==== French verbs '''conjugate''', which means they take different shapes depending on the subject. English verbs only have one conjugation; that is the third person singular (I see, you see, he/she '''sees''', we see, they see). The only exception is the verb "to be" (I am; (thou art); you are; he/she is; we are; they are;). Most French verbs will conjugate into many different forms. Most verbs are regular, which means that they conjugate in the same way. The most common verbs, however, are irregular. ===G: Être - To Be=== ''Être'' translates as ''to be'' in English. It is an irregular verb, and is not conjugated like any other verb. ====Formation==== {| ! ! colspan=3 | Singular ! colspan=3 | Plural |- ! first person||je suis | ''jeuh swee''||I am ! nous sommes | ''noo sum''||we are |- ! second person||tu es | ''too ay''||you are ! vous êtes | ''voozett''||you are |- ! rowspan=3 | third person ! il est | ''eel ay''||he is ! rowspan=2 | ils sont | rowspan=2 | ''eelsohn'' | rowspan=2 | they are<br>(masc. or mixed) |- ! elle est | ''ell ay''||she is |- ! on est | ''oh<span style="font-size:x-small;">n</span> ay''||one is ! elles sont | ''ellsohn''||they are (fem.) |} ====Examples==== {| |Je suis avocat.||I am (a) lawyer.||''jzeuh swee ah voh cah'' |- |Tu es à la banque.||You are at the bank.||''too ay ah lah bahnk'' |- |Il est beau.||He is handsome.||''eel ay boh'' |} Try to learn all these conjugations. They will become very useful in forming tenses. ====Idioms==== *Ça y est! - I've done it! Finished! *J'y suis! - I get it! *Vous y êtes? - Are you ready? ====Expressing Agreement==== ''Tu es d’accord ou pas?'', ''Tu es d’accord?'' (lit: ''You are of agreement?''), or simply ''D'accord?'' is used informally to ask whether someone agrees with you. To respond positively, you say ''Oui, je suis d'accord.'' or simply ''D'accord''. ''D'accord'' corresponds to the English ''okay''. ===Grammar: Cities and Nationalities=== To say what city you are from, you use the preposition ''de''. *Il est de Paris. When stating your nationality or job, it is not necessary to include the article. This is an exception to the normal rule. *''Je suis Australien(ne).'' - ''I am [an] Australian.'' There is both a masculine and feminine form of saying your nationality - for males and females respectively. *''Il est Australien.'' - ''He is [an] Australian.'' *''Elle est Australienne.'' - ''She is [an] Australian.'' In the next lesson, you will learn how to say the nationality of more than one person. {{Message box|image=Nuvola apps edu languages.png|heading=Check for understanding|message=Please use [[French/Lessons/Vacations#V: Nationalities|the nationalities list]] to find out what your nationality is in French. Then say what city you are from and what nationality you are. Then say what nationality some of your friends are, and what city they are from. For example, ''Marie est italienne. Elle est de Rome.''}} ===Grammar: Adjectives - Les adjectifs=== {{main|French/Grammar/Adjectives}} Just like articles, French adjectives also have to match the nouns that they modify in gender and plurality. ====Regular Formation==== Most adjective changes occur in the following manner: *Feminine: add an -e to the masculine form **un garçon intéressant --> une fille intéressant'''e''' **un ami amusant --> une amie amusant'''e''' **un camion lent --> une voiture lent'''e''' *Plural: add an -s to the singular form **un garçon intéressant --> des garçons intéressant'''s''' **une fille intéressante --> des filles intéressante'''s''' ====Pronunciation==== Generally, the final consonant is pronounced only when it comes before an -e. Most adjectives, such as those above, are affected by this rule. *Masculine Pronunciation: ''intéressan'', ''amusan'', ''len'' *Feminine Pronunciation: ''intéressan'''t''''', ''amusan'''t''''', ''len'''t''''' With plural adjectives, the -s ending is not pronounced, so the adjective will sound exactly the same as the singular form. ====Exceptions and Irregularities==== Adjectives that end in ''e'' in the masculine form do not change in gender. When an adjective, such as gros, ends in ''-s'', it does not change in the masculine plural form. Sometimes the final consonant is doubled in the feminine form. See [[French/Grammar/Adjectives]] for more. ===Vocabulary: Describing People=== {| ! Masculine Singular||Feminine Singular||Masculine Plural||Feminine Plural |- ! colspan=4 | size and weight |- | Il est petit.||Elle est petit'''e'''.||Ils sont petit'''s'''.||Elles sont petit'''es'''. |- | Il est moyen.||Elle est moyen'''ne'''.||Ils sont moyen'''s'''.||Elles sont moyen'''nes'''. |- | Il est grand.||Elle est grand'''e'''.||Ils sont grand'''s'''.||Elles sont grand'''es'''. |- | Il est gros.||Elle est gros'''se'''.||Ils sont gros.||Elles sont gros'''ses'''. |- ! colspan=4 | hair color |- | Il est blond.||Elle est blond'''e'''.||Ils sont blond'''s'''.||Elles sont blond'''es'''. |- | Il est brun.||Elle est brun'''e'''.||Ils sont brun'''s'''.||Elles sont brun'''es'''. |- ! colspan=4 | attitude and personality |- | Il est intelligent.||Elle est intelligent'''e'''.||Ils sont intelligent'''s'''.||Elles sont intelligent'''es'''. |- | Il est intéressant.||Elle est intéressant'''e'''.||Ils sont intéressant'''s'''.||Elles sont intéressant'''es'''. |- | Il est amusant.||Elle est amusant'''e'''.||Ils sont amusant'''s'''.||Elles sont amusant'''es'''. |} ===Vocabulary: Common Adjectives=== {| ! colspan=2 | Attitude and Personality ! colspan=2 | Size and Weight |- | sympa(thique)(s)||nice||gros(se)(ses)||fat |- | amusant(e)(s)||funny||petit(e)(s)||small |- | intelligent(e)(s)||intelligent||moyen(ne)(s)||average |- | intéressant(e)(s)||interesting||grand(e)(s)||big |- | patient(e)(s)||patient|| || |- | sociable(s)||sociable ! colspan=2 | Actions |- | timide(s)||timid||bon(ne(s)||good |- | dynamique(s)||outgoing|| mauvais(e)(s)||bad |- | gentil(le)(s)||nice, gentle ! colspan=2 | Difficulty |- | strict(e)(s)||strict||facile(s)||easy |- | fort(e)(s)||strong||difficile(s)||difficult |} ===Vocaabulary: Colors=== {| !Masculine||Feminine||English |- |blanc||blanche||white |- |gris||grise||gray |- |noir||noire||black |- |rouge||rouge||red |- |orange||orange||orange |- |jaune||jaune||yellow |- |vert||verte||green |- |bleu||bleue||blue |- |violet||violette||violet |- |marron||marron||brown (everything but hair) |- |brun||brune||brown (hair - dark haired) |- |rose||rose||pink |- |safran||safranne||saffron |} ===Grammar: Adverbs Expressing Degree=== *assez - rather, enough **Il est assez intelligent. - He is rather intelligent. *très - very **Il est très<sub>z</sub>intelligent.{{ref|z}} - He is very intelligent. *vraiment - truly, really **Il est vraiment intelligent. - He is really intelligent. {{note|z}}Often when a vowel sound comes after a consonant, the usually unpronounced ''s'' and ''z'' change to a sharp z sound and link to the next syllable. This process is called liaison. In this book, will will show that the sound is connected using <sub>z</sub>. ''Très<sub>z</sub>in'' is pronounced ''trayzahn''. === G: Regular -er Verbs === ====Formation==== Most French verbs fall into the category of -er verbs. To conjugate, drop the -er to find the "stem" or "root". Add endings to the root based on the subject and tense. <br> {| style="text-align:center;" {{French Table|Grammar|-er Verb Formation|Formation de verbes en -er|184|3}} |+ '''jouer''' - to play |- !pronoun !!ending !! verb |- |je || -e || jou'''e''' |- |tu || -es || jou'''es''' |- |il/elle || -e || jou'''e''' |- |nous || -ons || jou'''ons''' |- |vous || -ez || jou'''ez''' |- |ils/elles || -ent || jou'''ent''' |} ====Elision and Liaison==== In all conjugations, ''je'' changes to ''j'' ' when followed by a vowel. Example: ''J'attends''. Also, as a rule of thumb: ''h'' is considered a vowel; as in ''J'habite...''. If a phrase is negative, ''ne'' changes to ''n'''. In all plural forms, the ''s'' at the end of each subject pronoun, normally unpronounced, becomes a ''z'' sound and the ''n'' of ''on'' becomes pronounced when followed by a vowel. ====Common -er Verbs==== {| style="text-align:center;" {{French Table|Grammar|Formation of Common -er Verbs|Formation des verbes communs en -er|0|6}} !Infinitive||Stem !colspan=6|Present Indicative Conjugation |- ! || ||First Person||Second Person||Third Person |- !rowspan=1|parler !rowspan=1|parl |Je parle||Tu parles||Il parle !Singular |- |colspan=2|to speak |Nous parlons||Vous parlez||Ils parlent !Plural |- !rowspan=1|habiter !rowspan=1|habit |J'habite||Tu habites||Il habite !Singular |- |colspan=2|to live |Nous habitons||Vous habitez||Ils habitent !Plural |- !rowspan=1|écouter !rowspan=1|écout |J'écoute||Tu écoutes||Il écoute !Singular |- |colspan=2|to listen |Nous écoutons||Vous écoutez||Ils écoutent !Plural |} ====S'amuser==== {{main|French/Grammar/Verbs/Pronominal}} The verb ''s'amuser'' means ''to have fun'' in English. It is a type of pronominal verb (a verb that includes a pronoun as part of it) called a reflexive verb, which means that the action of the verb is ''reflect''ed back onto the subject. Literally translated, the verb means ''To amuse oneself.'' =====Formation===== {| style="text-align:center;" {{French Table|Grammar|Formation of Common -er Verbs|Formation des verbes communs en -er|0|6}} !Infinitive||Stem !colspan=6|Present Indicative Conjugation |- ! || ||First Person||Second Person||Third Person |- !rowspan=1|s'amuser !rowspan=1|amus |Je m'amuse||Tu t'amuses||Il s'amuse !Singular |- |colspan=2|to have fun |Nous nous amusons||Vous vous amusez||Ils s'amusent !Plural |- |} ====Conjugated Verb + Infinitive==== Like in English, some verbs can be followed by infinitives. The most common -er verbs used in this manner are ''aimer'' and ''détester''. *J'aime parler. - I like to speak. *Nous détestons travailler. - We hate working. When negating a sentence, remember that the negative goes around the conjugated verb. *Je n'aime pas parler. - I don't like to speak. ===D: Recreation=== Here is a short dialog about people planning/doing leisure activities. Besides the new vocabulary you should also have a look at how the verbs are conjugated depending on the subject of the sentence. * ''Jean-Paul :'' Qu'est-ce que vous faites ? * ''Marc et Paul :'' Nous jouons au tennis. * ''Marie :'' Je finis mes devoirs. * ''Michel :'' J'attends mon ami. * ''Pierre :'' Je vais au parc. * ''Christophe :'' Je viens du stade. ===V: Recreation=== {| class="wikitable" |Qu'est-ce que vous faites?||What are you doing? |- |jouer||to play |- |finir{{ref|finir}}||to finish |- ||attendre{{ref|finir [1]}}||to wait (for) |- |aimer||to like |- |détester||to hate |- |rigoler||to joke around{{ref|rigoler}} |- |(mon) ami(e){{ref|amie}}||(my) friend |} {{note|finir}} ''Finir'' and ''attendre'' are not -er verbs. You will learn their conjugation in a later lesson. {{note|rigoler}} ''Tu rigoles!'' means ''You’re joking!'' or ''You don’t mean it!'' {{note|amie}} ''Mon'' is often substituted for ''ma'' when the following word begins with a vowel. Thus, ''mon amie'' is used instead of ''ma amie'', while ''ma bonne amie'' would be okay. ===V: Places=== {| class="wikitable" border="1" cellpadding="2" |le parc||park |- ||la piscine||swimming pool |- |la plage||beach |- |le restaurant||restaurant |- |le stade||stadium |} ===G: Indirect Object Pronouns ''lui'' and ''leur''=== Indirect objects are prepositional phrases with the object of the preposition, a direct object is a noun that receives the action of a verb. *Il jette la balle à Jacques. - He throws the ball to Jack. *Il jette la balle à Marie. - He throws the ball to Mary. *Il jette la balle à Jacques et Marie. - He throws the ball to Jack and Mary. ''Lui'' and ''leur'' are indirect object pronouns. They replace nouns referring to people and mean ''to him/her'' and ''to them'' respectively. *''lui'' - replaces a singular masculine or feminine indirect object referring to a human *''leur'' - replaces a plural masculine or feminine indirect object referring to a human An example follows: *Il lui jette la balle. - He throws the ball to him. *Il lui jette la balle. - He throws the ball to her. *Il leur jette la balle. - He throws the ball to them. Whether ''lui'' means ''to him'' or ''to her'' is given by context. In English, "He throws ''him'' the ball" is also said, and means the same thing. When used with the direct object pronouns ''le, la'', and ''les'', ''lui'' and ''leur'' come after those pronouns. *Il la lui jette. - He throws it to him. Note that while ''le, la'', and ''les'' are used to replace people or inanimate objects, ''lui'' and ''leur'' are not used to replace innanimate objects and things. Also note that unlike ''le'' and ''la'', which are shortened to ''l''' when followed by a vowel, ''lui'' is never shortened ===V: Jouer=== The verb ''jouer'' is a regular -er verb meaning ''to play''. It can be used to refer to both sports and instruments. When referring to sports, use ''jouer à'', but when referring to instruments, use ''jouer de...'' As always, ''jouer'' must be conjugated rather than left in the infinitive. {| {{French Table|Vocabulary|Play|Jouer|0|4}} ! colspan=2 | jouer à... ! colspan=2 | jouer de... |- |au baseball||baseball||de la clarinette||clarinet |- |au basket||basketball||du piano||piano |- |au football||soccer; football||de la guitare||guitar |- |au football américain||American football||du violon||violin |- |au golf||golf||de la batterie | rowspan=3 | drums<br>(singular<br>in French) |- |au tennis||tennis|| |- |au volley||volleyball|| |- |} ===V: The House=== {| {{French Table|Vocabulary|The House|La maison|0|4}} !colspan=2|General !colspan=2|Actions |- ||la rue{{ref|rue}}||street||arriver (à la maison)||to arrive (home) |- |la (belle) vue||(beautiful) sight, view||rentrer (à la maison)||to go back home |- |(tout) près (de)<br>(pas) (tout) loin (de)||(very) close (to)<br>(not) (very) far (from)||quitter (la maison){{ref|quitter}}<br>quitter (une salle)||to leave (home)<br>to leave (a room) |- |chez [''person'']||at the house of [''person'']<br>at [''person'']'s house||donner sur la rue<br>donner sur la cour||to overlook the street<br>to overlook the courtyard |- !colspan=2|Houses |habiter||to live (somewhere) |- |la maison<br>la maisonnette<br>le pavillon||house, home<br>small house<br>individual house||habiter en ville<br>habiter en banlieue||to live downtown<br>to live in the suburb |- |l’immeuble (m)||(appartment) building !colspan=2|Floors |- |l'appartement (m)||flat/apartment||l'étage (m)||level |- |le studio||studio||le rez-de-chaussée||lobby, ground floor |- |H.L.M.<br>(Habitations à<br>Loyer Modéré)||low income housing |le premier étage<br>le deuxième étage<br>le troisième étage||second floor<br>third floor<br>fourth floor |- !colspan=4|Cities and Neigborhoods |- |le quartier||neighborhood||le centre ville||downtown |- |l'arrondissement (m)||district||la ville||city |- |la banlieue||the suburb||le village||town |- !colspan=2|Rooms !colspan=2|Parts of a Room |- |la pièce<br>la chambre||room||le plafond||ceiling |- |la salle de séjour||family room||le sol||ground |- |la cave||basement||la fenêtre||window |- |le grenier||attic||le toit||roof |- |la cuisine||kitchen !colspan=2|Entering and Exiting |- |la salle à manger||dining room||le mur||wall |- |la salle de bains||bathroom||l'escalier (m)||stairs |- |la chambre à coucher||bedroom||monter à pied||to walk up stairs |- |le garage||Garage||l'ascenseur (m)||elevator/lift |- |les toilettes<br>(f) (no singular)||water-closet, restroom<br>(only toliet, no bath)||monter en ascenseur<br>prendre l'ascenseur||to go up by elevator<br>to take the elevator |- |le bureau||office||monter à pied||to go up by foot |- !colspan=2|Outside a House |la porte||door |- |la voiture||car||l'entrée (f)||entry(way) |- |la terrase||patio !colspan=2|Furniture |- |le balcon||balcony||le rideau||curtain |- |le jardin||garden||la chaise||chair |- |la fleur||flower||la table||table |- |l'arbre (m)||tree||l'armoire (f)||cupboard |- |la cour||courtyard||le lit||bed |- |le (la) voisin(e)||neigbor||le tapis||carpet |- | || ||le fauteuil||armchair |} {{note|rue}} To express ''to live on ____ street'', you say ''habiter rue ____'' *J'habite Rue Lecourbe. - I live on Lecourbe Street. *Il habite Rue de Rennes. - He lives on Rennes Street. {{note|quitter}} ''Quitter'' must be followed by a direct object, usually a room or building.. ''Partir'' is used in other phrases. You will learn how to conjugate these verbs in a future lesson. ===G: Faire=== The verb ''faire'' is translated to ''to do'' or ''to make''. It is irregularly conjugated (it does not count as a regular -re verb). ====Formation==== {| class=wikitable !'''faire''' {{fr/IPA|/fɛʁ/ (''fehr'')|audio=Fr-faire.ogg}} !! '''to do''' |- |je fais {{fr/IPA|/fɛ/ (''feh'')|audio=Fr-fais.ogg}} || I do |- |tu fais {{fr/IPA|/fɛ/ (''feh'')|audio=Fr-fais.ogg}} || you do |- |il fait {{fr/IPA|/fɛ/ (''feh'')|audio=Fr-fait.ogg}} || he does |- |nous faisons {{fr/IPA|/fɛ.zɔ̃/ (''feh-zhoh<sup>(n)</sup>'')}} || we do |- |vous faites {{fr/IPA|/fɛt/ (''feht'')}} || you do |- |ils font {{fr/IPA|/fɔ̃/ (''foh<sup>(n)</sup>'')}} || they do |- |fait {{fr/IPA|/ly/}} || done |} ====Uses For ''Faire''==== *sports (in French you do sports rather than play them) *weather *tasks *le faire causatif **faire (conjugated) + infinitive - to have something done for oneself **Je fais réparer le fourneau. - I make/have the stove repaired. ====Related Words==== *défaire - to demolish *malfaire - to do badly *refaire - to remake ====Expressions with Faire==== *faire attention - to pay attention *faire connaissance - to get acquainted *faire la morale - to scold *faire la queue - to wait in line *s'en faire - to worry ===G: ''me, te, nous'', and ''vous''=== *Direct and Indirect Object Pronouns ====Meanings==== *''me'' - me, to me *''te'' - you, to you (singular, informal) *''nous'' - us, to us *''vous'' - you, to you (plural, formal) ====Place in sentences==== *These pronouns are placed before the verb that they modify **Je te vois. - I see you. **Je veux te voir. - I want to see you. *If a perfect tense is used, these pronouns go before the auxillary verb. **Je t'ai vu. - I saw you. ====Direct Object Replacement==== *Il me voit. - He sees me. *Il te voit. - He sees you. *Il nous voit. - He sees us. *Il vous voit. - He sees you. ====Indirect Object Replacement==== *Il m'appelle. - He calls to me. *Il te le jette. - He throws it to you. *Il nous le jette. - He throws it to us. *Il vous le jette. - He throws it to you. {| |{{note|coté}} à coté de - at the side of, next to |{{note|ordinateur}} l'ordinateur (m) - computer |{{note|regarder}} aimer regarder - to like to watch |- |{{note|y}} y (''ee'') - there |{{note|manger}} manger - to eat |} ===G: Standard Negation=== In order to say that one did ''not'' do something, the ''ne ... pas'' construction must be used. The ''ne'' is placed before the verb, while the ''pas'' is placed after. ====Formation and Rules==== *Simple negation is done by wrapping ''ne...pas'' around the verb. **Je ne vole pas. - I do not steal. *In a perfect tense, ''ne...pas'' wraps around the auxillary verb, not the participle. **Je n'ai pas volé. - I have not stolen. *When an infinitive and conjugated verb are together, ''ne...pas'' usually wraps around the conjugated verb. **Je ne veux pas voler. - I do not want to steal. *''ne pas'' can also go directly in front of the infinitive for a different meaning. **Je veux ne pas voler. - I want to not steal. *''ne'' goes before any pronoun relating to the verb it affects. **Je ne le vole pas. - I am not stealing it. ====Examples==== {| {{French Table|Grammar|Negation Formation Examples|Exemples de formation de négation|262|2}} | Il est avocat.<br>Il n'est pas avocat.||He is [a] lawyer.<br>He is not [a] lawyer. |- | Nous faisons nos devoirs.<br>Nous ne faisons pas nos devoirs.||We are doing our homework.<br>We are not doing our homework. |- | Je joue du piano.<br>Je ne joue pas du piano.||I play the piano.<br>I do not play the piano. |- | Vous vendez votre voiture.<br>Vous ne vendez pas votre voiture.||You sell your car.<br>You do not sell your car. |} ====Negation of Indefinite Articles==== The indefinite articles ''un'', ''une'', and ''des'' change to ''de'' (or ''d’'') when negating a sentence. *J'ai un livre. - I have a book. *Je n'ai pas de livre. - I don't have any book. *J'ai des livres. - I have some books. *Je n'ai pas de livres. - I don't have any books. ====Examples==== {| class="wikitable" | Il est belge..<br>Il n'est pas belge.||He is Belgian.<br>He is not Belgian. |- | Nous lisons un livre.<br>Nous ne lisons pas de livre.||We read a book.<br>We do not read a book. |- | Je mange une cerise.<br>Je ne mange pas de cerise.||I eat a cherry.<br>I do not eat a cherry. |} ===G: Contractions=== ===V: Weather - Le temps{{ref|temps}}=== {| {{French Table|Vocabulary|Weather|Le temps|0|4}} ! colspan=2 | General ! colspan=2 | Cloudy Weather |- |le soleil||sun||le nuage<br>Il y a des nuages.<br>.||cloud<br>It's cloudy.<br>lit: There are some clouds. |- |le ciel||sky||nuageux(-euse)||cloudy |- | || ||couvert(e)(s)||overcast, lit: covered |- ! colspan=2 | Warm Weather |l'éclaircie (f)||clearing, break (in clouds) |- |Il fait beau||It's nice. ! colspan=2 | Cold and Windy Weather |- ||Il fait chaud.||It's warm.||Il fait froid.||It's cold. |- |Le ciel est dégagé.<br> <br>Le ciel se dégage.||The sky is clear.<br>lit: The sky is freed.<br>The sky is clearing up.||le vent<br>Il fait du vent.<br>Le vent souffle.||wind<br>It's windy.<br>The wind blows. |- |Le soleil brille.||The sun is shining.||la rafale||gust of wind |- ! colspan=2 | Rainy Weather ! colspan=2 | Snowy Weather |- |la brume||fog, haze, mist||l'hiver (m)||winter |- |le brouillard||fog||la neige<br>Il neige.||snow<br>It's snowing. |- |la bruine||drizzle||la grêle<br>Il tombe de la grêle.<br>.||hail<br>It's hailing.<br>lit: It falls of the hail. |- ||une goutte de pluie||a drop of rain ! colspan=2 | Extreme weather |- |la pluie<br>La pluie tombe.||rain<br>The rain falls.||un orage<br>orageux(-euse)<br>Il y a un orage!||a storm<br>stormy<br>There's a storm! |- |Il pleut.<br>il a plu.<br>Il va pleuvoir.||It's raining.<br>It rained.<br>It's going to rain.||l'éclair (m)<br>la foudre||flash (of lightning)<br>lightning |- |pluvieux(-euse)<br>Le temps est pluvieux.<br>.||rainy<br>It's raining.<br>lit: The weather is rainy.||la tempête||storm, tempest |- |de gros nuages noirs.||large black clouds||agité(e)(s)||stormy, agitated |- |l'averse (f)||downpour||le tonnerre||thunder |} {{note|temps}} ''Le temps'' means both ''the weather'' and ''the time''. ===G: Aller=== The verb ''aller'' is translated to ''to go''. It is irregularly conjugated (it does not count as a regular -er verb). ====Formation==== In the present indicative, aller is conjugated as follows: {| {{French Table|Verb|aller|to go|327|7}} ! ! colspan=3 | Singular ! colspan=3 | Plural |- ! first person||je vais | ''jeuh vay''||I go ! nous<sub>z</sub>allons | ''nouzah loh<span style="font-size:x-small;">n</span>''||we go |- ! second person||tu vas | ''too vah''||you go ! vous<sub>z</sub>allez | ''vouzah lay''||you go |- ! rowspan=3 | third person ! il va | ''eel vah''||he goes ! rowspan=2 | ils vont | rowspan=2 | ''eel vohn'' | rowspan=2 | they go<br>(masc. or mized) |- ! elle va | ''ell vah''||she goes |- ! on va | ''oh<span style="font-size:x-small;">n</span> vah''||one goes ! elles vont | ''ell vohn''||they go (fem.) |} ====Usage==== There is no present progressive tense in French, so ''aller'' in the present indicative is used to express both ''I go'' and ''I am going''. ''Aller'' must be used with a place and cannot stand alone. The preposition ''à'', meaning ''in, at'', or ''to'', is used, followed by the place. *Tu vas a l'école? - You're going to school. Remember that ''à le'' contracts to ''au'' and ''à les'' contracts to ''aux''. *''Je vais au stade''. - I'm going to the stage. Instead of a preposition and place, you can use the pronoun ''y'', meaning ''there''. ''Y'' comes before the verb. Remember that ''aller'' must be used with a place (''there'' or a name) when indicating that you are going somewhere, even if a place wouldn't normally be given in English. *J'y vais. - I'm going there. *Tu y vas. - You're going there. *Nous y allons. - We're going there. ====Futur Proche==== The structure ''aller'' + infinitive is used to say that something is going to happen in the near future. *Il va pleuvoir demain. - It's going to rain tomorrow. *Il va faire froid. - It's going to be cold. Remember that the negative goes around the conjugated verb. *Il ne va pas pleuvoir demain. - It's not going to rain tomorrow. ====Idioms==== *Allons-y - ''ahlonzee'' - Let's go! ([[French/Grammar/Moods/Imperative|impératif]]) *Ça va? - How are you? (lit: It goes?) *On y va! - Let's get going! *On y va? - Should we go? ====Liaison==== Usually, whenever a vowel sound comes after ''...ons'' or ''...ez'', the usually unpronounced ''s'' and ''z'' change to a sharp ''z'' sound and link to the next syllable. (This process is called liaison.) However, since allons and allez begins with vowels, nous allons is pronounced ''nyoozahloh'' and vous allez is pronounced ''voozahlay''. In order to have a pleasing and clean sound, two liaisons should not go connsecultively. There is therefore no liaison in ''allons à'' when it comes right after ''nous'' and ''allez à'' when it comes after ''vous''. *In the phrase ''Vous allez à l'école?'', ''vous allez à'' is pronounced ''vouzahlay ah''. *In the phrase ''vous et Marie allez à l'école?'', ''allez à'' is pronounced ''ahlayzah''. ===G: Regular -ir Verbs=== The second category of regular French verbs is '''-ir''' verbs. To conjugate, drop the -ir to find the "stem" or "root". Add endings to the root based on the subject and tense. {| style="text-align:center;" {{French Table|Grammar|-ir Verb Formation|Formation des verbes en -ir|0|3}} |+ '''finir''' - to finish |- !pronoun !!ending !! verb |- |je || -is || fin'''is''' |- |tu || -is || fin'''is''' |- |il/elle || -it || fin'''it''' |- |nous || -issons || fin'''issons''' |- |vous || -issez || fin'''issez''' |- |ils/elles || -issent || fin'''issent''' |} ===G: Possessive Adjectives=== ====Formation==== {| {{French Table|Grammar|Possessive Adjectives|Les adjectifs possessifs|0|7}} ! !colspan=2|First Person !colspan=2|Second Person !colspan=2|Third Person |- !Singular |mon, ma, mes||my||ton, ta, tes||your||son, sa, ses||his, her |- !Plural |notre, notre, nos||our||votre, votre, vos||your||leur, leur, leurs||their |} ====Usage==== As you can probably tell from their name, possessive adjective are used to express possession of an object. *C'est mon livre. - It's my book. In English the possessive adjective agrees with the subject (''his sister'', ''her brother''). But in French, possessive adjectives act like all other adjectives: they must agree with the noun they modify. {| {{French Table|Grammar|Possesive Adjective Usage|Utilisation des adjectifs possessifs|0|4}} !colspan=2|Masculine Noun<br>le livre !colspan=2|Feminine Noun<br>la voiture |- |le livre de Marc<br>the book of Marc||son livre<br>his book||la voiture de Marc<br>the car of Marc||sa voiture<br>his car |- |les livres de Marc<br>the books of Marc||ses livres<br>his books||les voitures de Marc<br>the cars of Marc||ses voitures<br>his cars |- |le livre de Marie<br>the book of Marie||son livre<br>her book||la voiture de Marie<br>the car of Marie||sa voiture<br>her car |- |les livres de Marie<br>the books of Marie||ses livres<br>her books||les voitures de Marie<br>the cars of Marie||ses voitures<br>her cars |} Whether the third person singular possessive adjectives ''son'', ''sa'' and ''ses'' are ''his'' or ''her'' is indicated by context. *Elle lit son livre. - She reads her book. ====Liaison and Adjective Changes==== Liaison occurs when ''mon'', ''ton'', and ''son'' are followed by a vowel. *Il est mon<sub>n</sub>ami. - He is my friend. *Il est ton<sub>n</sub>ami. - He is your friend. *Il est son<sub>n</sub>ami. - He is his/her friend. Liaison also occurs with all plural forms, since they all end in ''s''. *Ils sont mes<sub>z</sub>amis. - They are my friends. *Ils sont nos<sub>z</sub>amis. - They are our friends. ''Mon, ton'', and ''son'' are used before a feminine singular noun. Elision (to m', t', or s') does '''not''' occur. *Elle est mon<sub>n</sub>amie. - She is my friend. ===G: Regular -re Verbs=== The third category of regular verbs is made up of ''-re''' verbs. To conjugate, drop the -re to find the "stem" or "root". Add endings to the root based on the subject and tense, as demonstrated below for the present tense. ====Formation==== {| style="text-align:center;" {{French Table|Grammar|-re Verb Formation|Formation des verbes en -re|0|3}} |+ '''attendre''' – to wait |- !pronoun !!ending !! verb |- |je ''(j')'' || -s || attend'''s''' |- |tu || -s || attend'''s''' |- |il/elle || - || attend |- |nous || -ons || attend'''ons''' |- |vous || -ez || attend'''ez''' |- |ils/elles || -ent || attend'''ent''' |} ====Vendre==== The verb ''vendre'' is a regular -re verb: {| class=wikitable !'''vendre''' {{fr/IPA|/vɑ̃dʁ/ (''vahn<sup>(n)</sup>dr'')|audio=Fr-vendre.ogg}} !! '''to sell''' |- |je vends {{fr/IPA|/vɑ̃/ (''vahn'')|audio=Fr-Paris--prends.ogg}} || I sell |- |tu vends {{fr/IPA|/vɑ̃/ (''vahn'')|audio=Fr-Paris--prends.ogg}} || you sell |- |il vend {{fr/IPA|/vɑ̃/ (''vahn'')|audio=Fr-Paris--prend.ogg}} || he sells |- |nous vendons {{fr/IPA|/vɑ̃.dɔ̃/ (''vahn doh<sub>n</sub>'')|audio=Fr-Paris--prenons.ogg}} || we sell |- |vous vendez {{fr/IPA|/vɑ̃.de/ (''vahn day'')|audio=Fr-Paris--prenez.ogg}} || you sell |- |ils vendent {{fr/IPA|/vɑ̃d/ (''vahnde'')|audio=Fr-Paris--prennent.ogg}} || they sell |- |vendu {{fr/IPA|/vɑ̃.dy/}} || sold |} ====Common -re Verbs==== Compared to -er verbs, -re verbs are not very common. You will however see the following verbs fairly often. ===G: Beau, Nouveau, and Vieux=== ====Formation==== {| {{French Table|Grammar|The Adjectives Beautiful, New, and Old|Beau, Nouveau, and Vieux|0|5}} ! || ||Masc. Consonant||Masc. Vowel||Fem. Sing. (all) |- !rowspan=2|Beau||Singular |un beau garçon||un bel individu||une belle fillette |- !Plural |de beaux garçons||de beaux<sub>z</sub>individus||de belles fillettes |- !rowspan=2|Nouveau||Singular |un nouveau camion||un nouvel ordre||une nouvelle idée |- !Plural |de nouveaux camions||de nouveaux<sub>z</sub>ordres||de nouvelles idées |- !rowspan=2|Vieux||Singular |un vieux camion||un vieil ordre||une vieille idée |- !Plural |de vieux camions||de vieux<sub>z</sub>ordres||de vieilles idées |} ====Sentences Placement==== As you have already learned, most adjectives come after the noun they modify in French. *un homme intelligent - an intelligent man *des hommes intelligents - intelligent men However, some common French adjectives, including beau, nouveau, and vieux come before the noun. *une jolie voiture - a pretty car ''Des'' is replaced with ''de'' when an adjective comes before the noun. *de jolies voitures - pretty cars Note that in informal speech, ''des'' in very often used in place of ''de''. ===G: Prendre=== Prendre is not a regular -re verb, and is conjugated differently. ====Formation==== {| class=wikitable !'''prendre''' {{fr/IPA|/pʁɑ̃dʁ/ (''prah<sup>(n)</sup>dr'')|audio=Fr-prendre.ogg}} !! '''to take''' |- |je prends {{fr/IPA|/pʁɑ̃/ (''prah<sup>(n)</sup>'')|audio=Fr-Paris--prends.ogg}} || I take |- |tu prends {{fr/IPA|/pʁɑ̃/ (''prah<sup>(n)</sup>'')|audio=Fr-Paris--prends.ogg}} || you take |- |il prend {{fr/IPA|/pʁɑ̃/ (''prah<sup>(n)</sup>'')|audio=Fr-Paris--prend.ogg}} || he takes |- |nous prenons {{fr/IPA|/pʁə.nɔ̃/ (''pruh-noh<sup>(n)</sup>'')|audio=Fr-Paris--prenons.ogg}} || we take |- |vous prenez {{fr/IPA|/pʁǝ.ne/ (''pruh-nay'')|audio=Fr-Paris--prenez.ogg}} || you take |- |ils prennent {{fr/IPA|/pʁɛn/ (''prehn'')|audio=Fr-Paris--prennent.ogg}} || they take |- |pris {{fr/IPA|/pʁi/}} || taken |} ====Related Words==== *prendre - to take *apprendre - to learn *comprendre - to comprehend/understand *se méprendre - to be mistaken *surprendre - to surprise ====Idioms and Related Expressions==== *prendre - to take, to have something to eat *prendre conscience (de) - to become aware (of) *prendre la correspondance - to change trains *prendre une décision - to make a decision *prendre des kilos - to gain weight *prendre part (à) - to take part (in) *prendre la parole - to start talking *prendre le pas sur - to surpass *prendre le petit déjeuner - to eat breakfast *prendre rendez-vous - to make an appointment {{BookCat}} 4fqcy87elm1b115qkqlcyathon20brg Vehicle Identification Numbers (VIN codes)/GM/VIN Codes 0 142013 4654432 4653268 2026-07-14T13:49:11Z JustTheFacts33 3434282 /* Body style codes 1981-2009 Light Duty Truck & Multi-Purpose Passenger Vehicle */ 4654432 wikitext text/x-wiki {{Vehicle Identification Numbers (VIN codes)/Warning}}{{clear}} It is the tenth digit that gives you the model year for GM. I've been working at a Chevy dealer for years running codes/vins. For example (my examples only apply to 2001-2015 gm vehicles) Remember 10th digit from the beginning, (left to right). 2001... 1, 2002...2, 2003...3, etc., 2009...9. After 2009, the tenth digit was given a letter 2010... A, 2011...B, 2012...C, 2013...D, 2014...E, 2015...F, Etc... We have another 20 years worth of letters. Thanks for reading. You can always check your model year by looking in your drivers side door jamb and it will give you model year. If it was assembled in July or later, the model year is probably a year later than the calendar year of the manufacturing date listed. ==American GM== ===American VIN format 1981-1984 Passenger Car=== GM's VIN format is as follows: <table border=1 style="margin:auto;"> <tr> <th>Position</th> <th>Sample</th><th></th><th></th><th>Description</th> </tr><tr> <td>1</td> <td>1</td><td></td><td></td><td rowspan=3>[[#GM WMIs|World Manufacturer Identifier]]</td> </tr><tr> <td>2</td> <td>G</td><td></td><td></td></tr><tr> <td>3</td> <td>6</td><td></td><td></td></tr><tr> <td>4</td> <td>A</td><td></td><td></td><td>[[#American restraint types 1981-1984|Restraint type]]</td> </tr><tr> <td>5</td> <td>M</td><td></td><td></td><td>[[#Car Line & Series Code 1981-1984|Car Line & Series Code]]</td> </tr><tr> <td>6</td> <td>4</td><td></td><td></td><td rowspan=2>[[#Body style codes 1981-1986|Body style]]</td> </tr><tr> <td>7</td> <td>7</td><td></td><td></td><td> </td> </tr><tr> <td>8</td> <td>8</td><td></td><td></td><td>[[#American engine codes 1981-|Engine type]]</td> </tr><tr> <td>9</td> <td>0</td><td></td><td></td><td>[[Vehicle Identification Numbers (VIN codes)/Check digit |Check digit]]</td> </tr><tr> <td>10</td> <td>E</td><td></td><td></td><td>[[Vehicle Identification Numbers (VIN codes)/Model year|Model year]]</td> </tr><tr> <td>11</td> <td>9</td><td></td><td></td><td>[[#GM factories supplying North America|Factory ID]]</td> </tr><tr> <td>12</td> <td>1</td><td></td><td></td><td rowspan=6>Sequential number </tr><tr> <td>13</td> <td>2</td><td></td><td></td></tr><tr> <td>14</td> <td>3</td><td></td><td></td></tr><tr> <td>15</td> <td>7</td><td></td><td></td></tr><tr> <td>16</td> <td>6</td><td></td><td></td></tr><tr> <td>17</td> <td>2</td><td></td><td></td> </table> ====American restraint types 1981-1984==== The restraint type is specified as character four of the American GM VIN for passenger cars. {| border=1 style="margin:auto;" !VIN Code !Description |- |A||Manual Seatbelts only - No Passive Restraint |} ====Car Line & Series Code 1981-1984==== The Car Line & Series Code is specified as character five of the American GM VIN for passenger cars. {| border=1 style="margin:auto;" !List of GM platforms !Car Line & <br> Series Code !:Category:General Motors vehicles|Model |- |rowspan=19|GM A platform - rear-wheel drive |T||Chevrolet Malibu 1981 |- |W||Chevrolet Malibu Classic 1981 |- |Z||Chevrolet Monte Carlo 1981 |- |D||Pontiac LeMans 1981 |- |F||Pontiac Grand LeMans 1981 |- |J||Pontiac Grand Prix 1981 |- |K||Pontiac Grand Prix LJ 1981 |- |P||Pontiac Grand Prix Brougham 1981 |- |G||Oldsmobile Cutlass sedan, Cutlass Cruiser wagon 1981 |- |H||Oldsmobile Cutlass Cruiser ''Brougham'' wagon 1981 |- |K||Oldsmobile Cutlass Calais coupe 1981 |- |M||Oldsmobile Cutlass Supreme ''Brougham'' 1981 |- |R||Oldsmobile Cutlass Supreme coupe, Cutlass LS sedan 1981 |- |E||Buick Century wagon 1981 |- |H||Buick Century sedan, Estate wagon 1981 |- |J||Buick Regal 1981 |- |K||Buick Regal ''Sport'' 1981 |- |L||Buick Century ''Limited'' 1981 |- |M||Buick Regal ''Limited'' 1981 |- |rowspan=10|GM A platform - front-wheel drive |W||Chevrolet Celebrity 1982-1984 |- |F||Pontiac 6000 1982-1984 |- |G||Pontiac 6000 ''LE'' 1982-1984 |- |H||Pontiac 6000 ''STE'' 1983-1984 |- |G||Oldsmobile Cutlass Ciera 1982 |- |J||Oldsmobile Cutlass Ciera ''LS'' 1982-1984, Cutlass Cruiser ''LS'' 1984 |- |M||Oldsmobile Cutlass Ciera ''Brougham'' 1982-1984 |- |G||Buick Century ''T-Type'' 1983-1984 |- |H||Buick Century ''Custom'' 1982-1984 |- |L||Buick Century ''Limited'' 1982-1984 |- |rowspan=19|GM B platform |D||Chevrolet Bel Air 1981 (Canada only) |- |L||Chevrolet Impala 1981-1984 |- |N||Chevrolet Caprice Classic 1981-1984 |- |F||Pontiac Laurentian 1981 (Canada only) |- |L||Pontiac Catalina 1981, Parisienne 1984 |- |L||Pontiac Parisienne 1982-1983 (Canada only) |- |N||Pontiac Bonneville 1981 |- |N||Pontiac Parisienne 1981, Parisienne Brougham 1982-1983 (Canada only) |- |R||Pontiac Bonneville Brougham 1981 |- |T||Pontiac Parisienne Brougham 1984 |- |L||Oldsmobile Delta 88 1981-1983 |- |N||Oldsmobile Delta 88 Royale 1981-1984 |- |P||Oldsmobile Custom Cruiser 1981-1984 |- |V||Oldsmobile Delta 88 Royale Brougham LS 1984 |- |Y||Oldsmobile Delta 88 Royale Brougham 1981-1984 |- |N||Buick Le Sabre 1981, Le Sabre ''Custom'' 1982-1984 |- |P||Buick Le Sabre ''Limited'' 1981-1984 |- |R||Buick Le Sabre Estate Wagon 1981-1983 |- |V||Buick Electra Estate Wagon 1981-1984 |- |rowspan=13|GM C platform - rear-wheel drive |G||Oldsmobile 98 Regency 1984 |- |H||Oldsmobile 98 Regency Brougham 1984 |- |V||Oldsmobile 98 Luxury 1981 |- |W||Oldsmobile 98 Regency Brougham 1982-1983 |- |X||Oldsmobile 98 Regency 1981-1983 |- |R||Buick Electra Limited 1984 |- |U||Buick Electra Park Avenue 1984 |- |W||Buick Electra Park Avenue 1981-1983 |- |X||Buick Electra Limited 1981-1983 |- |B||Cadillac Fleetwood Brougham 1981-1983 |- |D||Cadillac DeVille 1981-1983 |- |M||Cadillac DeVille 1984 |- |W||Cadillac Fleetwood Brougham 1984 |- |rowspan=1|GM D platform - rear-wheel drive |F||Cadillac Fleetwood Limousine 1981-1984 |- |rowspan=4|GM E platform |Z||Oldsmobile Toronado Brougham 1981-1984 |- |Y||Buick Riviera T-Type 1981-1984 |- |Z||Buick Riviera 1981-1984 |- |L||Cadillac Eldorado 1981-1984 |- |rowspan=7|GM F platform |P||Chevrolet Camaro Sport Coupe 1981-1984 |- |S||Chevrolet Camaro Berlinetta 1981-1984 |- |S||Pontiac Firebird 1981-1984 |- |T||Pontiac Firebird ''Esprit'' 1981 |- |V||Pontiac Firebird ''Formula'' 1981 |- |W||Pontiac Firebird ''Trans Am'' 1981-1984 |- |X||Pontiac Firebird ''Trans Am'' Turbo Special Edition 1981, Firebird ''S/E'' 1982-1984 |- |rowspan=15|GM G platform - rear-wheel drive |W||Chevrolet Malibu Classic 1982, Malibu 1983 |- |Z||Chevrolet Monte Carlo 1982-1984 |- |J||Pontiac Grand Prix 1982-1984 |- |K||Pontiac Grand Prix LJ 1982-1983, Grand Prix LE 1984 |- |N||Pontiac Bonneville G 1982-1984 |- |P||Pontiac Grand Prix Brougham 1982-1984 |- |R||Pontiac Bonneville G Brougham 1982-1984 |- |S||Pontiac Bonneville G ''LE'' 1984 |- |H||Oldsmobile Cutlass Cruiser wagon 1982-1983 |- |K||Oldsmobile Cutlass Calais coupe 1982-1984 |- |M||Oldsmobile Cutlass Supreme ''Brougham'' 1982-1984 |- |R||Oldsmobile Cutlass Supreme coupe & sedan 1982-1984 |- |J||Buick Regal 1982-1984 |- |K||Buick Regal ''Sport'' 1982, Regal ''T-Type'' 1983-1984 |- |M||Buick Regal ''Limited'' 1982-1984 |- |rowspan=13|GM J platform |C||Chevrolet Cavalier 1983-1984 |- |D||Chevrolet Cavalier 2-d/4-d/wagon 1982, Cavalier CS 1983-1984 |- |E||Chevrolet Cavalier 3-door hatchback 1982, Cavalier CS 3-door hatchback 1983, Cavalier Type 10 2-d/3-d/Convertible 1984 |- |B||Pontiac J2000 1982, 2000 1983, 2000 Sunbird 1984 |- |C||Pontiac J2000 LE 1982, 2000 LE 1983, 2000 Sunbird LE Convertible 1983, 2000 Sunbird LE 1984 |- |D||Pontiac J2000 SE 1982, 2000 SE 1983, 2000 Sunbird SE 1984 |- |E||Pontiac J2000 S 1982 |- |C||Oldsmobile Firenza Base model 1982-1984, Firenza S 1982-1984 |- |D||Oldsmobile Firenza LX 1982-1984, Firenza SX 1982-1984 |- |E||Buick Skyhawk T-Type 1983-1984 |- |S||Buick Skyhawk Custom 1982-1984 |- |T||Buick Skyhawk Limited 1982-1984 |- |G||Cadillac Cimarron 1982-1984 |- |rowspan=1|GM K platform |S||Cadillac Seville 1981-1984 |- |rowspan=3|GM P platform ||E||Pontiac Fiero ''Coupe'' 1984 |- ||F||Pontiac Fiero ''SE'' 1984 |- ||M||Pontiac Fiero ''Sport coupe'' 1984 |- |rowspan=6|GM T platform - rear-wheel drive |B||Chevrolet Chevette 1981-1983, Chevette CS 1984 |- |J||Chevrolet Chevette Scooter 1981-1983, Chevette 1984 |- |B||Pontiac Acadian 1981-1984 (Canada only) |- |J||Pontiac Acadian S 1981-1982, Pontiac Acadian Scooter 1983-1984 (Canada only) |- |L||Pontiac T1000 1982, 1000 1983-1984 |- |M||Pontiac T1000 1981 |- |rowspan=10|GM X platform |H||Chevrolet Citation 2-door coupe 1982-1983, Citation II 2-door coupe 1984 |- |X||Chevrolet Citation hatchback 1981-1983, Citation II hatchback 1984 |- |T||Pontiac Phoenix SJ 1982-1983, Phoenix SE 1984 |- |Y||Pontiac Phoenix 1981-1984 |- |Z||Pontiac Phoenix LJ 1981-1983, Phoenix LE 1984 |- |B||Oldsmobile Omega 1981-1984 |- |E||Oldsmobile Omega Brougham 1981-1984 |- |B||Buick Skylark 1981-1982, Skylark Custom 1983-1984 |- |C||Buick Skylark Limited 1981-1984 |- |D||Buick Skylark Sport 1981-1982, Skylark T-Type 1983-1984 |- |rowspan=1|GM Y platform |Y||Chevrolet Corvette 1981-1982, 1984 |} ===American VIN format 1985-1986 Passenger Car=== GM has traditionally encoded the platform as the fourth character of the VIN. Other content includes an engine code and manufacturing plant. GM's VIN format is as follows: <table border=1 style="margin:auto;"> <tr> <th>Position</th> <th>Sample</th><th></th><th></th><th>Description</th> </tr><tr> <td>1</td> <td>1</td><td></td><td></td><td rowspan=3>[[#GM WMIs|World Manufacturer Identifier]]</td> </tr><tr> <td>2</td> <td>G</td><td></td><td></td></tr><tr> <td>3</td> <td>6</td><td></td><td></td></tr><tr> <td>4</td> <td>D</td><td></td><td></td><td>[[#Platform & Series Codes 1985- Passenger Car|Platform]]</td> </tr><tr> <td>5</td> <td>W</td><td></td><td></td><td>[[#Platform & Series Codes 1985- Passenger Car|Series Code]]</td> </tr><tr> <td>6</td> <td>6</td><td></td><td></td><td rowspan=2>[[#Body style codes 1981-1986|Body style]]</td> </tr><tr> <td>7</td> <td>9</td><td></td><td></td><td> </td> </tr><tr> <td>8</td> <td>Y</td><td></td><td></td><td>[[#American engine codes 1981-|Engine type]]</td> </tr><tr> <td>9</td> <td>0</td><td></td><td></td><td>[[Vehicle Identification Numbers (VIN codes)/Check digit |Check digit]]</td> </tr><tr> <td>10</td> <td>G</td><td></td><td></td><td>[[Vehicle Identification Numbers (VIN codes)/Model year|Model year]]</td> </tr><tr> <td>11</td> <td>9</td><td></td><td></td><td>[[#GM factories supplying North America|Factory ID]]</td> </tr><tr> <td>12</td> <td>1</td><td></td><td></td><td rowspan=6>Sequential number </tr><tr> <td>13</td> <td>2</td><td></td><td></td></tr><tr> <td>14</td> <td>3</td><td></td><td></td></tr><tr> <td>15</td> <td>7</td><td></td><td></td></tr><tr> <td>16</td> <td>6</td><td></td><td></td></tr><tr> <td>17</td> <td>2</td><td></td><td></td> </table> ====Body style codes 1981-1986==== The Body type is specified as characters six and seven of the American GM VIN for passenger cars from 1981-1986. {| border=1 style="margin:auto;" !VIN !Description |- |11,27,37,47,57,97||Two-Door Coupe/Sedan |- |07,08,77,87||Two-Door Hatchback |- |67||Two-Door Convertible |- |19,69||Four-Door Sedan |- |68||Four-Door Hatchback |- |23||Four-Door Limousine, 8-passenger ("Limousine") |- |33||Four-Door Limousine w/Center Partition, 7-passenger ("Formal Limousine") |- |35||Four-Door Station Wagon |} ===American VIN format 1987- Passenger Car=== GM has traditionally encoded the platform as the fourth character of the VIN. Other content includes an engine code and manufacturing plant. GM's VIN format is as follows: <table border=1 style="margin:auto;"> <tr> <th>Position</th> <th>Sample</th><th></th><th></th><th>Description</th> </tr><tr> <td>1</td> <td>1</td><td></td><td></td><td rowspan=3>[[#GM WMIs|World Manufacturer Identifier]]</td> </tr><tr> <td>2</td> <td>G</td><td></td><td></td></tr><tr> <td>3</td> <td>6</td><td></td><td></td></tr><tr> <td>4</td> <td>D</td><td></td><td></td><td>[[#Platform & Series Codes 1985- Passenger Car|Platform]]</td> </tr><tr> <td>5</td> <td>M</td><td></td><td></td><td>[[#Platform & Series Codes 1985- Passenger Car|Series Code]]</td> </tr><tr> <td>6</td> <td>5</td><td></td><td></td><td>[[#Body style codes 1987- Passenger Car|Body style]]</td> </tr><tr> <td>7</td> <td>7</td><td></td><td></td><td>[[#American restraint types 1987-|Restraint type]]</td> </tr><tr> <td>8</td> <td>N</td><td></td><td></td><td>[[#American engine codes 1981-|Engine type]]</td> </tr><tr> <td>9</td> <td>0</td><td></td><td></td><td>[[Vehicle Identification Numbers (VIN codes)/Check digit |Check digit]]</td> </tr><tr> <td>10</td> <td>3</td><td></td><td></td><td>[[Vehicle Identification Numbers (VIN codes)/Model year|Model year]]</td> </tr><tr> <td>11</td> <td>0</td><td></td><td></td><td>[[#GM factories supplying North America|Factory ID]]</td> </tr><tr> <td>12</td> <td>1</td><td></td><td></td><td rowspan=6>Sequential number </tr><tr> <td>13</td> <td>2</td><td></td><td></td></tr><tr> <td>14</td> <td>3</td><td></td><td></td></tr><tr> <td>15</td> <td>7</td><td></td><td></td></tr><tr> <td>16</td> <td>6</td><td></td><td></td></tr><tr> <td>17</td> <td>2</td><td></td><td></td> </table> ===American VIN format 1981-2009 Light Duty Truck & Multi-Purpose Passenger Vehicle=== GM's VIN format is as follows: <table border=1 style="margin:auto;"> <tr> <th>Position</th> <th>Sample</th><th></th><th></th><th>Description</th> </tr><tr> <td>1</td> <td>1</td><td></td><td></td><td rowspan=3>[[#GM WMIs|World Manufacturer Identifier]]</td> </tr><tr> <td>2</td> <td>G</td><td></td><td></td></tr><tr> <td>3</td> <td>K</td><td></td><td></td></tr><tr> <td>4</td> <td>E</td><td></td><td></td><td>[[#GVWR/Brake System 1981-2009 Light Duty Truck & Multi-Purpose Passenger Vehicle|GVWR/Brake System]]</td> </tr><tr> <td>5</td> <td>K</td><td></td><td></td><td>[[#Line & Chassis Type 1981-1999 Light Duty Truck & Multi-Purpose Passenger Vehicle|Line & Chassis Type for 1981-1999]]</td> </tr><tr> <td>5</td> <td>K</td><td></td><td></td><td>[[#Line & Chassis Type 2000-2009 Light Duty Truck & Multi-Purpose Passenger Vehicle|Line & Chassis Type for 2000-2009]]</td> </tr><tr> <td>6</td> <td>1</td><td></td><td></td><td>[[#Series 1981-1999 Light Duty Truck & Multi-Purpose Passenger Vehicle|Series]]</td> </tr><tr> <td>7</td> <td>8</td><td></td><td></td><td>[[#Body style codes 1981-2009 Light Duty Truck & Multi-Purpose Passenger Vehicle|Body type]]</td> </tr><tr> <td>8</td> <td>K</td><td></td><td></td><td>[[#Engine codes for light trucks|Engine type]]</td> </tr><tr> <td>9</td> <td>0</td><td></td><td></td><td>[[Vehicle Identification Numbers (VIN codes)/Check digit |Check digit]]</td> </tr><tr> <td>10</td> <td>N</td><td></td><td></td><td>[[Vehicle Identification Numbers (VIN codes)/Model year|Model year]]</td> </tr><tr> <td>11</td> <td>J</td><td></td><td></td><td>[[#GM factories supplying North America|Factory ID]]</td> </tr><tr> <td>12</td> <td>1</td><td></td><td></td><td rowspan=6>Sequential number </tr><tr> <td>13</td> <td>2</td><td></td><td></td></tr><tr> <td>14</td> <td>3</td><td></td><td></td></tr><tr> <td>15</td> <td>7</td><td></td><td></td></tr><tr> <td>16</td> <td>6</td><td></td><td></td></tr><tr> <td>17</td> <td>2</td><td></td><td></td> </table> ====GVWR/Brake System 1981-2009 Light Duty Truck & Multi-Purpose Passenger Vehicle==== The GVWR/Brake System is specified as character four of the American GM VIN for light trucks. {| border=1 style="margin:auto;" !VIN !GVWR Range in lbs. & Weight Class !Brake System |- |A||Class A: 0-3,000||Hydraulic |- |B||Class B: 3,001-4,000||Hydraulic |- |C||Class C: 4,001-5,000||Hydraulic |- |D||Class D: 5,001-6,000||Hydraulic |- |E||Class E: 6,001-7,000||Hydraulic |- |F||Class F: 7,001-8,000||Hydraulic |- |G||Class G: 8,001-9,000||Hydraulic |- |H||Class H: 9,001-10,000||Hydraulic |- |J||Class 3: 10,001-14,000||Hydraulic |- |K||Class 4: 14,001-16,000||Hydraulic |- |L||Class 5: 16,001-19,500||Hydraulic |} ====Line & Chassis Type 1981-1999 Light Duty Truck & Multi-Purpose Passenger Vehicle==== The Line & Chassis Type is specified as character five of the American GM VIN for light trucks. {| border=1 style="margin:auto;" !VIN !Description |- |B||Special Body Buick, Chevrolet |- |C||Chevy full-size pickups & chassis cabs 2wd (C-series) '81-'86, '88-'99,<br /> GMC full-size pickups & chassis cabs 2wd (C-series) '81-'86, Sierra 2wd (C-series) '88-'99 |- |C||Chevy C10 Blazer 2wd ('81-'82), Tahoe 4-door 2wd ('95-'99), Suburban 2wd ('81-'86, '92-'99),<br /> GMC C1500 Jimmy 2wd ('81-'82), Yukon 4-door 2wd ('95-'99), Suburban 2wd ('81-'86, '92-'99) |- |D||Military Truck 4wd |- |E||'91-'97 Geo Tracker 2wd, '98-'99 Chevrolet Tracker 2wd |- |E||'97-'98 Chevy S-10 EV |- |G||Chevy/GMC full-size vans (Chevy Van, Sportvan, Express, GMC Vandura, Rally Van, Savana) |- |H||'93-'96 Chevy G30HD/GMC G3500HD cutaway van |- |H||Cadillac chassis cutaway/special body (Based on Rwd Fleetwood '93-'96, Fwd DeVille '97-'99) |- |J||'89-'97 Geo Tracker 4wd, '98-'99 Chevrolet Tracker 4wd |- |K||Chevy full-size pickups & chassis cabs 4wd (K-series) '81-'86, '88-'99,<br /> GMC full-size pickups & chassis cabs 4wd (K-series) '81-'86, Sierra 4wd (K-series) '88-'99 |- |K||Chevy K10/K5 Blazer 4wd ('81-'86, '92-'94), Tahoe 4wd ('95-'99), Suburban 4wd ('81-'86, '92-'99),<br /> GMC K1500 Jimmy 4wd ('81-'86), Yukon 4wd ('92-'99), Suburban 4wd ('81-'86, '92-'99), '99 Cadillac Escalade 4wd |- |L||Chevy Luv 2wd '81-'82 |- |L||Chevy Astro/GMC Safari 4wd '90-'99 |- |M||Chevy Astro/GMC Safari 2wd '85-'99 |- |P||Forward Control (includes Chevrolet Step-Van/GMC Value-Van, Chevy/GMC P-Series) |- |R||Chevy Luv 4wd '81-'82 |- |R||Chevy full-size pickups & chassis cabs 2wd (R-series), Suburban 2wd '87-'91,<br /> GMC full-size pickups & chassis cabs 2wd (R-series), Suburban 2wd '87-'91 |- |S||Chevy S-10 2wd ('82-'99), S-10 Blazer 2wd ('83-'94), Blazer 2wd ('95-'99), GMC S-15 2wd ('82-'90), Sonoma 2wd ('91-'99),<br> S-15 Jimmy 2wd ('83-'91), Jimmy 2wd ('92-'99), Isuzu Hombre 2wd ('96-'99) |- |T||Chevy S-10 4wd ('83-'99), S-10 Blazer 4wd ('83-'94), Blazer 4wd ('95-'99), GMC S-15 4wd ('83-'90), Sonoma 4wd ('91-'99), Syclone 4wd ('91),<br> S-15 Jimmy 4wd ('83-'91), Jimmy 4wd ('92-'99), Typhoon 4wd ('92-93), Envoy 4wd ('98-'99), Oldsmobile Bravada 4wd ('91-'94, '96-'99),<br> Isuzu Hombre 4wd ('98-'99) |- |U||Regular length All-Purpose Vehicle ('90-'99 U-body fwd minivans) |- |V||Chevy full-size pickups & chassis cabs 4wd (V-series), V10/V1500 Blazer 4wd, Suburban 4wd '87-'91,<br /> GMC full-size pickups & chassis cabs 4wd (V-series), V1500 Jimmy 4wd, Suburban 4wd '87-'91 |- |W||'81-'87 Chevy El Camino, GMC Caballero |- |X||Extended length All-Purpose Vehicle ('97-'99 U-body fwd extended length minivans) |- |Z||Cadillac chassis cutaway/special body (Based on Rwd Fleetwood '81-'84, Fwd Fleetwood '85-'92) |} ====Line & Chassis Type 2000-2009 Light Duty Truck & Multi-Purpose Passenger Vehicle==== The Line & Chassis Type is specified as character five of the American GM VIN for light trucks. {| border=1 style="margin:auto;" !VIN !Description |- |A||Pontiac Aztek 2wd '01-'05, Buick Rendezvous 2wd '02-'07 |- |A||Chevrolet HHR '06-'09, HHR Panel '07-'09 |- |B||Pontiac Aztek Awd '01-'05, Buick Rendezvous Awd '02-'06 |- |C||Chevy full-size pickups & chassis cabs 2wd (C-series) '00, full-size chassis cabs 2wd (C3500HD) '01-'02, Silverado 2wd '00-'09, Silverado Classic 2wd '07,<br /> GMC Sierra 2wd (C-series) '00-'09, Sierra Classic 2wd '00, '07 |- |C||Chevy Tahoe 2wd ('00-'09), Suburban 2wd ('00-'09), Avalanche 2wd ('02-'09),<br /> GMC Yukon 2wd ('00-'09), Yukon XL 2wd ('00-'09), Cadillac Escalade 2wd ('02-'09), Escalade ESV 2wd ('08-'09) |- |E||Chevrolet Tracker 2wd '00-'04 |- |E||Cadillac SRX 2wd & Awd '04-'09 |- |G||Chevy/GMC full-size vans 2wd (Chevy Express, GMC Savana) '00-09 |- |H||Chevy/GMC full-size vans 4wd (Chevy Express, GMC Savana) '03-09 |- |H||Cadillac Commercial Chassis for Hearse (Based on Fwd DeVille '02-'05, DTS '06-'09) |- |H||Cadillac Professional Chassis for Limousine (Based on Fwd DeVille '00-'05, DTS '06-'07) |- |J||Chevrolet Tracker 4wd '00-'04 |- |K||Chevy full-size pickups & chassis cabs 4wd (K-series) '00, Silverado 4wd '00-'09, Silverado Classic 4wd '07,<br /> GMC Sierra 4wd (K-series) '00-'09, Sierra Classic 4wd '00, '07 |- |K||Chevy Tahoe 4wd ('00-'09), Suburban 4wd ('00-'09), Avalanche 4wd ('02-'09), GMC Yukon 4wd ('00-'09), Yukon XL 4wd ('00-'09),<br> Cadillac Escalade 4wd ('00, '02-'09), Escalade ESV 4wd ('03-'09), Escalade EXT 4wd ('02-'09) |- |K||Cadillac Professional Chassis for Limousine (Based on Fwd DTS '08-'09) |- |L||Chevy Astro/GMC Safari 4wd '00-'05 |- |L||Chevy Equinox 2wd & Awd '05-'09, Pontiac Torrent 2wd & Awd '06-'09, Saturn Vue 2wd & Awd '08-'09 |- |M||Chevy Astro/GMC Safari 2wd '00-'05 |- |N||Hummer H2 '03-'09, H2 SUT '05-'09 |- |N||Hummer H3 '06-'09, H3T '09 |- |R||GMC Acadia 2wd, Saturn Outlook 2wd '07-'09, Buick Enclave 2wd '08-'09, Chevy Traverse 2wd '09 |- |S||Chevy S-10 2wd ('00-'03), Blazer 2wd ('00-'05), GMC Sonoma 2wd ('00-'03), Jimmy 2wd ('00-'01), Isuzu Hombre 2wd ('00) |- |S||Chevy Trailblazer 2wd ('02-'09), SSR ('03-'06), GMC Envoy 2wd ('02-'09), Envoy XUV 2wd ('04-'05), Oldsmobile Bravada 2wd ('02-'04),<br> Buick Rainier 2wd ('04-'07), Isuzu Ascender 2wd ('03-'08) |- |S||Chevy Colorado 2wd ('04-'09), GMC Canyon 2wd ('04-'09), Isuzu i-series 2wd ('06-'08) |- |T||Chevy S-10 4wd ('00-'04), Blazer 4wd ('00-'05), GMC Sonoma 4wd ('00-'04), Jimmy 4wd ('00-'01, Canada only: '02-'05), Envoy 4wd ('00),<br> Oldsmobile Bravada 4wd ('00-'01), Isuzu Hombre 4wd ('00) |- |T||Chevy Trailblazer 4wd ('02-'09), GMC Envoy 4wd ('02-'09), Envoy XUV 2wd ('04-'05), Oldsmobile Bravada 4wd ('02-'04), Buick Rainier 4wd ('04-'07),<br> Isuzu Ascender 4wd ('03-'08), Saab 9-7X 4wd ('05-'09) |- |T||Chevy Colorado 4wd ('04-'09), GMC Canyon 4wd ('04-'09), Isuzu i-series 4wd ('06-'08) |- |U||Regular length All-Purpose Vehicle [Minivan] ('00-'04 Chevy Venture, Pontiac Montana) |- |U||Regular length All-Purpose Vehicle [Minivan] (Chevy Uplander [US: '06-'08, Canada only: '05-'09], Pontiac Montana SV6 [Canada only: '05-'09]) |- |V||Extended length AWD All-Purpose Vehicle [Minivan] ('02-'04 Chevy Venture, Pontiac Montana, Oldsmobile Silhouette Extended length AWD) |- |V||Extended length FWD All-Purpose Vehicle [Minivan] ('05 Chevy Venture, Pontiac Montana Extended length FWD) |- |V||Extended length FWD All-Purpose Vehicle [Minivan] (Chevy Uplander ['05-'08, Canada only: '09], Pontiac Montana SV6 ['05-'06, Canada only: '07-'09],<br> Buick Terraza ['05-'07], Saturn Relay ['05-'07]) |- |V||GMC Acadia Awd, Saturn Outlook Awd '07-'09, Buick Enclave Awd '08-'09, Chevy Traverse Awd '09 |- |X||Extended length FWD All-Purpose Vehicle [Minivan] ('00-'04 Chevy Venture, Pontiac Montana, Oldsmobile Silhouette Extended length FWD) |- |X||Extended length AWD All-Purpose Vehicle [Minivan] ('05-'06 Chevy Uplander AWD, Pontiac Montana SV6 AWD, Buick Terraza AWD, Saturn Relay AWD) |- |Z||Saturn Vue 2wd & Awd '02-'07 |} ====Series 1981-1999 Light Duty Truck & Multi-Purpose Passenger Vehicle==== The Series is specified as character six of the American GM VIN for light trucks. {| border=1 style="margin:auto;" !VIN !Description |- |1||1/2 Ton |- |2||3/4 Ton |- |3||1 Ton |- |8||1/2 Ton ('81-'87 El Camino, Caballero) |- |9||Cadillac, Buick, Chevrolet Commercial Body/Chassis |- |0||All-Purpose Vehicle ('90-'99 U-body fwd minivans) |} ====Body style codes 1981-2009 Light Duty Truck & Multi-Purpose Passenger Vehicle==== The Body type is specified as character seven of the American GM VIN for light trucks. {| border=1 style="margin:auto;" !VIN !Description |- |0||Sedan Pickup/Pickup Delivery ('81-'87 El Camino, Caballero) |- |0||Cadillac, Buick, Chevrolet Commercial Body/Chassis |- |0||Chassis Only |- |1||Cutaway Van |- |2||Forward Control ('81-'03) (includes '93-'95 Chevy G30HD/GMC G3500HD) |- |2||Sport Utility Truck (SUT) ('04-'09 Avalanche & Escalade EXT, '04-'05 Envoy XUV, '05-'09 Hummer H2 SUT) |- |3||Four-Door Cab pickup (Crew Cab) |- |3||4-door Passenger Minivan ('97-'09 U-bodies) |- |3||4-door SUV or MPV ('06-'09 HHR) (also includes '02-'03 Avalanche & Escalade EXT) ('05-'09 Saab 9-7X) |- |4||Two-Door Cab pickup (includes '83-'87 S-10/S-15 extended cab pickups & '03-'06 Chevy SSR) |- |5||Van (Astro/Safari & full-size vans & '07-'09 HHR Panel) |- |6||Extended length 4-door SUV (Suburban, Yukon XL, Escalade ESV, Trailblazer EXT, Envoy XL, Isuzu Ascender 7-psgr.) |- |6||3-door Passenger Minivan ('90-'99 U-bodies) |- |7||Motor Home Chassis ('81-'09) |- |8||Two-Door SUV (Utility) (2-d Tracker, S-10 Blazer, S-15 Jimmy, Blazer, Jimmy, Tahoe, Yukon) |- |9||Stake (81-87) |- |9||Extended Cab pickup ('88-) |- |9||Extended length van ('90-) (Astro/Safari & full-size vans) |} ===American VIN format 2010- Light Duty Truck & Multi-Purpose Passenger Vehicle=== GM's VIN format is as follows: <table border=1 style="margin:auto;"> <tr> <th>Position</th> <th>Sample</th><th></th><th></th><th>Description</th> </tr><tr> <td>1</td> <td>1</td><td></td><td></td><td rowspan=3>[[#GM WMIs|World Manufacturer Identifier]]</td> </tr><tr> <td>2</td> <td>G</td><td></td><td></td></tr><tr> <td>3</td> <td>K</td><td></td><td></td></tr><tr> <td>4</td> <td>L</td><td></td><td></td><td>[[#GVWR/Brake System/Body Style 2010- Light Duty Truck & Multi-Purpose Passenger Vehicle|GVWR/Brake System/Body Style 2010-]]</td> </tr><tr> <td>5</td> <td>R</td><td></td><td></td><td>[[#Line & Chassis Type 2010- Light Duty Truck & Multi-Purpose Passenger Vehicle|Line & Chassis Type for 2010-]]</td> </tr><tr> <td>6</td> <td>L</td><td></td><td></td><td>[[Series]]</td> </tr><tr> <td>7</td> <td>E</td><td></td><td></td><td>[[#Restraint codes for light trucks 2010-|Restraint type]]</td> </tr><tr> <td>8</td> <td>D</td><td></td><td></td><td>[[#Engine codes for light trucks|Engine type]]</td> </tr><tr> <td>9</td> <td>0</td><td></td><td></td><td>[[Vehicle Identification Numbers (VIN codes)/Check digit |Check digit]]</td> </tr><tr> <td>10</td> <td>A</td><td></td><td></td><td>[[Vehicle Identification Numbers (VIN codes)/Model year|Model year]]</td> </tr><tr> <td>11</td> <td>J</td><td></td><td></td><td>[[#GM factories supplying North America|Factory ID]]</td> </tr><tr> <td>12</td> <td>1</td><td></td><td></td><td rowspan=6>Sequential number </tr><tr> <td>13</td> <td>2</td><td></td><td></td></tr><tr> <td>14</td> <td>3</td><td></td><td></td></tr><tr> <td>15</td> <td>7</td><td></td><td></td></tr><tr> <td>16</td> <td>6</td><td></td><td></td></tr><tr> <td>17</td> <td>2</td><td></td><td></td> </table> ====GVWR/Brake System/Body Style 2010- Light Duty Truck & Multi-Purpose Passenger Vehicle==== The GVWR/Brake System is specified as character four of the American GM VIN for light trucks. {| border=1 style="margin:auto;" !VIN !GVWR Range in lbs. & Weight Class !Brake System !Body Style |- | ||Class A: 0-3,000||Hydraulic|| |- | ||Class B: 3,001-4,000||Hydraulic|| |- |A||Class C: 4,001-5,000||Hydraulic||26: 4-door SUV or MPV ('10-'11 Chevy HHR Panel, '10-'26 Chevy Equinox, GMC Terrain, '10 Saturn Vue,<br> '12-'15 Chevy Captiva Sport, '19-'24 Cadillac XT4, '24-'26 Buick Encore GX) |- |B||Class C: 4,001-5,000||Hydraulic||46: 4-door MPV ('10-'11 Chevy HHR) |- |J||Class C: 4,001-5,000||Hydraulic||48: 4-door, 4 window Hatchback ('18-'23 Chevy Bolt EV w/Rear Seat Delete pkg. - incomplete vehicle) |- |C||Class C: 4,001-5,000||Hydraulic||03: Regular Cab pickup or Chassis Cab ('10-'12 Chevy Colorado, GMC Canyon) |- |D||Class C: 4,001-5,000||Hydraulic||43: Crew Cab pickup or Chassis Cab ('10-'12 Chevy Colorado, GMC Canyon) |- |E||Class C: 4,001-5,000||Hydraulic||53: Extended Cab pickup or Chassis Cab ('10-'12 Chevy Colorado, GMC Canyon) |- |7||Class C: 4,001-5,000||Hydraulic||75: Four-Door Wagon - High Roof Monocab (Canada only: '12-'14 Chevy Orlando) |- |M||Class C: 4,001-5,000||Hydraulic||06: 4-door SUV ('20-'23 Buick Encore GX) |- |9||Class C: 4,001-5,000||Hydraulic||56: 4-door SUV Extended ('21-'26 Chevy Trailblazer) |- |7||Class C: 4,001-5,000||Hydraulic||58: 4-door Utility Extended ('24-'26 Chevy Trax, Buick Envista) |- |C||Class C: 4,001-5,000||Hydraulic||76: 4-door SUV ('13-'22 Buick Encore, Canada only: '13-'14 Chevy Trax, US & Canada: '15-'22 Chevy Trax) |- |F||Class D: 5,001-6,000||Hydraulic||26: 4-door SUV ('10-'17 Chevy Equinox, GMC Terrain, '10 Saturn Vue, '10-'16 Cadillac SRX, '11 Saab 9-4X,<br> '12-'13 Chevy Captiva Sport, '16-'26 Buick Envision, '17 Cadillac XT5, '19-'25 Cadillac XT4) |- |H||Class D: 5,001-6,000||Hydraulic||03: Regular Cab pickup or Chassis Cab ('10 Chevy Colorado, GMC Canyon) |- |G||Class D: 5,001-6,000||Hydraulic||03: Regular Cab pickup or Chassis Cab ('11-'12 Chevy Colorado, GMC Canyon) |- |J||Class D: 5,001-6,000||Hydraulic||43: Crew Cab pickup or Chassis Cab ('10 Chevy Colorado, GMC Canyon) |- |H||Class D: 5,001-6,000||Hydraulic||43: Crew Cab pickup or Chassis Cab ('11-'12 Chevy Colorado, GMC Canyon) |- |G||Class D: 5,001-6,000||Hydraulic||43: Crew Cab pickup or Chassis Cab ('15-'24 Chevy Colorado, '15-'22 GMC Canyon) |- |K||Class D: 5,001-6,000||Hydraulic||53: Extended Cab pickup or Chassis Cab ('10 Chevy Colorado, GMC Canyon) |- |J||Class D: 5,001-6,000||Hydraulic||53: Extended Cab pickup or Chassis Cab ('11-'12 Chevy Colorado, GMC Canyon) |- |H||Class D: 5,001-6,000||Hydraulic||53: Extended Cab pickup or Chassis Cab ('15-'22 Chevy Colorado, GMC Canyon) |- |T||Class D: 5,001-6,000||Hydraulic||69: Commercial Chassis ('10 Cadillac DTS chassis for Limo/Hearse) |- |7||Class D: 5,001-6,000||Hydraulic||69: Commercial Chassis ('11 Cadillac DTS chassis for Limo/Hearse) |- |L||Class E: 6,001-7,000||Hydraulic||26: 4-door SUV ('10 Chevy Traverse, GMC Acadia, Buick Enclave, Saturn Outlook) |- |K||Class E: 6,001-7,000||Hydraulic||26: 4-door SUV ('11-'17 Chevy Traverse, Buick Enclave, '11-'23 GMC Acadia, '17 Acadia Limited,<br> '17-'26 Cadillac XT5, '19-'26 Chevy Blazer, '20-'25 Cadillac XT6, '23-'26 Cadillac Lyriq EV,<br> '24-'26 Chevy Blazer EV, '25-'26 Cadillac Optiq EV, '24-'26 Honda Prologue EV, '24 Acura ZDX EV A-Spec) |- |7||Class E: 6,001-7,000||Hydraulic||48: 4-door SUV ('24-'25 Chevy Equinox EV) |- |E||Class E: 6,001-7,000||Hydraulic||56: 4-door SUV Extended ('18-'26 Chevy Traverse, Buick Enclave, '24 Chevy Traverse Limited,<br> '24-'26 GMC Acadia |- |M||Class E: 6,001-7,000||Hydraulic||05: Cargo Van ('10 Chevy Express, GMC Savana) |- |L||Class E: 6,001-7,000||Hydraulic||05: Cargo Van ('11-'14 Chevy Express, GMC Savana) |- |M||Class E: 6,001-7,000||Hydraulic||06: 4-door SUV ('10 Chevy Tahoe, GMC Yukon, Hummer H3) |- |L||Class E: 6,001-7,000||Hydraulic||06: 4-door SUV ('11-'20 Chevy Tahoe Police Pursuit Vehicle 2wd) |- |N||Class E: 6,001-7,000||Hydraulic||36: Sport Utility Truck (SUT) ('10 Chevy Avalanche 2wd) |- |M||Class E: 6,001-7,000||Hydraulic||36: Sport Utility Truck (SUT) ('11-13 Chevy Avalanche 2wd) |- |P||Class E: 6,001-7,000||Hydraulic||03: Regular Cab pickup or Chassis Cab ('10 Chevy Silverado, GMC Sierra) |- |N||Class E: 6,001-7,000||Hydraulic||03: Regular Cab pickup or Chassis Cab ('11-'26 Chevy Silverado, GMC Sierra,<br> '22 Chevy Silverado LTD, GMC Sierra Limited) |- |R||Class E: 6,001-7,000||Hydraulic||43: Crew Cab pickup or Chassis Cab ('10 Chevy Silverado, GMC Sierra, Hummer H3T) |- |P||Class E: 6,001-7,000||Hydraulic||43: Crew Cab pickup or Chassis Cab ('11-'26 Chevy Silverado, GMC Sierra,<br> '22 Chevy Silverado LTD, GMC Sierra Limited, '16-'26 Chevy Colorado, GMC Canyon) |- |S||Class E: 6,001-7,000||Hydraulic||53: Extended Cab pickup or Chassis Cab ('10 Chevy Silverado, GMC Sierra) |- |R||Class E: 6,001-7,000||Hydraulic||53: Extended Cab pickup or Chassis Cab ('11-'26 Chevy Silverado, GMC Sierra,<br> '19 Chevy Silverado LD, GMC Sierra Limited, '22 Chevy Silverado LTD, GMC Sierra Limited,<br> '16-'22 Chevy Colorado) |- |G||Class E: 6,001-7,000||Hydraulic||69: Commercial Chassis ('10 Cadillac DTS chassis for Limo/Hearse) |- |8||Class E: 6,001-7,000||Hydraulic||69: Commercial Chassis ('11 Cadillac DTS chassis for Limo/Hearse) |- |X||Class E: 6,001-7,000||Hydraulic||69: Commercial Chassis ('13-'19 Cadillac XTS chassis for Limo/Hearse) |- |U||Class F: 7,001-8,000||Hydraulic||05: Cargo Van or Incomplete Vehicle ('10 Chevy Express, GMC Savana) |- |S||Class F: 7,001-8,000||Hydraulic||05: Cargo Van or Incomplete Vehicle ('11-'14 Chevy Express, GMC Savana) |- |U||Class F: 7,001-8,000||Hydraulic||06: Passenger Van ('10 Chevy Express, GMC Savana) |- |S||Class F: 7,001-8,000||Hydraulic||06: Passenger Van ('11-'14 Chevy Express, GMC Savana) |- |U||Class F: 7,001-8,000||Hydraulic||06: 4-door SUV ('10 Chevy Tahoe, Suburban 1500, GMC Yukon, Yukon XL 1500, Cadillac Escalade, Escalade ESV) |- |S||Class F: 7,001-8,000||Hydraulic||06: 4-door SUV ('11-'26 Chevy Tahoe, Suburban 1500, GMC Yukon, Yukon XL 1500, Cadillac Escalade, Escalade ESV) |- |V||Class F: 7,001-8,000||Hydraulic||36: Sport Utility Truck (SUT) ('10 Chevy Avalanche 4wd, Cadillac Escalade EXT 4wd) |- |T||Class F: 7,001-8,000||Hydraulic||36: Sport Utility Truck (SUT) ('11-'13 Chevy Avalanche 4wd, Cadillac Escalade EXT 4wd) |- |X||Class F: 7,001-8,000||Hydraulic||26: 4-door SUV ('24 Acura ZDX EV Type S) |- |C||Class F: 7,001-8,000||Hydraulic||56: 4-door SUV Extended ('26- Cadillac Vistiq EV) |- |W||Class F: 7,001-8,000||Hydraulic||03: Regular Cab pickup or Chassis Cab ('10 Chevy Silverado, GMC Sierra) |- |X||Class F: 7,001-8,000||Hydraulic||43: Crew Cab pickup or Chassis Cab ('10 Chevy Silverado, GMC Sierra) |- |U||Class F: 7,001-8,000||Hydraulic||43: Crew Cab pickup or Chassis Cab ('11-'26 Chevy Silverado, GMC Sierra,<br> '22 Chevy Silverado LTD, GMC Sierra Limited) |- |Y||Class F: 7,001-8,000||Hydraulic||53: Extended Cab pickup or Chassis Cab ('10 Chevy Silverado, GMC Sierra) |- |V||Class F: 7,001-8,000||Hydraulic||53: Extended Cab pickup or Chassis Cab ('11-'26 Chevy Silverado, GMC Sierra,<br> '19 Chevy Silverado LD, GMC Sierra Limited, '22 Chevy Silverado LTD, GMC Sierra Limited) |- |U||Class F: 7,001-8,000||Hydraulic||69: Commercial Chassis ('10 Cadillac DTS chassis for Limo/Hearse) |- |9||Class F: 7,001-8,000||Hydraulic||69: Commercial Chassis ('11 Cadillac DTS chassis for Limo/Hearse) |- |Z||Class G: 8,001-9,000||Hydraulic||05: Cargo Van or Incomplete Vehicle ('10 Chevy Express, GMC Savana) |- |W||Class G: 8,001-9,000||Hydraulic||05: Cargo Van or Incomplete Vehicle ('11-'26 Chevy Express, GMC Savana) |- |Z||Class G: 8,001-9,000||Hydraulic||06: Passenger Van ('10 Chevy Express, GMC Savana) |- |W||Class G: 8,001-9,000||Hydraulic||06: Passenger Van ('11-'26 Chevy Express, GMC Savana) |- |Z||Class G: 8,001-9,000||Hydraulic||06: 4-door SUV ('10 Chevy Suburban 2500, GMC Yukon XL 2500) |- |W||Class G: 8,001-9,000||Hydraulic||06: 4-door SUV ('11-'13 Chevy Suburban 2500, GMC Yukon XL 2500) |- |2||Class H: 9,001-10,000||Hydraulic||05: Cargo Van or Incomplete Vehicle ('10 Chevy Express, GMC Savana) |- |Z||Class H: 9,001-10,000||Hydraulic||05: Cargo Van or Incomplete Vehicle ('11-'26 Chevy Express, GMC Savana,<br> '23-'24 BrightDrop Zevo 600, '24 BrightDrop Zevo 400, '25-'26 Chevrolet BrightDrop 400/600) |- |2||Class H: 9,001-10,000||Hydraulic||06: Passenger Van ('10 Chevy Express, GMC Savana) |- |Z||Class H: 9,001-10,000||Hydraulic||06: Passenger Van ('11-'26 Chevy Express, GMC Savana) |- |3||Class H: 9,001-10,000||Hydraulic||03: Van Cutaway ('10 Chevy Express, GMC Savana) |- |0||Class H: 9,001-10,000||Hydraulic||03: Van Cutaway ('11-'26 Chevy Express, GMC Savana) |- |3||Class H: 9,001-10,000||Hydraulic||03: Regular Cab pickup or Chassis Cab ('10 Chevy Silverado, GMC Sierra) |- |0||Class H: 9,001-10,000||Hydraulic||03: Regular Cab pickup or Chassis Cab ('11-'26 Chevy Silverado, GMC Sierra) |- |4||Class H: 9,001-10,000||Hydraulic||43: Crew Cab pickup or Chassis Cab ('10 Chevy Silverado, GMC Sierra) |- |1||Class H: 9,001-10,000||Hydraulic||43: Crew Cab pickup or Chassis Cab ('11-'26 Chevy Silverado, GMC Sierra,<br> '24-'25 GMC Hummer EV pickup w/20 module battery pack,<br> '24-'26 Chevy Silverado EV, '25-'26 GMC Sierra EV) |- |5||Class H: 9,001-10,000||Hydraulic||53: Extended Cab pickup or Chassis Cab ('10 Chevy Silverado, GMC Sierra) |- |2||Class H: 9,001-10,000||Hydraulic||53: Extended Cab pickup or Chassis Cab ('11-'13, '15-'26 Chevy Silverado, GMC Sierra) |- |B||Class H: 9,001-10,000||Hydraulic||26: 4-door SUV ('24-'25 GMC Hummer EV SUV) |- |6||Class 3: 10,001-14,000||Hydraulic||03: Van Cutaway ('10 Chevy Express, GMC Savana) |- |3||Class 3: 10,001-14,000||Hydraulic||03: Van Cutaway ('11-'26 Chevy Express, GMC Savana) |- |6||Class 3: 10,001-14,000||Hydraulic||03: Regular Cab pickup or Chassis Cab ('10 Chevy Silverado, GMC Sierra) |- |3||Class 3: 10,001-14,000||Hydraulic||03: Regular Cab pickup or Chassis Cab ('11-'26 Chevy Silverado, GMC Sierra) |- |7||Class 3: 10,001-14,000||Hydraulic||43: Crew Cab pickup or Chassis Cab ('10 Chevy Silverado, GMC Sierra) |- |4||Class 3: 10,001-14,000||Hydraulic||43: Crew Cab pickup or Chassis Cab ('11-'26 Chevy Silverado, GMC Sierra,<br> '22-'24 GMC Hummer EV pickup w/24 module battery pack, '25 GMC Hummer EV pickup w/20 or 24 module battery pack, '26 GMC Hummer EV pickup, '24-'25 Chevy Silverado EV, GMC Sierra EV) |- |8||Class 3: 10,001-14,000||Hydraulic||53: Extended Cab pickup or Chassis Cab ('10 Chevy Silverado, GMC Sierra) |- |5||Class 3: 10,001-14,000||Hydraulic||53: Extended Cab pickup or Chassis Cab ('11-'13, '15-'18, '20-'26 Chevy Silverado, GMC Sierra) |- |8||Class 3: 10,001-14,000||Hydraulic||06: 4-door SUV ('16-'19, '24-'26 Chevy Suburban 3500HD) |- |8||Class 3: 10,001-14,000||Hydraulic||05: Cargo Van ('22 BrightDrop EV600, '23-'24 BrightDrop Zevo 600, '24 BrightDrop Zevo 400,<br> '25-'26 Chevrolet BrightDrop 400/600) |- |T||Class 3: 10,001-14,000||Hydraulic||26: 4-door SUV ('25-'26 GMC Hummer EV SUV, '25-'26 Cadillac Escalade IQ [EV]) |- |L||Class 3: 10,001-14,000||Hydraulic||56: 4-door SUV Extended ('26- Cadillac Escalade IQL [EV]) |- |9||Class 4: 14,001-16,000||Hydraulic||03: Van Cutaway ('10 Chevy Express, GMC Savana) |- |6||Class 4: 14,001-16,000||Hydraulic||03: Van Cutaway ('11-'26 Chevy Express, GMC Savana) |- | ||Class 5: 16,001-19,500||Hydraulic|| |} ====Line & Chassis Type 2010- Light Duty Truck & Multi-Purpose Passenger Vehicle==== The Line & Chassis Type is specified as character five of the American GM VIN for light trucks. {| border=1 style="margin:auto;" !VIN !Description |- |A||Chevrolet HHR ('10-'11), HHR Panel ('10-'11) |- |A||Chevy Silverado 1500 2wd ('22-'26), Silverado HD 2500/3500 2wd ('25-'26) |- |B||Chevy Blazer 2wd & Awd '19-'26 |- |C||Chevy Silverado 2wd ('10-'18), Silverado LD 1500 2wd '19, Silverado HD 2500/3500 2wd '19, GMC Sierra 2wd ('10) |- |C||Chevy Tahoe 2wd ('10-'24), Suburban 2wd ('10-'24), Avalanche 2wd ('10-'13),<br /> GMC Yukon 2wd ('10), Yukon XL 2wd ('10), Cadillac Escalade 2wd ('10), Escalade ESV 2wd ('10) |- |D||Chevy Silverado 1500 4wd ('22-'24) |- |D||Chevy Blazer EV ('24-'26), Chevy Equinox EV ('24-'26) |- |E||Cadillac Escalade IQ [EV] ('25-'26), Escalade IQL [EV] ('26-), GMC Hummer EV pickup ('26-), GMC Hummer EV SUV ('26-), GMC Sierra EV ('26-) |- |F||Chevy Bolt EV w/Rear Seat Delete pkg. - incomplete vehicle ('18-'23) |- |G||Cadillac Chassis for Limousine & for Armored Vehicle (Based on XTS '13-'19) |- |G||Cadillac Chassis for Hearse (Based on XTS '13-'19) |- |G||Chevy Express 2wd ('10-'26), GMC Savana 2wd ('10) |- |H||Chevy Express 4wd ('10-'14), GMC Savana 4wd ('10) |- |H||GMC Sierra 1500 2wd ('22-'26), Sierra HD 2500/3500 2wd ('25-'26) |- |H||Honda Prologue EV ('24-'26), Acura ZDX EV ('24) |- |J||Buick Encore 2wd & Awd ('13-'22), Chevy Trax 2wd & Awd (Canada: '13-'22, US: '15-'22) |- |J||BrightDrop EV600 ('22), BrightDrop Zevo 600 ('23-'24), BrightDrop Zevo 400 ('24), Chevrolet BrightDrop 400/600 ('25-'26) |- |K||Chevy Silverado 4wd ('10-'18), Silverado LD 1500 4wd ('19), Silverado HD 2500/3500 4wd ('19), GMC Sierra 4wd ('10) |- |K||Chevy Silverado 1500 4wd ('25-'26), Silverado HD 2500/3500 4wd ('25-'26) |- |K||Chevy Tahoe 4wd ('10-'24), Suburban 4wd ('10-'24), Suburban HD 4wd ('24-'26), Avalanche 4wd ('10-'13), GMC Yukon 4wd ('10), Yukon XL 4wd ('10),<br> Cadillac Escalade 4wd ('10), Escalade ESV 4wd ('10), Escalade EXT 4wd ('10) |- |K||Cadillac Professional Chassis for Limousine (Based on DTS '10-'11) |- |K||Cadillac Commercial Chassis for Hearse (Based on DTS '10-'11) |- |L||Chevy Equinox 2wd & Awd '10-'17, Captiva Sport 2wd '12-'15, Captiva Sport Awd '12, GMC Terrain 2wd & Awd '10-'17, Saturn Vue 2wd & Awd '10 |- |L||GMC Terrain 2wd & Awd '18-'26 |- |L||Buick Envista '24-'26, Chevy Trax '24-'26 |- |M||Buick Encore GX 2wd & Awd ('20-'26), Chevy Trailblazer 2wd & Awd ('21-'26) |- |N||Cadillac SRX 2wd & Awd '10-'16, Saab 9-4X 2011 |- |N||GMC Acadia 2wd & Awd '17-'26, Cadillac XT5 2wd & Awd '17-'26 |- |N||Hummer H3, H3T 2010 |- |P||Chevy Orlando (Canada only: '12-'14) |- |P||Cadillac XT6 2wd & Awd '20-'25 |- |P||Cadillac Lyriq EV 2wd & Awd '23-'25 |- |R||GMC Acadia 2wd '10-'16, Acadia Limited 2wd '17, Saturn Outlook 2wd '10, Buick Enclave 2wd '10-'17, Chevy Traverse 2wd '10-'17 |- |R||Buick Enclave 2wd '18-'24, Chevy Traverse 2wd '18-'23 |- |R||Buick Enclave 2wd '25-'26, Chevy Traverse 2wd '24-'26 |- |S||Chevy Traverse Limited 2wd '24 |- |S||Chevy Colorado 2wd ('10-'12, '15-'26), GMC Canyon 2wd ('10) |- |T||Chevy Colorado 4wd ('10-'12, '15-'26), GMC Canyon 4wd ('10) |- |T||Chevy Traverse Limited Awd '24 |- |U||GMC Sierra 1500 4wd ('22-'26), Sierra HD 2500/3500 4wd ('25-'26) |- |V||GMC Acadia Awd '10-'16, Acadia Limited Awd '17, Saturn Outlook Awd '10, Buick Enclave Awd '10-'17, Chevy Traverse Awd '10-'17 |- |V||Buick Enclave Awd '18-'24, Chevy Traverse Awd '18-'23 |- |V||Buick Enclave Awd '25-'26, Chevy Traverse Awd '24-'26 |- |W||Chevy Silverado 1500 2wd ('19-'21), Silverado LTD 1500 2wd ('22), Silverado HD 2500/3500 2wd ('20-'24) |- |X||Buick Envision 2wd & Awd '16-'20, Chevy Equinox 2wd & Awd '18-'26 |- |Y||Chevy Silverado 1500 4wd ('19-'21), Silverado LTD 1500 4wd ('22), Silverado HD 2500/3500 4wd ('20-'24) |- |Z||Cadillac XT4 2wd & Awd '19-'25, Buick Envision 2wd '21-'23, Buick Envision Awd '21-'26 |- |1||GMC Sierra 2wd ('11-'18), Sierra Limited 1500 2wd ('19), Sierra HD 2500/3500 2wd ('19), Yukon 2wd ('11-'26), Yukon XL 2wd ('11-'26) |- |1||GMC Canyon 2wd ('25-'26) |- |2||GMC Sierra 4wd ('11-'18), Sierra Limited 1500 4wd ('19), Sierra HD 2500/3500 4wd ('19), Yukon 4wd ('11-'26), Yukon XL 4wd ('11-'26) |- |2||GMC Canyon 4wd ('25-'26) |- |3||Cadillac Escalade 2wd ('11-'24), Escalade ESV 2wd ('11-'24) |- |3||Cadillac Optiq EV ('25-), Cadillac Vistiq EV ('26-) |- |4||Cadillac Escalade 4wd ('11-'24), Escalade ESV 4wd ('11-'24), Escalade EXT 4wd ('11-'13) |- |5||GMC Canyon 2wd ('11-'12, '15-'24) |- |5||Chevy Tahoe 2wd ('25-'26), Suburban 2wd ('25-'26) |- |6||GMC Canyon 4wd ('11-'12, '15-'24) |- |6||Chevy Tahoe 4wd ('25-'26), Suburban 4wd ('25-'26) |- |7||GMC Savana 2wd ('11-'26) |- |8||GMC Savana 4wd ('11-'14) |- |8||GMC Sierra 1500 2wd ('19-'21), Sierra Limited 1500 2wd ('22), Sierra HD 2500/3500 2wd ('20-'24) |- |8||Cadillac Escalade 2wd ('25-'26), Escalade ESV 2wd ('25-'26) |- |9||GMC Sierra 1500 4wd ('19-'21), Sierra Limited 1500 4wd ('22), Sierra HD 2500/3500 4wd ('20-'24) |- |9||Cadillac Escalade 4wd ('25-'26), Escalade ESV 4wd ('25-'26) |- |0||GMC Hummer EV pickup ('22-'25), GMC Hummer EV SUV ('24-'25), Chevy Silverado EV ('24-'26), GMC Sierra EV ('24-'25) |} ===Platform & Series Codes 1985- Passenger Car=== GM used a lettered system of automobile platform codes for three decades. These letters were used as the fourth position of the VIN. Though today's GM platforms use Greek characters, they are still encoded with Latin characters in the fourth position. Position five encodes the specific model and trim level of the vehicle. {| border=1 style="margin:auto;" !List of GM platforms !Platform<br>Code !Series<br>Code !:Category:General Motors vehicles|Model |- |rowspan=14|GM A platform |rowspan=14|A||W||Chevrolet Celebrity 1985-1990 |- |E||Pontiac 6000 ''SE'' 1986-1988 |- |F||Pontiac 6000 1985-1988, 6000 ''LE'' 1989-1991 |- |G||Pontiac 6000 ''LE'' 1985-1988 |- |H||Pontiac 6000 ''STE'' 1985-1989 |- |J||Pontiac 6000 ''SE'' 1989-1991 |- |G||Oldsmobile Cutlass Ciera ''S'' Sedan 1993-1994 |- |J||Oldsmobile Cutlass Ciera ''LS'' 1985, Cutlass Ciera 1986-1989 & Cutlass Cruiser 1985-1989,<br /> Cutlass Ciera ''S'' Coupe 1986-1987, Cutlass Ciera ''S'' 1990-1991 & Cutlass Cruiser ''S'' 1990-1994, Cutlass Ciera ''SL'' & Cutlass Cruiser ''SL'' 1995, Ciera ''SL'' sedan & wagon 1996 |- |L||Oldsmobile Cutlass Ciera 1990-1991, Cutlass Ciera ''S'' Sedan 1992 |- |M||Oldsmobile Cutlass Ciera ''Brougham'' 1985-1988, Cutlass Ciera ''SL'' Coupe 1986-1989, Cutlass Ciera ''SL'' Sedan 1989-1993, Cutlass Cruiser ''Brougham'' 1987-1988, Cutlass Cruiser ''SL'' 1989-1993 |- |S||Oldsmobile Cutlass Ciera ''International Series'' 1988-1990 |- |G||Buick Century ''T-Type'' 1985-1986, Century ''Special'' 1991-1996 |- |H||Buick Century ''Custom'' 1985-1995 |- |L||Buick Century ''Limited'' 1985-1993, Century Estate Wagon 1986-1989 |- |rowspan=14|GM B platform |rowspan=14|B||L||Chevrolet Impala 1985, Caprice 1986-1992, Caprice Classic 1993-1996, Impala SS 1995-96 |- |N||Chevrolet Caprice Classic 1985-1992, Caprice Classic LS 1993-1994,<br /> Caprice Classic LTZ 1991-1993, Impala SS 1994 |- |U||Chevrolet Caprice Classic Brougham/Brougham LS 1987-1990 |- |L||Pontiac Parisienne 1985-1986, Safari Wagon 1987-1989 |- |T||Pontiac Parisienne Brougham 1985-1986 |- |N||Oldsmobile Delta 88 Royale 1985 |- |P||Oldsmobile Custom Cruiser 1985-1992 |- |V||Oldsmobile Delta 88 Royale Brougham LS 1985 |- |Y||Oldsmobile Delta 88 Royale Brougham 1985 |- |N||Buick Le Sabre ''Custom'' 1985, Roadmaster sedan 1992-1996 |- |P||Buick Le Sabre ''Limited'' 1985 |- |R||Buick Le Sabre Estate Wagon 1985-1989, Estate Wagon 1990,<br /> Roadmaster Estate Wagon 1991-1996 |- |T||Buick Roadmaster ''Limited'' sedan 1992-1996 |- |V||Buick Electra Estate Wagon 1985-1989 |- |rowspan=13|GM C platform - front-wheel drive |rowspan=13|C |V||Oldsmobile Touring Sedan 1988-1990, 98 Touring Sedan 1991-1993 |- |W||Oldsmobile 98 Regency Brougham 1985-1990, 98 Regency Elite 1991-1996 |- |X||Oldsmobile 98 Regency 1985-1990, 1992-1994 |- |F||Buick Electra T-Type 1985-1990 |- |U||Buick Electra Park Avenue Ultra 1989-1990, Park Avenue Ultra 1991-1996 |- |W||Buick Electra Park Avenue 1985-1990, Park Avenue 1991-1996 |- |X||Buick Electra 1985-1986, Electra Limited 1987-1990 |- |B||1985-1992 Cadillac Fleetwood, Fleetwood D'Elegance, 1993 Cadillac Sixty Special |- |D||1985-1993 Cadillac DeVille |- |G||1991-1992 Cadillac Fleetwood Sixty Special |- |H||1985-1987 Cadillac Fleetwood Limousine |- |S||1987-1990 Cadillac Fleetwood Sixty Special |- |T||1991-1993 Cadillac DeVille Touring Sedan |- |rowspan=3|GM G platform (models formerly on C platform) |rowspan=3|C |- |U||Buick Park Avenue Ultra 1997-2005 |- |W||Buick Park Avenue 1997-2005 |- |rowspan=2|GM D platform |rowspan=2|D||W||1985-1986 Cadillac Fleetwood Brougham, 1987-1992 Cadillac Brougham |- |W||1993-1996 Cadillac Fleetwood |- |rowspan=31|GM Delta I platform |rowspan=31|A |- |A||Chevrolet Cobalt LS w/manual trans. 2010 |- |B||Chevrolet Cobalt LS w/automatic trans. 2010 |- |C||Chevrolet Cobalt 1LT w/manual trans. 2010 |- |D||Chevrolet Cobalt 1LT w/automatic trans. 2010 |- |E||Chevrolet Cobalt 2LT w/manual trans. 2010 |- |F||Chevrolet Cobalt 2LT w/automatic trans. 2010 |- |G||Chevrolet Cobalt SS Turbo 2010 |- |H||Chevrolet Cobalt (base model w/XFE) 2010 |- |K||Chevrolet Cobalt (base model) 2005, Cobalt LS 2006-2008, Cobalt LS w/man. trans. 2009 |- |L||Chevrolet Cobalt LS 2005, Cobalt LT 2006-2008, Cobalt LT w/manual trans. 2009 |- |M||Chevrolet Cobalt SS 2006-2007, Cobalt Sport 2008 |- |P||Chevrolet Cobalt SS Supercharged 2005-2007, SS Turbo 2008-2009 |- |S||Chevrolet Cobalt LS w/automatic trans. 2009 |- |T||Chevrolet Cobalt LT w/automatic trans. 2009 |- |Z||Chevrolet Cobalt LT 2005, Cobalt LTZ 2006-2007 |- |L||Pontiac G5 2007-2008, G5 w/manual trans. 2009 |- |N||Pontiac G5 GT 2007-2008, G5 GT w/manual trans. 2009 |- |S||Pontiac G5 w/automatic trans. 2009 |- |T||Pontiac G5 GT w/automatic trans. 2009 |- |F||Saturn Ion sedan Level 1 w/manual trans. 2003-2005 |- |G||Saturn Ion sedan Level 1 w/automatic trans. 2003-2005 |- |J||Saturn Ion sedan Level 2 w/automatic trans. 2003-2007 |- |K||Saturn Ion sedan Level 3 w/manual trans. 2003-2007 |- |L||Saturn Ion sedan Level 3 w/automatic trans. 2003-2007 |- |M||Saturn Ion coupe Level 2 w/manual trans. 2003-2007 |- |N||Saturn Ion coupe Level 2 w/automatic trans. 2003-2007 |- |V||Saturn Ion coupe Level 3 w/manual trans. 2003-2007 |- |W||Saturn Ion coupe Level 3 w/automatic trans. 2003-2007 |- |Y||Saturn Ion coupe Red Line 2004-2007 |- |Z||Saturn Ion sedan Level 2 w/manual trans. 2003-2007 |- |rowspan=9|GM E platform |rowspan=9|E |- |V||Oldsmobile Toronado Trofeo 1988-1992 |- |Z||Oldsmobile Toronado Brougham 1985-1986, Toronado 1987-1992 |- |C||Buick Reatta 1988-1991 |- |Y||Buick Riviera T-Type 1985-1986 |- |Z||Buick Riviera 1985-1993 |- |C||Cadillac Eldorado Collector Series 2002 |- |L||Cadillac Eldorado 1985-2002 |- |T||Cadillac Eldorado Touring Coupe 1994-2002 |- |rowspan=26|GM Epsilon I platform |rowspan=26|Z||A||Chevrolet Malibu Fleet 2010-2012 |- |B||Chevrolet Malibu LS 2010-2012 |- |C||Chevrolet Malibu 1LT 2010-2012 |- |D||Chevrolet Malibu 2LT 2010-2012 |- |E||Chevrolet Malibu LTZ 2010-2011, Malibu 1LZ 2012 |- |F||Chevrolet Malibu Hybrid 2008-2010, Malibu 3LT 2012 |- |G||Chevrolet Malibu LS 2008-2009, Malibu 2LZ 2012 |- |H||Chevrolet Malibu 1LT 2008-2009 |- |J||Chevrolet Malibu 2LT 2008-2009 |- |K||Chevrolet Malibu LTZ 2008-2009 |- |S||Chevrolet Malibu 2004-2005, Malibu LS 2006-2007, Malibu Classic LS 2008 |- |T||Chevrolet Malibu LS 2004-2005, Malibu LT 2006-2007, Malibu Classic LT 2008 |- |U||Chevrolet Malibu LT 2004-2005, Malibu LTZ 2006-2007 |- |W||Chevrolet Malibu SS 2006-2007 |- |A||Pontiac G6 Sedan 2010 |- |F||Pontiac G6 2.4L Sedan (Base model) 2006, G6 Value Leader (Base model w/1SV) 2007-2008 |- |G||Pontiac G6 3.5L Sedan (Base model) 2005-2006, G6 (Base model) 2007-2009 |- |H||Pontiac G6 GT 2005-2009 |- |J||Pontiac G6 (Base model) 2009 1/2 (Mid-Cycle Revision) |- |K||Pontiac G6 GT 2009 1/2 (Mid-Cycle Revision) |- |L||Pontiac G6 GXP 2009 1/2 (Mid-Cycle Revision) |- |M||Pontiac G6 GTP 2006-2007, G6 GXP 2008-2009 |- |R||Saturn Aura Green Line 2007-2009 |- |S||Saturn Aura XE 2007-2009 |- |V||Saturn Aura XR 2007-2008, Aura XR 2.4L 2009 |- |X||Saturn Aura XR V6 2009 |- |rowspan=6|GM F platform |rowspan=6|F||P||Chevrolet Camaro Sport Coupe 1985-2002, Convertible 1987-1992, 1994-2002 |- |S||Chevrolet Camaro Berlinetta 1985-1986 |- |S||Pontiac Firebird 1985-2002, Firebird ''Formula'' 1987-1992 |- |V||Pontiac Firebird ''Formula / Trans Am'' 1993-2002, Firebird ''Trans Am GT'' 1994 |- |W||Pontiac Firebird ''Trans Am'' 1985-1992, Firebird ''Trans Am GTA'' 1987-1992 |- |X||Pontiac Firebird ''S/E'' 1985-1986 |- |rowspan=13|GM G platform - rear-wheel drive |rowspan=13|G||Z||Chevrolet Monte Carlo 1985-1988 |- |J||Pontiac Grand Prix 1985-1987 |- |K||Pontiac Grand Prix LE 1985-1987 |- |N||Pontiac Bonneville 1985-1986 |- |P||Pontiac Grand Prix Brougham 1985-1987 |- |R||Pontiac Bonneville Brougham 1985-1986 |- |S||Pontiac Bonneville LE 1985-1986 |- |K||Oldsmobile Cutlass Salon coupe 1985-1987 |- |M||Oldsmobile Cutlass Supreme ''Brougham'' 1985-1987,<br /> Cutlass Supreme Classic ''Brougham'' 1988 |- |R||Oldsmobile Cutlass Supreme 1985-1987, Cutlass Supreme Classic 1988 |- |J||Buick Regal 1985-1987 |- |K||Buick Regal T-Type 1985-1987 |- |M||Buick Regal ''Limited'' 1985-1987 |- |rowspan=4|GM G platform - front-wheel drive |rowspan=4|G||D||1995-1999 Buick Riviera |- |R||1995-1999 Oldsmobile Aurora |- |R||2001-2002 Oldsmobile Aurora 3.5 |- |S||2001-2003 Oldsmobile Aurora 4.0 |- |rowspan=9|GM H platform |rowspan=9|H||H||Buick Le Sabre 1987 |- |P||Buick Le Sabre ''Custom'' 1986-1999 |- |R||Buick Le Sabre ''Limited'' 1986-1999 |- |C||Oldsmobile Regency 1997-1998, Eighty Eight 50th Anniversary Edition 1999 |- |N||Oldsmobile Delta 88 Royale 1986-1988, 88 Royale 1989-1995, Eighty Eight & Eighty Eight LS 1996-99 |- |Y||Oldsmobile Delta 88 Royale Brougham 1986-1988, 88 Royale Brougham 1989-91, Eighty Eight Royale LS 1992-1995, LSS 1996-1999 |- |X||Pontiac Bonneville 1987, Bonneville LE 1988-1991, Bonneville ''SE'' 1992-1999 |- |Y||Pontiac Bonneville SSE 1988-1991, Bonneville ''SSEi'' 1992-1993 |- |Z||Pontiac Bonneville LE 1987, Bonneville SE 1988-1991, Bonneville ''SSE'' 1992-1999, Bonneville ''SSEi'' 1994-1999 |- |rowspan=17|GM G platform (models formerly on H platform or their successors) |rowspan=17|H||A||Buick Lucerne ''CX'' 2010-2011 |- |B||Buick Lucerne ''CX-2'' 2010 |- |C||Buick Lucerne ''CXL'' 2010-2011 |- |D||Buick Lucerne ''CXL V6'' 2006-2009, Lucerne ''CXL Special Edition'' 2010 |- |E||Buick Lucerne ''CXS'' 2006-2008, Lucerne ''CXL-3'' 2010 |- |F||Buick Lucerne ''Super'' 2008-2009, Lucerne ''CXL-4'' 2010 |- |G||Buick Lucerne ''CXL-5'' 2010 |- |H||Buick Lucerne ''Super 1SP'' 2010 |- |J||Buick Lucerne ''CXL Premium'' 2010-2011 |- |K||Buick Lucerne ''Super 1XS'' 2010, Lucerne ''Super'' 2011 |- |P||Buick Lucerne ''CX'' 2006-2009 |- |R||Buick Lucerne ''CXL V8'' 2006-2007, Lucerne ''CXL Special Edition V8'' 2008 |- |P||Buick Le Sabre ''Custom'' 2000-2005 |- |R||Buick Le Sabre ''Limited'' 2000-2005 |- |X||Pontiac Bonneville ''SE'' 2000-2005 |- |Y||Pontiac Bonneville ''SLE'' 2000-2005 |- |Z||Pontiac Bonneville ''SSEi'' 2000-2003, Bonneville GXP 2004-2005 |- |rowspan=23|GM J platform |rowspan=23|J |- |C||Chevrolet Cavalier 1985-1994, RS Convertible 1991-1994 |- |D||Chevrolet Cavalier CS 1985-1987 |- |E||Chevrolet Cavalier Type 10 1985, RS 1986-1988,<br /> Type 10 Convertible 1985, RS Convertible 1986-1987 |- |F||Chevrolet Cavalier Z24 1986-1994, Z24 Convertible 1988-1989, 1992-1994 |- |C||Chevrolet Cavalier 1995-2005, Cavalier RS 1997-1999 |- |F||Chevrolet Cavalier LS Sedan 1995-2005, LS Coupe 2003-2005, Z24 Coupe 1995-2001,<br /> LS Convertible 1995-1997, Z24 Convertible 1998-2000 |- |H||Chevrolet Cavalier Z24 Coupe/Sedan 2002, LS Sport 2002-2005 |- |S||Chevrolet Cavalier LS Coupe 2002 |- |B||Pontiac Sunbird 1985-1989, Sunbird LE 1990-1991, Sunbird SE 1992-1993,<br /> Sunbird LE 1994 |- |C||Pontiac Sunbird LE 1985, Sunbird 1991, Sunbird LE 1992-1993 |- |D||Pontiac Sunbird SE 1985-1991, Sunbird GT 1992-1993 |- |L||Pontiac Sunbird SE 1994 |- |U||Pontiac Sunbird GT 1986-1991 |- |B||Pontiac Sunfire SE 1995-2002, Convertible 1995-2000, Sunfire 2003-2005 |- |D||Pontiac Sunfire GT 1995-2002 |- |C||Oldsmobile Firenza Base model 1985-1987, Firenza S 1985-1987, Firenza 1988 |- |D||Oldsmobile Firenza LX 1985-1987, Firenza SX 1985, Firenza LC, GT 1986-1987 |- |E||Buick Skyhawk T-Type 1985-1986 |- |S||Buick Skyhawk Custom 1985-1987, Skyhawk Sport 1986-1987, Skyhawk 1988-1989 |- |T||Buick Skyhawk Limited 1985-1987 |- |G||Cadillac Cimarron 1985-1988 |- |G, H||Toyota Cavalier (Japan only) |- |rowspan=8|GM2900 platform |rowspan=8|J||C||Saturn L-Series|2004 Saturn L300.1 |- |D||Saturn L-Series|2004 Saturn L300.2, 2005 Saturn L300 |- |L||Saturn L-Series|2004 Saturn L300.3 |- |R||Saturn L-Series|Saturn LS w/manual transmission '00/L100 w/manual transmission '01 |- |S||Saturn L-Series|Saturn LS w/automatic transmission '00/L100 w/automatic transmission '01-'02 |- |T||Saturn L-Series|Saturn LS1 w/manual transmission '00/L200 w/manual transmission '01-'03, LW200 w/manual trans. '02 |- |U||Saturn L-Series|Saturn LS1 w/automatic transmission '00/L200 w/automatic transmission '01-'03,<br> Saturn LW1 w/automatic transmission '00/LW200 w/automatic transmission '01-'03 |- |W||Saturn L-Series|Saturn LS2 '00, LW2 '00, L300 '01-'03, LW300 '01-'03 |- |rowspan=5|GM K platform |rowspan=5|K||D||Cadillac Deville 1994-1999 |- |E||Cadillac Deville D'Elegance 1997-1999 |- |F||Cadillac Deville Concours 1994-1999 |- |S||Cadillac Seville 1985-1993 / Cadillac Seville SLS 1994-1997 |- |Y||Cadillac Seville Touring Sedan / Cadillac Seville STS 1990-1997 |- |rowspan=9|GM G platform (models formerly on K platform) |rowspan=9|K||A||2010-2011 Cadillac DTS |- |D||2000-2005 Cadillac Deville, 2006-2009 Cadillac DTS, 2010-2011 DTS Luxury |- |E||2000-2005 Cadillac Deville DHS |- |F||2000-2005 Cadillac Deville DTS |- |H||2010-2011 Cadillac DTS Premium |- |P||2010-2011 Cadillac DTS Platinum |- |R||2010-2011 Cadillac DTS Livery |- |S|| 1998-2004 Cadillac Seville SLS |- |Y|| 1998-2003 Cadillac Seville STS |- |rowspan=33|GM Kappa platform |rowspan=33|M||A||Pontiac Solstice w/automatic transmission 2010 |- |B||Pontiac Solstice 2006-2007, Solstice w/manual transmission 2008-2009 |- |B||Pontiac Solstice GXP w/automatic transmission 2010 |- |C||Pontiac Solstice w/automatic transmission 2008 |- |D||Pontiac Solstice w/manual transmission 2010 |- |E||Pontiac Solstice GXP w/manual transmission 2010 |- |F||Pontiac Solstice GXP w/automatic transmission 2008 |- |G||Pontiac Solstice GXP 2007, Solstice GXP w/manual transmission 2008-2009 |- |K||Pontiac Solstice Street Edition w/manual transmission 2009 |- |N||Pontiac Solstice w/automatic transmission 2009 |- |S||Pontiac Solstice SCCA SSB Championship Edition (2.4L) 2008 |- |T||Pontiac Solstice SCCA T2 Championship Edition (2.0L Turbo) 2008 |- |T||Pontiac Solstice GXP w/automatic transmission 2009 |- |Z||Pontiac Solstice Street Edition w/automatic transmission 2009 |- |B||Saturn Sky 2007, Sky w/manual transmission 2008-2009 |- |B||Saturn Sky Redline w/automatic transmission 2010 |- |C||Saturn Sky w/automatic transmission 2008 |- |C||Saturn Sky Ruby Red (Merlot Jewel) Special Edition w/manual transmission 2009 |- |C||Saturn Sky Preferred w/automatic transmission 2010 |- |D||Saturn Sky Hydro Blue Special Edition w/manual transmission 2009 |- |E||Saturn Sky Redline w/manual transmission 2010 |- |F||Saturn Sky Redline w/automatic transmission 2008 |- |F||Saturn Sky Preferred w/manual transmission 2010 |- |G||Saturn Sky Redline 2007, Sky Redline w/manual transmission 2008-2009 |- |H||Saturn Sky Redline Ruby Red (Merlot Jewel) Special Edition w/manual transmission 2009 |- |L||Saturn Sky Redline Hydro Blue Special Edition w/manual transmission 2009 |- |N||Saturn Sky w/automatic transmission 2009 |- |P||Saturn Sky Ruby Red (Merlot Jewel) Special Edition w/automatic transmission 2009 |- |R||Saturn Sky Hydro Blue Special Edition w/automatic transmission 2009 |- |T||Saturn Sky Redline w/automatic transmission 2009 |- |V||Saturn Sky Redline Ruby Red (Merlot Jewel) Special Edition w/automatic transmission 2009 |- |X||Saturn Sky Redline Hydro Blue Special Edition w/automatic transmission 2009 |- |G||Opel GT 2007-2010, Daewoo G2X 2007-2009 |- |rowspan=8|GM L platform |rowspan=8|L |- |D||Chevrolet Corsica ''Base'' 1994-1996 |- |T||Chevrolet Corsica ''Base'' 1987-1989, Corsica ''LT'' 1990-1993 |- |V||Chevrolet Beretta ''Base'' 1987-1996 |- |W||Chevrolet Beretta "GT" 1989-1993 (RPO Z21) & Beretta ''Z26'' 1994-1996 (RPO Z04) |- |Z||Chevrolet Corsica ''LTZ'' 1989-1990 (RPO Z54) |- |Z||Chevrolet Beretta "GTZ" 1990-1993 (RPO Z04) |- |T||Pontiac Tempest (Canada only) |- |rowspan=5|GM M platform |rowspan=5|M||R||Chevrolet Sprint |- |R||Geo Metro LSi, Metro |- |R||Pontiac Firefly (Canada only) |- |S||Chevrolet Sprint ER |- |S||Geo Metro, Metro XFi |- |rowspan=32|GM N platform |rowspan=32|N |- |B||Oldsmobile Cutlass 1997, Cutlass ''GL'' 1998-1999 |- |C||Buick Skylark 4-door ''Custom'' 1987-1991 |- |D||Buick Skylark 4-door ''Limited'' 1987-1989, Skylark 4-door ''Luxury Edition'' 1990-1991 |- |D||Chevrolet Malibu 1997-2003, Chevrolet Classic 2004-2005 |- |E||Chevrolet Malibu ''LS'' 1997-2003 |- |E||Pontiac Grand Am 1985-1988, Grand Am ''LE'' 1989-1991 |- |E||Pontiac Grand Am ''SE'' 1992-2005 |- |F||Oldsmobile Calais 1985-1987, Cutlass Calais 1988, Cutlass Calais ''S'' 1989-1991 |- |F||Oldsmobile Achieva ''SL'' 1992-1994, Achieva ''SC'' 1994 |- |F||Oldsmobile Alero ''GLS'' 1999-2004 |- |F||Pontiac Grand Am ''SE1'' 2000-2004 |- |G||Oldsmobile Cutlass ''GLS'' 1997-1999 |- |G||Pontiac Grand Am 1991 |- |G||Pontiac Grand Am ''SE2'' 2000, 2003-2004 |- |J||Buick Somerset Regal 1985, Somerset ''Custom'' 1986-1987, Skylark 2-door ''Custom'' 1988-91, Skylark 4-door ''Custom'' 1986 |- |J||Buick Skylark 1992, Skylark ''Limited'' 1993-1994, Skylark ''Custom'' 1996-1998,<br /> Skylark ''Limited'' & ''Gran Sport'' 1996-1997 |- |K||Buick Somerset ''T-Type'' 1986 |- |K||Oldsmobile Cutlass Calais ''International Series'' 1988-1991 |- |K||Oldsmobile Alero ''GX'' 1999-2004 |- |L||Oldsmobile Cutlass Calais 1989-1991 |- |L||Oldsmobile Achieva ''S'' 1992-1995, Achieva ''SL'' 1996-1998, Achieva ''SC'' 1996-1997 |- |L||Oldsmobile Alero ''GL'' 1999-2004 |- |M||Buick Somerset Regal ''Limited'' 1985, Somerset ''Limited'' 1986-'87, Skylark 2-door ''Limited'' '88-'89, Skylark 2-door ''Gran Sport'' 1990-1991, Skylark 4-door ''Limited'' 1986 |- |M||Buick Skylark ''Gran Sport'' 1992-1994 |- |T||Oldsmobile Calais ''Supreme'' 1985-1987, Cutlass Calais ''SL'' 1988-1991 |- |V||Buick Skylark 1990-1991 |- |V||Buick Skylark ''Custom'' 1993-1995, ''Limited'' 1995, ''Gran Sport'' 1995 |- |V||Pontiac Grand Am ''LE'' 1985-1988 |- |V||Pontiac Grand Am ''GT1'' 2000-2005 |- |W||Pontiac Grand Am ''SE'' 1986-1991 |- |W||Pontiac Grand Am ''GT'' 1992-2005 |- |rowspan=5|GM P platform - rear-wheel drive |rowspan=5|P |- ||E||Pontiac Fiero ''Coupe'' 1985-1988 |- ||F||Pontiac Fiero ''SE'' 1985-1987 |- ||G||Pontiac Fiero ''GT'' 1985-1988 |- ||M||Pontiac Fiero ''Sport coupe'' 1985-1987 |- |rowspan=1|GM P platform - front-wheel drive |rowspan=1|P||X||General Motors EV1 1997, 1999 |- |rowspan=6|GM R platform |rowspan=6|R |- ||F||1985-1986 Chevrolet Spectrum |- ||F||1987-1988 Chevrolet Spectrum 3-door hatchback, 1989 Geo Spectrum 3-door hatchback |- ||F||1990-1993 Geo Storm |- ||G||1987-1988 Chevrolet Spectrum 4-door sedan, 1989 Geo Spectrum 4-door sedan |- ||T||1990-1993 Geo Storm GSi |- |rowspan=8|GM S platform |rowspan=8|S||K||1985-1988 Chevrolet Nova |- |K||1989-1997 Geo Prizm, 1998-2002 Chevrolet Prizm |- |L||1988 Chevrolet Nova Twin Cam, 1990-1992 Geo Prizm GSi |- |L||2003-2008 Pontiac Vibe, 2009-2010 Pontiac Vibe FWD w/manual transmission |- |M||2003-2006 Pontiac Vibe ''AWD'', 2009-2010 Pontiac Vibe AWD w/automatic transmission |- |N||2003-2006 Pontiac Vibe ''GT'', 2009-2010 Pontiac Vibe GT FWD w/manual transmission |- |P||2009-2010 Pontiac Vibe FWD w/automatic transmission |- |R||2009-2010 Pontiac Vibe GT FWD w/automatic transmission |- |rowspan=32|GM Sigma platform |rowspan=32|D||A||Cadillac CTS Base model RWD 2010-2013, CTS Coupe Base model RWD 2014 |- |B||Cadillac CTS Wagon Luxury Collection RWD 2014 |- |C||Cadillac CTS Base model AWD 2010-2013, CTS Coupe/Wagon Performance Collection RWD 2014 |- |D||Cadillac CTS Coupe/Wagon Premium Collection RWD 2014 |- |E||Cadillac CTS Luxury Collection RWD 2010-2013, CTS Coupe Base model AWD 2014 |- |F||Cadillac CTS Auto. Trans. RWD 2008-2009, CTS Luxury Collection RWD w/Navigation 2010-2013, CTS Wagon Luxury Collection AWD 2014 |- |G||Cadillac CTS Auto. Trans. AWD 2008-2009, CTS Luxury Collection AWD 2010-2013, CTS Coupe/Wagon Performance Collection AWD 2014 |- |H||Cadillac CTS Auto. Trans. AWD w/Navigation 2008-2009, CTS Luxury Collection AWD w/Navigation 2010-2013, CTS Coupe/Wagon Premium Collection AWD 2014 |- |J||Cadillac CTS Auto. Trans. RWD w/Navigation 2008-2009, CTS Performance Collection RWD 2010-2013 |- |K||Cadillac CTS Performance Collection RWD w/Navigation 2010-2013 |- |L||Cadillac CTS Performance Collection AWD 2010-2013 |- |M||Cadillac CTS V6 2003-2004, CTS 2.8L 2005-2007, CTS Man. Trans. RWD 2008-2009, CTS Performance Collection AWD w/Navigation 2010-2013 |- |N||Cadillac CTS V-Series 2004-2007, 2009 |- |P||Cadillac CTS 3.6L 2005-2007, CTS Direct Inj. V6 Man. Trans. RWD 2008-2009, CTS Premium Collection RWD w/Navigation 2010-2013 |- |R||Cadillac CTS Direct Inj. V6 Auto. Trans. RWD 2008 |- |S||Cadillac CTS Direct Inj. V6 Auto. Trans. AWD 2008-2009, CTS Premium Collection AWD w/Navigation 2010-2013 |- |T||Cadillac CTS Direct Inj. V6 Auto. Trans. AWD w/Navigation 2008-2009 |- |U||Cadillac CTS Direct Inj. V6 Auto. Trans. RWD 2009 |- |V||Cadillac CTS Direct Inj. V6 Auto. Trans. RWD w/Navigation 2008-2009, CTS sedan V-Series 2010-2014, CTS Wagon V-Series 2011-2014, CTS Coupe V-Series 2011-2015 |- |0||Cadillac CTS Sport Appearance Pkg. 2010 |- |1||Cadillac CTS Eco Luxury Pkg. 2010 |- |2||Cadillac CTS Sport Appearance Pkg. 2011 |- |A||Cadillac STS V6 AWD 2008-2009 |- |B||Cadillac STS V8 AWD 2008-2009 |- |C||Cadillac STS V8 2005-2007, STS V8 RWD 2008-2009 |- |D||Cadillac STS V6 AWD w/Navigation 2008-2009 |- |K||Cadillac STS V6 RWD w/Navigation 2008-2009 |- |L||Cadillac STS V8 AWD w/Navigation 2008-2009 |- |U||Cadillac STS (all models) 2010, STS (Base model) 2011 |- |W||Cadillac STS V6 2005-2007, STS V6 RWD 2008-2009, STS Luxury 2011 |- |X||Cadillac STS V-Series 2006-2009, STS Luxury Performance 2011 |- |Z||Cadillac STS V8 RWD w/Navigation 2008-2009 |- |rowspan=4|GM T platform - rear-wheel drive |rowspan=4|T||B|| 1985-1987 Chevrolet Chevette CS |- |B||1985-1987 Pontiac Acadian (Canada only) |- |J||1985 Pontiac Acadian Scooter (Canada only) |- |L||1985-1987 Pontiac 1000 |- |rowspan=4|GM T platform - front-wheel drive |rowspan=4|T||N|| Pontiac LeMans 1988, LeMans LE 1989-1991, LeMans SE 1992-1993 |- |R||1988-1989 Pontiac LeMans SE sedan |- |S||1988-1990 Pontiac LeMans GSE AeroCoupe |- |X||1988-1993 Pontiac LeMans VL AeroCoupe |- |rowspan=3|GM T platform - front-wheel drive |rowspan=3|A |- |R||Saturn Astra XE (US: 2008, Canada: 2008-2009) |- |T||Saturn Astra XR (US: 2008, Canada: 2008-2009) |- |rowspan=4|Daewoo T200 platform |rowspan=4|T||D||Chevrolet Aveo Special Value 2004-2008, Base model 2004, LS 2005-2011, Aveo 1LT 2009-2011 |- |G||Chevrolet Aveo LT 2005-2008, Aveo 2LT 2009-2011 |- |J||Chevrolet Aveo LS 2004 |- |D||Pontiac G3 2009 |- |rowspan=2|GM V platform - front-wheel drive |rowspan=2|V||R||1987-1992 Cadillac Allanté with standard removable hardtop |- |S||1990-1993 Cadillac Allanté |- |rowspan=2|GM V platform - rear-wheel drive |rowspan=2|V||R||1997-2001 Cadillac Catera |- |X||2004-2006 Pontiac GTO coupe |- |rowspan=49|GM W platform |rowspan=49|W |- |A||Chevrolet Impala ''LS'' 2010-2013, Impala Limited ''LS'' 2014-2016 |- |B||Chevrolet Impala ''LS'' 2006-2009, Impala ''LT'' 2010-2013, Impala Limited ''LT'' 2014-2016 |- |C||Chevrolet Impala ''LT'' 3.9L 2006-2009, Impala ''LTZ'' 2010-2013, Impala Limited ''LTZ'' 2014-2016 |- |D||Chevrolet Impala ''SS'' 2006-2009, Impala ''Police'' 2010-2013, Impala Limited ''Police'' 2014-2016 |- |E||Chevrolet Impala ''Taxi'' 2010-2012 |- |F||Chevrolet Impala 2000-2005, Impala ''LS'' Fleet (1FL) 2011-2013 |- |G||Chevrolet Impala ''LT'' Fleet (2FL) 2011-2013 |- |H||Chevrolet Impala ''LS'' 2000-2005 |- |J||Chevrolet Monte Carlo ''LS'' 2006-2007 |- |K||Chevrolet Monte Carlo ''LT'' 3.9L 2006, Monte Carlo ''LT'' 3.5L 2007 |- |L||Chevrolet Lumina 1990-2001, Lumina ''LS'' 1997-1999 |- |L||Chevrolet Monte Carlo ''SS'' 2006-2007 |- |M||Chevrolet Monte Carlo ''LT'' 3.5L 2006 |- |N||Chevrolet Lumina ''Euro'' 1990-1994, Lumina ''LS'' 1995-1996, Lumina ''LTZ'' 1997-1999 |- |N||Chevrolet Monte Carlo ''LTZ'' 2006 |- |P||Chevrolet Lumina ''Z34'' 1991-1994, Impala ''SS'' 2004-2005 |- |S||Chevrolet Impala ''Police'' 2006-2009 |- |T||Chevrolet Impala ''LT'' 3.5L 2006-2009 |- |U||Chevrolet Impala ''LTZ'' 2006-2009 |- |V||Chevrolet Impala ''50th Anniversary Edition'' 2008 |- |W||Chevrolet Monte Carlo ''LS'' 1995-2005 |- |X||Chevrolet Monte Carlo ''Z34'' 1995-1999, Monte Carlo ''SS'' 2000-2004, Monte Carlo ''LT'' 2005 |- |Z||Chevrolet Monte Carlo ''SS Supercharged'' 2004-2005 |- |C||Pontiac Grand Prix ''GXP'' 2005-2008 |- |H||Pontiac Grand Prix ''LE'' 1991-1993 |- |J||Pontiac Grand Prix 1988-1989, Grand Prix ''LE'' 1990, Grand Prix ''SE'' 1991-2000 |- |K||Pontiac Grand Prix ''LE'' 1988-1989, Grand Prix ''SE1'' 2000-2003 |- |P||Pontiac Grand Prix ''SE'' 1988-1990, Grand Prix ''GT'' 1991-1993, 1997-2003,<br /> Grand Prix ''GT1'' 2004, Grand Prix 2005-2008 |- |R||Pontiac Grand Prix ''GTP'' 1999-2005, Grand Prix ''GT'' 2006-2007 |- |S||Pontiac Grand Prix ''GT2'' 2004, Grand Prix ''GT'' 2005 |- |T||Pontiac Grand Prix ''STE'' 1990-1993 |- |H||Oldsmobile Cutlass Supreme 1988-1991, Cutlass Supreme ''S'' 1992-1994,<br /> Cutlass Supreme ''SL'' 1995-1997, Intrigue 1998, Intrigue ''GX'' 1999-2002 |- |R||Oldsmobile Cutlass Supreme ''International Series'' 1988-1993 |- |S||Oldsmobile Cutlass Supreme ''SL'' 1988-1991, Intrigue ''GL'' 1998-2002 |- |T||Oldsmobile Cutlass Supreme Convertible 1990-1995 |- |X||Oldsmobile Intrigue ''GLS'' 1998-2002 |- |B||Buick Regal ''Custom'' 1988-1996, Regal ''GS'' Coupe 1995-1996, Regal ''LS'' 1997-2004 |- |C||Buick Lacrosse ''CX'' 2005-2009 |- |D||Buick Regal ''Limited'' 1988-1996, Lacrosse ''CXL'' 2005-2009 |- |E||Buick Lacrosse ''CXS'' 2005-2008 |- |F||Buick Regal ''GS'' Coupe 1992-1994, Regal ''GS'' Sedan 1992-2004 |- |F||Buick Allure ''CX'' 2005-2009 (Canada only) |- |H||Buick Allure ''CXS'' 2005-2008 (Canada only) |- |J||Buick Allure ''CXL'' 2005-2009 (Canada only) |- |N||Buick Lacrosse ''Super'' 2008-2009 |- |P||Buick Allure ''Super'' 2008-2009 (Canada only) |- |S||Buick Century ''Custom'' 1997-2005 |- |Y||Buick Century ''Limited'' 1997-2002 |- |rowspan=3|GM X platform |rowspan=3|X||B||1985 Buick Skylark Custom |- |C||1985 Buick Skylark Limited |- |X||1985 Chevrolet Citation II |- |rowspan=39|GM Y platform |rowspan=39|Y||V||2004-2009 Cadillac XLR |- |X||2006-2009 Cadillac XLR V-Series |- |Y||1985-2008 Chevrolet Corvette (all models except '90-'95 ZR-1) |- |Z||1990-1995 Chevrolet Corvette ZR-1 |- |G||2009 Chevrolet Corvette GT1 Championship Edition (Base & Z06) |- |R||2009 Chevrolet Corvette ZR1 (after early production) |- |Y||2009 Chevrolet Corvette (Base model, Early production Z06, Early production ZR1) |- |Z||2009 Chevrolet Corvette Z06 (after early production) |- |A||2010-2013 Chevrolet Corvette Standard 1LT Man. Trans. |- |B||2010-2013 Chevrolet Corvette Preferred 2LT Man. Trans. |- |C||2010-2013 Chevrolet Corvette Premium 3LT Man. Trans. |- |D||2010-2013 Chevrolet Corvette Custom 4LT Man. Trans. |- |E||2010-2013 Chevrolet Corvette Standard 1LT Auto. Trans. |- |F||2010-2013 Chevrolet Corvette Preferred 2LT Auto. Trans. |- |G||2010-2013 Chevrolet Corvette Premium 3LT Auto. Trans. |- |H||2010-2013 Chevrolet Corvette Custom 4LT Auto. Trans. |- |J||2010-2013 Chevrolet Corvette Z06 Standard 1LZ Man. Trans. |- |K||2010-2013 Chevrolet Corvette Z06 Premium 2LZ Man. Trans. |- |L||2010-2013 Chevrolet Corvette Z06 Custom 3LZ Man. Trans. |- |M||2010-2013 Chevrolet Corvette ZR1 Standard 1ZR Man. Trans. |- |N||2010-2013 Chevrolet Corvette ZR1 Custom 3ZR Man. Trans. |- |P||2010-2013 Chevrolet Corvette Grand Sport Standard 1LT Man. Trans. |- |R||2010-2013 Chevrolet Corvette Grand Sport Preferred 2LT Man. Trans. |- |S||2010-2013 Chevrolet Corvette Grand Sport Premium 3LT Man. Trans. |- |T||2010-2013 Chevrolet Corvette Grand Sport Custom 4LT Man. Trans. |- |U||2010-2013 Chevrolet Corvette Grand Sport Standard 1LT Auto. Trans. |- |V||2010-2013 Chevrolet Corvette Grand Sport Preferred 2LT Auto. Trans. |- |W||2010-2013 Chevrolet Corvette Grand Sport Premium 3LT Auto. Trans. |- |X||2010-2013 Chevrolet Corvette Grand Sport Custom 4LT Auto. Trans. |- |Y||2013 Chevrolet Corvette 427 Convertible Collector Edition Premium 3LT Man. Trans. |- |Z||2013 Chevrolet Corvette 427 Convertible Collector Edition Custom 4LT Man. Trans. |- |1||2013 Chevrolet Corvette 60th Anniversary Edition Custom 4LT Man. Trans. |- |2||2013 Chevrolet Corvette 60th Anniversary Edition Custom 4LT Auto. Trans. |- |3||2013 Chevrolet Corvette Grand Sport 60th Anniversary Edition Custom 4LT Man. Trans. |- |4||2013 Chevrolet Corvette Grand Sport 60th Anniversary Edition Custom 4LT Auto. Trans. |- |5||2013 Chevrolet Corvette Z06 60th Anniversary Edition Custom 3LZ Man. Trans. |- |6||2013 Chevrolet Corvette ZR1 60th Anniversary Edition Custom 3ZR Man. Trans. |- |7||2013 Chevrolet Corvette 427 Convertible 60th Anniversary Edition Custom 4LT Man. Trans. |- |8||2013 Chevrolet Corvette 427 Convertible Collector Edition Preferred 2LT Man. Trans. |- |rowspan=13|GM Z platform |rowspan=13|Z |- |E||Saturn SC1 (manual transmission 2-Door) 1993-1999 |- |F||Saturn SC1 (automatic transmission 2-Door) 1993-1999, SL (manual transmission) 1991-02 |- |G||Saturn SC (manual transmission) 1991-1992, SC2 (manual transmission 2-Door) 1993-99,<br /> SL1 (manual transmission) 1991-2002, SW1 (manual transmission) 1993-1999 |- |H||Saturn SC (automatic transmission) 1991-92, SC2 (automatic transmission 2-Door) '93-'99,<br /> SL1 (automatic transmission) 1991-02, SW1 (automatic transmission LHD) '93-'99 |- |J||Saturn SL2 (manual transmission) 1991-2002, SW2 (manual transmission) 1993-2001 |- |K||Saturn SL2 (automatic transmission) 1991-2002, SW2 (automatic transmission 1993-1999) |- |M||Saturn SW1 "Postal" [SWP] (automatic transmission RHD) 1999-2001 <br>(Made for US Postal Service rural route mail carriers) |- |N||Saturn SC1 (manual transmission 3-Door) 1999-2002, SW2 (automatic transmission 2000-01) |- |P||Saturn SC1 (automatic transmission 3-Door) 1999-2002 |- |R||Saturn SC2 (manual transmission 3-Door) 1999-2002 |- |S||Saturn SL Spring Special 2002 |- |Y||Saturn SC2 (automatic transmission 3-Door) 1999-2002 |- |rowspan=3|GM Zeta platform (VE) |rowspan=3|E||C||Pontiac G8 GT |- |P||Pontiac G8 GXP |- |R||Pontiac G8 (Base model) |- |rowspan=2|GM Zeta platform (VF) |rowspan=2|F||1||2014-2017 Chevrolet SS w/automatic transmission |- |2||2015-2017 Chevrolet SS w/manual transmission |- |GM Zeta platform (WM) |M||K||2011-2013 Chevrolet Caprice PPV |- |GM Zeta platform (WN) |N||S||2014-2017 Chevrolet Caprice PPV |- |rowspan=19|GM Zeta platform (models formerly on F platform) |rowspan=19|F||A||Chevrolet Camaro ''LS'' automatic transmission 2010-2011, ''2LS'' automatic transmission 2012-2014, ''LS'' manual transmission 2015 |- |B||Chevrolet Camaro ''LT'' automatic transmission 2010-2014, ''2LS'' automatic transmission 2015 |- |C||Chevrolet Camaro ''2LT'' automatic transmission 2010-2014, ''LT'' manual transmission 2015 |- |D||Chevrolet Camaro ''LT'' automatic transmission 2015 |- |E||Chevrolet Camaro ''LS'' manual transmission 2010-2014, ''2LT'' manual transmission 2015 |- |F||Chevrolet Camaro ''LT'' manual transmission 2010-2014, ''2LT'' automatic transmission 2015 |- |G||Chevrolet Camaro ''2LT'' manual transmission 2010-2014, ''SS'' manual transmission 2015 |- |H||Chevrolet Camaro ''SS'' automatic transmission 2015 |- |J||Chevrolet Camaro ''SS'' automatic transmission 2010-2014. Note: Must have "J" in 8th position of VIN. |- |J||Chevrolet Camaro ''ZL1'' automatic transmission 2012. Note: Must have "P" in 8th position of VIN. |- |J||Chevrolet Camaro ''2SS'' manual transmission 2015 |- |K||Chevrolet Camaro ''2SS'' automatic transmission 2010-2015 |- |L||Chevrolet Camaro ''ZL1'' automatic transmission 2013-2014, ''ZL1'' manual transmission 2015 |- |M||Chevrolet Camaro ''ZL1'' automatic transmission 2015 |- |S||Chevrolet Camaro ''SS'' manual transmission 2010-2014. Note: Must have "W" in 8th position of VIN. |- |S||Chevrolet Camaro ''ZL1'' manual transmission 2012. Note: Must have "P" in 8th position of VIN. |- |S||Chevrolet Camaro ''Z/28'' manual transmission 2014. Note: Must have "E" in 8th position of VIN. |- |T||Chevrolet Camaro ''2SS'' manual transmission 2010-2014 |- |Z||Chevrolet Camaro ''ZL1'' manual transmission 2013-2014, ''Z/28'' manual transmission 2015 |- |} RHD= Right-Hand Drive ====Model Line 2010- Passenger Car (Using Vehicle Platforms introduced 2010 or later)==== The Model Line is specified as character four of the American GM VIN for Passenger Cars. {| border=1 style="margin:auto;" !VIN !Description |- |A||Cadillac ATS 2013-2019 |- |A||Cadillac CTS sedan 2014-2019, CTS V-Series sedan 2016-2019 |- |B||Chevrolet Cruze 2016-2019 |- |C||Chevrolet Spark 2013-2022, Spark EV 2014-2016 |- |D||Cadillac CT4 2020-2026 |- |D||Cadillac CT5 2020- |- |F||Chevrolet Camaro 2016-2024 |- |F||Chevrolet Bolt EV 2017-2023, Bolt EUV 2022-2023, Bolt 2027 |- |G||Buick LaCrosse 2010-2016 |- |G||Buick Regal 2011-2020, Buick Regal TourX 2018-2020 |- |J||Chevrolet Sonic 2016-2020 |- |K||Cadillac CT6 2016-2020 |- |M||Cadillac Celestiq EV 2025- |- |P||Buick Verano 2012-2017 |- |P||Chevrolet Cruze 2011-2015, Cruze Limited 2016 |- |R||Cadillac ELR 2014, 2016 |- |R||Chevrolet Volt 2011-2019 |- |W||Buick Cascada 2016-2019 |- |Y||Chevrolet Corvette 2014- |- |Z||Buick LaCrosse 2017-2019 |- |Z||Chevrolet Malibu 2016-2025 |- |1||Cadillac XTS 2013-2019 |- |1||Chevrolet Impala 2014-2020 |- |1||Chevrolet Malibu 2013-2015, Malibu Limited 2016 |- |} ===Body style codes 1987- Passenger Car=== The Body type is specified as character six of the American GM VIN for passenger cars. {| border=1 style="margin:auto;" !VIN !Description |- |1||Two-Door Coupe/Sedan |- |2||Two-Door Hatchback |- |3||Two-Door Convertible |- |4||Two-Door Wagon ('91-'92 Geo Storm Hatchback) |- |5||Four-Door Sedan |- |6||Four-Door Hatchback |- |7||Four-Door Hatchback ('89-'90 Geo Prizm hatchback) |- |8||Four-Door Station Wagon |- |9||Four-Door Station Wagon - High Roof Monocab |} ===American restraint types 1987-=== The restraint type is specified as character seven of the American GM VIN for passenger cars. {{center/top}} ====Restraint codes for passenger cars 1987-2009==== {{center/end}} {| border=1 style="margin:auto;" !VIN Code !Description |- |1||Active (Manual) belts 1987-1996 |- |2||Active (Manual) belts plus driver and passenger front airbags 1992-2005<br />(For '94-'96 Pontiac Grand Prix coupe: Passive (Automatic) belts plus driver and passenger front airbags) |- |3||Active (Manual) belts plus driver side front airbag 1988-1996 <br />(For '94 Geo Prizm: Active (Manual) belts plus driver and passenger front airbags) |- |4||Passive (Automatic) belts 1987-1996 |- |4||Active (Manual) belts plus driver and passenger front & side airbags 1997-2005 |- |4||Active (Manual) belts plus driver and passenger front & side curtain airbags 2006-2009 |- |5||Passive (Automatic) belts plus driver side front airbag 1992-1996 |- |5||Active (Manual) belts plus driver and passenger front airbags & driver-side side impact airbag 2000-2005 |- |5||Active (Manual) belts plus driver and passenger front airbags & occupant sensor 2006-2009 |- |6||Passive (Automatic) belts plus driver and passenger front airbags 1994-1996 |- |6||Active (Manual) belts plus driver and passenger front & side airbags & occupant sensor 2000-2009 |- |7||Active (Manual) belt driver & Passive (Automatic) belt passenger plus driver and passenger front airbags 1996 |- |7||Active (Manual) belts plus driver and passenger front & side airbags & rear side airbags 2000-2005 |- |7||Active (Manual) belts plus driver and passenger front & side & side curtain airbags & occupant sensor 2006-2009 |- |8||Active (Manual) belts plus driver and passenger front & side curtain airbags & occupant sensor 2006-2009 |- |9|| |} {{center/top}} ====Restraint codes for passenger cars 2010-==== {{center/end}} {| border=1 style="margin:auto;" !VIN Code !Description |- |D||Active (Manual) belts plus driver and passenger front & side airbags 2010- |- |E||Active (Manual) belts plus driver and passenger front & side & side curtain airbags 2010-2017, 2027 |- |F||Active (Manual) belts plus driver and passenger front & side curtain airbags 2010 |- |G||Active (Manual) belts plus driver and passenger front & side & rear side & side curtain airbags 2010-2017 |- |N||Active (Manual) belts plus driver and passenger front & side & front knee airbags 2016-2019 |- |R||Active (Manual) belts plus driver and passenger front & side & side curtain & front knee airbags 2012- |- |S||Active (Manual) belts plus driver and passenger front & side & rear side & side curtain & front knee airbags 2011- |- |T||Active (Manual) belts plus driver and passenger front & side & front row side curtain airbags 2011 |- |U||Active (Manual) belts plus driver and passenger front & side & front row side curtain & front knee airbags 2012-2017 |} {{center/top}} ====Restraint codes for light trucks 2010-==== {{center/end}} {| border=1 style="margin:auto;" !VIN Code !Description |- |A||Active (Manual) belts plus driver-side front airbag 2010 |- |B||Active (Manual) belts plus driver-side front airbag 2011- |- |B||Active (Manual) belts plus driver and passenger front airbags 2010 |- |C||Active (Manual) belts plus driver and passenger front airbags 2011- |- |C||Active (Manual) belts plus driver and passenger front & side airbags 2010 |- |D||Active (Manual) belts plus driver and passenger front & side airbags 2011- |- |D||Active (Manual) belts plus driver and passenger front airbags & side curtain airbags for up to 3 rows of seating 2010 |- |E||Active (Manual) belts plus driver and passenger front & side & side curtain airbags 2010- |- |F||Active (Manual) belts plus driver and passenger front airbags & side curtain airbags for up to 3 rows of seating 2011-2015 |- |F||Active (Manual) belts plus driver and passenger front & side airbags & side curtain airbags for up to 3 rows of seating 2016- |- |H||Active (Manual) belts plus driver-side front airbag & driver-side side-impact airbag & driver-side side curtain airbag 2023-2024 |- |K||Active (Manual) belts plus driver and passenger front & side & side curtain & front center airbags 2013- |- |L||Active (Manual) belts plus driver and passenger front & side & side curtain & front center & driver-side knee airbags 2017-2023 |- |M||Active (Manual) belts plus driver and passenger front & side & side curtain & front center & front knee airbags 2025- |- |R||Active (Manual) belts plus driver and passenger front & side & side curtain & front knee airbags 2017- |- |S||Active (Manual) belts plus driver and passenger front & side & rear side & side curtain & front knee airbags 2013- |- |T||Active (Manual) belts plus driver-side front airbag & driver- and passenger-side side-impact airbags & side curtain airbags 2023- |- |U||Active (Manual) belts plus driver and passenger front & side & front row side curtain & front knee airbags 2013-2019 |} ===American engine codes 1981-=== GM encodes the engine type in character 8 of the VIN. The following table outlines the various engines encoded there: ====Engine codes for passenger cars==== Warning: Issues with decoding are related to year/model combinations. Each year has a different breakdown for each code along with plants and some model/trim breakdowns over years. Entry: 1985-1988 Pontiac Fiero has a 9 engine code for the 2.8L L44 V6. Entry: 1986-1990 Cadillac Brougham, Oldsmobile 307 Cu. In. V8 vin code Y. {| border=1 style="margin:auto;" !VIN !RPO !Size !Type !Fuel !Valvetrain !Engine Family/Notes/Applications |- |A||LD5||3.8&nbsp;L||V6||2 Barrel Carburetor |2BBL||OHV||Buick V6. (231 cu. in.) '81 Chevy Camaro (CA), Pontiac Catalina, Firebird, LeMans, Buick Century,<br /> '81-'83 Chevy Malibu (CA), '81-'84 Monte Carlo, Caprice, Impala (CA), '81-'87 Pontiac Grand Prix, Oldsmobile Cutlass/Cutlass Supreme, Buick Regal, '81-'85 Oldsmobile Delta 88, Buick LeSabre,<br /> '81-'86 Pontiac Bonneville, '84 Parisienne |- |A||LG0||2.3&nbsp;L||Straight-4|I4||Fuel injection#Multi-port fuel injection|MFI||DOHC,<br /> 16 valve||Oldsmobile Quad 4 H.O. '89-'94 Pontiac Grand Am, '89-'91 Oldsmobile Cutlass Calais, '92-'94 Achieva, '90 Cutlass Supreme, '90-'94 Chevy Beretta |- |A||LH2||4.6&nbsp;L||V8||Fuel injection#Sequential Multi-port injection|SFI||DOHC,<br /> 32 valve||Cadillac Northstar V8 (For RWD) (Premium V). '04-'09 Cadillac XLR, '05-'10 Cadillac STS |- |A||LCV||2.5&nbsp;L||Straight-4|I4||Direct Injection|DI||DOHC,<br /> 16 valve||GM Ecotec engine, Gen III. VVT. '13 Chevy Malibu, '16 Malibu Limited, '16-'19 Impala,<br /> '13-'16 Cadillac ATS |- |A||LV7||1.4&nbsp;L||Straight-4|I4||Fuel injection#Multi-port fuel injection|MFI||DOHC,<br /> 16 valve||GM Small Gasoline Engine. VVT. Made in Changwon, S. Korea. '16-'22 Chevy Spark. |- |B||LG2||3.8&nbsp;L||V6||Fuel injection#Sequential Multi-port injection|SFI||OHV||Buick V6. '86 Oldsmobile 98, Toronado, Buick Electra, Riviera. |- |B||L26||4.9&nbsp;L||V8||Fuel injection#Multi-port fuel injection|MFI||OHV||Cadillac High Technology V8.<br /> '91-'93 Cadillac Eldorado, Seville, '91-'95 DeVille, '91-'92 Fleetwood, '91-'93 Sixty Special |- |B||LE5||2.4&nbsp;L||Straight-4|I4||Fuel injection#Multi-port fuel injection|MFI||DOHC,<br /> 16 valve||GM Ecotec Gen II. VVT. '06-'08 Chevy Cobalt, '06-'07 Saturn Ion, '06-'10 Pontiac G6, Solstice,<br /> '07-'08 Pontiac G5, '07-'10 Saturn Sky, '08-'09 Saturn Aura, '08-'10 Chevy Malibu |- |B||LUV||1.4L||I4 Turbo||Fuel injection#Sequential Multi-port fuel injection|SFI||DOHC,<br /> 16 valve||GM Family 0 Engine, Gen III. VVT. '12-'20 Chevy Sonic, '13-'15 Chevy Cruze, '16 Cruze Limited |- |C||L17||1.6&nbsp;L||Straight-4|I4||2 Barrel Carburetor |2BBL||SOHC,<br /> 8 valve||Isuzu G161Z engine made by GM in US. '82-'87 Chevy Chevette, Pontiac T1000/1000 |- |C||LN3||3.8&nbsp;L||V6||Fuel injection#Multi-port fuel injection|MFI||OHV||Buick V6 (3800). '88-'90 Oldsmobile 98, Toronado, Buick Electra, Riviera, Reatta, <br /> '88-'91 Buick LeSabre, Oldsmobile Delta 88/Eighty Eight, Pontiac Bonneville |- |C||L47||4.0&nbsp;L||V8||Fuel injection#Sequential Multi-port injection|SFI||DOHC,<br /> 32 valve||Oldsmobile Aurora V8 (Premium V). Oldsmobile Aurora '95-'99, Aurora 4.0 '01-'03 |- |C||LS4||5.3 L||V8||Fuel injection#Sequential Multi-port injection|SFI||OHV||Gen IV Chevrolet Small-Block V8. Aluminum Block & Heads. Active Fuel Management.<br /> Transversely mounted for FWD. '05-'08 Pontiac Grand Prix GXP, '06-'07 Chevy Monte Carlo SS,<br /> '06-'09 Chevy Impala SS, '08-'09 Buick LaCrosse Super. |- |C||LAF||2.4&nbsp;L||Straight-4|I4||Direct Injection|DI||DOHC,<br /> 16 valve||GM Ecotec engine, Gen II. VVT. Buick LaCrosse '10-'11, Regal '11. |- |C||LUJ||1.4L||I4 Turbo||Fuel injection#Sequential Multi-port fuel injection|SFI||DOHC,<br /> 16 valve||GM Family 0 Engine, Gen III. VVT. Early production engines were made in Aspern, Austria; later made in Flint, MI. '12 Chevy Cruze |- |D||LJ5||1.8&nbsp;L||Straight-4|I4||Indirect injection Diesel||SOHC,<br /> 8 valve||Isuzu 4FB1 diesel engine imported from Japan. '81-'86 Chevy Chevette |- |D||LD2||2.3&nbsp;L||Straight-4|I4||Fuel injection#Multi-port fuel injection|MFI||DOHC,<br /> 16 valve||Oldsmobile Quad 4. '88-'95 Pontiac Grand Am, '88-'91 Oldsmobile Cutlass Calais, '92-'95 Achieva,<br /> '88-'91 &'95 Buick Skylark, '90-'91 Pontiac Grand Prix, Oldsmobile Cutlass Supreme,<br /> '95 Chevy Cavalier, Pontiac Sunfire |- |D||LC3||4.4&nbsp;L||V8 Supercharged||Fuel injection#Sequential Multi-port point injection|SFI||DOHC,<br /> 32 valve||Cadillac Northstar V8 (Premium V). '06-'09 Cadillac XLR V-Series, Cadillac STS V-Series |- |E||LK9||3.0&nbsp;L||V6||2 Barrel Carburetor |2BBL||OHV||Buick V6. '82-'85 Oldsmobile Cutlass Ciera, Buick Century, '85 Oldsmobile 98, Buick Electra |- |E||LA1||3.4&nbsp;L||V6||Fuel injection#Sequential Multi-port point injection|SFI||OHV||Chevrolet 60° V6. '99-'05 Grand Am, '99-'04 Alero, '00-'05 Impala, Monte Carlo |- |E||L03||5.0&nbsp;L||V8||Fuel injection#Throttle Body injection|TBI||OHV||Gen I Chevy Small-Block V8 (305 cu. in.). '88-'92 Camaro/Firebird, '89-'93 Chevy Caprice,<br /> '91 Buick Roadmaster Estate wagon, '91-'92 Oldsmobile Custom Cruiser, Cadillac Brougham. |- |E||LXV||1.6&nbsp;L||Straight-4|I4||Fuel injection#Multi-port fuel injection|MFI||DOHC,<br /> 16 valve||Family 1 Gen 3 engine. W/VVT. '09-'11 Chevy Aveo, '09 Pontiac G3 |- |E||LS7||7.0&nbsp;L||V8||Fuel injection#Sequential Multi-port point injection|SFI||OHV||Gen IV Chevy Small-Block V8. Aluminum Block & Heads.<br /> '06-'13 Corvette Z06, '13 Corvette 427, '14-'15 Camaro Z/28 |- |E||LH7||1.6&nbsp;L||I4 Turbo||Direct injection <br /> Common-rail Diesel||DOHC,<br /> 16 valve||GM Medium Diesel engine ("Whisper Diesel"). Made by Opel in Szentgotthárd, Hungary.<br /> Aluminum Block & Heads. '17-'19 Chevy Cruze Diesel. |- |F||LV8||4.3&nbsp;L||V8||2 Barrel Carburetor |2BBL||OHV||Oldsmobile "Rocket" V8 (260 cu. in.) '81 Oldsmobile Cutlass, Delta 88. |- |F||L61||2.2&nbsp;L||Straight-4|I4||Fuel injection#Multi-port fuel injection|MFI||DOHC,<br /> 16 valve||GM Ecotec Gen I. '00-'04 Saturn L-Series, '02-'05 Chevy Cavalier, Pontiac Sunfire, Grand Am,<br /> '02-'04 Oldsmobile Alero, '03-'06 Saturn Ion, '04-'06 Chevy Malibu, '05-'06 Chevy Cobalt |- |F||L61||2.2&nbsp;L||Straight-4|I4||Fuel injection#Multi-port fuel injection|MFI||DOHC,<br /> 16 valve||GM Ecotec Gen II. '07-'08 Chevy Cobalt, Malibu, Pontiac G5, '07 Saturn Ion. |- |F||LB9||5.0&nbsp;L||V8||Tuned-port fuel injection|TPI||OHV||Gen I Chevy Small-Block V8. (305 cu. in.). '85-'92 Chevy Camaro, Pontiac Firebird. |- |G||L46||1.8&nbsp;L||I4||2 Barrel Carburetor |2BBL||OHV||Chevrolet "122" engine. '82 J-cars. |- |G||L69||5.0&nbsp;L||V8||4 Barrel Quadrajet Carburetor |4BBL||OHV||Gen I Chevy Small-Block V8 (High Output 5.0L). (305 cu. in.)<br /> '84-'86 Camaro/Firebird, '84-'88 Chevy Monte Carlo SS |- |G||LM3||2.2&nbsp;L||I4||Fuel injection#Throttle Body injection|TBI||OHV||Chevrolet "122" engine. '90-'91 Chevy Cavalier & Corsica/Beretta. |- |G||LS1||5.7&nbsp;L||V8||Fuel injection#Multi-port fuel injection|MFI||OHV||Gen III Chevy Small-Block V8. (346 cu. in.) Aluminum Block & Heads.<br /> '97-'04 Corvette, '98-'02 Camaro/Firebird, '04 Pontiac GTO |- |G||LF1||3.0L||V6||Direct Injection|DI||DOHC,<br /> 24 valve||GM High Feature V6. VVT. 2010 Buick LaCrosse, Cadillac CTS |- |G||LWE||1.8&nbsp;L||Straight-4|I4||Fuel injection#Sequential Multi-port fuel injection|SFI||DOHC,<br /> 16 valve||GM Family 1 engine, Gen III. VVT. PZEV emissions.<br /> '13-'15 Chevy Cruze, '16 Cruze Limited, '13-'18 Sonic. |- |H||LG4||5.0&nbsp;L||V8||4 Barrel Quadrajet Carburetor |4BBL||OHV||Gen I Chevy Small-Block V8. (305 cu. in.) '81-'87 F-bodies, '81-'83 Chevy Malibu, '81-'85 Impala,<br /> '81-'88 Caprice, Monte Carlo, '83-'86 Pontiac Bonneville, Parisienne, '83-'87 Grand Prix |- |H||LE4||2.0&nbsp;L||Straight-4|I4||Fuel injection#Multi-port fuel injection|MFI||SOHC,<br /> 8 valve||GM Family II engine. Made in Brazil. '92-'94 Pontiac Sunbird. |- |H||LX5||3.5&nbsp;L||V6||Fuel injection#Sequential Multi-port injection|SFI||DOHC,<br /> 24 valve||Oldsmobile "Shortstar" V6 (Premium V). Oldsmobile Intrigue '99-'02, Aurora 3.5 '01-'02. |- |H||LAP||2.2&nbsp;L||Straight-4|I4||Fuel injection#Multi-port fuel injection|MFI||DOHC,<br /> 16 valve||GM Ecotec Gen II. VVT. '09 Chevy Cobalt, Pontiac G5. |- |H||LUW||1.8&nbsp;L||Straight-4|I4||Fuel injection#Sequential Multi-port fuel injection|SFI||DOHC,<br /> 16 valve||GM Family 1 engine, Gen III. VVT. '11-'15 Chevy Cruze, '16 Cruze Limited, '12-'18 Sonic. |- |J||L39||4.4&nbsp;L||V8||2 Barrel Carburetor |2BBL||OHV||Gen I Chevy Small-Block V8 (267 cu. in.) '81-'82 Chevy Caprice, Impala, Malibu, Monte Carlo,<br /> '81 Chevy Camaro |- |J||LA5||1.8&nbsp;L||Straight-4|I4 Turbo||Fuel injection#Multi-port fuel injection|MFI||SOHC,<br /> 8 valve||GM Family II engine. Made in Brazil. '84-'86 Pontiac Sunbird, Buick Skyhawk. |- |J||LT5||5.7&nbsp;L||V8||Fuel injection#Multi-port fuel injection|MFI||DOHC,<br /> 32 valve||Based on Chevy Small-Block V8. Designed with Lotus Engineering.<br /> Made by Mercury Marine. Aluminum Block & Heads. '90-'95 Corvette ZR-1 |- |J||LG8||3.1&nbsp;L||V6||Fuel injection#Sequential Multi-port injection|SFI||OHV||Chevrolet 60° V6. Gen III. 3100. '99-'03 Chevy Malibu, '99 Oldsmobile Cutlass, '00-'01 Chevy Lumina,<br /> '00-'03 Pontiac Grand Prix SE, '00-'05 Buick Century |- |J||L99||6.2&nbsp;L||V8||Fuel injection#Sequential Multi-port injection|SFI||OHV||Gen IV Chevy Small-Block V8. VVT. With Active Fuel Management. Aluminum Block & Heads.<br /> '10-'15 Camaro SS (auto. trans.) |- |J||LTA||4.2&nbsp;L||V8 Twin Turbo||Direct injection|DI||DOHC,<br /> 32 valve||Cadillac Blackwing V8. VVT. '19-'20 Cadillac CT6 Platinum & V-series |- |K||LC3||3.8&nbsp;L||V6||2 Barrel Carburetor |2BBL||OHV||Chevrolet 90° V6 (Chevy Small-Block V8 Derived). 229 cu. in. <br /> '81-'82 Malibu, Monte Carlo, Impala, Caprice, '81 Camaro. |- |K||LC5||1.5&nbsp;L||I4||2 Barrel Carburetor |2BBL||SOHC,<br /> 8 valve||Isuzu 4XC1 engine. '85 Chevrolet Spectrum. |- |K||LT2||2.0&nbsp;L||Straight-4|I4||Fuel injection#Throttle Body injection|TBI||SOHC,<br /> 8 valve||GM Family II engine. Made in Brazil.<br /> '87-'91 Pontiac Sunbird, '87-'88 Oldsmobile Firenza, Buick Skyhawk. |- |K||LT2||2.0&nbsp;L||Straight-4|I4||Fuel injection#Throttle Body injection|TBI||SOHC,<br /> 8 valve||GM Family II engine. Made in Australia by Holden.<br /> '89-'90 Pontiac LeMans GSE Aerocoupe, '89 LeMans SE sedan |- |K||L36||3.8&nbsp;L||V6||Fuel injection#Sequential Multi-port injection|SFI||OHV||Buick V6 (3800 Series II). '95-'05: Various W-, H-, C-, & G-body models. '95-'02 Camaro/Firebird. |- |K||LZE||3.5L||V6||Fuel injection#Sequential Multi-port injection|SFI||OHV||GM High Value 60° V6. 3510cc. VVT. Flex-Fuel E85 compatible.<br /> '06-'07 Chevy Monte Carlo, '06-'11 Chevy Impala, '09-'10 Chevy Malibu, Pontiac G6 |- |K||LEA||2.4&nbsp;L||Straight-4|I4||Direct Injection|DI||DOHC,<br /> 16 valve||E85 Flex Fuel. GM Ecotec engine, Gen II. VVT. Buick Regal, Verano '12-'17 (except '13 Regal). |- |K||LSY||2.0&nbsp;L||Straight-4|I4 Turbo||Direct Injection|DI||DOHC,<br /> 16 valve||GM Ecotec engine, Gen III. Active Fuel Management. VVT. VVL.<br /> '19 Cadillac CT6, '20+ Cadillac CT4, CT5 |- |L||LM1||5.7&nbsp;L||V8||4 Barrel Carburetor |4BBL||OHV||Gen I Chevy Small-Block V8.<br> '81 Camaro Z28 (only w/auto. trans. in US), '81-'82 Impala 9C1 Police, '81 Malibu 9C1 Police |- |L||LL1||2.8&nbsp;L||V6||2 Barrel Carburetor |2BBL||OHV||Chevrolet 60° V6 H.O. (longitudinally mounted). '83-'84 Pontiac Firebird. |- |L||LN7||3.0&nbsp;L||V6||Fuel injection#Multi-port fuel injection|MFI||OHV||Buick V6. '85-'87 Pontiac Grand Am, '85-'88 Oldsmobile & Buick N-bodies,<br /> '86 Oldsmobile Delta 88, Buick LeSabre |- |L||L27||3.8&nbsp;L||V6||Fuel injection#Tuned port injection|TPI||OHV||Buick V6 (3800 Series I). '90-'95 Buick Regal, '91-'94 Oldsmobile 98, Buick Park Avenue, '91 Reatta, '91-'93 Riviera, '91-'92 Oldsmobile Toronado, '92-'95 Buick LeSabre, '92-'94 Pontiac Bonneville, Oldsmobile 88 |- |L||LNK||1.8&nbsp;L||Straight-4|I4||Fuel injection#Sequential multi-port injection|SFI||DOHC,<br /> 16 valve||Toyota 2ZZ-GE engine. VVTL-i. '03-'06 Pontiac Vibe GT |- |L||LKW||2.5&nbsp;L||Straight-4|I4||Direct Injection|DI||DOHC,<br /> 16 valve||GM Ecotec engine, Gen III. VVT. VVL. '14-'15 Chevy Malibu, Impala |- |L||L3B||2.7L||I4 Turbo||Direct Injection|DI||DOHC,<br /> 16 valve||GM L3B Tripower engine. VVT, VVL. Active Fuel Management. '20+ Cadillac CT4, CT4-V |- |M||LY9||1.0&nbsp;L||Straight-3|I3||2BBL||SOHC,<br /> 6 valve ||Suzuki G10A engine. '85 Chevrolet Sprint |- |M||LT3||2.0&nbsp;L||Straight-4|I4 Turbo||Fuel injection#Multi-port fuel injection|MFI||SOHC,<br /> 8 valve||GM Family II engine. Made in Brazil.<br /> '87-'90 Pontiac Sunbird, '87 Buick Skyhawk T-Type, '87-'89 Pontiac Grand Am SE. |- |M||L82||3.1&nbsp;L||V6||Fuel injection#Sequential Multi Port Fuel injection|SFI||OHV||Chevrolet 60° V6 (transversely mounted). Gen III. 3100. '93-'97 Oldsmobile Cutlass Supreme,<br /> '94-'98 Pontiac Grand Am, Oldsmobile Achieva, Buick Skylark, '94-'99 Pontiac Grand Prix,<br /> '94-'96 Chevy Corsica/Beretta, Oldsmobile Cutlass Ciera, Buick Regal, '94-'99 Century,<br /> '95-'99 Chevy Lumina, Monte Carlo, '97-'99 Chevy Malibu, Oldsmobile Cutlass |- |M||LY9||2.6&nbsp;L||V6||Fuel injection#Multi-port fuel injection|MFI||DOHC,<br /> 24 valve||Opel 54° V6 engine (Made in the UK). Euro-market Cadillac CTS '03-'04. |- |M||LGD||3.9L||V6||Fuel injection#Sequential Multi Port Fuel injection|SFI||OHV||E85 Flex Fuel. GM High Value 60° V6. VVT. '09-'11 Chevy Impala, Buick Lucerne |- |M||LE2||1.4&nbsp;L||Straight-4|I4 Turbo||Direct Injection|DI||DOHC,<br /> 16 valve||GM Small Gasoline Engine. VVT. '16-'19 Chevy Cruze. |- |N||LF9||5.7&nbsp;L||V8||Indirect injection Diesel||OHV||Oldsmobile Diesel V8. '81-'85 Chevy Caprice, Impala, '82-'83 Malibu, '82-'84 Monte Carlo,<br /> '81-'84 Pontiac Grand Prix, Bonneville, '81 Catalina, '83-'85 Parisienne,<br /> '81-'84 Oldsmobile 98, '81-'85 Cutlass/Cutlass Supreme, Delta 88, Custom Cruiser, Toronado,<br /> '81-'83 Buick Electra, '81-'85 LeSabre, Electra Estate wagon, Riviera, '82-'83 Regal,<br /> '81-'84 Cadillac DeVille, '81-'85 Fleetwood Brougham, Eldorado, Seville |- |N||LG7||3.3&nbsp;L||V6||Fuel injection#Multi-port fuel injection|MFI||OHV||Buick V6 (3300). '89-'93 Buick Century, Skylark, Oldsmobile Cutlass Ciera, '89-'91 Cutlass Calais,<br /> '92-'93 Achieva, Pontiac Grand Am. |- |N||LA3||3.2&nbsp;L||V6||Fuel injection#Multi-port fuel injection|MFI||DOHC,<br /> 24 valve||Opel 54° V6 engine (Made in the UK). '03-'04 Cadillac CTS |- |N||LZ4||3.5L||V6||Fuel injection#Sequential Multi-port injection|SFI||OHV||GM High Value 60° V6. 3510cc. VVT. '06-'07 Chevy Monte Carlo, '06-'10 Chevy Impala,<br /> '07-'10 Chevy Malibu, Pontiac G6, '07-'08 Saturn Aura |- |N||LFR||3.6L||V6||Fuel injection#Multi-port fuel injection|MFI||DOHC,<br /> 24 valve||(Bi-Fuel Gas/CNG). GM High Feature V6. '15-'17 Chevy Impala Bi-Fuel |- |P||LQ5||2.0&nbsp;L||I4||Fuel injection#Throttle Body injection|TBI||OHV||Chevrolet "122" engine. '83-'86 J-cars ('83-'84 for Pontiac). |- |P||LT1||5.7&nbsp;L||V8||Fuel injection#Sequential Multi-port injection|SFI||OHV||Gen II Chevy Small-Block V8. Aluminum Heads: '92-'96 Corvette, '93-'97 Camaro/Firebird.<br /> Iron Heads: '94-'96 Chevy Caprice, Impala SS, Buick Roadmaster, Cadillac Fleetwood. |- |P||LSJ||2.0&nbsp;L||SC Straight-4|I4 Supercharged||Fuel injection#Sequential central point injection|SFI||DOHC,<br /> 16 valve||GM Ecotec Gen I. Made by Opel in Kaiserslautern, Germany.<br /> '04-'07 Saturn Ion Red Line, '05-'07 Chevy Cobalt SS Supercharged. |- |P||LSA||6.2&nbsp;L||V8 Supercharged||Fuel injection#Sequential Multi-port injection|SFI||OHV||Gen IV Chevy Small-Block V8. Aluminum Block & Heads.<br /> Cadillac CTS V-Series '09-'15, Camaro ZL1 '12-'15 |- |P||LF4||3.6L||V6 Twin Turbo||Direct Injection|DI||DOHC,<br /> 24 valve||GM High Feature V6. Cadillac CT4-V Blackwing '22+ |- |R||LR8||2.5L||I4||Fuel injection#Throttle Body injection|TBI||OHV||Pontiac Iron Duke/Tech IV engine. Transversely mounted. '82-'85 Chevy Citation, Buick Skylark,<br /> '82-'84 Pontiac Phoenix, Oldsmobile Omega, '82-'90 Chevy Celebrity, '82-'91 Pontiac 6000,<br /> '82-'92 Oldsmobile Cutlass Ciera, Buick Century, '84-'88 Pontiac Fiero, '90-'92 Chevy Lumina |- |R||L81||3.0&nbsp;L||V6||Fuel injection#Multi-port fuel injection|MFI||DOHC,<br /> 24 valve||Opel 54° V6 engine (Made in the UK). '97-'01 Cadillac Catera, '00-'05 Saturn L-Series |- |R||LZ8||3.9L||V6||Fuel injection#Sequential Multi Port Fuel injection|SFI||OHV||GM High Value 60° V6. VVT. Active Fuel Management. '07 Chevy Impala |- |R||LS9||6.2&nbsp;L||V8 Supercharged||Fuel injection#Sequential Multi-port injection|SFI||OHV||Gen IV Chevy Small-Block V8. Aluminum Block & Heads. '09 Corvette ZR1. |- |R||LUK||2.4L||I4||Direct Injection|DI||DOHC,<br /> 16 valve||Mild Hybrid. GM Ecotec Gen II. VVT. '12-'16 Buick LaCrosse eAssist, Regal eAssist,<br /> '13-'14 Chevy Malibu Eco, '14 Chevy Impala Eco |- |S||LS5||4.3&nbsp;L||V8||2 Barrel Carburetor |2BBL||OHV||Pontiac V8. 265 cu. in.<br /> '81 Pontiac Bonneville, Catalina, Firebird, Grand Prix, LeMans, Buick Century, Regal. |- |S||LU5||5.0&nbsp;L||V8||Cross-Fire fuel injection|CFI||OHV||Gen I Chevy Small-Block V8. (305 cu. in.) '83 Camaro, Firebird. Dual throttle-body fuel injection. |- |S||LB8||2.8&nbsp;L||V6||Fuel injection#Multi Port Fuel injection|MPFi||OHV||Chevrolet 60° V6 (longitudinally mounted). '85-'89 Chevy Camaro, Pontiac Firebird. |- |S||L32||3.4&nbsp;L||V6||Fuel injection#Multi Port Fuel injection|MPFi||OHV||Chevrolet 60° V6 (longitudinally mounted). '93-'95 Chevy Camaro, Pontiac Firebird. |- |S||LS6||5.7&nbsp;L||V8||Fuel injection#Sequential Multi Port injection|SFI||OHV||Gen III Chevy Small-Block V8. (346 cu. in.) Aluminum Block & Heads.<br /> '01-'04 Corvette Z06, '04-'05 Cadillac CTS V-Series |- |S||LGX||3.6L||V6||Direct Injection|DI||DOHC,<br /> 24 valve||GM High Feature V6, 4th gen. VVT. Active Fuel Management. '16-'19 Cadillac ATS, CTS, '16-'20 CT6, '16-'24 Chevrolet Camaro, '17-'19 Buick LaCrosse, '18–'20 Buick Regal GS |- |T||LU8||4.9&nbsp;L||V8 Turbo||4 Barrel Carburetor |4BBL||OHV||Pontiac V8. 301 cu. in. '81 Pontiac Firebird Formula & Trans Am. |- |T||LT7||4.3&nbsp;L||V6||Indirect injection Diesel||OHV||Oldsmobile Diesel V6. FWD version for '82-'85 GM A-bodies. |- |T||LS2||4.3&nbsp;L||V6||Indirect injection Diesel||OHV||Oldsmobile Diesel V6. FWD version for '85 GM C-bodies. |- |T||LH0||3.1&nbsp;L||V6||Fuel injection#Multi Port Fuel injection|MPFi||OHV||Chevrolet 60° V6 (longitudinally mounted). '90-'92 Chevy Camaro, Pontiac Firebird. |- |T||LH0||3.1&nbsp;L||V6||Fuel injection#Multi Port Fuel injection|MPFi||OHV||Chevrolet 60° V6 (transversely mounted). Gen II. '88-'91 Pontiac 6000,<br /> '89-'93 Grand Prix, Oldsmobile Cutlass Supreme, Buick Regal, '90-'94 Chevy Cavalier, Lumina,<br /> '91-'94 Pontiac Sunbird, '90-'93 Chevy Corsica/Beretta, '90 Celebrity |- |T||LD9||2.4&nbsp;L||Straight-4|I4||Fuel injection#Sequential Multi-port injection|SFI||DOHC,<br /> 16 valve||Oldsmobile Quad 4 ("2.4 Twin Cam"). '96-'01 Pontiac Grand Am, '96-'97 Oldsmobile Achieva, Buick Skylark, '99-'01 Oldsmobile Alero, '97-'99 Chevy Malibu, '96-'02 Chevy Cavalier, Pontiac Sunfire |- |T||LP1||2.8&nbsp;L||V6||Fuel injection#Sequential Multi-port injection|SFI||DOHC,<br /> 24 valve||GM High Feature V6. '05-'07 Cadillac CTS |- |T||LS9||6.2&nbsp;L||V8 Supercharged||Fuel injection#Sequential Multi-port injection|SFI||OHV||Gen IV Chevy Small-Block V8. Aluminum Block & Heads. '10-'13 Corvette ZR1. |- |T||LFV||1.5L||I4 Turbo||Direct Injection|DI||DOHC,<br /> 16 valve||GM Small Gasoline Engine. VVT. '16-'25 Chevy Malibu. |- |U||L68||2.5L||I4||Fuel injection#Throttle Body injection|TBI||OHV||Pontiac Iron Duke/Tech IV engine. Transversely mounted. '85-'91 N-bodies |- |U||LS2||6.0&nbsp;L||V8||Fuel injection#Sequential Multi-port fuel injection|SFI||OHV||Gen IV Chevy Small-Block V8. Aluminum Block & Heads.<br /> '05-'07 Corvette, '05-'06 Pontiac GTO, '06-'07 Cadillac CTS V-Series |- |U||LE9||2.4&nbsp;L||Straight-4|I4||Fuel injection#Multi-port fuel injection|MFI||DOHC,<br /> 16 valve||GM Ecotec Gen II. E85 Flex-Fuel. 2011-12 Chevy Malibu. |- |U||LKN||1.8L||I4||Direct Injection|DI||DOHC,<br /> 16 valve||Full Hybrid. GM Medium Gasoline Engine. VVT. Made in Szentgotthárd, Hungary.<br> '16-'19 Chevy Malibu Hybrid |- |V||LT6||4.3&nbsp;L||V6||Indirect injection Diesel||OHV||Oldsmobile Diesel V6. RWD version.<br /> '82-'83 Chevy Malibu, Monte Carlo, '82-'85 Oldsmobile Cutlass Supreme, Buick Regal |- |V||LG5||3.1&nbsp;L||V6 Turbo||Fuel injection#Multi-port fuel injection|MPFI||OHV||Chevrolet 60° V6. Gen II. Intercooled. (ASC/McLaren modified).<br /> '89-'90 Pontiac Grand Prix Turbo coupe, '90 Grand Prix STE Turbo sedan |- |V||LLT||3.6L||V6||Direct Injection|DI||DOHC,<br /> 24 valve||GM High Feature V6. '08-'11 Cadillac CTS, STS, '10-'11 Chevrolet Camaro, Buick LaCrosse |- |V||LHU||2.0&nbsp;L||Straight-4|I4 Turbo||Direct Injection|DI||DOHC,<br /> 16 valve||E85 Flex Fuel (N/A on Regal GS). GM Ecotec engine, Gen II. VVT.<br /> Buick Regal '11-'13, Verano '13-'16. |- |W||L37||4.9&nbsp;L||V8||4 Barrel Carburetor |4BBL||OHV||Pontiac V8. 301 cu. in. '81 Pontiac Firebird, LeMans Safari wagon. |- |W||LB6||2.8&nbsp;L||V6||Fuel injection#Multi-port fuel injection|MFI||OHV||Gen I/II Chevrolet 60° V6 (transversely mounted). '85 Chevy Citation, Buick Skylark,<br /> '85-'89 Chevy Cavalier, Celebrity, Pontiac 6000, '85-'88 Cadillac Cimarron,<br /> '85-'87 Oldsmobile Firenza, '86-'89 Cutlass Ciera, '87-'88 Buick Century, '87-'89 Chevy Corsica/Beretta, '88-'89 Pontiac Grand Prix, Oldsmobile Cutlass Supreme, Buick Regal |- |W||L64||3.1&nbsp;L||V6||Fuel injection#Multi-port fuel injection|MFI||OHV||Flex-fuel: Gas/M85 or Gas/E85 (2 versions). Gen II Chevrolet 60° V6. '93 Chevy Lumina VFV |- |W||L99||4.3&nbsp;L||V8||Fuel injection#Sequential Multi-port injection|SFI||OHV||Gen II Chevy Small-Block V8. '94-'96 Chevy Caprice. |- |W||LS3||6.2&nbsp;L||V8||Fuel injection#Sequential Multi-port injection|SFI||OHV||Gen IV Chevy Small-Block V8. Aluminum Block & Heads.<br /> '08-'13 Corvette, '10-'15 Camaro SS (man. trans.), '09 Pontiac G8 GXP, '14-'17 Chevy SS |- |W||LGY||3.0L||V6 Twin Turbo||Direct Injection|DI||DOHC,<br /> 24 valve||GM High Feature V6, 4th gen. VVT. Active Fuel Management. '20+ Cadillac CT5, CT5-V |- |X||LE2||2.8&nbsp;L||V6||2 Barrel Carburetor |2BBL||OHV||Chevrolet 60° V6 (transversely mounted). '81-'85 Chevy Citation, Buick Skylark,<br /> '81-'84 Pontiac Phoenix, Oldsmobile Omega, '82-'86 Chevy Celebrity, Pontiac 6000,<br /> '86 Oldsmobile Cutlass Ciera, Buick Century |- |X||LQ1||3.4&nbsp;L||V6||Fuel injection#Multi-port fuel injection|MPFI||DOHC,<br /> 24 valve||Chevrolet 60° V6 ("Twin Dual Cam V6"). '91-'97 Chevy Lumina, '95-'97 Chevy Monte Carlo,<br /> '91-'96 Pontiac Grand Prix, Oldsmobile Cutlass Supreme |- |X||LNF||2.0&nbsp;L||Straight-4|I4 Turbo||Direct Injection|DI||DOHC,<br /> 16 valve||GM Ecotec engine, Gen II. VVT.<br /> '07-'10 Pontiac Solstice GXP, Saturn Sky Red Line, '08-'10 Chevy Cobalt SS Turbo. |- |X||LTG||2.0&nbsp;L||Straight-4|I4 Turbo||Direct Injection|DI||DOHC,<br /> 16 valve||GM Ecotec engine, Gen III. VVT. '13-'22 Chevy Malibu, '13-'19 Cadillac ATS, '14-'20 Buick Regal,<br /> '14-'19 Cadillac CTS, '16-'23 Chevy Camaro, '16-'18 Cadillac CT6. |- |X||LTG||2.0&nbsp;L||Straight-4|I4 Turbo||Direct Injection|DI||DOHC,<br /> 16 valve||Plug-in hybrid. GM Ecotec engine, Gen III. VVT. '17-'18 Cadillac CT6 PHEV. (VIN starts with LRE) |- |Y||LV2||5.0&nbsp;L||V8||4 Barrel Carburetor |4BBL||OHV||Oldsmobile "Rocket" V8 (307 cu. in.) '86-'90 Chevy Caprice wagon, '87 Caprice sedan (Can.),<br /> '81 Pontiac Bonneville, Catalina, '86 Parisienne, '87-'89 Safari wagon, '81-'84 Oldsmobile 98,<br /> '81-'85 Delta 88, Toronado, '81-'90 Custom Cruiser, '81 Cutlass Cruiser, '82-'87 Cutlass Supreme,<br /> '88 Cutlass Supreme Classic, '81-'84 Buick Electra, '85-'89 Electra Estate wagon,<br /> '81-'85 LeSabre, Riviera, '86-'89 LeSabre Estate wagon, '90 Estate wagon, '86-'87 Regal,<br /> '86 Cadillac Fleetwood Brougham, '87-'90 Brougham |- |Y||LD8||4.6&nbsp;L||V8||Fuel injection#Sequential Multi-port injection|SFI||DOHC,<br /> 32 valve||Cadillac Northstar V8 (Torque tuned FWD) (Premium V). '93-'02 Cadillac Eldorado,<br /> '94-'04 Cadillac Seville SLS, '94-'05 Cadillac DeVille, '06-'11 Cadillac DTS,<br /> '04-'05 Pontiac Bonneville GXP, '06-'08 Buick Lucerne |- |Y||L76||6.0&nbsp;L||V8||Fuel injection#Sequential Multi-port fuel injection|SFI||OHV||Gen IV Chevy Small-Block V8. Aluminum Block & Heads. With Active Fuel Management.<br /> '08-'09 Pontiac G8 GT. |- |Y||LF1||3.0L||V6||Direct Injection|DI||DOHC,<br /> 24 valve||GM High Feature V6. VVT. 2011 Cadillac CTS |- |Y||LF4||3.6L||V6 Twin Turbo||Direct Injection|DI||DOHC,<br /> 24 valve||GM High Feature V6. Cadillac ATS-V '16-'19 |- |Z||LH7||2.8&nbsp;L||V6||2 Barrel Carburetor |2BBL||OHV||Chevrolet 60° V6 (transversely mounted). H.O. '81-'84 Chevy Citation, '82-'84 Pontiac Phoenix, Oldsmobile Omega ES, Buick Skylark, '83-'84 Pontiac 6000 STE, '84 Chevy Celebrity |- |Z||LB4||4.3L||V6||Fuel injection#Throttle Body injection|TBI||OHV||Chevrolet 90° V6 (Chevy Small-Block V8 Derived). '85 Chevy Impala, '85-'90 Caprice,<br /> '92-'93 Caprice 9C6 taxi, '85-'88 Monte Carlo, '85-'86 Pontiac Parisienne, '86-'87 Grand Prix,<br> '86 Bonneville. |- |Z||LAT||2.4L||I4||Fuel injection#Multi-port fuel injection|MFI||DOHC,<br /> 16 valve||Mild Hybrid. GM Ecotec Gen II. VVT. '10 Chevy Malibu Hybrid |- |Z||LUZ||2.0&nbsp;L||I4 Turbo||Direct injection <br /> Common-rail Diesel||DOHC,<br /> 16 valve||GM Family B Diesel (Based on Fiat JTD engine). Made by Opel in Kaiserslautern, Germany.<br /> Iron Block, Aluminum Heads. '14-'15 Chevy Cruze Diesel. |- |1||LC1||2.8&nbsp;L||V6||2 Barrel Carburetor |2BBL||OHV||Chevrolet 60° V6 (longitudinally mounted). '82-'84 Camaro/Firebird. |- |1||LL8||2.0&nbsp;L||I4||Fuel injection#Throttle Body injection|TBI||OHV||Chevrolet "122" engine. '87-'89 Chevy/Olds/Buick J-cars & Chevy L-cars. |- |1||L67||3.8&nbsp;L||V6 Supercharged||Fuel injection#Sequential Multi-port injection|SFI||OHV||Buick V6 (3800 Supercharged Series I). '91-'95 Buick Park Avenue Ultra,<br /> '92-'95 Pontiac Bonneville, Oldsmobile 98, '95 Buick Riviera, Oldsmobile LSS |- |1||L67||3.8&nbsp;L||V6 Supercharged||Fuel injection#Sequential Multi-port injection|SFI||OHV||Buick V6 (3800 Supercharged Series II). '96-'05 Buick Park Avenue Ultra,<br /> '96-'99 Buick Riviera, Oldsmobile LSS, '96-'03 Pontiac Bonneville, '97-'03 Grand Prix,<br /> '97-'04 Buick Regal, '04-'05 Chevy Impala SS, Monte Carlo SS Supercharged |- |1||LZ9||3.9L||V6||Fuel injection#Sequential Multi-port injection|SFI||OHV||GM High Value 60° V6. VVT.<br /> '06-'07 Chevy Malibu SS, '06-'09 Pontiac G6, '06 Chevy Monte Carlo, Impala, '09-'10 Buick Lucerne |- |1||2H0||1.8&nbsp;L||Straight-4|I4||Fuel injection#Sequential Multi-port fuel injection|SFI||DOHC,<br /> 16 valve||GM Family 1 engine, Gen III. VVT. Made in Szentgotthárd, Hungary. '08 (& '09 in Canada) Saturn Astra |- |1||LE5||2.4&nbsp;L||Straight-4|I4||Fuel injection#Multi-port fuel injection|MFI||DOHC,<br /> 16 valve||GM Ecotec Gen II. VVT. '11 & some '12 Chevy Malibu w/LE5 engine. |- |2||LQ9||2.5L||I4||Fuel injection#Throttle Body injection|TBI||OHV||Pontiac Iron Duke/Tech IV engine. Longitudinally mounted. '82-'85 Camaro/Firebird. |- |2||LS3||1.0&nbsp;L||Straight-3|I3 Turbo||Fuel injection#Multi-port fuel injection|MFI||SOHC,<br /> 6 valve ||Suzuki G10T engine. '87-'88 Chevrolet Sprint Turbo |- |2||LY8||1.3&nbsp;L||Straight-4|I4||Fuel injection#Multi-port fuel injection|MFI||SOHC,<br /> 16 valve||Suzuki G13BB engine. '98-'01 Chevrolet Metro |- |2||L26||3.8&nbsp;L||V6||Fuel injection#Sequential Multi-port injection|SFI||OHV||Buick V6 (3800 Series III). '04-'08 Pontiac Grand Prix, '05-'09 Buick LaCrosse, '06-'08 Buick Lucerne |- |2||L77||6.0&nbsp;L||V8||Fuel injection#Sequential Multi-port fuel injection|SFI||OHV||Gen IV Chevy Small-Block V8. Aluminum Block & Heads. With Active Fuel Management.<br /> E85 Flex Fuel. '11-'17 Chevy Caprice PPV. |- |3||LC8||3.8&nbsp;L||V6|V6 Turbo||4 Barrel Carburetor |4BBL||OHV||Buick V6. 231 cu. in. '81-'82 Buick Regal, Riviera, '81 Chevy Monte Carlo. |- |3||LG3||3.8&nbsp;L||V6||Fuel injection#(Sequential) Multi-port injection|MFI/SFI||OHV||Buick V6. '84-'88 Oldsmobile Cutlass Ciera, Buick Century, '85 & '87 Oldsmobile 98, Buick Electra,<br /> '86-'88 Oldsmobile Delta 88, Buick LeSabre, '87 Oldsmobile Toronado, Buick Riviera,<br /> '87-'88 Pontiac Bonneville. |- |3||LW2||4.5&nbsp;L||V8||Fuel injection#Multi-port fuel injection|MFI||OHV||Cadillac High Technology V8. '90 Cadillac DeVille/Fleetwood/Sixty Special/Eldorado/Seville. |- |3||L40||2.3&nbsp;L||Straight-4|I4||Fuel injection#Multi-port fuel injection|MFI||SOHC,<br /> 8 valve||Oldsmobile Quad 4 ("Quad OHC"). '92-'94 Pontiac Grand Am, Oldsmobile Achieva, Buick Skylark |- |3||LZG||3.9L||V6||Fuel injection#Sequential Multi Port Fuel injection|SFI||OHV||E85 Flex Fuel. GM High Value 60° V6. VVT. Active Fuel Management. '08 Chevy Impala |- |3||LFX||3.6L||V6||Direct Injection|DI||DOHC,<br /> 24 valve||GM High Feature V6. VVT. E85 Flex Fuel.<br /> '12-'16 Buick LaCrosse, '12-'15 Chevrolet Camaro, Cadillac CTS, '12-'17 Chevrolet Caprice PPV,<br /> '12-'20 Chevrolet Impala, '14-'16 Chevrolet Impala Limited, '13-'15 Cadillac ATS, '13-'19 Cadillac XTS |- |3||LT6||5.5&nbsp;L||V8||Direct injection|DI||DOHC,<br /> 32 valve||Chevrolet Gemini Small-Block V8. Aluminum Block & Heads. Flat-plane crank. VVT.<br /> For mid-engine C8 Corvette Z06 '23+. |- |4||LC4||4.1&nbsp;L||V6|V6||4 Barrel Carburetor |4BBL||OHV||Buick V6. '81-'84 Buick LeSabre, Electra, Riviera, Oldsmobile Toronado, '81-'82 Cadillac DeVille, Fleetwood Brougham, Eldorado, Seville, '81-'83 Oldsmobile 98, '82-'84 Buick Regal,<br /> '82 Pontiac Grand Prix, Bonneville G |- |4||LC9||1.6&nbsp;L||Straight-4|I4||2 Barrel Carburetor |2BBL||SOHC,<br /> 8 valve||Toyota 4A-C engine. '85-'88 Chevy Nova |- |4||LN2||2.2&nbsp;L||Straight-4|I4||Fuel injection#(Sequential) Multi-port injection|MPI/SFI||OHV||Chevrolet "122" engine. '92-'02 Cavalier, '95-'02 Sunfire, '92-'96 Corsica/Beretta, '93 Lumina,<br /> '93-'96 Cutlass Ciera, Century. |- |4||L32||3.8&nbsp;L||V6 Supercharged||Fuel injection#Sequential Multi-port injection|SFI||OHV||Buick V6 (3800 Supercharged Series III). '04-'07 Pontiac Grand Prix |- |4||LUU||1.4L||I4||Fuel injection#Sequential Multi-port fuel injection|SFI||DOHC,<br /> 16 valve||GM Family 0 Engine, Gen III. VVT. ([[w:EREV|Range extender]]). Early production engines were made in Aspern, Austria; later made in Flint, MI. '11-'15 Chevy Volt, '14 & '16 Cadillac ELR. |- |4||LT2||6.2&nbsp;L||V8||Direct injection|DI||OHV||Gen V Chevy Small-Block V8. Aluminum Block & Heads. Active Fuel Management. VVT.<br /> For mid-engine C8 Corvette Stingray '20+. |- |4||LT2||6.2&nbsp;L||V8||Direct injection|DI||OHV||Full Hybrid. Gen V Chevy Small-Block V8. Aluminum Block & Heads. Active Fuel Management. VVT.<br /> For mid-engine C8 Corvette E-Ray '24+. |- |5||LW9||2.5L||I4||2 Barrel Carburetor |2BBL||OHV||Pontiac Iron Duke engine. '81 Chevy Citation, Pontiac Phoenix, Oldsmobile Omega, Buick Skylark. |- |5||LR6||4.5&nbsp;L||V8||Fuel injection#Throttle Body injection|TBI (DFI)||OHV||Cadillac High Technology V8. '88-'89 Cadillac DeVille/Fleetwood/Sixty Special/Eldorado/Seville. |- |5||LY9||1.0&nbsp;L||Straight-3|I3||2BBL||SOHC,<br /> 6 valve ||Suzuki G10A engine. '86 Chevrolet Sprint |- |5||LM9||1.0&nbsp;L||Straight-3|I3||2BBL||SOHC,<br /> 6 valve ||Suzuki G10A engine. '87-'88 Chevrolet Sprint |- |5||LW0||1.6&nbsp;L||Straight-4|I4||Fuel injection#Multi-port fuel injection|MFI||DOHC,<br /> 16 valve||Toyota 4A-GE engine. '88 Chevy Nova Twin Cam, '90-'92 Geo Prizm GSi |- |5||LW0||1.6&nbsp;L||Straight-4|I4||Fuel injection#Multi-port fuel injection|MFI||DOHC,<br /> 16 valve||Isuzu 4XE1-UW engine. '90-'91 Geo Storm GSi |- |5||LT4||5.7&nbsp;L||V8||Fuel injection#Sequential Multi-port injection|SFI||OHV||Gen II Chevy Small-Block V8. '96 Corvette (man. trans.) |- |5||LAT||2.4L||I4||Fuel injection#Multi-port fuel injection|MFI||DOHC,<br /> 16 valve||Mild Hybrid. GM Ecotec Gen II. VVT. '07-'09 Saturn Aura Green Line, '08-'09 Chevy Malibu Hybrid |- |5||LAP||2.2&nbsp;L||Straight-4|I4||Fuel injection#Multi-port fuel injection|MFI||DOHC,<br /> 16 valve||GM Ecotec Gen II. VVT. '10 Chevy Cobalt. |- |5||LFW||3.0L||V6||Direct Injection|DI||DOHC,<br /> 24 valve||GM High Feature V6. VVT. '12-'13 Cadillac CTS, '14 CTS wagon |- |5||L3A||1.5L||I4||Direct Injection|DI||DOHC,<br /> 16 valve||GM Small Gasoline Engine. VVT. ([[w:EREV|Range extender]]). '16-'19 Chevy Volt. |- |5||LWC||1.6L||I4 Turbo||Direct Injection|DI||DOHC,<br /> 16 valve||GM Medium Gasoline Engine, H.O. VVT. Made in Szentgotthárd, Hungary. '16-'19 Buick Cascada |- |5||LS6||6.7&nbsp;L||V8||Port/Direct injection||OHV||Gen VI Chevy Small-Block V8. Aluminum Block & Heads. Active Fuel Management. VVT.<br /> For mid-engine C8 Corvette Stingray, Grand Sport '27+. |- |5||LS6||6.7&nbsp;L||V8||Port/Direct injection||OHV||Full Hybrid. Gen VI Chevy Small-Block V8. Aluminum Block & Heads. Active Fuel Management. VVT.<br /> For mid-engine C8 Corvette Grand Sport X '27+. |- |6||L81||5.7&nbsp;L||V8||4 Barrel Carburetor |4BBL||OHV||Gen I Chevy Small-Block V8. '81 Corvette |- |6||LM1||5.7&nbsp;L||V8||4 Barrel Carburetor |4BBL||OHV||Gen I Chevy Small-Block V8. '83-'85 Impala 9C1 Police, '86-'88 Caprice 9C1 Police |- |6||L73||1.6&nbsp;L||Straight-4|I4||Fuel injection#Throttle Body injection|TBI||SOHC,<br /> 8 valve||GM Family 1 engine. Made in South Korea by Daewoo. '88-'93 Pontiac LeMans |- |6||LP2||1.0&nbsp;L||Straight-3|I3||Fuel injection#Throttle Body injection|TBI||SOHC,<br /> 6 valve ||Suzuki G10A engine. '89-'97 Geo Metro, '98-'00 Chevrolet Metro |- |6||L01||1.6&nbsp;L||Straight-4|I4||Fuel injection#Multi-port fuel injection|MFI||DOHC,<br /> 16 valve||Toyota 4A-FE engine. '89-'97 Geo Prizm base/LSi |- |6||L01||1.6&nbsp;L||Straight-4|I4||Fuel injection#Multi-port fuel injection|MFI||SOHC,<br /> 12 valve||Isuzu 4XE1-V engine. '90-'93 Geo Storm (base model) |- |6||L42||2.2&nbsp;L||Straight-4|I4||Fuel injection#Multi-port fuel injection|MFI||DOHC,<br /> 16 valve||GM Ecotec Gen I (Bi-Fuel Gas/CNG). '03-'04 Chevy Cavalier |- |6||L91||1.6&nbsp;L||Straight-4|I4||Fuel injection#Multi-port fuel injection|MFI||DOHC,<br /> 16 valve||E-TEC II. '04-'07 Chevy Aveo |- |6||LXT||1.6&nbsp;L||Straight-4|I4||Fuel injection#Multi-port fuel injection|MFI||DOHC,<br /> 16 valve||E-TEC II. '08 Chevy Aveo |- |6||LGW||3.0L||V6 Twin Turbo||Direct Injection|DI||DOHC,<br /> 24 valve||GM High Feature V6, 4th gen. VVT. Active Fuel Management. '16-'19 Cadillac CT6 |- |6||LT4||6.2&nbsp;L||V8 Supercharged||Direct injection|DI||OHV||Gen V Chevy Small-Block V8. Aluminum Block & Heads. With Active Fuel Management. VVT.<br /> '15-'19 Corvette Z06, '17-'24 Camaro ZL1, '16-'19 Cadillac CTS V-Series,<br /> '22+ Cadillac CT5-V Blackwing |- |7||LU5||5.0&nbsp;L||V8||Cross-Fire fuel injection|CFI||OHV||Gen I Chevy Small-Block V8. (305 cu. in.) '82 Camaro, Firebird. Dual throttle-body fuel injection. |- |7||L69||5.0&nbsp;L||V8||4 Barrel Quadrajet Carburetor |4BBL||OHV||Gen I Chevy Small-Block V8 (High Output 5.0L). (305 cu. in.). '83 F-cars, '83 Chevy Monte Carlo SS |- |7||LC5||1.5&nbsp;L||I4||2 Barrel Carburetor |2BBL||SOHC,<br /> 8 valve||Isuzu 4XC1 engine. '86-'88 Chevrolet Spectrum, '89 Geo Spectrum. |- |7||LC2||3.8&nbsp;L||V6|V6 Turbo||Fuel injection#Sequential multi-port injection|SFI||OHV||Intercooled. Buick V6. '86-'87 Buick Regal. '89 Pontiac 20th Anniversary Turbo Trans Am |- |7||LC7||4.1&nbsp;L||V8||Fuel injection#Multi-port fuel injection|MFI||OHV||Cadillac High Technology V8. '87-'88 Cadillac Allante. |- |7||L05||5.7&nbsp;L||V8||Fuel injection#Throttle Body injection|TBI||OHV||Gen I Chevy Small-Block V8. '89-'93 Chevy Caprice (police only for '89-'91),<br /> '92-'93 Buick Roadmaster, '92 Oldsmobile Custom Cruiser, '90-'92 Cadillac Brougham, '93 Fleetwood. |- |7||LL0||1.9&nbsp;L||Straight-4|I4||Fuel injection#Multi-port injection|MFI||DOHC,<br /> 16 valve||Saturn I4 engine. '91-'02 Saturn S-Series |- |7||LY7||3.6&nbsp;L||V6||Fuel injection#Sequential Multi-port injection|SFI||DOHC,<br /> 24 valve||GM High Feature V6. VVT. '04-'09 Cadillac CTS, '05-'07 STS, '05-'08 Buick LaCrosse,<br /> '07-'09 Pontiac G6, Saturn Aura, '08-'09 Pontiac G8, '08-'12 Chevy Malibu |- |7||LT1||6.2&nbsp;L||V8||Direct injection|DI||OHV||Gen V Chevy Small-Block V8. Aluminum Block & Heads. With Active Fuel Management. VVT.<br /> '14-'19 Corvette, '16-'24 Camaro SS |- |7||LT7||5.5&nbsp;L||V8 Twin Turbo||Port/Direct injection||DOHC,<br /> 32 valve||Chevrolet Gemini Small-Block V8. Aluminum Block & Heads. Flat-plane crank. VVT.<br /> For mid-engine C8 Corvette ZR1 '25+. (1,064 hp) |- |7||LT7||5.5&nbsp;L||V8 Twin Turbo||Port/Direct injection||DOHC,<br /> 32 valve||Full Hybrid. Chevrolet Gemini Small-Block V8. Aluminum Block & Heads. Flat-plane crank. VVT.<br /> For mid-engine C8 Corvette ZR1X '26+. (1,250 hp) |- |8||LV8||4.3&nbsp;L||V8||2 Barrel Carburetor |2BBL||OHV||Oldsmobile "Rocket" V8 (260 cu. in.) '82 Oldsmobile Cutlass, Delta 88. |- |8||LT8||4.1&nbsp;L||V8||Fuel injection#Throttle Body injection|TBI (DFI)||OHV||Cadillac High Technology V8. '82-'87 Cadillac DeVille, Eldorado, Seville, '82-'85 Fleetwood Brougham, '85-'87 Fleetwood, '87 Fleetwood Sixty Special. |- |8||LC8||3.8&nbsp;L||V6|V6 Turbo||4 Barrel Carburetor |4BBL||OHV||Buick V6. '83 Buick Regal, Riviera. |- |8||L83||5.7&nbsp;L||V8||Cross-Fire fuel injection|CFI||OHV||Gen I Chevy Small-Block V8. '82, '84 Corvette. Dual throttle-body fuel injection. 1st fuel injected Corvette since 1965. |- |8||L98||5.7&nbsp;L||V8||Tuned-port fuel injection|TPI||OHV||Gen I Chevy Small-Block V8. '85-'91 Corvette, '87-'92 Chevy Camaro, Pontiac Firebird. |- |8||LQ6||4.5&nbsp;L||V8||Fuel injection#Multi-port fuel injection|MFI||OHV||Cadillac High Technology V8. '89-'92 Cadillac Allante. |- |8||L24||1.9&nbsp;L||Straight-4|I4||Fuel injection#Multi-port injection|MFI||SOHC,<br /> 8 valve||Saturn I4 engine. '95-'02 Saturn S-Series |- |8||LX9||3.5&nbsp;L||V6||Fuel injection#Sequential Multi-port injection|SFI||OHV||GM High Value 60° V6. 3498cc. '04-'06 Chevy Malibu, '05-'06 Pontiac G6 |- |8||LF3||3.6L||V6 Twin Turbo||Direct Injection|DI||DOHC,<br /> 24 valve||GM High Feature V6. '14-'19 Cadillac CTS V-Sport, XTS V-Sport |- |8||LV6||1.8&nbsp;L||Straight-4|I4||Fuel injection#Multi-port fuel injection|MFI||DOHC,<br /> 16 valve||Isuzu 4XF1 engine. '92-'93 Geo Storm GSi. |- |8||LV6||1.8&nbsp;L||Straight-4|I4||Fuel injection#Multi-port fuel injection|MFI||DOHC,<br /> 16 valve||Toyota 7A-FE engine. '93-'97 Geo Prizm |- |8||LV6||1.8&nbsp;L||Straight-4|I4||Fuel injection#Multi-port fuel injection|MFI||DOHC,<br /> 16 valve||Toyota 1ZZ-FE engine. VVT-i from '00. '98-'02 Chevrolet Prizm, '03-'08 Pontiac Vibe |- |8||LAY||1.8&nbsp;L||Straight-4|I4||Fuel injection#Sequential multi-port injection|SFI||DOHC,<br /> 16 valve||Toyota 2ZR-FE engine. Dual VVT-i. '09-'10 Pontiac Vibe |- |9||L17||1.6&nbsp;L||Straight-4|I4||2 Barrel Carburetor |2BBL||SOHC,<br /> 8 valve||Isuzu G161Z engine made by GM in US. '81 Chevy Chevette, Pontiac T1000 |- |9||L62||6.0&nbsp;L||V8||Fuel injection#Throttle Body injection|TBI (DFI)||OHV||Cadillac 472-series V8 engine family. V8-6-4 cylinder deactivation.<br /> '81 Cadillacs, '82-'84 Fleetwood Limousine. |- |9||LC3||3.8&nbsp;L||V6||2 Barrel Carburetor |2BBL||OHV||Chevrolet 90° V6 (Chevy Small-Block V8 Derived). 229 cu. in. <br /> '83 Malibu, '83-'84 Monte Carlo, Impala, Caprice, '83 Pontiac Parisienne. |- |9||LG8||5.0&nbsp;L||V8||4 Barrel Carburetor |4BBL||OHV||Oldsmobile "Rocket" V8 (307 cu. in.) H.O. '83-'84 Hurst/Olds, '85-'87 Oldsmobile Cutlass 442 |- |9||LM9||3.8&nbsp;L||V6|V6 Turbo||Fuel injection#Sequential multi-port injection|SFI||OHV||Buick V6. '84-'85 Buick Regal, Riviera. |- |9||L44||2.8&nbsp;L||V6||Fuel injection#Multi-port fuel injection|MFI||OHV||Chevrolet 60° V6 (transversely mounted). H.O. '85-'88 Pontiac Fiero |- |9||LC0||1.5&nbsp;L||I4 Turbo||Fuel injection#Multi-port fuel injection|MFI||SOHC,<br /> 8 valve||Isuzu 4XC1-T engine. '87-'88 Chevrolet Spectrum Turbo |- |9||LK0||1.9&nbsp;L||Straight-4|I4||Fuel injection#Throttle Body injection|TBI||SOHC,<br /> 8 valve||Saturn I4 engine. '91-'94 Saturn S-Series |- |9||L37||4.6&nbsp;L||V8||Fuel injection#Sequential Multi-port injection|SFI||DOHC,<br /> 32 valve||Cadillac Northstar V8 (H.O. FWD) (Premium V). '93 Cadillac Allanté,<br /> '93-'02 Cadillac Eldorado Touring Coupe, '93-'04 Cadillac Seville STS, '96-'05 Cadillac DeVille,<br /> '06-'11 Cadillac DTS, '08-'11 Buick Lucerne Super |- |9||L72||1.3&nbsp;L||Straight-4|I4||Fuel injection#Throttle Body injection|TBI||SOHC,<br /> 8 valve ||Suzuki G13BA engine. '95-'97 Geo Metro |- |9||LUJ||1.4L||I4 Turbo||Fuel injection#Sequential Multi-port fuel injection|SFI||DOHC,<br /> 16 valve||GM Family 0 Engine, Gen III. VVT. Early production engines were made in Aspern, Austria; later made in Flint, MI. '11 Chevy Cruze |- |9||LL0||1.2&nbsp;L||Straight-4|I4||Fuel injection#Multi-port fuel injection|MFI||DOHC,<br /> 16 valve||Daewoo S-TEC II engine (1249 cc). VVT. Made in Changwon, S. Korea. '13-'15 Chevy Spark. |- |9||LT5||6.2&nbsp;L||V8 Supercharged||Port/Direct injection||OHV||Gen V Chevy Small-Block V8. Aluminum Block & Heads. VVT. '19 Corvette ZR1. |- |0||LH8||1.8&nbsp;L||Straight-4|I4||Fuel injection#Throttle Body injection|TBI||SOHC,<br /> 8 valve||GM Family II engine. Made in Brazil.<br /> '82-'86 Pontiac J2000/2000/Sunbird, Oldsmobile Firenza, Buick Skyhawk. |- |0||LAX||2.4&nbsp;L||Straight-4|I4||Fuel injection#Sequential multi-port injection|SFI||DOHC,<br /> 16 valve||Toyota 2AZ-FE engine. VVT-i. '09-'10 Pontiac Vibe |- |0||LE9||2.4&nbsp;L||Straight-4|I4||Fuel injection#Multi-port fuel injection|MFI||DOHC,<br /> 16 valve||GM Ecotec Gen II. E85 Flex-Fuel. 2010 Chevy Malibu. |- |0||LE5||2.4&nbsp;L||Straight-4|I4||Fuel injection#Multi-port fuel injection|MFI||DOHC,<br /> 16 valve||GM Ecotec Gen II. VVT. Most '12 Chevy Malibu w/LE5 engine. |} H.O.=High Output, CNG=Compressed Natural Gas, VVT=Variable Valve Timing, VVL=Variable Valve Lift ====Motor codes for electric passenger cars==== {| class="wikitable" |- ! VIN !! RPO !! Fuel !! Drive Wheels !! Application/Notes |- | 5 ||LN1|| Electricity || Front || '97, '99 General Motors EV1 |- | 0 ||EN0|| Electricity || Front || '14-'16 Chevrolet Spark EV |- | 0 ||EN0|| Electricity || Front || '17-'23 Chevrolet Bolt EV |- | 0 ||EN0|| Electricity || Front || '22-'23 Chevrolet Bolt EUV |- |} ====Motor codes for LFP-powered electric passenger cars==== {| class="wikitable" |- ! VIN !! Motor <br /> RPO code !! # of Motors !! Battery Pack <br /> RPO code !! Fuel !! Drive Wheels !! Application/Notes |- |- | V ||P9D (HPB)|| 1 || EJW || Electricity || Front || '27 Chevrolet Bolt |} LFP=Lithium Iron Phosphate ====Motor codes for Ultium-powered electric passenger cars==== {| class="wikitable" |- ! VIN !! Motor <br /> RPO code !! # of Motors !! Battery Module <br /> RPO code !! # of Modules !! Fuel !! Drive Wheels !! Application/Notes |- |- | 1 ||X0E|| 2 || EXN || 16 || Electricity || All || '25- Cadillac Celestiq |- | 2 ||X0E|| 2 || EHT || 16 || Electricity || All || '25- Cadillac Celestiq <br> (Battery Module RPO code EHT is Configuration B) |} ====Engine codes for light trucks==== GM encodes the engine type in character 8 of the VIN. The following table outlines the various engines encoded there: {| class="wikitable" |- ! VIN !! RPO !! Size !! Type !! Fuel !! Valvetrain !! Engine Family/Notes/Applications |- | A ||LD5|| 3.8L || V6 || Gas ||OHV||2-bbl carb. Buick V6. (231 cu. in.) '81-'84 Chevy El Camino, GMC Caballero (CA emissions). |- | A ||LR1|| 1.9L || I4 || Gas ||SOHC,<br /> 8 valve||2-bbl carb. Isuzu G200 engine imported from Japan.<br /> '82-'85 Chevy S-10/GMC S-15, '83-'85 Chevy S-10 Blazer/GMC S-15 Jimmy |- | A ||L38|| 2.5L || I4 || Gas ||OHV||TBI. Pontiac Iron Duke/Tech IV engine. '91-'93 Chevy S-10/GMC Sonoma. |- | A ||LH2|| 4.6L || V8 || Gas ||DOHC,<br /> 32 valve||Cadillac Northstar V8 (For RWD) (Premium V). '04-'09 Cadillac SRX |- | A ||L20|| 4.8L || V8 || Gas/E85 ||OHV|| Flex Fuel. SFI. Gen IV Chevrolet Small-Block V8. Iron Block/Aluminum Heads. VVT.<br /> '10-'13 GMT900 pickups, '10-'14 Express/Savana |- | A ||LCV|| 2.5L || I4 || Gas ||DOHC,<br /> 16 valve||GM Ecotec engine, Gen III. Direct Injection. VVT. '15-'22 Chevy Colorado, GMC Canyon,<br /> '17-'20 Buick Envision, '17-'21 GMC Acadia, '19-'21 Chevy Blazer |- | B ||LR2|| 2.8L || V6 || Gas ||OHV||2-bbl carb. Chevrolet 60° V6.<br /> '82-'85 Chevy S-10/GMC S-15, '83-'85 Chevy S-10 Blazer/GMC S-15 Jimmy |- | B ||LU2|| 4.3L || V6 || Gas ||OHV|| TBI. Chevrolet 90° V6 (Chevy Small-Block V8 Derived). '90-'91 Astro/Safari higher output engine option. |- | B ||L81|| 3.0L || V6 || Gas ||DOHC,<br /> 24 valve||Opel 54° V6 engine (Made in the UK). '02-'03 Saturn Vue |- | B ||L33|| 5.3L || V8 || Gas ||OHV|| Gen III Chevrolet Small-Block V8. Vortec 5300 H.O. 310hp. Aluminum Block & Heads.<br /> '05-'07 Silverado/Sierra 1500 4wd ext. cab short bed. |- | B ||LE8|| 2.2L || I4 || Gas/E85 ||DOHC,<br /> 16 valve||Flex-Fuel. GM Ecotec Gen II. VVT. '09-'10 Chevy HHR |- | B ||LC8|| 6.0L || V8 || Gas/CNG ||OHV||Bi-Fuel (Also Gas/LPG in Express/Savana). SFI. Gen IV Chevrolet Small-Block V8. Iron Block & Aluminum Heads. VVT. '11-'20 Express/Savana, '13-'19 Silverado HD/Sierra HD. |- | B ||LUV|| 1.4L ||I4 Turbo|| Gas ||DOHC,<br /> 16 valve||GM Family 0 Engine, Gen III. SFI. VVT.<br /> '13-'21 Buick Encore, '15-'21 Chevy Trax (also '13-'14 Trax in Canada) |- | C ||LH6|| 6.2L || V8 || Diesel ||OHV||Detroit Diesel V8. For sub-8,500 lb. GVWR trucks '82-'93. '82-'86 C/K pickups, '87 R/V pickups,<br /> '88-'93 C/K, Sierra pickups, '82-'91 Blazer/Jimmy, Suburban, '83-'93 full-size vans |- | C ||L34|| 2.0L || I4 || Gas ||DOHC,<br /> 16 valve||Suzuki J20A engine. MFI. '99-'03 Chevrolet Tracker |- | C ||LY2|| 4.8L || V8 || Gas ||OHV||SFI. Gen IV Chevrolet Small-Block V8. Iron Block/Aluminum Heads.<br /> '07-'09 GMT900 pickups, '07-'09 Tahoe/Yukon, '08-'09 Express/Savana |- | C ||LAF|| 2.4L || I4 || Gas ||DOHC,<br /> 16 valve||GM Ecotec engine, Gen II. Direct Injection. VVT. Chevy Equinox, GMC Terrain '11. |- | C ||L83|| 5.3L || V8 || Gas/E85 ||OHV|| Flex Fuel. Gen V Chevrolet Small-Block V8 (EcoTec3). Direct injection, VVT. Active Fuel Management<br /> '14-'19 K2XX pickups, '15-'20 K2XX SUVs. |- | C ||L2R|| 2.7L ||I4 Turbo||| Gas ||DOHC,<br /> 16 valve||GM L3B Tripower engine ("TurboMax") - Detuned version. Direct Injection. VVT, VVL. Active Fuel Management. '23-'24 Chevy Colorado. |- | D ||LE3|| 4.1L || I6 || Gas ||OHV||2-bbl carb. Chevrolet Turbo-Thrift I6.<br /> '81-'84 Chevy/GMC C/K pickups, full-size vans, '81-'82 Blazer/Jimmy |- | D ||LG6|| 3.1L || V6 || Gas ||OHV||TBI. Chevrolet 60° V6. '90-'95 U-body minivans. |- | D ||L61|| 2.2L || I4 || Gas ||DOHC,<br /> 16 valve||GM Ecotec Gen I. '02-'07 Saturn Vue, '06 Chevy HHR. |- | D ||L61|| 2.2L || I4 || Gas ||DOHC,<br /> 16 valve||GM Ecotec Gen II. '07-'08 Chevy HHR. |- | D ||LLT|| 3.6L || V6 || Gas ||DOHC,<br /> 24 valve||GM High Feature V6. Direct Injection. '09-'16 GMC Acadia, '17 GMC Acadia Limited,<br /> '09-'17 Chevrolet Traverse, Buick Enclave, '09-'10 Saturn Outlook |- | D ||LBZ|| 6.6L || V8 Turbo || Diesel ||OHV,<br /> 32 valve||Duramax 6600 V8 engine.<br /> Mid '06 Silverado HD/Sierra HD & '07 Silverado Classic HD/Sierra Classic HD |- | D ||L84|| 5.3L || V8 || Gas/E85 ||OHV|| Gen V Chevrolet Small-Block V8 (EcoTec3). Direct injection, VVT. With Dynamic Fuel Management<br /> '19+ Chevy/GMC Silverado 1500/Sierra 1500, '21+ Tahoe/Yukon, Suburban/Yukon XL. |- | E ||LN8|| 2.5L || I4 || Gas ||OHV||TBI. Pontiac Iron Duke/Tech IV engine.<br /> '85-'90 Chevy/GMC S-10/S-15, Astro/Safari Cargo Van, '85-'88 S-10 Blazer/S-15 Jimmy. |- | E ||LLR|| 3.7L || I5 || Gas ||DOHC,<br /> 20 valve||Atlas I5. SFI. VVT.<br /> '07-'12 Colorado/Canyon, '07-'08 Isuzu i-370, '07-'10 Hummer H3, '09-'10 Hummer H3T |- | E ||LA1|| 3.4L || V6 || Gas ||OHV||Chevrolet 60° V6. '96 GMT199 (U-body) minivans, '97-'05 GMT200 (U-body) minivans,<br /> '01-'05 Pontiac Aztek, '02-'05 Buick Rendezvous |- | F ||LF3|| 5.0L || V8 || Gas ||OHV|| 4-bbl carb. Gen I Chevrolet Small-Block V8. '81-'86 C/K, full-size vans, '81-'82 Blazer/Jimmy.<br /> CA emissions version of LE9 5.0 V8. |- | F ||L65|| 6.5L || V8 Turbo || Diesel ||OHV||Detroit Diesel V8. For over-8,500 lb. GVWR Chevy C/K, GMC Sierra trucks '92-'02,<br /> Chevy/GMC Suburban 1500/2500 '94-'99, over-8,500 lb. GVWR Express/Savana '96-'02 |- | F ||LNJ|| 3.4L || V6 || Gas ||OHV||Chevrolet 60° V6. Made in China by SAIC-GM. '05-'09 Chevy Equinox, '06-'09 Pontiac Torrent. |- | F ||L94|| 6.2L || V8 || Gas/E85 ||OHV||Flex-Fuel. Gen IV Chevrolet Small-Block V8. Aluminum Block & Heads. SFI. VVT. Active Fuel Management. '10-'14 GMC Yukon Denali/Yukon XL Denali, Cadillac Escalade/Escalade ESV. |- | F ||L20|| 4.8L || V8 || Gas/E85 ||OHV|| Flex Fuel. SFI. Gen IV Chevrolet Small-Block V8. Iron Block/Aluminum Heads. VVT.<br /> '15-'17 Express/Savana |- | F ||L82|| 5.3L || V8 || Gas ||OHV|| Gen V Chevrolet Small-Block V8 (EcoTec3). Direct injection, VVT. With Active Fuel Management<br /> '19-'21 Chevy Silverado 1500, GMC Sierra 1500 (T1XX). |- | G ||LG9|| 5.0L || V8 || Gas ||OHV|| 2-bbl carb. Gen I Chevrolet Small-Block V8. '81 Chevy/GMC C/K pickups, Blazer/Jimmy, full-size van |- | G ||L18|| 8.1L || V8 || Gas ||OHV||MFI. Vortec 8100. Gen VII Chevrolet Big-Block V8. '01-'02 C3500HD, '01-'06 Silverado HD/Sierra HD, '07 Silverado Classic HD/Sierra Classic HD, '01-'06 Suburban/Yukon XL 2500, '02-'06 Avalanche 2500, '01-'02 Express/Savana |- | G ||L96|| 6.0L || V8 || Gas/E85 ||OHV||Flex Fuel. SFI. Gen IV Chevrolet Small-Block V8. Iron Block & Aluminum Heads. VVT.<br /> '10-'19 Silverado HD/Sierra HD, '10-'13 Suburban 2500/Yukon XL 2500, '16-'19 Suburban 3500,<br /> '10-'20 Express/Savana. |- | G ||LSD|| 1.5L || I4 Turbo || Gas ||DOHC,<br /> 16 valve||GM Small Gasoline Engine. Direct Injection. VVT. '23+ Chevy Equinox, GMC Terrain |- | H ||LG4|| 5.0L || V8 || Gas ||OHV||4-bbl carb. Gen I Chevy Small-Block V8. (305 cu. in.) '81-'87 Chevy El Camino, GMC Caballero. |- | H ||LE9|| 5.0L || V8 || Gas ||OHV|| 4-bbl carb. Gen I Chevrolet Small-Block V8. '81-'86 C/K pickups, Blazer/Jimmy, Suburban, full-size vans |- | H ||L03|| 5.0L || V8 || Gas ||OHV|| TBI. Gen I Chevrolet Small-Block V8. '87 R/V pickups, '88-'95 C/K, Sierra pickups, '87-'95 full-size vans, '87 Blazer/Jimmy, Suburban. |- | H ||LN2|| 2.2L || I4 || Gas ||OHV||SFI. Chevrolet "122" engine. '03 Chevy S-10/GMC Sonoma |- | H ||LS2|| 6.0L || V8 || Gas ||OHV||SFI. Gen IV Chevy Small-Block V8. Chevy SSR '05-'06, Trailblazer SS '06-'09, Saab 9-7X Aero '08-'09. |- | H ||LV3|| 4.3L || V6 || Gas/E85 ||OHV||Flex Fuel. Chevrolet 90° V6 - Gen V Chevrolet Small-Block V6 (EcoTec3). Direct injection, VVT. Active Fuel Management. '14-'21 Chevy Silverado 1500/GMC Sierra 1500. |- | J ||L39|| 4.4L || V8 || Gas ||OHV||2-bbl carb. Gen I Chevy Small-Block V8 (267 cu. in.) '81-82 Chevy El Camino, GMC Caballero. |- | J ||LL4|| 6.2L || V8 || Diesel ||OHV||Detroit Diesel V8. For over-8,500 lb. GVWR trucks '82-'93. '82-'86 C/K pickups, '87-'91 R/V pickups,<br /> '88-'93 C/K, Sierra pickups, '82-'91 Blazer/Jimmy, Suburban, '83-'93 full-size vans |- | J ||L29|| 7.4L || V8 || Gas ||OHV|| MFI. Vortec 7400. Gen VI Chevrolet Big-Block V8.<br /> '96-'00 C/K, Sierra pickups, Express/Savana, '96-'99 Suburban 2500 |- | J ||LY5|| 5.3L || V8 || Gas ||OHV||SFI. Gen IV Chevrolet Small-Block V8. Active Fuel Management. Iron Block & Aluminum Heads.<br /> '07-'09 Silverado/Sierra 1500, Tahoe/Yukon, Suburban/Yukon XL 1500, Avalanche |- | J ||LZ1|| 6.0L || V8 || Gas ||OHV||2-Mode Hybrid. Gen IV Chevrolet Small-Block V8. Aluminum Block & Heads. VVT. Active Fuel Management. '10-'13 Tahoe Hybrid, Yukon Hybrid, Escalade Hybrid, Silverado Hybrid, Sierra Hybrid |- | J ||L86|| 6.2L || V8 || Gas ||OHV||Gen V Chevrolet Small-Block V8 (EcoTec3). Direct injection, VVT. Active Fuel Management. <br /> '14-18 Chevy/GMC Silverado 1500/Sierra 1500,<br /> '18-20 Chevy Tahoe Premier, '19-'20 Chevy Suburban Premier, GMC Yukon/Yukon XL SLT,<br /> '15-'20 GMC Yukon Denali/Yukon XL Denali, Cadillac Escalade/Escalade ESV. |- | K ||LC3|| 3.8L || V6 || Gas ||OHV||2-bbl carb. Chevrolet 90° V6 (Chevy Small-Block V8 Derived). 229 cu. in. <br /> '81-'82 Chevy El Camino, GMC Caballero (49-state emissions) |- | K ||L05|| 5.7L || V8 || Gas ||OHV|| TBI. Gen I Chevrolet Small-Block V8. '87 R/V pickups, '88-'95 C/K, Sierra pickups, '87-'95 full-size vans, '96 G-Classic full-size vans, '87-'94 Blazer, '95 Tahoe, '87-'91 Jimmy, '92-'95 Yukon, '87-'95 Suburban. |- | K ||LY6|| 6.0L || V8 || Gas ||OHV||SFI. Gen IV Chevrolet Small-Block V8. Iron Block & Aluminum Heads. VVT.<br /> '07-'09 Silverado HD/Sierra HD, '07-'09 Suburban 2500/Yukon XL 2500, '08-'09 Express/Savana |- | K ||LEA|| 2.4L || I4 || Gas/E85 ||DOHC,<br /> 16 valve||Flex Fuel. GM Ecotec engine, Gen II. Direct Injection. VVT. Chevy Equinox, GMC Terrain '12-'17,<br /> Chevy Captiva Sport '12-'14, Chevy Orlando '14. |- | K ||L3B|| 2.7L ||I4 Turbo||| Gas ||DOHC,<br /> 16 valve||GM L3B Tripower engine ("TurboMax"). Direct Injection. VVT, VVL. Active Fuel Management.<br /> '19+ Chevy Silverado 1500, GMC Sierra 1500, '23+ Chevy Colorado, GMC Canyon. |- | L ||LS9|| 5.7L || V8 || Gas ||OHV|| 4-bbl carb. Gen I Chevrolet Small-Block V8. For sub-8,500 lb. GVWR trucks, vans, Suburban, Blazer/Jimmy (CA) '81-'86. |- | L ||L27|| 3.8L || V6 || Gas ||OHV||Buick V6 (3800 Series I). '92-'95 U-body minivans |- | L ||LX9|| 3.5L || V6 || Gas ||OHV||GM High Value 60° V6. 3498cc. SFI. '05-'06 GMT201 minivans, '06-'07 Buick Rendezvous |- | L ||LH8|| 5.3L || V8 || Gas ||OHV||SFI. Gen IV Chevrolet Small-Block V8. Aluminum Block & Heads.<br /> '08-'09 Hummer H3 Alpha, '09 Colorado/Canyon, Hummer H3T Alpha |- | L ||LGH|| 6.6L || V8 Turbo || Diesel ||OHV,<br /> 32 valve||Duramax 6600 V8 engine. Mid '10-'16 Express/Savana, '11-'12 Silverado HD/Sierra HD chassis cabs |- | L ||L87|| 6.2L || V8 || Gas ||OHV||Gen V Chevrolet Small-Block V8 (EcoTec3). Direct injection, VVT. Dynamic Fuel Management.<br /> '19+ Chevy/GMC Silverado 1500/Sierra 1500, '21+ Tahoe/Yukon, Suburban/Yukon XL,<br /> Cadillac Escalade/Escalade ESV. |- | L ||L3T|| 1.3L || I3 Turbo || Gas ||DOHC,<br /> 12 valve||GM E-Turbo Engine. Direct Injection. VVT. '20+ Buick Encore GX, '21+ Chevy Trailblazer. |- | M ||LT9|| 5.7L || V8 || Gas ||OHV|| 4-bbl carb. Gen I Chevy Small-Block V8.<br /> For over-8,500 lb. GVWR C/K trucks, full-size vans, Suburban '81-'86, full-size van cutaway '81-'88.<br /> '88 Chevy/GMC R30/3500 Chassis Cab w/C7C (10,500 lb. GVWR),<br /> V30/3500 Chassis Cab w/C7E (11,000 lb. GVWR) |- | M ||L30|| 5.0L || V8 || Gas ||OHV||Gen 1+ Chevrolet Small-Block V8. Vortec 5000. CPI.<br /> '96-'99 Chevy C/K, GMC Sierra, '96-'02 Express/Savana |- | M ||LNF|| 2.0L || I4 Turbo || Gas ||DOHC,<br /> 16 valve||GM Ecotec engine, Gen II. Direct Injection. VVT. 2010 Chevy HHR SS. |- | M ||LH6|| 5.3L || V8 || Gas ||OHV||SFI. Gen IV Chevrolet Small-Block V8. Active Fuel Management. Aluminum Block & Heads.<br /> '05-'06 GMT370 SUVs (Trailblazer EXT/Envoy XL/Isuzu Ascender 7-psgr.), '05-'07 Buick Rainier,<br /> '05-'09 GMC Envoy Denali, Saab 9-7X, '06-'08 Chevy Trailblazer, '05 GMC Envoy XUV,<br /> '07-'09 Silverado/Sierra 1500 |- | M ||LAF|| 2.4L || I4 || Gas ||DOHC,<br /> 16 valve||GM Ecotec engine, Gen II. Direct Injection. VVT. Chevy Orlando '12. |- | M ||LE2|| 1.4L || I4 Turbo || Gas ||DOHC,<br /> 16 valve||GM Small Gasoline Engine. Direct Injection. VVT. '16-'19 & '21-'22 Buick Encore, '21-'22 Chevy Trax. |- | N ||L10|| 1.8L || I4 || Gas ||SOHC,<br /> 8 valve||2-bbl carb. Isuzu G180Z engine imported from Japan. '81-'82 Chevy LUV |- | N ||LF9|| 5.7L || V8 || Diesel ||OHV||Oldsmobile Diesel V8. '83-'84 Chevy El Camino/GMC Caballero. |- | N ||LB1|| 4.3L || V6 || Gas ||OHV|| 4-bbl carb. Chevrolet 90° V6 (Chevy Small-Block V8 Derived).<br /> '85 Astro/Safari, '85-'86 C/K pickups & full-size vans |- | N ||L19|| 7.4L || V8 || Gas ||OHV|| Mark IV Chevrolet Big-Block V8. TBI.<br /> '87-'90 R/V pickups, Suburban 2500, '88-'90 C/K, Sierra pickups, full-size vans |- | N ||L19|| 7.4L || V8 || Gas ||OHV|| Gen V Chevrolet Big-Block V8. TBI.<br /> '91 R/V pickups, '91-'95 C/K, Sierra pickups, Suburban 2500, full-size vans. '96 G-Classic full-size vans |- | N ||LZ4|| 3.5L || V6 || Gas ||OHV||GM High Value 60° V6. 3510cc. SFI. VVT. '08-'09 Saturn Vue |- | N ||LQ9|| 6.0L || V8 || Gas ||OHV|| Gen III Chevrolet Small-Block V8. Vortec 6000 H.O. or VortecMAX. Iron Block/Aluminum Heads. 345 hp.<br /> '02-'06 Cadillac Escalade, '03-'06 Cadillac Escalade ESV, '03-'06 Chevy Silverado SS, '05-'06 GMC Sierra Denali. |- | N ||LGZ|| 3.6L || V6 || Gas ||DOHC,<br /> 24 valve||GM High Feature V6, 4th gen. Direct Injection. VVT. Active Fuel Management.<br /> '17-'22 Chevy Colorado, GMC Canyon. |- | P ||L49|| 6.5L || V8 || Diesel ||OHV||Detroit Diesel V8. For sub-8,500 lb. GVWR Chevy C/K, GMC Sierra trucks & full-size vans '94-'95 |- | P ||LM4|| 5.3L || V8 || Gas ||OHV||Gen III Chevrolet Small-Block V8. Vortec 5300. 290hp. Aluminum Block & Heads.<br /> '03-'04 Chevy SSR, '03-'04 GMT370 SUVs (Trailblazer EXT/Envoy XL/Isuzu Ascender 7-psgr.),<br /> '04 Buick Rainier, GMC Envoy XUV |- | P ||LE5|| 2.4L || I4 || Gas ||DOHC,<br /> 16 valve||MFI. GM Ecotec Gen II. VVT. '06-'08 Chevy HHR, '08-'09 Saturn Vue |- | P ||LH9|| 5.3L || V8 || Gas/E85 ||OHV||Flex Fuel. SFI. Gen IV Chevrolet Small-Block V8. Aluminum Block & Heads. VVT.<br /> '10-'12 Colorado/Canyon, '10 Hummer H3 Alpha, H3T Alpha |- | P ||LV1|| 4.3L || V6 || Gas ||OHV||Chevrolet 90° V6 - Gen V Chevrolet Small-Block V6 (EcoTec3). Direct injection, VVT.<br /> '18+ Chevy Express/GMC Savana. |- | P ||LBP|| 1.2L || I3 Turbo || Gas/E85 ||DOHC,<br /> 12 valve||Flex Fuel. GM E-Turbo Engine. Direct Injection. VVT.<br /> '25+ Buick Encore GX, Chevy Trailblazer, '25- Chevy Trax, Buick Envista. |- | R ||LL2|| 2.8L || V6 || Gas ||OHV||TBI. Chevrolet 60° V6. '86-'93 Chevy S-10, GMC S-15/Sonoma,<br /> '86-'89 Chevy S-10 Blazer/GMC S-15 Jimmy |- | R ||L31|| 5.7L || V8 || Gas ||OHV||Gen 1+ Chevrolet Small-Block V8. Vortec 5700. CPI.<br /> '96-'99 Chevy C/K, GMC Sierra, '96-'99 Chevy Tahoe/GMC Yukon, Chevy/GMC Suburban, '99-'00 GMC Yukon Denali, Cadillac Escalade, '00 Chevy Tahoe Limited/Z71, '96-'02 Chevy Express/GMC Savana. |- | R ||L8B|| 5.3L || V8 || Gas ||OHV||Mild Hybrid. Gen V Chevrolet Small-Block V8 (EcoTec3). Direct injection, VVT. Active Fuel Management. '16-'18 Chevy Silverado 1500, GMC Sierra 1500. |- | S ||LQ7|| 2.2L || I4 || Diesel ||OHV||Isuzu C220 engine imported from Japan. '81-'82 Chevy LUV, '84-'85 Chevy S-10/GMC S-15 |- | S ||L56|| 6.5L || V8 Turbo || Diesel ||OHV||Detroit Diesel V8. For sub-8,500 lb. GVWR Chevy C/K, GMC Sierra trucks '94-'99,<br /> Chevy Blazer '94, Chevy Tahoe 2-d '95-'99, GMC Yukon 2-d '94-'97 |- | S ||LL8|| 4.2L || I6 || Gas ||DOHC,<br /> 24 valve||Atlas I6. SFI. VVT. '02-'09 GMT360/370 SUVs (Chevy Trailblazer, GMC Envoy, Oldsmobile Bravada, Buick Rainier, Isuzu Ascender, Saab 9-7X) |- | S ||LGX|| 3.6L || V6 || Gas ||DOHC,<br /> 24 valve||GM High Feature V6, 4th gen. Direct Injection. VVT. Active Fuel Management.<br /> '17+ Cadillac XT5, '17-'23 GMC Acadia, '19+ Chevrolet Blazer, '20-'25 Cadillac XT6. |- | S ||LK0|| 2.5L || I4 Turbo || Gas ||DOHC,<br /> 16 valve||L3B engine family. Direct Injection. VVT. '24- Chevy Traverse, GMC Acadia, '25- Buick Enclave |- | T ||L25|| 4.8L || I6 || Gas ||OHV||1-bbl carb. Chevrolet Turbo-Thrift I6. '81-'86 Chevy/GMC C/K pickups, '88 R/V pickups |- | T ||LM7|| 5.3L || V8 || Gas ||OHV|| Gen III Chevrolet Small-Block V8. Iron Block & Aluminum Heads. Vortec 5300. 270/285/295hp.<br /> '99-'07 GMT800 pickups & SUVs including '02-'05 Escalade 2wd, '03-'07 Express/Savana |- | T ||LEA|| 2.4L || I4 || Gas/E85 ||DOHC,<br /> 16 valve||Flex Fuel. GM Ecotec engine, Gen II. Direct Injection. VVT. Chevy Orlando '13. |- | T ||LM2|| 3.0L || I6 Turbo|| Diesel ||DOHC,<br /> 24 valve|| Duramax Diesel I6. Aluminum Block & Heads. '20-'22 Silverado/Sierra 1500, '21-'24 Tahoe/Suburban, Yukon/Yukon XL, Escalade/Escalade ESV. |- | U ||LS5|| 1.6L || I4 || Gas ||SOHC,<br /> 8 valve||Suzuki G16A engine. TBI. '89-'95 Geo Tracker |- | U ||LQ4|| 6.0L || V8 || Gas ||OHV|| Gen III Chevrolet Small-Block V8. Iron Block & Aluminum Heads (Iron Heads in '99-'00).<br /> '99-'06 GMT800 pickups, '00-'06 Suburban/Yukon XL 2500, '01-'06 Yukon Denali/Yukon XL Denali,<br> '06 Suburban LTZ, '03-'07 Express/Savana, '03-'07 Hummer H2. |- | U ||LE9|| 2.4L || I4 || Gas/E85 ||DOHC,<br /> 16 valve||Flex-Fuel. GM Ecotec Gen II. 2011 Chevy HHR |- | U ||LH7|| 1.6L ||I4 Turbo|| Diesel ||DOHC,<br /> 16 valve||GM Medium Diesel engine ("Whisper Diesel"). Made by Opel in Szentgotthárd, Hungary.<br /> Aluminum Block & Heads. '18-'19 Chevy Equinox & GMC Terrain Diesel. |- | V ||LR4|| 4.8L || V8 || Gas ||OHV||Gen III Chevrolet Small-Block V8. Iron Block/Aluminum Heads. '99-'06 GMT800 pickups,<br /> '00-'06 Tahoe/Yukon, '03-'07 Express/Savana |- | V ||LE9|| 2.4L || I4 || Gas/E85 ||DOHC,<br /> 16 valve||Flex-Fuel. GM Ecotec Gen II. 2009-2010 Chevy HHR |- | V ||LYX|| 1.5L || I4 Turbo || Gas ||DOHC,<br /> 16 valve||GM Small Gasoline Engine. Direct Injection. VVT. '18-'22 Chevy Equinox, GMC Terrain |- | W ||LE8|| 7.4L || V8 || Gas ||OHV|| Mark IV Chevrolet Big-Block V8. 4bbl carb. '81-'86 Chevy/GMC C/K pickups, Suburban.<br /> '88-'89 Chevy/GMC R30/3500 Chassis Cab w/C7C (10,500 lb. GVWR),<br /> V30/3500 Chassis Cab w/C7E (11,000 lb. GVWR) |- | W ||L35|| 4.3L || V6 || Gas ||OHV|| CPI. Vortec 4300 H.O. Chevrolet 90° V6 (Chevy Small-Block V8 Derived).<br /> '92-'95 Sonoma, S-10 Blazer/Jimmy, Astro/Safari, '94-'95 S-10, '92-'94 Oldsmobile Bravada |- | W ||L35|| 4.3L || V6 || Gas ||OHV|| SFI. Vortec 4300 H.O. Chevrolet 90° V6 (Chevy Small-Block V8 Derived). '96-'02 S-10/Sonoma, Blazer/Jimmy, Express/Savana, C/K, Silverado, Sierra, '96-'01 Bravada, Astro/Safari, '00 Isuzu Hombre |- | W ||LGD|| 3.9L || V6 || Gas/E85 ||OHV||Flex Fuel. GM High Value 60° V6. SFI. VVT. '07-'09 GMT201 minivans |- | W ||LAF|| 2.4L || I4 || Gas ||DOHC,<br /> 16 valve||GM Ecotec engine, Gen II. Direct Injection. VVT. Chevy Equinox, GMC Terrain '10. |- | W ||LE8|| 2.2L || I4 || Gas/E85 ||DOHC,<br /> 16 valve||Flex-Fuel. GM Ecotec Gen II. VVT. 2011 Chevy HHR. |- | W ||LFY|| 3.6L || V6 || Gas ||DOHC,<br /> 24 valve||GM High Feature V6. Direct Injection.<br> '18-'23 Chevrolet Traverse, '24 Chevrolet Traverse Limited, '18-'24 Buick Enclave. |- | X ||LF6|| 4.3L || V6 || Gas ||OHV||SFI. Vortec 4300. Chevrolet 90° V6 (Chevy Small-Block V8 Derived).<br /> '96-'99 S-10/Sonoma, '97-'99 Isuzu Hombre. |- | X ||LU3|| 4.3L || V6 || Gas ||OHV||Vortec 4300. Chevrolet 90° V6 (Chevy Small-Block V8 Derived). '03-'04 S-10/Sonoma,<br /> '03-'05 Blazer/Jimmy, '02-'05 Astro/Safari, '03-'14 Express/Savana, '03-'13 Silverado/Sierra |- | X ||LNF|| 2.0L || I4 Turbo || Gas ||DOHC,<br /> 16 valve||GM Ecotec engine, Gen II. Direct Injection. VVT. '08-'09 Chevy HHR SS. |- | X ||LTG|| 2.0L || I4 Turbo || Gas ||DOHC,<br /> 16 valve||GM Ecotec engine, Gen III. Direct Injection. VVT.<br /> '16-'20 Buick Envision, '18-'20 Chevy Equinox, GMC Terrain, '18-'19 Chevy Traverse RS |- | Y ||LQ2|| 2.0L || I4 || Gas ||OHV||2-bbl carb. Chevrolet "122" engine.<br /> '83-'84 Chevy S-10/GMC S-15, '83-'84 Chevy S-10 Blazer/GMC S-15 Jimmy |- | Y ||L57|| 6.5L || V8 || Diesel ||OHV||Detroit Diesel V8. For over-8,500 lb. GVWR full-size vans '94-'95 & '96 G-Classic full-size vans |- | Y ||L76|| 6.0L || V8 || Gas ||OHV||SFI. Gen IV Chevy Small-Block V8. Aluminum Block & Heads. VVT. With Active Fuel Management.<br /> '07-'09 Silverado/Sierra, Suburban/Yukon XL, Chevy Avalanche |- | Y ||LF1|| 3.0L || V6 || Gas ||DOHC,<br /> 24 valve||GM High Feature V6. Direct Injection. VVT.<br /> '10-'11 Cadillac SRX, '11 Saab 9-4X, '10 Chevy Equinox, GMC Terrain |- | Y ||L5P|| 6.6L || V8 Turbo || Diesel ||OHV,<br /> 32 valve||Duramax 6600 V8 engine. '17+ Silverado HD/Sierra HD. Engine updated in '24. |- | Z ||LF9|| 5.7L || V8 || Diesel ||OHV||Oldsmobile Diesel V8. '81 Chevy C10/GMC C1500 full-size pickups. |- | Z ||LB4|| 4.3L || V6 || Gas ||OHV|| TBI. Chevrolet 90° V6 (Chevy Small-Block V8 Derived). '85-'87 Chevy El Camino/GMC Caballero,<br /> '86-'94 Astro/Safari, '87 R/V pickups, '88-'95 C/K & Sierra pickups, '87-'95 full-size vans & <br /> '96 G-Classic full-size vans, '88-'95 S-10, S-15/Sonoma, '88-'94 S-10 Blazer, S-15 Jimmy,<br /> '91-'92 Oldsmobile Bravada |- | Z ||LB4|| 4.3L || V6 Turbo || Gas ||OHV|| MPI. For GMC Syclone & Typhoon. Chevrolet 90° V6 (Chevy Small-Block V8 Derived) |- | Z ||L59|| 5.3L || V8 || Gas/E85 ||OHV||Flex Fuel. Gen III Chevrolet Small-Block V8. Iron Block & Aluminum Heads. Vortec 5300. 285/295hp.<br /> '02-'07 GMT800 pickups, '02-'06 Suburban/Yukon XL, Avalanche. |- | Z ||LAT|| 2.4L || I4 || Gas ||DOHC,<br /> 16 valve||Mild Hybrid. MFI. GM Ecotec Gen II. VVT. '07-'09 Saturn Vue Green Line |- | 1 ||LZ9|| 3.9L || V6 || Gas ||OHV||GM High Value 60° V6. SFI. VVT. '06-'09 GMT201 minivans |- | 1 ||LE5|| 2.4L || I4 || Gas ||DOHC,<br /> 16 valve||MFI. GM Ecotec Gen II. VVT. '10 Saturn Vue. |- | 1 ||LB7|| 6.6L || V8 Turbo || Diesel ||OHV,<br /> 32 valve||Duramax 6600 V8 engine. First version of the Duramax V8. '01-Mid '04 Silverado HD/Sierra HD |- | 1 ||LWN|| 2.8L || I4 Turbo || Diesel ||DOHC,<br /> 16 valve||Based on VM Motori A428 engine. Made by GM Powertrain Thailand 2016-2020. Made in Brazil for '22. '16-'22 Colorado/Canyon, '17-'22 Express/Savana. |- | 2 ||LLY|| 6.6L || V8 Turbo || Diesel ||OHV,<br /> 32 valve||Duramax 6600 V8 engine. Mid '04-Mid '06 Silverado HD/Sierra HD, '06-Mid '07 Express/Savana |- | 2 ||L9H|| 6.2L || V8 || Gas/E85 ||OHV||Flex-Fuel. Gen IV Chevrolet Small-Block V8. Aluminum Block & Heads. SFI. VVT.<br /> '09-'13 Chevy Silverado 1500, GMC Sierra 1500, Sierra Denali 1500,<br /> '09 Chevy Tahoe LTZ, GMC Yukon Denali/Yukon XL Denali, Cadillac Escalade/Escalade ESV,<br> Hummer H2 |- | 2 ||LIH|| 1.2L || I3 Turbo || Gas ||DOHC,<br /> 12 valve||GM E-Turbo Engine. Direct Injection. VVT.<br /> '20-'24 Buick Encore GX, '21-'24 Chevy Trailblazer, '24 Chevy Trax, Buick Envista,<br> '25 Chevy Trax, Buick Envista (Canada only). |- | 3 ||LC9|| 5.3L || V8 || Gas/E85 ||OHV||Flex Fuel. SFI. Gen IV Chevrolet Small-Block V8. Active Fuel Management. VVT added for '10. Aluminum Block & Heads.<br /> '07-'11 Silverado/Sierra 1500, Tahoe/Yukon, Suburban/Yukon XL 1500, '07-'09 & '11 Avalanche |- | 3 ||LFX|| 3.6L || V6 || Gas ||DOHC,<br /> 24 valve||GM High Feature V6. Direct Injection. VVT. E85 Flex Fuel.<br /> '12-'16 Cadillac SRX, '13-'17 Chevrolet Equinox, GMC Terrain, '15-'16 Colorado/Canyon |- | 4 ||LN2|| 2.2L || I4 || Gas ||OHV||MFI (94-95). SFI (96-00). Chevrolet "122" engine. '94-'00 S-10/Sonoma, '96-'00 Isuzu Hombre |- | 4 ||LE8|| 2.5L || V6 || Gas ||DOHC,<br /> 24 valve||Suzuki H25A engine. MFI. '01-'04 Chevrolet Tracker |- | 4 ||L66|| 3.5L || V6 || Gas ||SOHC,<br /> 24 valve||Honda J35S1 V6. VTEC. '04-'07 Saturn Vue |- | 4 ||LMF|| 5.3L || V8 || Gas/E85 ||OHV||Flex Fuel. SFI. Gen IV Chevrolet Small-Block V8. Iron Block & Aluminum Heads. VVT.<br /> '08-'14 Express/Savana 1500 |- | 4 ||LAU|| 2.8L || V6 Turbo || Gas ||DOHC,<br /> 24 valve||GM High Feature V6. SFI. '10 Cadillac SRX |- | 4 ||LSY|| 2.0L || I4 Turbo || Gas ||DOHC,<br /> 16 valve||GM Ecotec engine, Gen III. Direct Injection. Active Fuel Management. VVT. VVL.<br /> '19-'25 Cadillac XT4, '20+ Chevy Blazer, Cadillac XT5, '20-'23 GMC Acadia,<br /> '21+ Buick Envision, '21-'25 Cadillac XT6 |- | 5 ||L43|| 2.2L || I4 || Gas/E85 ||OHV||Flex-Fuel. SFI. Chevrolet "122" engine. '00-'02 S-10/Sonoma, '00 Isuzu Hombre |- | 5 ||LFA|| 6.0L || V8 || Gas ||OHV||2-Mode Hybrid. Gen IV Chevrolet Small-Block V8. Aluminum Block & Heads. VVT. Active Fuel Management. '08-'09 Tahoe Hybrid/Yukon Hybrid, '09 Escalade Hybrid, Silverado Hybrid/Sierra Hybrid |- | 5 ||LFW|| 3.0L || V6 || Gas/E85 ||DOHC,<br /> 24 valve||Flex-Fuel. GM High Feature V6. Direct Injection. VVT. '11-'12 Chevy Equinox, GMC Terrain,<br /> '12 Chevy Captiva Sport |- | 6 ||L01|| 1.6L || I4 || Gas ||SOHC,<br /> 16 valve||Suzuki G16B engine. MFI. '94-'97 Geo Tracker, '98-'00 Chevrolet Tracker |- | 6 ||L52|| 3.5L || I5 || Gas ||DOHC,<br /> 20 valve||Atlas I5. SFI. VVT. '04-'06 Colorado/Canyon, '06 Isuzu i-350, '06 Hummer H3 |- | 6 ||LAU|| 2.8L || V6 Turbo || Gas ||DOHC,<br /> 24 valve||GM High Feature V6. SFI. '11 Cadillac SRX, Saab 9-4X |- | 6 ||LMM|| 6.6L || V8 Turbo || Diesel ||OHV,<br /> 32 valve||Duramax 6600 V8 engine. '07-'10 Silverado HD/Sierra HD (GMT900), Mid '07-Mid '10 Express/Savana |- | 7 ||LY7|| 3.6L || V6 || Gas ||DOHC,<br /> 24 valve||GM High Feature V6. '04-'06 Buick Rendezvous, '04-'09 Cadillac SRX,<br /> '07-'08 GMC Acadia, Saturn Outlook, '08 Buick Enclave, '08-'10 Saturn Vue |- | 7 ||LC9|| 5.3L || V8 || Gas/E85 ||OHV||Flex Fuel. SFI. Gen IV Chevrolet Small-Block V8. Active Fuel Management. VVT.<br /> Aluminum Block & Heads.<br /> '12-'13 Silverado/Sierra 1500, Avalanche, '12-'14 Tahoe/Yukon, Suburban/Yukon XL 1500 |- | 7 ||L8T|| 6.6L || V8 || Gas ||OHV||Gen V Chevrolet Small-Block V8. Iron Block/Aluminum Heads. Direct injection, VVT.<br /> '20+ Silverado HD/Sierra HD, '21+ Express/Savana |- | 8 ||LK5|| 2.8L || I4 || Gas ||DOHC,<br /> 16 valve||Atlas I4. SFI. VVT. '04-'06 Colorado/Canyon, '06 Isuzu i-280. |- | 8 ||L92|| 6.2L || V8 || Gas ||OHV||Gen IV Chevrolet Small-Block V8. Aluminum Block & Heads. SFI. VVT.<br /> '07-'08 GMC Sierra Denali, Yukon Denali/Yukon XL Denali, Cadillac Escalade/Escalade ESV,<br> '08 Chevy Tahoe LTZ, Hummer H2. |- | 8 ||LML|| 6.6L || V8 Turbo || Diesel ||OHV,<br /> 32 valve||Duramax 6600 V8 engine.<br /> '11-'16 Silverado HD/Sierra HD pickups, '13-'16 Silverado HD/Sierra HD chassis cabs. |- | 8 ||LZ0|| 3.0L || I6 Turbo|| Diesel ||DOHC,<br /> 24 valve|| Duramax Diesel I6. Aluminum Block & Heads.<br> '23+ Silverado/Sierra 1500, '24+ Suburban HD, '25+ Tahoe/Suburban, Yukon/Yukon XL. |- | 9 ||LC3|| 3.8L || V6 || Gas ||OHV||2-bbl carb. Chevrolet 90° V6 (Chevy Small-Block V8 Derived). 229 cu. in. <br /> '83-'84 Chevy El Camino, GMC Caballero (49-state emissions). |- | 9 ||LLV|| 2.9L || I4 || Gas ||DOHC,<br /> 16 valve||Atlas I4. SFI. VVT. '07-'12 Colorado/Canyon, '07-'08 Isuzu i-290. |- | 9 ||LT4|| 6.2L ||V8 Supercharged|| Gas ||OHV||Gen V Chevy Small-Block V8. Aluminum Block & Heads. Direct injection. VVT. Active Fuel Management. '23+ Cadillac Escalade/Escalade ESV V-Series. |- | 0 ||LMG|| 5.3L || V8 || Gas/E85 ||OHV||Flex-Fuel. SFI. Gen IV Chevrolet Small-Block V8. Active Fuel Management. VVT added for '10.<br /> Iron Block & Aluminum Heads.<br /> '07-'13 Silverado/Sierra 1500, Avalanche, '07-'14 Tahoe/Yukon, Suburban/Yukon XL 1500. |} H.O.=High Output, VVT=Variable Valve Timing, VVL=Variable Valve Lift, GVWR=Gross Vehicle Weight Rating, CNG=Compressed Natural Gas, LPG=Liquefied Petroleum Gas (Propane Autogas) ====Motor codes for electric light trucks==== {| class="wikitable" |- ! VIN !! RPO !! Fuel !! Drive Wheels !! Application/Notes |- | H ||LN1|| Electricity || Front || '97-'98 Chevrolet S-10 Electric. |- |} ====Motor codes for Ultium-powered electric light trucks==== {| class="wikitable" |- ! VIN !! Motor <br /> RPO code !! # of Motors !! Battery Module <br /> RPO code !! # of Modules !! Fuel !! Drive Wheels !! Application/Notes |- | A ||XRL|| 3 || ETN || 24 || Electricity || All || '22- GMC Hummer EV pickup 3X |- | B ||XRL|| 3 || ETI || 20 || Electricity || All || '24- GMC Hummer EV pickup 3X |- | C ||XRL|| 3 || ETJ || 20 || Electricity || All || '24- GMC Hummer EV SUV 3X |- | D ||XRJ|| 2 || ETI || 20 || Electricity || All || '24 Chevrolet Silverado EV 3WT, '25- Silverado EV 5WT, 3LT,<br> '25 Silverado EV RST (2SP), '26- Silverado EV Trail Boss (2TR),<br> '24- GMC Hummer EV pickup 2X, '25- GMC Sierra EV Denali 5SC,<br> '26- Sierra EV Elevation 3SC, AT4 4SC |- | E ||XRJ|| 2 || ETJ || 20 || Electricity || All || '24- GMC Hummer EV SUV 2X |- | G ||XRJ|| 2 || ETJ || 20 || Electricity || All || '23 BrightDrop Zevo 600 |- | H ||XRJ|| 2 || EWX || 14 || Electricity || All ||'26- Chevrolet Silverado EV 4WT, 2LT,<br> '26- GMC Sierra EV Elevation 3SB, Denali 5SB |- | J ||X0C|| 2 || EC5 || 10 || Electricity || All || '24 Chevy Blazer EV 2LT, 1RS AWD,<br> '25- Chevy Blazer EV 4LT, 3RS AWD, '24- Honda Prologue AWD |- | K ||X0D|| 1 || EC6 || 12 || Electricity || Rear || '23- Cadillac Lyriq RWD, '24-'25 Chevrolet Blazer EV 2RS RWD,<br> '24 Acura ZDX A-Spec RWD |- | L ||X0E|| 2 || EC6 || 12 || Electricity || All || '23- Cadillac Lyriq AWD, '24- Chevrolet Blazer EV PPV AWD,<br> '25- Chevrolet Blazer EV SS AWD, '26- Cadillac Vistiq AWD,<br> '24 Acura ZDX A-Spec, Type S AWD |- | L ||XRJ|| 2 || ETN || 24 || Electricity || All || '24 Chevrolet Silverado EV 4WT, RST (3SP), '25- Silverado EV 8WT,<br> '25 Silverado EV RST (3SP), '26- Silverado EV 4LT, Trail Boss (3TR),<br> '24- GMC Sierra EV Denali 5SD, '26- Sierra EV AT4 4SD,<br> '25- Cadillac Escalade IQ, '26- Cadillac Escalade IQL |- | M ||X0B|| 1 || EC5 || 10 || Electricity || Front || '24- Honda Prologue FWD, '25- Chevy Blazer EV 2LT, 1RS FWD |- | P ||X0B|| 1 || EC3 || 10 || Electricity || Front || '24- Chevrolet Equinox EV FWD |- | R ||X0C|| 2 || EC3 || 10 || Electricity || All || '24- Chevrolet Equinox EV AWD, '25 Cadillac Optiq AWD |- | Y ||XRJ|| 2 || ETC || 12 || Electricity || All || '24 BrightDrop Zevo 400, Zevo 600,<br> '25-'26 Chevrolet BrightDrop 400/600 AWD |- | Z ||XRJ|| 2 || ETJ || 20 || Electricity || All || '24 BrightDrop Zevo 400, Zevo 600,<br> '25-'26 Chevrolet BrightDrop 400/600 AWD |- | 4 ||X0E|| 2 || EC3 || 10 || Electricity || All || '26- Cadillac Optiq AWD |- | 5 ||X0D|| 1 || EC3 || 10 || Electricity || Rear|| '26- Cadillac Optiq RWD |- | 6 ||XRM|| 1 || ETC || 12 || Electricity || Front || '25-'26 Chevrolet BrightDrop 400/600 FWD |- | 7 ||XRJ|| 2 || EWU || 14 || Electricity || All || '26 Chevrolet BrightDrop 600 AWD |} SB=Standard Range, SC=Extended Range, SD=Max Range ====Engine codes for medium duty trucks 2016-==== GM encodes the engine type in character 8 of the VIN. The following table outlines the various engines encoded there: {| class="wikitable" |- ! VIN !! RPO !! Size !! Type !! Fuel !! Valvetrain !! Engine Family/Notes/Applications |- | B ||L96|| 6.0L || V8 || Gas ||OHV||SFI. Gen IV Chevrolet Small-Block V8. Iron Block & Aluminum Heads. VVT.<br /> '16-'20 Chevy LCF 3500/4500. |- | C ||LC8|| 6.0L || V8 || Gas/CNG or<br>Gas/LPG ||OHV||Bi-Fuel. SFI. Gen IV Chevrolet Small-Block V8. Iron Block & Aluminum Heads. VVT.<br /> '16-'20 Chevy LCF 3500/4500. |- | D ||L8T|| 6.6L || V8 || Gas ||OHV||Gen V Chevrolet Small-Block V8. Iron Block/Aluminum Heads. Direct injection, VVT.<br /> '21-'23 Chevy LCF 3500/4500, '24- Chevy LCF 3500HG/4500HG/5500HG/5500XG. |- | F ||LCB|| 6.7L || I6 Turbo || Diesel ||OHV,<br /> 32 valve||Cummins B Series ISB engine. '22- Chevy LCF 6500XD, '23- Chevy LCF 7500XD. |- | 6 ||I1B|| 5.2L || I4 Turbo || Diesel ||SOHC,<br /> 16 valve||Isuzu 4HK1-TC engine. '17- Chevy LCF 4500HD/XD, 5500XD, '17-'24 Chevy LCF 5500HD,<br /> '18-'21 Chevy LCF 6500XD. |- | 7 ||IZ3|| 3.0L || I4 Turbo || Diesel ||DOHC,<br /> 16 valve||Isuzu 4JJ1-TC engine. '16-'18 Chevy LCF 3500HD. |- |} ====Engine codes for AM General-built Hummer H1 2000-2006==== AM General encodes the engine type in character 4 of the VIN. {| class="wikitable" |- ! VIN !! RPO !! Size !! Type !! Fuel !! Valvetrain !! Engine Family/Notes |- | F || || 6.5L || V8 Turbo || Diesel ||OHV||Detroit Diesel V8 built by GEP (General Engine Products), a subsidiary of AM General.<br> '01-'04 Hummer H1 & '06 H1 Fleet models. |- | P ||LLY|| 6.6L || V8 Turbo || Diesel ||OHV,<br /> 32 valve||Duramax 6600 V8 engine. '06 Hummer H1 Alpha. |- | Z ||L65|| 6.5L || V8 Turbo || Diesel ||OHV||Detroit Diesel V8 built by GM. '00-'01 Hummer H1. |- |} ====Engine codes for Nissan-built vans==== Nissan encodes the engine type in character 4 of the VIN. {| class="wikitable" |- ! VIN !! RPO !! Size !! Type !! Fuel !! Valvetrain !! Engine Family/Notes |- | 3 ||L0A|| 2.0L || I4 || Gas ||DOHC,<br /> 16 valve||Nissan MR20DE engine. SFI. VVT. For the '15-'18 Chevrolet City Express. |- |} ====Engine codes for Navistar-built medium-duty trucks==== Navistar encodes the engine type in character 6 & 7 of the VIN. {| class="wikitable" |- ! VIN !! RPO !! Size !! Type !! Fuel !! Valvetrain !! Engine Family/Notes |- | PV ||L5D|| 6.6L || V8 Turbo || Diesel ||OHV,<br /> 32 valve||Duramax 6600 V8 engine. For the Chevy Silverado Medium Duty '19+. |- |} ==GM factories supplying North America== ===North American GM factories=== [[w:List_of_General_Motors_factories | List of GM Factories]] {| class="wikitable" !VIN code !Location !Notes |- |A |Lakewood Assembly (Lakewood Heights, Atlanta, Georgia) |through 1990 model year |- |A |Artisan Center (Warren, Michigan) |From 2026 model year. Cadillac CT5-V Blackwing "Curated by Cadillac" program only. |- |B |Baltimore Assembly (Baltimore, Maryland) |through 2005 model year |- |B |Reatta Craft Centre/Lansing Craft Centre (Lansing Township, Michigan) |1988-2006 model year (except GM EV1) |- |B |GM Defense-Manufacturing Customer Innovation Center (MCIC) (Concord, North Carolina) |From 2024 model year. Chevrolet Suburban HD (a.k.a. HD SUV) (for US govt. only). |- |C |South Gate Assembly (South Gate, California) |through 1982 model year |- |C |Lansing Car Assembly (Lansing, Michigan) |South assembly line 1985-2004 model year |- |D |Doraville Assembly (Doraville, Georgia) |through 2009 model year |- |E |Linden Assembly (Linden, New Jersey) |through 1991 model year |- |E |Pontiac East Assembly (Pontiac, Michigan) |1988-2009 model year |- |E |AM General Military plant (Mishawaka, Indiana) |1992-2006 Hummer H1 |- |F |Flint Truck Assembly (Flint, Michigan) |since 1953 |- |F |Fairfax II Assembly (Kansas City, Kansas) |since 1988 model year |- |G |Framingham Assembly (Framingham, Massachusetts) |through 1989 model year |- |G |Silao Assembly (Silao, Guanajuato, Mexico) |since 1995 model year |- |H |Buick City Assembly (Flint, Michigan) |through 1999 model year |- |H |AM General Commercial plant (Mishawaka, Indiana) |2003-2009 Hummer H2 |- |H |Navistar Springfield plant (Main Line) (Springfield, Ohio) |2019- Chevrolet Silverado Medium Duty (4500HD/5500HD/6500HD) |- |J |Janesville Assembly (Janesville, Wisconsin) |through 2009 model year |- |J |Lansing Delta Township Assembly (Lansing, Michigan) |since 2007 model year |- |K |Leeds Assembly (Leeds, Kansas City, Missouri) |through 1988 model year |- |K |Linden Assembly (Linden, New Jersey) |from 1994-2005 model year |- |K |Nissan plant (Cuernavaca, Morelos, Mexico) |2015-2018 Chevrolet City Express |- |L |Van Nuys Assembly (Van Nuys, California) |through 1992 model year |- |L |San Luis Potosí Assembly (San Luis Potosí, Mexico) |since 2009 model year |- |M |Lansing Car Assembly (Lansing, Michigan) |through 1984 model year, North assembly line 1985-2005 model year |- |M |Toluca Assembly (Toluca, Mexico state, Mexico) |through 2008 model year |- |N |Norwood Assembly (Norwood, Ohio) |through 1987 model year |- |N |Navistar Springfield plant (Secondary Line) (Springfield, Ohio) |2017- Chevrolet Express cutaway, GMC Savana cutaway |- |P |Pontiac Assembly (Pontiac, Michigan) |through 1988 model year |- |R |Arlington Assembly (Arlington, Texas) |since 1965 [all GM brands]. (R plant code used only by Chevrolet in 1963-64) |- |S |St. Louis Assembly (St. Louis, Missouri) |through 1987 model year |- |S |Spring Hill Manufacturing (Spring Hill, Tennessee) |2002-2007 Saturn Vue & 2009-2010 Chevrolet Traverse only |- |S |Spartan Motors/Shyft Group plant (Charlotte, Michigan) |2016- Chevrolet Low Cab Forward 3500/3500HG/4500/4500HG/5500HG/5500XG/6500XD/7500XD |- |S |Ramos Arizpe Assembly (Ramos Arizpe, Coahuila, Mexico) |since 1982 |- |T |Tarrytown Assembly (North Tarrytown, New York) |through 1996 model year |- |U |Detroit/Hamtramck Assembly (Factory Zero) <br /> (Detroit & Hamtramck, Michigan) |since 1986 model year |- |U |Artisan Center (Warren, Michigan) |From 2025 model year. Cadillac Celestiq only. |- |V |Pontiac Central Assembly (Pontiac, Michigan) |through 1991 model year |- |V |Pontiac East Assembly (Pontiac, Michigan) |through 1985 model year |- |W |Willow Run Assembly (Ypsilanti Township, Michigan) |through 1993 model year |- |X |Fairfax Assembly (Fairfax I) (Kansas City, Kansas) |through 1987 model year |- |Y |Wilmington Assembly (Wilmington, Delaware) |through 2010 model year |- |Z |Fremont Assembly (Fremont, California) |through 1982 model year |- |Z |NUMMI (Fremont, California) |1985-2010 model year |- |Z |Spring Hill Manufacturing (Spring Hill, Tennessee) |since 1991 model year (except Vue & Traverse) |- |Z |Fort Wayne Assembly (Roanoke, Indiana) |since 1988 model year |- |0 |Pontiac West Assembly (Pontiac, Michigan) |through 1994 model year |- |0 |Lansing Craft Centre (Lansing Township, Michigan) |GM EV1 only |- |0 |Lansing Grand River Assembly (Lansing, Michigan) |since 2003 model year |- |0 |Artisan Center (Warren, Michigan) |2024 Cadillac CT5-V Blackwing 20th Anniversary Edition where the final eight digits of the VIN are R0912004 through R0912024 or R0962004 through R0962024 |- |1 |Wentzville Assembly (Wentzville, Missouri) |since 1985 model year |- |1 |Oshawa Car Assembly (Oshawa, Ontario, Canada) |from 1967-1983 model year |- |1 |Oshawa Car Assembly (Line 2 a.k.a. Consolidated Line) (Oshawa, Ontario, Canada) |from 1984-2019 model year; switched to pickup trucks for 2019 model year |- |1 |Oshawa Car Assembly (Oshawa, Ontario, Canada) |Silverado pickup trucks since 2022 model year |- |1 |Oshawa Truck Assembly (Oshawa, Ontario, Canada) |through 2009 model year |- |2 |Moraine Assembly (Moraine, Ohio) |through 2009 model year |- |2 |Sainte-Thérèse Assembly (Boisbriand, Quebec, Canada) |through 2002 model year |- |3 |Detroit Truck & Bus plant (Piquette Ave., Detroit, Michigan) |through 1999 model year |- |3 |Saint-Eustache Bus Plant (Saint-Eustache, Quebec, Canada) |through 1987 model year |- |4 |Orion Assembly (Orion Township, Michigan) |since 1985 model year |- |4 |Scarborough Van Assembly (Scarborough, Ontario, Canada) |through 1993 model year |- |5 |Bowling Green Assembly (Bowling Green, Kentucky) |since 1981 model year |- |6 |Oklahoma City Assembly (Oklahoma City, Oklahoma) |through 2006 model year |- |6 |CAMI plant (Ingersoll, Ontario, Canada) |1990-2022 model year |- |7 |Lordstown Assembly (Warren, Ohio) |from 1979-2019 model year |- |8 |Shreveport Assembly (Shreveport, Louisiana) |through 2012 model year |- |9 |Detroit Assembly (Clark Street, Detroit, Michigan)<br> (Cadillac plant) |from 1979-1988 model year |- |9 |Oshawa Car Assembly (Line 1 a.k.a. Flex Line)<br> (Oshawa, Ontario, Canada) |from 1984-2020 model year |- |9 |KUKA plant (Livonia, Michigan) |2022 model year only (BrightDrop Zevo 600) |- |9 |CAMI plant (Ingersoll, Ontario, Canada) |since 2023 model year (BrightDrop Zevo/Chevrolet BrightDrop) |} ===Non-North American GM factories supplying North America=== {| class="wikitable" !VIN code !Location !Models Sourced |- |A |SAIC-GM plant: Jinqiao, Pudong district, Shanghai, China |2017-2018 Cadillac CT6 Plug-in Hybrid |- |B |Daewoo/GM Daewoo/GM Korea plant: Bupyeong, South Korea |1988-1993 Pontiac LeMans, 2004-2011 Chevrolet Aveo, 2005-2010 Pontiac Wave/G3, 2004-2006 Chevrolet <br /> Epica (Canada), 2013-2022 Chevrolet Trax, Buick Encore, 2021- Chevrolet Trailblazer, 2020- Buick Encore GX, 2024- Buick Envista |- |C |GM Daewoo/GM Korea plant: Changwon, South Korea |2003-2010 Pontiac Matiz/Matiz G2 (Mexico), 2013-2022 Chevrolet Spark, 2024- Chevrolet Trax |- |D |SAIC-GM Dongyue Motors plant: Yantai, Shandong province, China |2016- Buick Envision, 2019-2023 Chevrolet Aveo (Mexico), 2023- Chevrolet Onix (Mexico) |- |G |Opel plant: Gliwice, Poland |2016-2019 Buick Cascada |- |K |Suzuki plant: Kosai, Shizuoka prefecture, Japan |1985-1988 Chevrolet Sprint, 1989-1990 Geo Metro hatchback, 1990-1993 Geo Metro convertible, 1985-1990 Pontiac Firefly (Canada), 1991 & 1994 Pontiac Firefly convertible & sedan (Canada) |- |K |GM Daewoo/GM Korea plant: Kunsan, South Korea |2004-2007 Chevrolet Optra (Canada), 2012-2014 Chevrolet Orlando (Canada) |- |L |Holden plant: Elizabeth, South Australia, Australia |2004-2006 Pontiac GTO, 2008-2009 Pontiac G8, 2011-2017 Chevrolet Caprice PPV, 2014-2017 Chevrolet SS |- |R |Opel plant: Rüsselsheim, Germany |1997-2001 Cadillac Catera |- |T |GM India plant: Talegaon, Maharashtra, India |2017-2021 Chevrolet Spark Classic/Beat (Mexico) |- |V |SAIC-GM Wuhan plant: Wuhan, Hubei province, China |2018-2021 Chevrolet Cavalier (Mexico), 2022- Chevrolet Cavalier Turbo (Mexico) |- |W |Suzuki plant: Iwata, Shizuoka prefecture, Japan |1989-1990 Geo Tracker |- |1 |Opel plant: Rüsselsheim, Germany |2011, 2018-2020 Buick Regal |- |3 |Isuzu plant: Kawasaki, Kanagawa prefecture, Japan |1987-1998 Chevrolet/GMC W5, 1989-1996 Chevrolet/GMC W6, 1984-1996 Chevrolet/GMC W7 |- |5 |Opel plant: Antwerp, Belgium |2008-2009 Saturn Astra |- |7 |Isuzu plant: Fujisawa, Kanagawa prefecture, Japan |1988 Chevrolet Spectrum, 1988 Pontiac Sunburst (Canada), 1989 Geo Spectrum, 1990-1993 Geo Storm,<br /> 1999-2008 Chevrolet/GMC W3500, 1988-2009 Chevrolet/GMC W4, 1999-2009 Chevrolet/GMC W5,<br /> 2000-2004 Chevrolet/GMC WT5500,<br /> 2016- Chevrolet Low Cab Forward 3500HD/4500HD/4500XD/5500HD/5500XD |- |8 |Isuzu plant: Fujisawa, Kanagawa prefecture, Japan |1981-1982 Chevrolet LUV, 1985-1987 Chevrolet Spectrum, 1985-1987 Pontiac Sunburst (Canada),<br /> 1986-1987 Chevrolet/GMC W4 |} ==GM WMIs== {| class=wikitable !WMI !Marque !Country |- |1G1||rowspan=57|Chevrolet||United States |- |1G8||United States (MPV 1981-1986) |- |1GA||United States (bus [van with more than 3 rows of seats]) |- |1GB||United States (incomplete vehicle) |- |1GC||United States (truck) |- |1GN||United States (MPV 1987-) |- |1HA||United States (Express incomplete vehicle made by Navistar) |- |1HT||United States ([[w:Chevrolet Silverado#Medium duty version_(4500HD,_5500HD,_6500HD,_and_International_CV)|Silverado Medium Duty]] incomplete vehicle made by Navistar) |- |1Y1||United States (made by NUMMI) |- |2C1||Canada (car made by CAMI) |- |2CN||Canada (SUV made by CAMI - 1998-2011) |- |2G1||Canada |- |2G5||Canada (truck - Chevrolet BrightDrop '25) |- |2G8||Canada (MPV 1981-1986) |- |2GA||Canada (bus [van with more than 3 rows of seats]) |- |2GB||Canada (incomplete vehicle) |- |2GC||Canada (truck - includes Chevrolet BrightDrop '26) |- |2GN||Canada (MPV 1987-) |- |3G1||Mexico |- |3GC||Mexico (truck) |- |3GN||Mexico (MPV) |- |3N6||Mexico (Truck - City Express made by Nissan) |- |4G1||United States (made by Genasys L.C.) |- |4KB||United States (W-Series incomplete vehicle made by GM - through 2009) |- |4W1||United States (MPV - Chevrolet Suburban HD made for US govt. in Concord, NC) |- |54D||United States (incomplete vehicle made by Spartan Motors/The Shyft Group) |- |6G1||Australia (2011-2013 Caprice PPV) |- |6G3||Australia (2014-2017 Caprice PPV & SS performance sedan) |- |ADM||South Africa |- |J81||Japan (car made by Isuzu) |- |J8B||Japan (incomplete vehicle made by Isuzu - through 2009) |- |J8Z||Japan (LUV pickup made by Isuzu) |- |JAL||Japan (incomplete vehicle made by Isuzu - 2016+) |- |JG1||Japan (car made by Suzuki) |- |KL1||South Korea (car) |- |KL7||South Korea (MPV - 2012+) |- |KL8||South Korea (Spark) |- |LSF||China (S-10 Max made by SAIC-Maxus - Mexico only) |- |LSG||China (SAIC-GM) |- |LSH||China (Express Max made by SAIC-Maxus - Mexico only) |- |LZW||China (SAIC-GM-Wuling) |- |MA6||India |- |MJB||Indonesia (GM Indonesia) |- |MK3||Indonesia (SGMW Motor Indonesia) |- |MMM||Thailand |- |XUF||Russia (GM Russia - St. Petersburg plant) |- |XUU||Russia (Chevrolet Korea models made by Avtotor in Kaliningrad) |- |XWB||Uzbekistan (GM Uzbekistan, UzAuto Motors) |- |XWF||Russia (Chevrolet Tahoe & Trailblazer [GMT360] made by Avtotor in Kaliningrad) |- |X9L||Russia (GM-AvtoVAZ) |- |8AG||Argentina |- |8GG||Chile |- |8LD||Ecuador |- |8Z1||Venezuela |- |9BG||Brazil |- |93C||Brazil |- |9GC||Colombia |- |J81||rowspan=6|Geo||Japan (car made by Isuzu) |- |JG1||Japan (car made by Suzuki) |- |JGC||Japan (SUV made by Suzuki) |- |1Y1||United States (car made by NUMMI) |- |2C1||Canada (car made by CAMI) |- |2CN||Canada (SUV made by CAMI - 1990-1997) |- |KLA||rowspan=3|GM Daewoo/<br />GM Korea||South Korea (Bupyeong & Kunsan plants) |- |KLY||South Korea (Changwon plant) |- |5GD||United States (G2X) |- |1G2||rowspan=12|Pontiac||United States |- |1G5||United States (incomplete vehicle - for '89-'90 Turbo Grand Prix by ASC/McLaren) |- |1GM||United States (MPV) |- |2CK||Canada (2006-2009 Torrent made by CAMI) |- |2G2||Canada |- |2G7||Canada (US market 1983 Pontiac Parisienne) |- |3G2||Mexico |- |3G7||Mexico (MPV: 2001-2005 Aztek) |- |4G2||United States (made by Genasys L.C.) |- |5Y2||United States (made by NUMMI) |- |6G2||Australia |- |KL2||South Korea (made by Daewoo/GM Daewoo) |- |1G7||rowspan=6|Pontiac<br />(Canada only)||United States |- |2C7||Canada (car made by CAMI) |- |2CG||Canada (SUV made by CAMI) |- |2G7||Canada |- |J87||Japan (car made by Isuzu) |- |JG7||Japan (car made by Suzuki) |- |KL7||Passport<br />(Canada only)||South Korea (car made by Daewoo) |- |J87||rowspan=3|Asüna<br />(Canada only)||Japan (car made by Isuzu) |- |KL7||South Korea (car made by Daewoo) |- |2CG||Canada (SUV made by CAMI) |- |1G3||rowspan=3|Oldsmobile||United States |- |1GH||United States (MPV/SUV) |- |2G3||Canada |- |1G4||rowspan=9|Buick||United States |- |2G4||Canada |- |3G4||Mexico |- |3G5||Mexico (MPV) |- |4GL||United States (incomplete vehicle) |- |5GA||United States (MPV) |- |KL4||South Korea (MPV) |- |LRB||China (SAIC-GM) |- |W04||Germany & Poland |- |KLA||Alpheon||South Korea (2011-2015) |- |1G6||rowspan=10|Cadillac||United States |- |1GE||United States (incomplete vehicle) |- |1GY||United States (SUV) |- |2G6||Canada |- |2GE||Canada (incomplete vehicle) |- |3GY||Mexico (SUV) |- |LRE||China (SAIC-GM) |- |W06||Germany |- |XWF||Russia (made by Avtotor in Kaliningrad) |- |YSC||Sweden |- |1G8||rowspan=4|Saturn||United States |- |3GS||Mexico (SUV) |- |5GZ||United States (MPV/SUV) |- |W08||Belgium |- |1G0||rowspan=22|GMC||United States (bus 1981-1986) |- |1G5||United States (MPV 1981-1986) |- |1GD||United States (incomplete vehicle) |- |1GJ||United States (bus 1987-) |- |1GK||United States (MPV 1987-) |- |1GT||United States (truck) |- |2CK||Canada (1990-1991 Tracker made by CAMI - Canada only) |- |2CT||Canada (2010-2011 Terrain made by CAMI) |- |2G0||Canada (bus [van with more than 3 rows of seats] 1981-1986) |- |2G5||Canada (MPV 1981-1986) |- |2GD||Canada (incomplete vehicle) |- |2GH||Canada (transit bus) |- |2GJ||Canada (bus [van with more than 3 rows of seats] 1987-) |- |2GK||Canada (MPV 1987-) |- |2GT||Canada (truck) |- |3GK||Mexico (SUV) |- |3GT||Mexico (truck) |- |4KD||United States (W-Series incomplete vehicle made by GM - through 2009) |- |7GZ||United States (incomplete vehicle made by Navistar) |- |J8D||Japan (incomplete vehicle made by Isuzu - through 2009) |- |JGT||Japan (SUV made by Suzuki - Canada only) |- |KL6||South Korea (Middle East market Terrain '08-'10) |- |4GD||WhiteGMC||United States (1988-1989 Brigadier made by GM) |- |137||rowspan=6|Hummer||United States (H1 made by AM General) |- |5GN||United States (H3T) |- |5GR||United States (H2 made by AM General) |- |5GT||United States (H3) |- |ADM||South Africa (H3) |- |XWF||Russia (H2 & H3 made by Avtotor in Kaliningrad) |- |4G5||General Motors||United States (EV1) |- |2G5||rowspan=2|BrightDrop||Canada (Truck 2023-2024) |- |5G5||United States (Truck made by Kuka AG - 2022 only) |- |5G2||rowspan=2|Cruise||United States (car) (Cruise AV) |- |5G3||United States (MPV) (Cruise Origin AV) |- |YS3||rowspan=4|Saab||Sweden |- |JF4||Japan (9-2X made by Subaru) |- |3G0||Mexico (9-4X) |- |5S3||United States (9-7X) |- |W0L||rowspan=19|Opel/Vauxhall||Germany & the rest of Europe (2017 and earlier) |- |W0V||Germany & the rest of Europe (2018 and later) & Opel Ampera-e Mid-2017 - 2019 |- |W0L||when plant code is H: Thailand (Zafira A) |- |W0L||when plant code is 0: South Korea (Antara) or B: South Korea (Antara, Mokka A, Mokka X [A]) |- |W0L||when plant code is C: South Korea (Opel Karl/Vauxhall Viva) |- |W0V||when plant code is B: South Korea (Mokka X [A]) or C: South Korea (Opel Karl/Vauxhall Viva) |- |SCC||UK (Opel Lotus Omega made by Lotus) |- |SED||UK (made by IBC Vehicles) |- |TW8||Portugal |- |VF1||France (Arena made by Renault) |- |VN1||France (Movano A made by Renault at SOVAB plant in Batilly, France) |- |VSX||Spain |- |XUF||Russia (Opel made by GM Russia - St. Petersburg plant) |- |XWF||Russia (Opel made by Avtotor in Kaliningrad) |- |1G0||United States (Opel GT, Opel/Vauxhall Ampera, Opel Ampera-e Early - Mid-2017) |- |4GD||United States (Sintra) |- |ADM||South Africa |- |JAA||Japan (Opel Campo made by Isuzu) |- |JAC||Japan (Monterey made by Isuzu) |- |SKA||rowspan=4|Vauxhall Motors||UK |- |SCC||UK (Vauxhall Lotus Carlton made by Lotus) |- |6G1||Australia (Vauxhall Monaro & VXR8 made by Holden) |- |JAA||Japan (Vauxhall Brava made by Isuzu) |- |SKF||rowspan=2|Bedford Vehicles||UK |- |JAA||Japan (Bedford Brava made by Isuzu) |- |6G1||rowspan=18|Holden||Australia (2003-2017) |- |6H8||Australia (1989-2002) |- |JAA||Japan (Rodeo pickup [TF] made by Isuzu) |- |JAC||Japan (Jackaroo/Monterey made by Isuzu) |- |JSA||Japan (YG Cruze made by Suzuki) |- |KL3||South Korea |- |MMM||Thailand ('09-'11 Colorado pickup [RC] made by GM Thailand) |- |MMU||Thailand ('13-'20 Colorado pickup [RG], '13-'16 Colorado 7, '17-'20 Trailblazer made by GM Thailand) |- |MPA||Thailand ('04-'08 Rodeo pickup [RA] made by Isuzu Thailand) |- |SED||UK (1st gen. Frontera made by IBC Vehicles) |- |W0L||Germany & the rest of Europe (2017 and earlier) |- |W0L||when plant code is H: Thailand (Zafira A) |- |W0V||Germany & the rest of Europe (2018-2020) |- |1GH||United States (Acadia) |- |3G0||Mexico (Equinox) |- |3GM||Mexico (Suburban) |- |4S2||United States (2nd gen. Frontera made by [[w:Subaru Isuzu Automotive|SIA]]) |- |5G8||United States (Volt) |- |1GG||rowspan=4|Isuzu||United States (Truck - Hombre & i-Series made by GM) |- |4GT||United States (H-Series & T-Series incomplete vehicle made by GM - through 2009) |- |4KL||United States (N-Series incomplete vehicle made by GM - through 2009) |- |4NU||United States (MPV/SUV - Ascender made by GM) |- |W0L||Subaru||Thailand [plant code H] (Traviq made by GM Thailand for export to Japan) |- |4G3||Toyota||United States (Cavalier made by GM for export to Japan) |- |3GP||Honda||Mexico (MPV/SUV: 2024- Prologue made by GM) |- |4W5||Acura||United States (MPV/SUV: 2024 ZDX EV made by GM) |} {{BookCat}} 8v48e7zp7q4kar3nl4chic1jxnei2wq 4654434 4654432 2026-07-14T14:31:11Z JustTheFacts33 3434282 /* Series 1981-1999 Light Duty Truck & Multi-Purpose Passenger Vehicle */ 4654434 wikitext text/x-wiki {{Vehicle Identification Numbers (VIN codes)/Warning}}{{clear}} It is the tenth digit that gives you the model year for GM. I've been working at a Chevy dealer for years running codes/vins. For example (my examples only apply to 2001-2015 gm vehicles) Remember 10th digit from the beginning, (left to right). 2001... 1, 2002...2, 2003...3, etc., 2009...9. After 2009, the tenth digit was given a letter 2010... A, 2011...B, 2012...C, 2013...D, 2014...E, 2015...F, Etc... We have another 20 years worth of letters. Thanks for reading. You can always check your model year by looking in your drivers side door jamb and it will give you model year. If it was assembled in July or later, the model year is probably a year later than the calendar year of the manufacturing date listed. ==American GM== ===American VIN format 1981-1984 Passenger Car=== GM's VIN format is as follows: <table border=1 style="margin:auto;"> <tr> <th>Position</th> <th>Sample</th><th></th><th></th><th>Description</th> </tr><tr> <td>1</td> <td>1</td><td></td><td></td><td rowspan=3>[[#GM WMIs|World Manufacturer Identifier]]</td> </tr><tr> <td>2</td> <td>G</td><td></td><td></td></tr><tr> <td>3</td> <td>6</td><td></td><td></td></tr><tr> <td>4</td> <td>A</td><td></td><td></td><td>[[#American restraint types 1981-1984|Restraint type]]</td> </tr><tr> <td>5</td> <td>M</td><td></td><td></td><td>[[#Car Line & Series Code 1981-1984|Car Line & Series Code]]</td> </tr><tr> <td>6</td> <td>4</td><td></td><td></td><td rowspan=2>[[#Body style codes 1981-1986|Body style]]</td> </tr><tr> <td>7</td> <td>7</td><td></td><td></td><td> </td> </tr><tr> <td>8</td> <td>8</td><td></td><td></td><td>[[#American engine codes 1981-|Engine type]]</td> </tr><tr> <td>9</td> <td>0</td><td></td><td></td><td>[[Vehicle Identification Numbers (VIN codes)/Check digit |Check digit]]</td> </tr><tr> <td>10</td> <td>E</td><td></td><td></td><td>[[Vehicle Identification Numbers (VIN codes)/Model year|Model year]]</td> </tr><tr> <td>11</td> <td>9</td><td></td><td></td><td>[[#GM factories supplying North America|Factory ID]]</td> </tr><tr> <td>12</td> <td>1</td><td></td><td></td><td rowspan=6>Sequential number </tr><tr> <td>13</td> <td>2</td><td></td><td></td></tr><tr> <td>14</td> <td>3</td><td></td><td></td></tr><tr> <td>15</td> <td>7</td><td></td><td></td></tr><tr> <td>16</td> <td>6</td><td></td><td></td></tr><tr> <td>17</td> <td>2</td><td></td><td></td> </table> ====American restraint types 1981-1984==== The restraint type is specified as character four of the American GM VIN for passenger cars. {| border=1 style="margin:auto;" !VIN Code !Description |- |A||Manual Seatbelts only - No Passive Restraint |} ====Car Line & Series Code 1981-1984==== The Car Line & Series Code is specified as character five of the American GM VIN for passenger cars. {| border=1 style="margin:auto;" !List of GM platforms !Car Line & <br> Series Code !:Category:General Motors vehicles|Model |- |rowspan=19|GM A platform - rear-wheel drive |T||Chevrolet Malibu 1981 |- |W||Chevrolet Malibu Classic 1981 |- |Z||Chevrolet Monte Carlo 1981 |- |D||Pontiac LeMans 1981 |- |F||Pontiac Grand LeMans 1981 |- |J||Pontiac Grand Prix 1981 |- |K||Pontiac Grand Prix LJ 1981 |- |P||Pontiac Grand Prix Brougham 1981 |- |G||Oldsmobile Cutlass sedan, Cutlass Cruiser wagon 1981 |- |H||Oldsmobile Cutlass Cruiser ''Brougham'' wagon 1981 |- |K||Oldsmobile Cutlass Calais coupe 1981 |- |M||Oldsmobile Cutlass Supreme ''Brougham'' 1981 |- |R||Oldsmobile Cutlass Supreme coupe, Cutlass LS sedan 1981 |- |E||Buick Century wagon 1981 |- |H||Buick Century sedan, Estate wagon 1981 |- |J||Buick Regal 1981 |- |K||Buick Regal ''Sport'' 1981 |- |L||Buick Century ''Limited'' 1981 |- |M||Buick Regal ''Limited'' 1981 |- |rowspan=10|GM A platform - front-wheel drive |W||Chevrolet Celebrity 1982-1984 |- |F||Pontiac 6000 1982-1984 |- |G||Pontiac 6000 ''LE'' 1982-1984 |- |H||Pontiac 6000 ''STE'' 1983-1984 |- |G||Oldsmobile Cutlass Ciera 1982 |- |J||Oldsmobile Cutlass Ciera ''LS'' 1982-1984, Cutlass Cruiser ''LS'' 1984 |- |M||Oldsmobile Cutlass Ciera ''Brougham'' 1982-1984 |- |G||Buick Century ''T-Type'' 1983-1984 |- |H||Buick Century ''Custom'' 1982-1984 |- |L||Buick Century ''Limited'' 1982-1984 |- |rowspan=19|GM B platform |D||Chevrolet Bel Air 1981 (Canada only) |- |L||Chevrolet Impala 1981-1984 |- |N||Chevrolet Caprice Classic 1981-1984 |- |F||Pontiac Laurentian 1981 (Canada only) |- |L||Pontiac Catalina 1981, Parisienne 1984 |- |L||Pontiac Parisienne 1982-1983 (Canada only) |- |N||Pontiac Bonneville 1981 |- |N||Pontiac Parisienne 1981, Parisienne Brougham 1982-1983 (Canada only) |- |R||Pontiac Bonneville Brougham 1981 |- |T||Pontiac Parisienne Brougham 1984 |- |L||Oldsmobile Delta 88 1981-1983 |- |N||Oldsmobile Delta 88 Royale 1981-1984 |- |P||Oldsmobile Custom Cruiser 1981-1984 |- |V||Oldsmobile Delta 88 Royale Brougham LS 1984 |- |Y||Oldsmobile Delta 88 Royale Brougham 1981-1984 |- |N||Buick Le Sabre 1981, Le Sabre ''Custom'' 1982-1984 |- |P||Buick Le Sabre ''Limited'' 1981-1984 |- |R||Buick Le Sabre Estate Wagon 1981-1983 |- |V||Buick Electra Estate Wagon 1981-1984 |- |rowspan=13|GM C platform - rear-wheel drive |G||Oldsmobile 98 Regency 1984 |- |H||Oldsmobile 98 Regency Brougham 1984 |- |V||Oldsmobile 98 Luxury 1981 |- |W||Oldsmobile 98 Regency Brougham 1982-1983 |- |X||Oldsmobile 98 Regency 1981-1983 |- |R||Buick Electra Limited 1984 |- |U||Buick Electra Park Avenue 1984 |- |W||Buick Electra Park Avenue 1981-1983 |- |X||Buick Electra Limited 1981-1983 |- |B||Cadillac Fleetwood Brougham 1981-1983 |- |D||Cadillac DeVille 1981-1983 |- |M||Cadillac DeVille 1984 |- |W||Cadillac Fleetwood Brougham 1984 |- |rowspan=1|GM D platform - rear-wheel drive |F||Cadillac Fleetwood Limousine 1981-1984 |- |rowspan=4|GM E platform |Z||Oldsmobile Toronado Brougham 1981-1984 |- |Y||Buick Riviera T-Type 1981-1984 |- |Z||Buick Riviera 1981-1984 |- |L||Cadillac Eldorado 1981-1984 |- |rowspan=7|GM F platform |P||Chevrolet Camaro Sport Coupe 1981-1984 |- |S||Chevrolet Camaro Berlinetta 1981-1984 |- |S||Pontiac Firebird 1981-1984 |- |T||Pontiac Firebird ''Esprit'' 1981 |- |V||Pontiac Firebird ''Formula'' 1981 |- |W||Pontiac Firebird ''Trans Am'' 1981-1984 |- |X||Pontiac Firebird ''Trans Am'' Turbo Special Edition 1981, Firebird ''S/E'' 1982-1984 |- |rowspan=15|GM G platform - rear-wheel drive |W||Chevrolet Malibu Classic 1982, Malibu 1983 |- |Z||Chevrolet Monte Carlo 1982-1984 |- |J||Pontiac Grand Prix 1982-1984 |- |K||Pontiac Grand Prix LJ 1982-1983, Grand Prix LE 1984 |- |N||Pontiac Bonneville G 1982-1984 |- |P||Pontiac Grand Prix Brougham 1982-1984 |- |R||Pontiac Bonneville G Brougham 1982-1984 |- |S||Pontiac Bonneville G ''LE'' 1984 |- |H||Oldsmobile Cutlass Cruiser wagon 1982-1983 |- |K||Oldsmobile Cutlass Calais coupe 1982-1984 |- |M||Oldsmobile Cutlass Supreme ''Brougham'' 1982-1984 |- |R||Oldsmobile Cutlass Supreme coupe & sedan 1982-1984 |- |J||Buick Regal 1982-1984 |- |K||Buick Regal ''Sport'' 1982, Regal ''T-Type'' 1983-1984 |- |M||Buick Regal ''Limited'' 1982-1984 |- |rowspan=13|GM J platform |C||Chevrolet Cavalier 1983-1984 |- |D||Chevrolet Cavalier 2-d/4-d/wagon 1982, Cavalier CS 1983-1984 |- |E||Chevrolet Cavalier 3-door hatchback 1982, Cavalier CS 3-door hatchback 1983, Cavalier Type 10 2-d/3-d/Convertible 1984 |- |B||Pontiac J2000 1982, 2000 1983, 2000 Sunbird 1984 |- |C||Pontiac J2000 LE 1982, 2000 LE 1983, 2000 Sunbird LE Convertible 1983, 2000 Sunbird LE 1984 |- |D||Pontiac J2000 SE 1982, 2000 SE 1983, 2000 Sunbird SE 1984 |- |E||Pontiac J2000 S 1982 |- |C||Oldsmobile Firenza Base model 1982-1984, Firenza S 1982-1984 |- |D||Oldsmobile Firenza LX 1982-1984, Firenza SX 1982-1984 |- |E||Buick Skyhawk T-Type 1983-1984 |- |S||Buick Skyhawk Custom 1982-1984 |- |T||Buick Skyhawk Limited 1982-1984 |- |G||Cadillac Cimarron 1982-1984 |- |rowspan=1|GM K platform |S||Cadillac Seville 1981-1984 |- |rowspan=3|GM P platform ||E||Pontiac Fiero ''Coupe'' 1984 |- ||F||Pontiac Fiero ''SE'' 1984 |- ||M||Pontiac Fiero ''Sport coupe'' 1984 |- |rowspan=6|GM T platform - rear-wheel drive |B||Chevrolet Chevette 1981-1983, Chevette CS 1984 |- |J||Chevrolet Chevette Scooter 1981-1983, Chevette 1984 |- |B||Pontiac Acadian 1981-1984 (Canada only) |- |J||Pontiac Acadian S 1981-1982, Pontiac Acadian Scooter 1983-1984 (Canada only) |- |L||Pontiac T1000 1982, 1000 1983-1984 |- |M||Pontiac T1000 1981 |- |rowspan=10|GM X platform |H||Chevrolet Citation 2-door coupe 1982-1983, Citation II 2-door coupe 1984 |- |X||Chevrolet Citation hatchback 1981-1983, Citation II hatchback 1984 |- |T||Pontiac Phoenix SJ 1982-1983, Phoenix SE 1984 |- |Y||Pontiac Phoenix 1981-1984 |- |Z||Pontiac Phoenix LJ 1981-1983, Phoenix LE 1984 |- |B||Oldsmobile Omega 1981-1984 |- |E||Oldsmobile Omega Brougham 1981-1984 |- |B||Buick Skylark 1981-1982, Skylark Custom 1983-1984 |- |C||Buick Skylark Limited 1981-1984 |- |D||Buick Skylark Sport 1981-1982, Skylark T-Type 1983-1984 |- |rowspan=1|GM Y platform |Y||Chevrolet Corvette 1981-1982, 1984 |} ===American VIN format 1985-1986 Passenger Car=== GM has traditionally encoded the platform as the fourth character of the VIN. Other content includes an engine code and manufacturing plant. GM's VIN format is as follows: <table border=1 style="margin:auto;"> <tr> <th>Position</th> <th>Sample</th><th></th><th></th><th>Description</th> </tr><tr> <td>1</td> <td>1</td><td></td><td></td><td rowspan=3>[[#GM WMIs|World Manufacturer Identifier]]</td> </tr><tr> <td>2</td> <td>G</td><td></td><td></td></tr><tr> <td>3</td> <td>6</td><td></td><td></td></tr><tr> <td>4</td> <td>D</td><td></td><td></td><td>[[#Platform & Series Codes 1985- Passenger Car|Platform]]</td> </tr><tr> <td>5</td> <td>W</td><td></td><td></td><td>[[#Platform & Series Codes 1985- Passenger Car|Series Code]]</td> </tr><tr> <td>6</td> <td>6</td><td></td><td></td><td rowspan=2>[[#Body style codes 1981-1986|Body style]]</td> </tr><tr> <td>7</td> <td>9</td><td></td><td></td><td> </td> </tr><tr> <td>8</td> <td>Y</td><td></td><td></td><td>[[#American engine codes 1981-|Engine type]]</td> </tr><tr> <td>9</td> <td>0</td><td></td><td></td><td>[[Vehicle Identification Numbers (VIN codes)/Check digit |Check digit]]</td> </tr><tr> <td>10</td> <td>G</td><td></td><td></td><td>[[Vehicle Identification Numbers (VIN codes)/Model year|Model year]]</td> </tr><tr> <td>11</td> <td>9</td><td></td><td></td><td>[[#GM factories supplying North America|Factory ID]]</td> </tr><tr> <td>12</td> <td>1</td><td></td><td></td><td rowspan=6>Sequential number </tr><tr> <td>13</td> <td>2</td><td></td><td></td></tr><tr> <td>14</td> <td>3</td><td></td><td></td></tr><tr> <td>15</td> <td>7</td><td></td><td></td></tr><tr> <td>16</td> <td>6</td><td></td><td></td></tr><tr> <td>17</td> <td>2</td><td></td><td></td> </table> ====Body style codes 1981-1986==== The Body type is specified as characters six and seven of the American GM VIN for passenger cars from 1981-1986. {| border=1 style="margin:auto;" !VIN !Description |- |11,27,37,47,57,97||Two-Door Coupe/Sedan |- |07,08,77,87||Two-Door Hatchback |- |67||Two-Door Convertible |- |19,69||Four-Door Sedan |- |68||Four-Door Hatchback |- |23||Four-Door Limousine, 8-passenger ("Limousine") |- |33||Four-Door Limousine w/Center Partition, 7-passenger ("Formal Limousine") |- |35||Four-Door Station Wagon |} ===American VIN format 1987- Passenger Car=== GM has traditionally encoded the platform as the fourth character of the VIN. Other content includes an engine code and manufacturing plant. GM's VIN format is as follows: <table border=1 style="margin:auto;"> <tr> <th>Position</th> <th>Sample</th><th></th><th></th><th>Description</th> </tr><tr> <td>1</td> <td>1</td><td></td><td></td><td rowspan=3>[[#GM WMIs|World Manufacturer Identifier]]</td> </tr><tr> <td>2</td> <td>G</td><td></td><td></td></tr><tr> <td>3</td> <td>6</td><td></td><td></td></tr><tr> <td>4</td> <td>D</td><td></td><td></td><td>[[#Platform & Series Codes 1985- Passenger Car|Platform]]</td> </tr><tr> <td>5</td> <td>M</td><td></td><td></td><td>[[#Platform & Series Codes 1985- Passenger Car|Series Code]]</td> </tr><tr> <td>6</td> <td>5</td><td></td><td></td><td>[[#Body style codes 1987- Passenger Car|Body style]]</td> </tr><tr> <td>7</td> <td>7</td><td></td><td></td><td>[[#American restraint types 1987-|Restraint type]]</td> </tr><tr> <td>8</td> <td>N</td><td></td><td></td><td>[[#American engine codes 1981-|Engine type]]</td> </tr><tr> <td>9</td> <td>0</td><td></td><td></td><td>[[Vehicle Identification Numbers (VIN codes)/Check digit |Check digit]]</td> </tr><tr> <td>10</td> <td>3</td><td></td><td></td><td>[[Vehicle Identification Numbers (VIN codes)/Model year|Model year]]</td> </tr><tr> <td>11</td> <td>0</td><td></td><td></td><td>[[#GM factories supplying North America|Factory ID]]</td> </tr><tr> <td>12</td> <td>1</td><td></td><td></td><td rowspan=6>Sequential number </tr><tr> <td>13</td> <td>2</td><td></td><td></td></tr><tr> <td>14</td> <td>3</td><td></td><td></td></tr><tr> <td>15</td> <td>7</td><td></td><td></td></tr><tr> <td>16</td> <td>6</td><td></td><td></td></tr><tr> <td>17</td> <td>2</td><td></td><td></td> </table> ===American VIN format 1981-2009 Light Duty Truck & Multi-Purpose Passenger Vehicle=== GM's VIN format is as follows: <table border=1 style="margin:auto;"> <tr> <th>Position</th> <th>Sample</th><th></th><th></th><th>Description</th> </tr><tr> <td>1</td> <td>1</td><td></td><td></td><td rowspan=3>[[#GM WMIs|World Manufacturer Identifier]]</td> </tr><tr> <td>2</td> <td>G</td><td></td><td></td></tr><tr> <td>3</td> <td>K</td><td></td><td></td></tr><tr> <td>4</td> <td>E</td><td></td><td></td><td>[[#GVWR/Brake System 1981-2009 Light Duty Truck & Multi-Purpose Passenger Vehicle|GVWR/Brake System]]</td> </tr><tr> <td>5</td> <td>K</td><td></td><td></td><td>[[#Line & Chassis Type 1981-1999 Light Duty Truck & Multi-Purpose Passenger Vehicle|Line & Chassis Type for 1981-1999]]</td> </tr><tr> <td>5</td> <td>K</td><td></td><td></td><td>[[#Line & Chassis Type 2000-2009 Light Duty Truck & Multi-Purpose Passenger Vehicle|Line & Chassis Type for 2000-2009]]</td> </tr><tr> <td>6</td> <td>1</td><td></td><td></td><td>[[#Series 1981-1999 Light Duty Truck & Multi-Purpose Passenger Vehicle|Series]]</td> </tr><tr> <td>7</td> <td>8</td><td></td><td></td><td>[[#Body style codes 1981-2009 Light Duty Truck & Multi-Purpose Passenger Vehicle|Body type]]</td> </tr><tr> <td>8</td> <td>K</td><td></td><td></td><td>[[#Engine codes for light trucks|Engine type]]</td> </tr><tr> <td>9</td> <td>0</td><td></td><td></td><td>[[Vehicle Identification Numbers (VIN codes)/Check digit |Check digit]]</td> </tr><tr> <td>10</td> <td>N</td><td></td><td></td><td>[[Vehicle Identification Numbers (VIN codes)/Model year|Model year]]</td> </tr><tr> <td>11</td> <td>J</td><td></td><td></td><td>[[#GM factories supplying North America|Factory ID]]</td> </tr><tr> <td>12</td> <td>1</td><td></td><td></td><td rowspan=6>Sequential number </tr><tr> <td>13</td> <td>2</td><td></td><td></td></tr><tr> <td>14</td> <td>3</td><td></td><td></td></tr><tr> <td>15</td> <td>7</td><td></td><td></td></tr><tr> <td>16</td> <td>6</td><td></td><td></td></tr><tr> <td>17</td> <td>2</td><td></td><td></td> </table> ====GVWR/Brake System 1981-2009 Light Duty Truck & Multi-Purpose Passenger Vehicle==== The GVWR/Brake System is specified as character four of the American GM VIN for light trucks. {| border=1 style="margin:auto;" !VIN !GVWR Range in lbs. & Weight Class !Brake System |- |A||Class A: 0-3,000||Hydraulic |- |B||Class B: 3,001-4,000||Hydraulic |- |C||Class C: 4,001-5,000||Hydraulic |- |D||Class D: 5,001-6,000||Hydraulic |- |E||Class E: 6,001-7,000||Hydraulic |- |F||Class F: 7,001-8,000||Hydraulic |- |G||Class G: 8,001-9,000||Hydraulic |- |H||Class H: 9,001-10,000||Hydraulic |- |J||Class 3: 10,001-14,000||Hydraulic |- |K||Class 4: 14,001-16,000||Hydraulic |- |L||Class 5: 16,001-19,500||Hydraulic |} ====Line & Chassis Type 1981-1999 Light Duty Truck & Multi-Purpose Passenger Vehicle==== The Line & Chassis Type is specified as character five of the American GM VIN for light trucks. {| border=1 style="margin:auto;" !VIN !Description |- |B||Special Body Buick, Chevrolet |- |C||Chevy full-size pickups & chassis cabs 2wd (C-series) '81-'86, '88-'99,<br /> GMC full-size pickups & chassis cabs 2wd (C-series) '81-'86, Sierra 2wd (C-series) '88-'99 |- |C||Chevy C10 Blazer 2wd ('81-'82), Tahoe 4-door 2wd ('95-'99), Suburban 2wd ('81-'86, '92-'99),<br /> GMC C1500 Jimmy 2wd ('81-'82), Yukon 4-door 2wd ('95-'99), Suburban 2wd ('81-'86, '92-'99) |- |D||Military Truck 4wd |- |E||'91-'97 Geo Tracker 2wd, '98-'99 Chevrolet Tracker 2wd |- |E||'97-'98 Chevy S-10 EV |- |G||Chevy/GMC full-size vans (Chevy Van, Sportvan, Express, GMC Vandura, Rally Van, Savana) |- |H||'93-'96 Chevy G30HD/GMC G3500HD cutaway van |- |H||Cadillac chassis cutaway/special body (Based on Rwd Fleetwood '93-'96, Fwd DeVille '97-'99) |- |J||'89-'97 Geo Tracker 4wd, '98-'99 Chevrolet Tracker 4wd |- |K||Chevy full-size pickups & chassis cabs 4wd (K-series) '81-'86, '88-'99,<br /> GMC full-size pickups & chassis cabs 4wd (K-series) '81-'86, Sierra 4wd (K-series) '88-'99 |- |K||Chevy K10/K5 Blazer 4wd ('81-'86, '92-'94), Tahoe 4wd ('95-'99), Suburban 4wd ('81-'86, '92-'99),<br /> GMC K1500 Jimmy 4wd ('81-'86), Yukon 4wd ('92-'99), Suburban 4wd ('81-'86, '92-'99), '99 Cadillac Escalade 4wd |- |L||Chevy Luv 2wd '81-'82 |- |L||Chevy Astro/GMC Safari 4wd '90-'99 |- |M||Chevy Astro/GMC Safari 2wd '85-'99 |- |P||Forward Control (includes Chevrolet Step-Van/GMC Value-Van, Chevy/GMC P-Series) |- |R||Chevy Luv 4wd '81-'82 |- |R||Chevy full-size pickups & chassis cabs 2wd (R-series), Suburban 2wd '87-'91,<br /> GMC full-size pickups & chassis cabs 2wd (R-series), Suburban 2wd '87-'91 |- |S||Chevy S-10 2wd ('82-'99), S-10 Blazer 2wd ('83-'94), Blazer 2wd ('95-'99), GMC S-15 2wd ('82-'90), Sonoma 2wd ('91-'99),<br> S-15 Jimmy 2wd ('83-'91), Jimmy 2wd ('92-'99), Isuzu Hombre 2wd ('96-'99) |- |T||Chevy S-10 4wd ('83-'99), S-10 Blazer 4wd ('83-'94), Blazer 4wd ('95-'99), GMC S-15 4wd ('83-'90), Sonoma 4wd ('91-'99), Syclone 4wd ('91),<br> S-15 Jimmy 4wd ('83-'91), Jimmy 4wd ('92-'99), Typhoon 4wd ('92-93), Envoy 4wd ('98-'99), Oldsmobile Bravada 4wd ('91-'94, '96-'99),<br> Isuzu Hombre 4wd ('98-'99) |- |U||Regular length All-Purpose Vehicle ('90-'99 U-body fwd minivans) |- |V||Chevy full-size pickups & chassis cabs 4wd (V-series), V10/V1500 Blazer 4wd, Suburban 4wd '87-'91,<br /> GMC full-size pickups & chassis cabs 4wd (V-series), V1500 Jimmy 4wd, Suburban 4wd '87-'91 |- |W||'81-'87 Chevy El Camino, GMC Caballero |- |X||Extended length All-Purpose Vehicle ('97-'99 U-body fwd extended length minivans) |- |Z||Cadillac chassis cutaway/special body (Based on Rwd Fleetwood '81-'84, Fwd Fleetwood '85-'92) |} ====Line & Chassis Type 2000-2009 Light Duty Truck & Multi-Purpose Passenger Vehicle==== The Line & Chassis Type is specified as character five of the American GM VIN for light trucks. {| border=1 style="margin:auto;" !VIN !Description |- |A||Pontiac Aztek 2wd '01-'05, Buick Rendezvous 2wd '02-'07 |- |A||Chevrolet HHR '06-'09, HHR Panel '07-'09 |- |B||Pontiac Aztek Awd '01-'05, Buick Rendezvous Awd '02-'06 |- |C||Chevy full-size pickups & chassis cabs 2wd (C-series) '00, full-size chassis cabs 2wd (C3500HD) '01-'02, Silverado 2wd '00-'09, Silverado Classic 2wd '07,<br /> GMC Sierra 2wd (C-series) '00-'09, Sierra Classic 2wd '00, '07 |- |C||Chevy Tahoe 2wd ('00-'09), Suburban 2wd ('00-'09), Avalanche 2wd ('02-'09),<br /> GMC Yukon 2wd ('00-'09), Yukon XL 2wd ('00-'09), Cadillac Escalade 2wd ('02-'09), Escalade ESV 2wd ('08-'09) |- |E||Chevrolet Tracker 2wd '00-'04 |- |E||Cadillac SRX 2wd & Awd '04-'09 |- |G||Chevy/GMC full-size vans 2wd (Chevy Express, GMC Savana) '00-09 |- |H||Chevy/GMC full-size vans 4wd (Chevy Express, GMC Savana) '03-09 |- |H||Cadillac Commercial Chassis for Hearse (Based on Fwd DeVille '02-'05, DTS '06-'09) |- |H||Cadillac Professional Chassis for Limousine (Based on Fwd DeVille '00-'05, DTS '06-'07) |- |J||Chevrolet Tracker 4wd '00-'04 |- |K||Chevy full-size pickups & chassis cabs 4wd (K-series) '00, Silverado 4wd '00-'09, Silverado Classic 4wd '07,<br /> GMC Sierra 4wd (K-series) '00-'09, Sierra Classic 4wd '00, '07 |- |K||Chevy Tahoe 4wd ('00-'09), Suburban 4wd ('00-'09), Avalanche 4wd ('02-'09), GMC Yukon 4wd ('00-'09), Yukon XL 4wd ('00-'09),<br> Cadillac Escalade 4wd ('00, '02-'09), Escalade ESV 4wd ('03-'09), Escalade EXT 4wd ('02-'09) |- |K||Cadillac Professional Chassis for Limousine (Based on Fwd DTS '08-'09) |- |L||Chevy Astro/GMC Safari 4wd '00-'05 |- |L||Chevy Equinox 2wd & Awd '05-'09, Pontiac Torrent 2wd & Awd '06-'09, Saturn Vue 2wd & Awd '08-'09 |- |M||Chevy Astro/GMC Safari 2wd '00-'05 |- |N||Hummer H2 '03-'09, H2 SUT '05-'09 |- |N||Hummer H3 '06-'09, H3T '09 |- |R||GMC Acadia 2wd, Saturn Outlook 2wd '07-'09, Buick Enclave 2wd '08-'09, Chevy Traverse 2wd '09 |- |S||Chevy S-10 2wd ('00-'03), Blazer 2wd ('00-'05), GMC Sonoma 2wd ('00-'03), Jimmy 2wd ('00-'01), Isuzu Hombre 2wd ('00) |- |S||Chevy Trailblazer 2wd ('02-'09), SSR ('03-'06), GMC Envoy 2wd ('02-'09), Envoy XUV 2wd ('04-'05), Oldsmobile Bravada 2wd ('02-'04),<br> Buick Rainier 2wd ('04-'07), Isuzu Ascender 2wd ('03-'08) |- |S||Chevy Colorado 2wd ('04-'09), GMC Canyon 2wd ('04-'09), Isuzu i-series 2wd ('06-'08) |- |T||Chevy S-10 4wd ('00-'04), Blazer 4wd ('00-'05), GMC Sonoma 4wd ('00-'04), Jimmy 4wd ('00-'01, Canada only: '02-'05), Envoy 4wd ('00),<br> Oldsmobile Bravada 4wd ('00-'01), Isuzu Hombre 4wd ('00) |- |T||Chevy Trailblazer 4wd ('02-'09), GMC Envoy 4wd ('02-'09), Envoy XUV 2wd ('04-'05), Oldsmobile Bravada 4wd ('02-'04), Buick Rainier 4wd ('04-'07),<br> Isuzu Ascender 4wd ('03-'08), Saab 9-7X 4wd ('05-'09) |- |T||Chevy Colorado 4wd ('04-'09), GMC Canyon 4wd ('04-'09), Isuzu i-series 4wd ('06-'08) |- |U||Regular length All-Purpose Vehicle [Minivan] ('00-'04 Chevy Venture, Pontiac Montana) |- |U||Regular length All-Purpose Vehicle [Minivan] (Chevy Uplander [US: '06-'08, Canada only: '05-'09], Pontiac Montana SV6 [Canada only: '05-'09]) |- |V||Extended length AWD All-Purpose Vehicle [Minivan] ('02-'04 Chevy Venture, Pontiac Montana, Oldsmobile Silhouette Extended length AWD) |- |V||Extended length FWD All-Purpose Vehicle [Minivan] ('05 Chevy Venture, Pontiac Montana Extended length FWD) |- |V||Extended length FWD All-Purpose Vehicle [Minivan] (Chevy Uplander ['05-'08, Canada only: '09], Pontiac Montana SV6 ['05-'06, Canada only: '07-'09],<br> Buick Terraza ['05-'07], Saturn Relay ['05-'07]) |- |V||GMC Acadia Awd, Saturn Outlook Awd '07-'09, Buick Enclave Awd '08-'09, Chevy Traverse Awd '09 |- |X||Extended length FWD All-Purpose Vehicle [Minivan] ('00-'04 Chevy Venture, Pontiac Montana, Oldsmobile Silhouette Extended length FWD) |- |X||Extended length AWD All-Purpose Vehicle [Minivan] ('05-'06 Chevy Uplander AWD, Pontiac Montana SV6 AWD, Buick Terraza AWD, Saturn Relay AWD) |- |Z||Saturn Vue 2wd & Awd '02-'07 |} ====Series 1981-1999 Light Duty Truck & Multi-Purpose Passenger Vehicle==== The Series is specified as character six of the American GM VIN for light trucks. {| border=1 style="margin:auto;" !VIN !Description |- |1||1/2 Ton |- |2||3/4 Ton |- |3||1 Ton |- |8||1/2 Ton ('81-'87 El Camino, Caballero) |- |9||Cadillac, Buick, Chevrolet Commercial Body/Chassis |- |0||All-Purpose Vehicle ('90-'99 U-body fwd minivans) |} ====Series 2000-2009 Light Duty Truck & Multi-Purpose Passenger Vehicle==== The Series is specified as character six of the American GM VIN for light trucks. {| border=1 style="margin:auto;" !VIN !Description |- |1 (following S)||Isuzu Ascender 2wd ('03-'08) |- |1 (following T)||Isuzu Ascender 4wd ('03-'08) |- |1 (following T)||Saab 9-7X ('05-'08: All, '09: 4.2i, 5.3i) |- |2 (following T)||Saab 9-7X Aero ('09) |} ====Body style codes 1981-2009 Light Duty Truck & Multi-Purpose Passenger Vehicle==== The Body type is specified as character seven of the American GM VIN for light trucks. {| border=1 style="margin:auto;" !VIN !Description |- |0||Sedan Pickup/Pickup Delivery ('81-'87 El Camino, Caballero) |- |0||Cadillac, Buick, Chevrolet Commercial Body/Chassis |- |0||Chassis Only |- |1||Cutaway Van |- |2||Forward Control ('81-'03) (includes '93-'95 Chevy G30HD/GMC G3500HD) |- |2||Sport Utility Truck (SUT) ('04-'09 Avalanche & Escalade EXT, '04-'05 Envoy XUV, '05-'09 Hummer H2 SUT) |- |3||Four-Door Cab pickup (Crew Cab) |- |3||4-door Passenger Minivan ('97-'09 U-bodies) |- |3||4-door SUV or MPV ('06-'09 HHR) (also includes '02-'03 Avalanche & Escalade EXT) ('05-'09 Saab 9-7X) |- |4||Two-Door Cab pickup (includes '83-'87 S-10/S-15 extended cab pickups & '03-'06 Chevy SSR) |- |5||Van (Astro/Safari & full-size vans & '07-'09 HHR Panel) |- |6||Extended length 4-door SUV (Suburban, Yukon XL, Escalade ESV, Trailblazer EXT, Envoy XL, Isuzu Ascender 7-psgr.) |- |6||3-door Passenger Minivan ('90-'99 U-bodies) |- |7||Motor Home Chassis ('81-'09) |- |8||Two-Door SUV (Utility) (2-d Tracker, S-10 Blazer, S-15 Jimmy, Blazer, Jimmy, Tahoe, Yukon) |- |9||Stake (81-87) |- |9||Extended Cab pickup ('88-) |- |9||Extended length van ('90-) (Astro/Safari & full-size vans) |} ===American VIN format 2010- Light Duty Truck & Multi-Purpose Passenger Vehicle=== GM's VIN format is as follows: <table border=1 style="margin:auto;"> <tr> <th>Position</th> <th>Sample</th><th></th><th></th><th>Description</th> </tr><tr> <td>1</td> <td>1</td><td></td><td></td><td rowspan=3>[[#GM WMIs|World Manufacturer Identifier]]</td> </tr><tr> <td>2</td> <td>G</td><td></td><td></td></tr><tr> <td>3</td> <td>K</td><td></td><td></td></tr><tr> <td>4</td> <td>L</td><td></td><td></td><td>[[#GVWR/Brake System/Body Style 2010- Light Duty Truck & Multi-Purpose Passenger Vehicle|GVWR/Brake System/Body Style 2010-]]</td> </tr><tr> <td>5</td> <td>R</td><td></td><td></td><td>[[#Line & Chassis Type 2010- Light Duty Truck & Multi-Purpose Passenger Vehicle|Line & Chassis Type for 2010-]]</td> </tr><tr> <td>6</td> <td>L</td><td></td><td></td><td>[[Series]]</td> </tr><tr> <td>7</td> <td>E</td><td></td><td></td><td>[[#Restraint codes for light trucks 2010-|Restraint type]]</td> </tr><tr> <td>8</td> <td>D</td><td></td><td></td><td>[[#Engine codes for light trucks|Engine type]]</td> </tr><tr> <td>9</td> <td>0</td><td></td><td></td><td>[[Vehicle Identification Numbers (VIN codes)/Check digit |Check digit]]</td> </tr><tr> <td>10</td> <td>A</td><td></td><td></td><td>[[Vehicle Identification Numbers (VIN codes)/Model year|Model year]]</td> </tr><tr> <td>11</td> <td>J</td><td></td><td></td><td>[[#GM factories supplying North America|Factory ID]]</td> </tr><tr> <td>12</td> <td>1</td><td></td><td></td><td rowspan=6>Sequential number </tr><tr> <td>13</td> <td>2</td><td></td><td></td></tr><tr> <td>14</td> <td>3</td><td></td><td></td></tr><tr> <td>15</td> <td>7</td><td></td><td></td></tr><tr> <td>16</td> <td>6</td><td></td><td></td></tr><tr> <td>17</td> <td>2</td><td></td><td></td> </table> ====GVWR/Brake System/Body Style 2010- Light Duty Truck & Multi-Purpose Passenger Vehicle==== The GVWR/Brake System is specified as character four of the American GM VIN for light trucks. {| border=1 style="margin:auto;" !VIN !GVWR Range in lbs. & Weight Class !Brake System !Body Style |- | ||Class A: 0-3,000||Hydraulic|| |- | ||Class B: 3,001-4,000||Hydraulic|| |- |A||Class C: 4,001-5,000||Hydraulic||26: 4-door SUV or MPV ('10-'11 Chevy HHR Panel, '10-'26 Chevy Equinox, GMC Terrain, '10 Saturn Vue,<br> '12-'15 Chevy Captiva Sport, '19-'24 Cadillac XT4, '24-'26 Buick Encore GX) |- |B||Class C: 4,001-5,000||Hydraulic||46: 4-door MPV ('10-'11 Chevy HHR) |- |J||Class C: 4,001-5,000||Hydraulic||48: 4-door, 4 window Hatchback ('18-'23 Chevy Bolt EV w/Rear Seat Delete pkg. - incomplete vehicle) |- |C||Class C: 4,001-5,000||Hydraulic||03: Regular Cab pickup or Chassis Cab ('10-'12 Chevy Colorado, GMC Canyon) |- |D||Class C: 4,001-5,000||Hydraulic||43: Crew Cab pickup or Chassis Cab ('10-'12 Chevy Colorado, GMC Canyon) |- |E||Class C: 4,001-5,000||Hydraulic||53: Extended Cab pickup or Chassis Cab ('10-'12 Chevy Colorado, GMC Canyon) |- |7||Class C: 4,001-5,000||Hydraulic||75: Four-Door Wagon - High Roof Monocab (Canada only: '12-'14 Chevy Orlando) |- |M||Class C: 4,001-5,000||Hydraulic||06: 4-door SUV ('20-'23 Buick Encore GX) |- |9||Class C: 4,001-5,000||Hydraulic||56: 4-door SUV Extended ('21-'26 Chevy Trailblazer) |- |7||Class C: 4,001-5,000||Hydraulic||58: 4-door Utility Extended ('24-'26 Chevy Trax, Buick Envista) |- |C||Class C: 4,001-5,000||Hydraulic||76: 4-door SUV ('13-'22 Buick Encore, Canada only: '13-'14 Chevy Trax, US & Canada: '15-'22 Chevy Trax) |- |F||Class D: 5,001-6,000||Hydraulic||26: 4-door SUV ('10-'17 Chevy Equinox, GMC Terrain, '10 Saturn Vue, '10-'16 Cadillac SRX, '11 Saab 9-4X,<br> '12-'13 Chevy Captiva Sport, '16-'26 Buick Envision, '17 Cadillac XT5, '19-'25 Cadillac XT4) |- |H||Class D: 5,001-6,000||Hydraulic||03: Regular Cab pickup or Chassis Cab ('10 Chevy Colorado, GMC Canyon) |- |G||Class D: 5,001-6,000||Hydraulic||03: Regular Cab pickup or Chassis Cab ('11-'12 Chevy Colorado, GMC Canyon) |- |J||Class D: 5,001-6,000||Hydraulic||43: Crew Cab pickup or Chassis Cab ('10 Chevy Colorado, GMC Canyon) |- |H||Class D: 5,001-6,000||Hydraulic||43: Crew Cab pickup or Chassis Cab ('11-'12 Chevy Colorado, GMC Canyon) |- |G||Class D: 5,001-6,000||Hydraulic||43: Crew Cab pickup or Chassis Cab ('15-'24 Chevy Colorado, '15-'22 GMC Canyon) |- |K||Class D: 5,001-6,000||Hydraulic||53: Extended Cab pickup or Chassis Cab ('10 Chevy Colorado, GMC Canyon) |- |J||Class D: 5,001-6,000||Hydraulic||53: Extended Cab pickup or Chassis Cab ('11-'12 Chevy Colorado, GMC Canyon) |- |H||Class D: 5,001-6,000||Hydraulic||53: Extended Cab pickup or Chassis Cab ('15-'22 Chevy Colorado, GMC Canyon) |- |T||Class D: 5,001-6,000||Hydraulic||69: Commercial Chassis ('10 Cadillac DTS chassis for Limo/Hearse) |- |7||Class D: 5,001-6,000||Hydraulic||69: Commercial Chassis ('11 Cadillac DTS chassis for Limo/Hearse) |- |L||Class E: 6,001-7,000||Hydraulic||26: 4-door SUV ('10 Chevy Traverse, GMC Acadia, Buick Enclave, Saturn Outlook) |- |K||Class E: 6,001-7,000||Hydraulic||26: 4-door SUV ('11-'17 Chevy Traverse, Buick Enclave, '11-'23 GMC Acadia, '17 Acadia Limited,<br> '17-'26 Cadillac XT5, '19-'26 Chevy Blazer, '20-'25 Cadillac XT6, '23-'26 Cadillac Lyriq EV,<br> '24-'26 Chevy Blazer EV, '25-'26 Cadillac Optiq EV, '24-'26 Honda Prologue EV, '24 Acura ZDX EV A-Spec) |- |7||Class E: 6,001-7,000||Hydraulic||48: 4-door SUV ('24-'25 Chevy Equinox EV) |- |E||Class E: 6,001-7,000||Hydraulic||56: 4-door SUV Extended ('18-'26 Chevy Traverse, Buick Enclave, '24 Chevy Traverse Limited,<br> '24-'26 GMC Acadia |- |M||Class E: 6,001-7,000||Hydraulic||05: Cargo Van ('10 Chevy Express, GMC Savana) |- |L||Class E: 6,001-7,000||Hydraulic||05: Cargo Van ('11-'14 Chevy Express, GMC Savana) |- |M||Class E: 6,001-7,000||Hydraulic||06: 4-door SUV ('10 Chevy Tahoe, GMC Yukon, Hummer H3) |- |L||Class E: 6,001-7,000||Hydraulic||06: 4-door SUV ('11-'20 Chevy Tahoe Police Pursuit Vehicle 2wd) |- |N||Class E: 6,001-7,000||Hydraulic||36: Sport Utility Truck (SUT) ('10 Chevy Avalanche 2wd) |- |M||Class E: 6,001-7,000||Hydraulic||36: Sport Utility Truck (SUT) ('11-13 Chevy Avalanche 2wd) |- |P||Class E: 6,001-7,000||Hydraulic||03: Regular Cab pickup or Chassis Cab ('10 Chevy Silverado, GMC Sierra) |- |N||Class E: 6,001-7,000||Hydraulic||03: Regular Cab pickup or Chassis Cab ('11-'26 Chevy Silverado, GMC Sierra,<br> '22 Chevy Silverado LTD, GMC Sierra Limited) |- |R||Class E: 6,001-7,000||Hydraulic||43: Crew Cab pickup or Chassis Cab ('10 Chevy Silverado, GMC Sierra, Hummer H3T) |- |P||Class E: 6,001-7,000||Hydraulic||43: Crew Cab pickup or Chassis Cab ('11-'26 Chevy Silverado, GMC Sierra,<br> '22 Chevy Silverado LTD, GMC Sierra Limited, '16-'26 Chevy Colorado, GMC Canyon) |- |S||Class E: 6,001-7,000||Hydraulic||53: Extended Cab pickup or Chassis Cab ('10 Chevy Silverado, GMC Sierra) |- |R||Class E: 6,001-7,000||Hydraulic||53: Extended Cab pickup or Chassis Cab ('11-'26 Chevy Silverado, GMC Sierra,<br> '19 Chevy Silverado LD, GMC Sierra Limited, '22 Chevy Silverado LTD, GMC Sierra Limited,<br> '16-'22 Chevy Colorado) |- |G||Class E: 6,001-7,000||Hydraulic||69: Commercial Chassis ('10 Cadillac DTS chassis for Limo/Hearse) |- |8||Class E: 6,001-7,000||Hydraulic||69: Commercial Chassis ('11 Cadillac DTS chassis for Limo/Hearse) |- |X||Class E: 6,001-7,000||Hydraulic||69: Commercial Chassis ('13-'19 Cadillac XTS chassis for Limo/Hearse) |- |U||Class F: 7,001-8,000||Hydraulic||05: Cargo Van or Incomplete Vehicle ('10 Chevy Express, GMC Savana) |- |S||Class F: 7,001-8,000||Hydraulic||05: Cargo Van or Incomplete Vehicle ('11-'14 Chevy Express, GMC Savana) |- |U||Class F: 7,001-8,000||Hydraulic||06: Passenger Van ('10 Chevy Express, GMC Savana) |- |S||Class F: 7,001-8,000||Hydraulic||06: Passenger Van ('11-'14 Chevy Express, GMC Savana) |- |U||Class F: 7,001-8,000||Hydraulic||06: 4-door SUV ('10 Chevy Tahoe, Suburban 1500, GMC Yukon, Yukon XL 1500, Cadillac Escalade, Escalade ESV) |- |S||Class F: 7,001-8,000||Hydraulic||06: 4-door SUV ('11-'26 Chevy Tahoe, Suburban 1500, GMC Yukon, Yukon XL 1500, Cadillac Escalade, Escalade ESV) |- |V||Class F: 7,001-8,000||Hydraulic||36: Sport Utility Truck (SUT) ('10 Chevy Avalanche 4wd, Cadillac Escalade EXT 4wd) |- |T||Class F: 7,001-8,000||Hydraulic||36: Sport Utility Truck (SUT) ('11-'13 Chevy Avalanche 4wd, Cadillac Escalade EXT 4wd) |- |X||Class F: 7,001-8,000||Hydraulic||26: 4-door SUV ('24 Acura ZDX EV Type S) |- |C||Class F: 7,001-8,000||Hydraulic||56: 4-door SUV Extended ('26- Cadillac Vistiq EV) |- |W||Class F: 7,001-8,000||Hydraulic||03: Regular Cab pickup or Chassis Cab ('10 Chevy Silverado, GMC Sierra) |- |X||Class F: 7,001-8,000||Hydraulic||43: Crew Cab pickup or Chassis Cab ('10 Chevy Silverado, GMC Sierra) |- |U||Class F: 7,001-8,000||Hydraulic||43: Crew Cab pickup or Chassis Cab ('11-'26 Chevy Silverado, GMC Sierra,<br> '22 Chevy Silverado LTD, GMC Sierra Limited) |- |Y||Class F: 7,001-8,000||Hydraulic||53: Extended Cab pickup or Chassis Cab ('10 Chevy Silverado, GMC Sierra) |- |V||Class F: 7,001-8,000||Hydraulic||53: Extended Cab pickup or Chassis Cab ('11-'26 Chevy Silverado, GMC Sierra,<br> '19 Chevy Silverado LD, GMC Sierra Limited, '22 Chevy Silverado LTD, GMC Sierra Limited) |- |U||Class F: 7,001-8,000||Hydraulic||69: Commercial Chassis ('10 Cadillac DTS chassis for Limo/Hearse) |- |9||Class F: 7,001-8,000||Hydraulic||69: Commercial Chassis ('11 Cadillac DTS chassis for Limo/Hearse) |- |Z||Class G: 8,001-9,000||Hydraulic||05: Cargo Van or Incomplete Vehicle ('10 Chevy Express, GMC Savana) |- |W||Class G: 8,001-9,000||Hydraulic||05: Cargo Van or Incomplete Vehicle ('11-'26 Chevy Express, GMC Savana) |- |Z||Class G: 8,001-9,000||Hydraulic||06: Passenger Van ('10 Chevy Express, GMC Savana) |- |W||Class G: 8,001-9,000||Hydraulic||06: Passenger Van ('11-'26 Chevy Express, GMC Savana) |- |Z||Class G: 8,001-9,000||Hydraulic||06: 4-door SUV ('10 Chevy Suburban 2500, GMC Yukon XL 2500) |- |W||Class G: 8,001-9,000||Hydraulic||06: 4-door SUV ('11-'13 Chevy Suburban 2500, GMC Yukon XL 2500) |- |2||Class H: 9,001-10,000||Hydraulic||05: Cargo Van or Incomplete Vehicle ('10 Chevy Express, GMC Savana) |- |Z||Class H: 9,001-10,000||Hydraulic||05: Cargo Van or Incomplete Vehicle ('11-'26 Chevy Express, GMC Savana,<br> '23-'24 BrightDrop Zevo 600, '24 BrightDrop Zevo 400, '25-'26 Chevrolet BrightDrop 400/600) |- |2||Class H: 9,001-10,000||Hydraulic||06: Passenger Van ('10 Chevy Express, GMC Savana) |- |Z||Class H: 9,001-10,000||Hydraulic||06: Passenger Van ('11-'26 Chevy Express, GMC Savana) |- |3||Class H: 9,001-10,000||Hydraulic||03: Van Cutaway ('10 Chevy Express, GMC Savana) |- |0||Class H: 9,001-10,000||Hydraulic||03: Van Cutaway ('11-'26 Chevy Express, GMC Savana) |- |3||Class H: 9,001-10,000||Hydraulic||03: Regular Cab pickup or Chassis Cab ('10 Chevy Silverado, GMC Sierra) |- |0||Class H: 9,001-10,000||Hydraulic||03: Regular Cab pickup or Chassis Cab ('11-'26 Chevy Silverado, GMC Sierra) |- |4||Class H: 9,001-10,000||Hydraulic||43: Crew Cab pickup or Chassis Cab ('10 Chevy Silverado, GMC Sierra) |- |1||Class H: 9,001-10,000||Hydraulic||43: Crew Cab pickup or Chassis Cab ('11-'26 Chevy Silverado, GMC Sierra,<br> '24-'25 GMC Hummer EV pickup w/20 module battery pack,<br> '24-'26 Chevy Silverado EV, '25-'26 GMC Sierra EV) |- |5||Class H: 9,001-10,000||Hydraulic||53: Extended Cab pickup or Chassis Cab ('10 Chevy Silverado, GMC Sierra) |- |2||Class H: 9,001-10,000||Hydraulic||53: Extended Cab pickup or Chassis Cab ('11-'13, '15-'26 Chevy Silverado, GMC Sierra) |- |B||Class H: 9,001-10,000||Hydraulic||26: 4-door SUV ('24-'25 GMC Hummer EV SUV) |- |6||Class 3: 10,001-14,000||Hydraulic||03: Van Cutaway ('10 Chevy Express, GMC Savana) |- |3||Class 3: 10,001-14,000||Hydraulic||03: Van Cutaway ('11-'26 Chevy Express, GMC Savana) |- |6||Class 3: 10,001-14,000||Hydraulic||03: Regular Cab pickup or Chassis Cab ('10 Chevy Silverado, GMC Sierra) |- |3||Class 3: 10,001-14,000||Hydraulic||03: Regular Cab pickup or Chassis Cab ('11-'26 Chevy Silverado, GMC Sierra) |- |7||Class 3: 10,001-14,000||Hydraulic||43: Crew Cab pickup or Chassis Cab ('10 Chevy Silverado, GMC Sierra) |- |4||Class 3: 10,001-14,000||Hydraulic||43: Crew Cab pickup or Chassis Cab ('11-'26 Chevy Silverado, GMC Sierra,<br> '22-'24 GMC Hummer EV pickup w/24 module battery pack, '25 GMC Hummer EV pickup w/20 or 24 module battery pack, '26 GMC Hummer EV pickup, '24-'25 Chevy Silverado EV, GMC Sierra EV) |- |8||Class 3: 10,001-14,000||Hydraulic||53: Extended Cab pickup or Chassis Cab ('10 Chevy Silverado, GMC Sierra) |- |5||Class 3: 10,001-14,000||Hydraulic||53: Extended Cab pickup or Chassis Cab ('11-'13, '15-'18, '20-'26 Chevy Silverado, GMC Sierra) |- |8||Class 3: 10,001-14,000||Hydraulic||06: 4-door SUV ('16-'19, '24-'26 Chevy Suburban 3500HD) |- |8||Class 3: 10,001-14,000||Hydraulic||05: Cargo Van ('22 BrightDrop EV600, '23-'24 BrightDrop Zevo 600, '24 BrightDrop Zevo 400,<br> '25-'26 Chevrolet BrightDrop 400/600) |- |T||Class 3: 10,001-14,000||Hydraulic||26: 4-door SUV ('25-'26 GMC Hummer EV SUV, '25-'26 Cadillac Escalade IQ [EV]) |- |L||Class 3: 10,001-14,000||Hydraulic||56: 4-door SUV Extended ('26- Cadillac Escalade IQL [EV]) |- |9||Class 4: 14,001-16,000||Hydraulic||03: Van Cutaway ('10 Chevy Express, GMC Savana) |- |6||Class 4: 14,001-16,000||Hydraulic||03: Van Cutaway ('11-'26 Chevy Express, GMC Savana) |- | ||Class 5: 16,001-19,500||Hydraulic|| |} ====Line & Chassis Type 2010- Light Duty Truck & Multi-Purpose Passenger Vehicle==== The Line & Chassis Type is specified as character five of the American GM VIN for light trucks. {| border=1 style="margin:auto;" !VIN !Description |- |A||Chevrolet HHR ('10-'11), HHR Panel ('10-'11) |- |A||Chevy Silverado 1500 2wd ('22-'26), Silverado HD 2500/3500 2wd ('25-'26) |- |B||Chevy Blazer 2wd & Awd '19-'26 |- |C||Chevy Silverado 2wd ('10-'18), Silverado LD 1500 2wd '19, Silverado HD 2500/3500 2wd '19, GMC Sierra 2wd ('10) |- |C||Chevy Tahoe 2wd ('10-'24), Suburban 2wd ('10-'24), Avalanche 2wd ('10-'13),<br /> GMC Yukon 2wd ('10), Yukon XL 2wd ('10), Cadillac Escalade 2wd ('10), Escalade ESV 2wd ('10) |- |D||Chevy Silverado 1500 4wd ('22-'24) |- |D||Chevy Blazer EV ('24-'26), Chevy Equinox EV ('24-'26) |- |E||Cadillac Escalade IQ [EV] ('25-'26), Escalade IQL [EV] ('26-), GMC Hummer EV pickup ('26-), GMC Hummer EV SUV ('26-), GMC Sierra EV ('26-) |- |F||Chevy Bolt EV w/Rear Seat Delete pkg. - incomplete vehicle ('18-'23) |- |G||Cadillac Chassis for Limousine & for Armored Vehicle (Based on XTS '13-'19) |- |G||Cadillac Chassis for Hearse (Based on XTS '13-'19) |- |G||Chevy Express 2wd ('10-'26), GMC Savana 2wd ('10) |- |H||Chevy Express 4wd ('10-'14), GMC Savana 4wd ('10) |- |H||GMC Sierra 1500 2wd ('22-'26), Sierra HD 2500/3500 2wd ('25-'26) |- |H||Honda Prologue EV ('24-'26), Acura ZDX EV ('24) |- |J||Buick Encore 2wd & Awd ('13-'22), Chevy Trax 2wd & Awd (Canada: '13-'22, US: '15-'22) |- |J||BrightDrop EV600 ('22), BrightDrop Zevo 600 ('23-'24), BrightDrop Zevo 400 ('24), Chevrolet BrightDrop 400/600 ('25-'26) |- |K||Chevy Silverado 4wd ('10-'18), Silverado LD 1500 4wd ('19), Silverado HD 2500/3500 4wd ('19), GMC Sierra 4wd ('10) |- |K||Chevy Silverado 1500 4wd ('25-'26), Silverado HD 2500/3500 4wd ('25-'26) |- |K||Chevy Tahoe 4wd ('10-'24), Suburban 4wd ('10-'24), Suburban HD 4wd ('24-'26), Avalanche 4wd ('10-'13), GMC Yukon 4wd ('10), Yukon XL 4wd ('10),<br> Cadillac Escalade 4wd ('10), Escalade ESV 4wd ('10), Escalade EXT 4wd ('10) |- |K||Cadillac Professional Chassis for Limousine (Based on DTS '10-'11) |- |K||Cadillac Commercial Chassis for Hearse (Based on DTS '10-'11) |- |L||Chevy Equinox 2wd & Awd '10-'17, Captiva Sport 2wd '12-'15, Captiva Sport Awd '12, GMC Terrain 2wd & Awd '10-'17, Saturn Vue 2wd & Awd '10 |- |L||GMC Terrain 2wd & Awd '18-'26 |- |L||Buick Envista '24-'26, Chevy Trax '24-'26 |- |M||Buick Encore GX 2wd & Awd ('20-'26), Chevy Trailblazer 2wd & Awd ('21-'26) |- |N||Cadillac SRX 2wd & Awd '10-'16, Saab 9-4X 2011 |- |N||GMC Acadia 2wd & Awd '17-'26, Cadillac XT5 2wd & Awd '17-'26 |- |N||Hummer H3, H3T 2010 |- |P||Chevy Orlando (Canada only: '12-'14) |- |P||Cadillac XT6 2wd & Awd '20-'25 |- |P||Cadillac Lyriq EV 2wd & Awd '23-'25 |- |R||GMC Acadia 2wd '10-'16, Acadia Limited 2wd '17, Saturn Outlook 2wd '10, Buick Enclave 2wd '10-'17, Chevy Traverse 2wd '10-'17 |- |R||Buick Enclave 2wd '18-'24, Chevy Traverse 2wd '18-'23 |- |R||Buick Enclave 2wd '25-'26, Chevy Traverse 2wd '24-'26 |- |S||Chevy Traverse Limited 2wd '24 |- |S||Chevy Colorado 2wd ('10-'12, '15-'26), GMC Canyon 2wd ('10) |- |T||Chevy Colorado 4wd ('10-'12, '15-'26), GMC Canyon 4wd ('10) |- |T||Chevy Traverse Limited Awd '24 |- |U||GMC Sierra 1500 4wd ('22-'26), Sierra HD 2500/3500 4wd ('25-'26) |- |V||GMC Acadia Awd '10-'16, Acadia Limited Awd '17, Saturn Outlook Awd '10, Buick Enclave Awd '10-'17, Chevy Traverse Awd '10-'17 |- |V||Buick Enclave Awd '18-'24, Chevy Traverse Awd '18-'23 |- |V||Buick Enclave Awd '25-'26, Chevy Traverse Awd '24-'26 |- |W||Chevy Silverado 1500 2wd ('19-'21), Silverado LTD 1500 2wd ('22), Silverado HD 2500/3500 2wd ('20-'24) |- |X||Buick Envision 2wd & Awd '16-'20, Chevy Equinox 2wd & Awd '18-'26 |- |Y||Chevy Silverado 1500 4wd ('19-'21), Silverado LTD 1500 4wd ('22), Silverado HD 2500/3500 4wd ('20-'24) |- |Z||Cadillac XT4 2wd & Awd '19-'25, Buick Envision 2wd '21-'23, Buick Envision Awd '21-'26 |- |1||GMC Sierra 2wd ('11-'18), Sierra Limited 1500 2wd ('19), Sierra HD 2500/3500 2wd ('19), Yukon 2wd ('11-'26), Yukon XL 2wd ('11-'26) |- |1||GMC Canyon 2wd ('25-'26) |- |2||GMC Sierra 4wd ('11-'18), Sierra Limited 1500 4wd ('19), Sierra HD 2500/3500 4wd ('19), Yukon 4wd ('11-'26), Yukon XL 4wd ('11-'26) |- |2||GMC Canyon 4wd ('25-'26) |- |3||Cadillac Escalade 2wd ('11-'24), Escalade ESV 2wd ('11-'24) |- |3||Cadillac Optiq EV ('25-), Cadillac Vistiq EV ('26-) |- |4||Cadillac Escalade 4wd ('11-'24), Escalade ESV 4wd ('11-'24), Escalade EXT 4wd ('11-'13) |- |5||GMC Canyon 2wd ('11-'12, '15-'24) |- |5||Chevy Tahoe 2wd ('25-'26), Suburban 2wd ('25-'26) |- |6||GMC Canyon 4wd ('11-'12, '15-'24) |- |6||Chevy Tahoe 4wd ('25-'26), Suburban 4wd ('25-'26) |- |7||GMC Savana 2wd ('11-'26) |- |8||GMC Savana 4wd ('11-'14) |- |8||GMC Sierra 1500 2wd ('19-'21), Sierra Limited 1500 2wd ('22), Sierra HD 2500/3500 2wd ('20-'24) |- |8||Cadillac Escalade 2wd ('25-'26), Escalade ESV 2wd ('25-'26) |- |9||GMC Sierra 1500 4wd ('19-'21), Sierra Limited 1500 4wd ('22), Sierra HD 2500/3500 4wd ('20-'24) |- |9||Cadillac Escalade 4wd ('25-'26), Escalade ESV 4wd ('25-'26) |- |0||GMC Hummer EV pickup ('22-'25), GMC Hummer EV SUV ('24-'25), Chevy Silverado EV ('24-'26), GMC Sierra EV ('24-'25) |} ===Platform & Series Codes 1985- Passenger Car=== GM used a lettered system of automobile platform codes for three decades. These letters were used as the fourth position of the VIN. Though today's GM platforms use Greek characters, they are still encoded with Latin characters in the fourth position. Position five encodes the specific model and trim level of the vehicle. {| border=1 style="margin:auto;" !List of GM platforms !Platform<br>Code !Series<br>Code !:Category:General Motors vehicles|Model |- |rowspan=14|GM A platform |rowspan=14|A||W||Chevrolet Celebrity 1985-1990 |- |E||Pontiac 6000 ''SE'' 1986-1988 |- |F||Pontiac 6000 1985-1988, 6000 ''LE'' 1989-1991 |- |G||Pontiac 6000 ''LE'' 1985-1988 |- |H||Pontiac 6000 ''STE'' 1985-1989 |- |J||Pontiac 6000 ''SE'' 1989-1991 |- |G||Oldsmobile Cutlass Ciera ''S'' Sedan 1993-1994 |- |J||Oldsmobile Cutlass Ciera ''LS'' 1985, Cutlass Ciera 1986-1989 & Cutlass Cruiser 1985-1989,<br /> Cutlass Ciera ''S'' Coupe 1986-1987, Cutlass Ciera ''S'' 1990-1991 & Cutlass Cruiser ''S'' 1990-1994, Cutlass Ciera ''SL'' & Cutlass Cruiser ''SL'' 1995, Ciera ''SL'' sedan & wagon 1996 |- |L||Oldsmobile Cutlass Ciera 1990-1991, Cutlass Ciera ''S'' Sedan 1992 |- |M||Oldsmobile Cutlass Ciera ''Brougham'' 1985-1988, Cutlass Ciera ''SL'' Coupe 1986-1989, Cutlass Ciera ''SL'' Sedan 1989-1993, Cutlass Cruiser ''Brougham'' 1987-1988, Cutlass Cruiser ''SL'' 1989-1993 |- |S||Oldsmobile Cutlass Ciera ''International Series'' 1988-1990 |- |G||Buick Century ''T-Type'' 1985-1986, Century ''Special'' 1991-1996 |- |H||Buick Century ''Custom'' 1985-1995 |- |L||Buick Century ''Limited'' 1985-1993, Century Estate Wagon 1986-1989 |- |rowspan=14|GM B platform |rowspan=14|B||L||Chevrolet Impala 1985, Caprice 1986-1992, Caprice Classic 1993-1996, Impala SS 1995-96 |- |N||Chevrolet Caprice Classic 1985-1992, Caprice Classic LS 1993-1994,<br /> Caprice Classic LTZ 1991-1993, Impala SS 1994 |- |U||Chevrolet Caprice Classic Brougham/Brougham LS 1987-1990 |- |L||Pontiac Parisienne 1985-1986, Safari Wagon 1987-1989 |- |T||Pontiac Parisienne Brougham 1985-1986 |- |N||Oldsmobile Delta 88 Royale 1985 |- |P||Oldsmobile Custom Cruiser 1985-1992 |- |V||Oldsmobile Delta 88 Royale Brougham LS 1985 |- |Y||Oldsmobile Delta 88 Royale Brougham 1985 |- |N||Buick Le Sabre ''Custom'' 1985, Roadmaster sedan 1992-1996 |- |P||Buick Le Sabre ''Limited'' 1985 |- |R||Buick Le Sabre Estate Wagon 1985-1989, Estate Wagon 1990,<br /> Roadmaster Estate Wagon 1991-1996 |- |T||Buick Roadmaster ''Limited'' sedan 1992-1996 |- |V||Buick Electra Estate Wagon 1985-1989 |- |rowspan=13|GM C platform - front-wheel drive |rowspan=13|C |V||Oldsmobile Touring Sedan 1988-1990, 98 Touring Sedan 1991-1993 |- |W||Oldsmobile 98 Regency Brougham 1985-1990, 98 Regency Elite 1991-1996 |- |X||Oldsmobile 98 Regency 1985-1990, 1992-1994 |- |F||Buick Electra T-Type 1985-1990 |- |U||Buick Electra Park Avenue Ultra 1989-1990, Park Avenue Ultra 1991-1996 |- |W||Buick Electra Park Avenue 1985-1990, Park Avenue 1991-1996 |- |X||Buick Electra 1985-1986, Electra Limited 1987-1990 |- |B||1985-1992 Cadillac Fleetwood, Fleetwood D'Elegance, 1993 Cadillac Sixty Special |- |D||1985-1993 Cadillac DeVille |- |G||1991-1992 Cadillac Fleetwood Sixty Special |- |H||1985-1987 Cadillac Fleetwood Limousine |- |S||1987-1990 Cadillac Fleetwood Sixty Special |- |T||1991-1993 Cadillac DeVille Touring Sedan |- |rowspan=3|GM G platform (models formerly on C platform) |rowspan=3|C |- |U||Buick Park Avenue Ultra 1997-2005 |- |W||Buick Park Avenue 1997-2005 |- |rowspan=2|GM D platform |rowspan=2|D||W||1985-1986 Cadillac Fleetwood Brougham, 1987-1992 Cadillac Brougham |- |W||1993-1996 Cadillac Fleetwood |- |rowspan=31|GM Delta I platform |rowspan=31|A |- |A||Chevrolet Cobalt LS w/manual trans. 2010 |- |B||Chevrolet Cobalt LS w/automatic trans. 2010 |- |C||Chevrolet Cobalt 1LT w/manual trans. 2010 |- |D||Chevrolet Cobalt 1LT w/automatic trans. 2010 |- |E||Chevrolet Cobalt 2LT w/manual trans. 2010 |- |F||Chevrolet Cobalt 2LT w/automatic trans. 2010 |- |G||Chevrolet Cobalt SS Turbo 2010 |- |H||Chevrolet Cobalt (base model w/XFE) 2010 |- |K||Chevrolet Cobalt (base model) 2005, Cobalt LS 2006-2008, Cobalt LS w/man. trans. 2009 |- |L||Chevrolet Cobalt LS 2005, Cobalt LT 2006-2008, Cobalt LT w/manual trans. 2009 |- |M||Chevrolet Cobalt SS 2006-2007, Cobalt Sport 2008 |- |P||Chevrolet Cobalt SS Supercharged 2005-2007, SS Turbo 2008-2009 |- |S||Chevrolet Cobalt LS w/automatic trans. 2009 |- |T||Chevrolet Cobalt LT w/automatic trans. 2009 |- |Z||Chevrolet Cobalt LT 2005, Cobalt LTZ 2006-2007 |- |L||Pontiac G5 2007-2008, G5 w/manual trans. 2009 |- |N||Pontiac G5 GT 2007-2008, G5 GT w/manual trans. 2009 |- |S||Pontiac G5 w/automatic trans. 2009 |- |T||Pontiac G5 GT w/automatic trans. 2009 |- |F||Saturn Ion sedan Level 1 w/manual trans. 2003-2005 |- |G||Saturn Ion sedan Level 1 w/automatic trans. 2003-2005 |- |J||Saturn Ion sedan Level 2 w/automatic trans. 2003-2007 |- |K||Saturn Ion sedan Level 3 w/manual trans. 2003-2007 |- |L||Saturn Ion sedan Level 3 w/automatic trans. 2003-2007 |- |M||Saturn Ion coupe Level 2 w/manual trans. 2003-2007 |- |N||Saturn Ion coupe Level 2 w/automatic trans. 2003-2007 |- |V||Saturn Ion coupe Level 3 w/manual trans. 2003-2007 |- |W||Saturn Ion coupe Level 3 w/automatic trans. 2003-2007 |- |Y||Saturn Ion coupe Red Line 2004-2007 |- |Z||Saturn Ion sedan Level 2 w/manual trans. 2003-2007 |- |rowspan=9|GM E platform |rowspan=9|E |- |V||Oldsmobile Toronado Trofeo 1988-1992 |- |Z||Oldsmobile Toronado Brougham 1985-1986, Toronado 1987-1992 |- |C||Buick Reatta 1988-1991 |- |Y||Buick Riviera T-Type 1985-1986 |- |Z||Buick Riviera 1985-1993 |- |C||Cadillac Eldorado Collector Series 2002 |- |L||Cadillac Eldorado 1985-2002 |- |T||Cadillac Eldorado Touring Coupe 1994-2002 |- |rowspan=26|GM Epsilon I platform |rowspan=26|Z||A||Chevrolet Malibu Fleet 2010-2012 |- |B||Chevrolet Malibu LS 2010-2012 |- |C||Chevrolet Malibu 1LT 2010-2012 |- |D||Chevrolet Malibu 2LT 2010-2012 |- |E||Chevrolet Malibu LTZ 2010-2011, Malibu 1LZ 2012 |- |F||Chevrolet Malibu Hybrid 2008-2010, Malibu 3LT 2012 |- |G||Chevrolet Malibu LS 2008-2009, Malibu 2LZ 2012 |- |H||Chevrolet Malibu 1LT 2008-2009 |- |J||Chevrolet Malibu 2LT 2008-2009 |- |K||Chevrolet Malibu LTZ 2008-2009 |- |S||Chevrolet Malibu 2004-2005, Malibu LS 2006-2007, Malibu Classic LS 2008 |- |T||Chevrolet Malibu LS 2004-2005, Malibu LT 2006-2007, Malibu Classic LT 2008 |- |U||Chevrolet Malibu LT 2004-2005, Malibu LTZ 2006-2007 |- |W||Chevrolet Malibu SS 2006-2007 |- |A||Pontiac G6 Sedan 2010 |- |F||Pontiac G6 2.4L Sedan (Base model) 2006, G6 Value Leader (Base model w/1SV) 2007-2008 |- |G||Pontiac G6 3.5L Sedan (Base model) 2005-2006, G6 (Base model) 2007-2009 |- |H||Pontiac G6 GT 2005-2009 |- |J||Pontiac G6 (Base model) 2009 1/2 (Mid-Cycle Revision) |- |K||Pontiac G6 GT 2009 1/2 (Mid-Cycle Revision) |- |L||Pontiac G6 GXP 2009 1/2 (Mid-Cycle Revision) |- |M||Pontiac G6 GTP 2006-2007, G6 GXP 2008-2009 |- |R||Saturn Aura Green Line 2007-2009 |- |S||Saturn Aura XE 2007-2009 |- |V||Saturn Aura XR 2007-2008, Aura XR 2.4L 2009 |- |X||Saturn Aura XR V6 2009 |- |rowspan=6|GM F platform |rowspan=6|F||P||Chevrolet Camaro Sport Coupe 1985-2002, Convertible 1987-1992, 1994-2002 |- |S||Chevrolet Camaro Berlinetta 1985-1986 |- |S||Pontiac Firebird 1985-2002, Firebird ''Formula'' 1987-1992 |- |V||Pontiac Firebird ''Formula / Trans Am'' 1993-2002, Firebird ''Trans Am GT'' 1994 |- |W||Pontiac Firebird ''Trans Am'' 1985-1992, Firebird ''Trans Am GTA'' 1987-1992 |- |X||Pontiac Firebird ''S/E'' 1985-1986 |- |rowspan=13|GM G platform - rear-wheel drive |rowspan=13|G||Z||Chevrolet Monte Carlo 1985-1988 |- |J||Pontiac Grand Prix 1985-1987 |- |K||Pontiac Grand Prix LE 1985-1987 |- |N||Pontiac Bonneville 1985-1986 |- |P||Pontiac Grand Prix Brougham 1985-1987 |- |R||Pontiac Bonneville Brougham 1985-1986 |- |S||Pontiac Bonneville LE 1985-1986 |- |K||Oldsmobile Cutlass Salon coupe 1985-1987 |- |M||Oldsmobile Cutlass Supreme ''Brougham'' 1985-1987,<br /> Cutlass Supreme Classic ''Brougham'' 1988 |- |R||Oldsmobile Cutlass Supreme 1985-1987, Cutlass Supreme Classic 1988 |- |J||Buick Regal 1985-1987 |- |K||Buick Regal T-Type 1985-1987 |- |M||Buick Regal ''Limited'' 1985-1987 |- |rowspan=4|GM G platform - front-wheel drive |rowspan=4|G||D||1995-1999 Buick Riviera |- |R||1995-1999 Oldsmobile Aurora |- |R||2001-2002 Oldsmobile Aurora 3.5 |- |S||2001-2003 Oldsmobile Aurora 4.0 |- |rowspan=9|GM H platform |rowspan=9|H||H||Buick Le Sabre 1987 |- |P||Buick Le Sabre ''Custom'' 1986-1999 |- |R||Buick Le Sabre ''Limited'' 1986-1999 |- |C||Oldsmobile Regency 1997-1998, Eighty Eight 50th Anniversary Edition 1999 |- |N||Oldsmobile Delta 88 Royale 1986-1988, 88 Royale 1989-1995, Eighty Eight & Eighty Eight LS 1996-99 |- |Y||Oldsmobile Delta 88 Royale Brougham 1986-1988, 88 Royale Brougham 1989-91, Eighty Eight Royale LS 1992-1995, LSS 1996-1999 |- |X||Pontiac Bonneville 1987, Bonneville LE 1988-1991, Bonneville ''SE'' 1992-1999 |- |Y||Pontiac Bonneville SSE 1988-1991, Bonneville ''SSEi'' 1992-1993 |- |Z||Pontiac Bonneville LE 1987, Bonneville SE 1988-1991, Bonneville ''SSE'' 1992-1999, Bonneville ''SSEi'' 1994-1999 |- |rowspan=17|GM G platform (models formerly on H platform or their successors) |rowspan=17|H||A||Buick Lucerne ''CX'' 2010-2011 |- |B||Buick Lucerne ''CX-2'' 2010 |- |C||Buick Lucerne ''CXL'' 2010-2011 |- |D||Buick Lucerne ''CXL V6'' 2006-2009, Lucerne ''CXL Special Edition'' 2010 |- |E||Buick Lucerne ''CXS'' 2006-2008, Lucerne ''CXL-3'' 2010 |- |F||Buick Lucerne ''Super'' 2008-2009, Lucerne ''CXL-4'' 2010 |- |G||Buick Lucerne ''CXL-5'' 2010 |- |H||Buick Lucerne ''Super 1SP'' 2010 |- |J||Buick Lucerne ''CXL Premium'' 2010-2011 |- |K||Buick Lucerne ''Super 1XS'' 2010, Lucerne ''Super'' 2011 |- |P||Buick Lucerne ''CX'' 2006-2009 |- |R||Buick Lucerne ''CXL V8'' 2006-2007, Lucerne ''CXL Special Edition V8'' 2008 |- |P||Buick Le Sabre ''Custom'' 2000-2005 |- |R||Buick Le Sabre ''Limited'' 2000-2005 |- |X||Pontiac Bonneville ''SE'' 2000-2005 |- |Y||Pontiac Bonneville ''SLE'' 2000-2005 |- |Z||Pontiac Bonneville ''SSEi'' 2000-2003, Bonneville GXP 2004-2005 |- |rowspan=23|GM J platform |rowspan=23|J |- |C||Chevrolet Cavalier 1985-1994, RS Convertible 1991-1994 |- |D||Chevrolet Cavalier CS 1985-1987 |- |E||Chevrolet Cavalier Type 10 1985, RS 1986-1988,<br /> Type 10 Convertible 1985, RS Convertible 1986-1987 |- |F||Chevrolet Cavalier Z24 1986-1994, Z24 Convertible 1988-1989, 1992-1994 |- |C||Chevrolet Cavalier 1995-2005, Cavalier RS 1997-1999 |- |F||Chevrolet Cavalier LS Sedan 1995-2005, LS Coupe 2003-2005, Z24 Coupe 1995-2001,<br /> LS Convertible 1995-1997, Z24 Convertible 1998-2000 |- |H||Chevrolet Cavalier Z24 Coupe/Sedan 2002, LS Sport 2002-2005 |- |S||Chevrolet Cavalier LS Coupe 2002 |- |B||Pontiac Sunbird 1985-1989, Sunbird LE 1990-1991, Sunbird SE 1992-1993,<br /> Sunbird LE 1994 |- |C||Pontiac Sunbird LE 1985, Sunbird 1991, Sunbird LE 1992-1993 |- |D||Pontiac Sunbird SE 1985-1991, Sunbird GT 1992-1993 |- |L||Pontiac Sunbird SE 1994 |- |U||Pontiac Sunbird GT 1986-1991 |- |B||Pontiac Sunfire SE 1995-2002, Convertible 1995-2000, Sunfire 2003-2005 |- |D||Pontiac Sunfire GT 1995-2002 |- |C||Oldsmobile Firenza Base model 1985-1987, Firenza S 1985-1987, Firenza 1988 |- |D||Oldsmobile Firenza LX 1985-1987, Firenza SX 1985, Firenza LC, GT 1986-1987 |- |E||Buick Skyhawk T-Type 1985-1986 |- |S||Buick Skyhawk Custom 1985-1987, Skyhawk Sport 1986-1987, Skyhawk 1988-1989 |- |T||Buick Skyhawk Limited 1985-1987 |- |G||Cadillac Cimarron 1985-1988 |- |G, H||Toyota Cavalier (Japan only) |- |rowspan=8|GM2900 platform |rowspan=8|J||C||Saturn L-Series|2004 Saturn L300.1 |- |D||Saturn L-Series|2004 Saturn L300.2, 2005 Saturn L300 |- |L||Saturn L-Series|2004 Saturn L300.3 |- |R||Saturn L-Series|Saturn LS w/manual transmission '00/L100 w/manual transmission '01 |- |S||Saturn L-Series|Saturn LS w/automatic transmission '00/L100 w/automatic transmission '01-'02 |- |T||Saturn L-Series|Saturn LS1 w/manual transmission '00/L200 w/manual transmission '01-'03, LW200 w/manual trans. '02 |- |U||Saturn L-Series|Saturn LS1 w/automatic transmission '00/L200 w/automatic transmission '01-'03,<br> Saturn LW1 w/automatic transmission '00/LW200 w/automatic transmission '01-'03 |- |W||Saturn L-Series|Saturn LS2 '00, LW2 '00, L300 '01-'03, LW300 '01-'03 |- |rowspan=5|GM K platform |rowspan=5|K||D||Cadillac Deville 1994-1999 |- |E||Cadillac Deville D'Elegance 1997-1999 |- |F||Cadillac Deville Concours 1994-1999 |- |S||Cadillac Seville 1985-1993 / Cadillac Seville SLS 1994-1997 |- |Y||Cadillac Seville Touring Sedan / Cadillac Seville STS 1990-1997 |- |rowspan=9|GM G platform (models formerly on K platform) |rowspan=9|K||A||2010-2011 Cadillac DTS |- |D||2000-2005 Cadillac Deville, 2006-2009 Cadillac DTS, 2010-2011 DTS Luxury |- |E||2000-2005 Cadillac Deville DHS |- |F||2000-2005 Cadillac Deville DTS |- |H||2010-2011 Cadillac DTS Premium |- |P||2010-2011 Cadillac DTS Platinum |- |R||2010-2011 Cadillac DTS Livery |- |S|| 1998-2004 Cadillac Seville SLS |- |Y|| 1998-2003 Cadillac Seville STS |- |rowspan=33|GM Kappa platform |rowspan=33|M||A||Pontiac Solstice w/automatic transmission 2010 |- |B||Pontiac Solstice 2006-2007, Solstice w/manual transmission 2008-2009 |- |B||Pontiac Solstice GXP w/automatic transmission 2010 |- |C||Pontiac Solstice w/automatic transmission 2008 |- |D||Pontiac Solstice w/manual transmission 2010 |- |E||Pontiac Solstice GXP w/manual transmission 2010 |- |F||Pontiac Solstice GXP w/automatic transmission 2008 |- |G||Pontiac Solstice GXP 2007, Solstice GXP w/manual transmission 2008-2009 |- |K||Pontiac Solstice Street Edition w/manual transmission 2009 |- |N||Pontiac Solstice w/automatic transmission 2009 |- |S||Pontiac Solstice SCCA SSB Championship Edition (2.4L) 2008 |- |T||Pontiac Solstice SCCA T2 Championship Edition (2.0L Turbo) 2008 |- |T||Pontiac Solstice GXP w/automatic transmission 2009 |- |Z||Pontiac Solstice Street Edition w/automatic transmission 2009 |- |B||Saturn Sky 2007, Sky w/manual transmission 2008-2009 |- |B||Saturn Sky Redline w/automatic transmission 2010 |- |C||Saturn Sky w/automatic transmission 2008 |- |C||Saturn Sky Ruby Red (Merlot Jewel) Special Edition w/manual transmission 2009 |- |C||Saturn Sky Preferred w/automatic transmission 2010 |- |D||Saturn Sky Hydro Blue Special Edition w/manual transmission 2009 |- |E||Saturn Sky Redline w/manual transmission 2010 |- |F||Saturn Sky Redline w/automatic transmission 2008 |- |F||Saturn Sky Preferred w/manual transmission 2010 |- |G||Saturn Sky Redline 2007, Sky Redline w/manual transmission 2008-2009 |- |H||Saturn Sky Redline Ruby Red (Merlot Jewel) Special Edition w/manual transmission 2009 |- |L||Saturn Sky Redline Hydro Blue Special Edition w/manual transmission 2009 |- |N||Saturn Sky w/automatic transmission 2009 |- |P||Saturn Sky Ruby Red (Merlot Jewel) Special Edition w/automatic transmission 2009 |- |R||Saturn Sky Hydro Blue Special Edition w/automatic transmission 2009 |- |T||Saturn Sky Redline w/automatic transmission 2009 |- |V||Saturn Sky Redline Ruby Red (Merlot Jewel) Special Edition w/automatic transmission 2009 |- |X||Saturn Sky Redline Hydro Blue Special Edition w/automatic transmission 2009 |- |G||Opel GT 2007-2010, Daewoo G2X 2007-2009 |- |rowspan=8|GM L platform |rowspan=8|L |- |D||Chevrolet Corsica ''Base'' 1994-1996 |- |T||Chevrolet Corsica ''Base'' 1987-1989, Corsica ''LT'' 1990-1993 |- |V||Chevrolet Beretta ''Base'' 1987-1996 |- |W||Chevrolet Beretta "GT" 1989-1993 (RPO Z21) & Beretta ''Z26'' 1994-1996 (RPO Z04) |- |Z||Chevrolet Corsica ''LTZ'' 1989-1990 (RPO Z54) |- |Z||Chevrolet Beretta "GTZ" 1990-1993 (RPO Z04) |- |T||Pontiac Tempest (Canada only) |- |rowspan=5|GM M platform |rowspan=5|M||R||Chevrolet Sprint |- |R||Geo Metro LSi, Metro |- |R||Pontiac Firefly (Canada only) |- |S||Chevrolet Sprint ER |- |S||Geo Metro, Metro XFi |- |rowspan=32|GM N platform |rowspan=32|N |- |B||Oldsmobile Cutlass 1997, Cutlass ''GL'' 1998-1999 |- |C||Buick Skylark 4-door ''Custom'' 1987-1991 |- |D||Buick Skylark 4-door ''Limited'' 1987-1989, Skylark 4-door ''Luxury Edition'' 1990-1991 |- |D||Chevrolet Malibu 1997-2003, Chevrolet Classic 2004-2005 |- |E||Chevrolet Malibu ''LS'' 1997-2003 |- |E||Pontiac Grand Am 1985-1988, Grand Am ''LE'' 1989-1991 |- |E||Pontiac Grand Am ''SE'' 1992-2005 |- |F||Oldsmobile Calais 1985-1987, Cutlass Calais 1988, Cutlass Calais ''S'' 1989-1991 |- |F||Oldsmobile Achieva ''SL'' 1992-1994, Achieva ''SC'' 1994 |- |F||Oldsmobile Alero ''GLS'' 1999-2004 |- |F||Pontiac Grand Am ''SE1'' 2000-2004 |- |G||Oldsmobile Cutlass ''GLS'' 1997-1999 |- |G||Pontiac Grand Am 1991 |- |G||Pontiac Grand Am ''SE2'' 2000, 2003-2004 |- |J||Buick Somerset Regal 1985, Somerset ''Custom'' 1986-1987, Skylark 2-door ''Custom'' 1988-91, Skylark 4-door ''Custom'' 1986 |- |J||Buick Skylark 1992, Skylark ''Limited'' 1993-1994, Skylark ''Custom'' 1996-1998,<br /> Skylark ''Limited'' & ''Gran Sport'' 1996-1997 |- |K||Buick Somerset ''T-Type'' 1986 |- |K||Oldsmobile Cutlass Calais ''International Series'' 1988-1991 |- |K||Oldsmobile Alero ''GX'' 1999-2004 |- |L||Oldsmobile Cutlass Calais 1989-1991 |- |L||Oldsmobile Achieva ''S'' 1992-1995, Achieva ''SL'' 1996-1998, Achieva ''SC'' 1996-1997 |- |L||Oldsmobile Alero ''GL'' 1999-2004 |- |M||Buick Somerset Regal ''Limited'' 1985, Somerset ''Limited'' 1986-'87, Skylark 2-door ''Limited'' '88-'89, Skylark 2-door ''Gran Sport'' 1990-1991, Skylark 4-door ''Limited'' 1986 |- |M||Buick Skylark ''Gran Sport'' 1992-1994 |- |T||Oldsmobile Calais ''Supreme'' 1985-1987, Cutlass Calais ''SL'' 1988-1991 |- |V||Buick Skylark 1990-1991 |- |V||Buick Skylark ''Custom'' 1993-1995, ''Limited'' 1995, ''Gran Sport'' 1995 |- |V||Pontiac Grand Am ''LE'' 1985-1988 |- |V||Pontiac Grand Am ''GT1'' 2000-2005 |- |W||Pontiac Grand Am ''SE'' 1986-1991 |- |W||Pontiac Grand Am ''GT'' 1992-2005 |- |rowspan=5|GM P platform - rear-wheel drive |rowspan=5|P |- ||E||Pontiac Fiero ''Coupe'' 1985-1988 |- ||F||Pontiac Fiero ''SE'' 1985-1987 |- ||G||Pontiac Fiero ''GT'' 1985-1988 |- ||M||Pontiac Fiero ''Sport coupe'' 1985-1987 |- |rowspan=1|GM P platform - front-wheel drive |rowspan=1|P||X||General Motors EV1 1997, 1999 |- |rowspan=6|GM R platform |rowspan=6|R |- ||F||1985-1986 Chevrolet Spectrum |- ||F||1987-1988 Chevrolet Spectrum 3-door hatchback, 1989 Geo Spectrum 3-door hatchback |- ||F||1990-1993 Geo Storm |- ||G||1987-1988 Chevrolet Spectrum 4-door sedan, 1989 Geo Spectrum 4-door sedan |- ||T||1990-1993 Geo Storm GSi |- |rowspan=8|GM S platform |rowspan=8|S||K||1985-1988 Chevrolet Nova |- |K||1989-1997 Geo Prizm, 1998-2002 Chevrolet Prizm |- |L||1988 Chevrolet Nova Twin Cam, 1990-1992 Geo Prizm GSi |- |L||2003-2008 Pontiac Vibe, 2009-2010 Pontiac Vibe FWD w/manual transmission |- |M||2003-2006 Pontiac Vibe ''AWD'', 2009-2010 Pontiac Vibe AWD w/automatic transmission |- |N||2003-2006 Pontiac Vibe ''GT'', 2009-2010 Pontiac Vibe GT FWD w/manual transmission |- |P||2009-2010 Pontiac Vibe FWD w/automatic transmission |- |R||2009-2010 Pontiac Vibe GT FWD w/automatic transmission |- |rowspan=32|GM Sigma platform |rowspan=32|D||A||Cadillac CTS Base model RWD 2010-2013, CTS Coupe Base model RWD 2014 |- |B||Cadillac CTS Wagon Luxury Collection RWD 2014 |- |C||Cadillac CTS Base model AWD 2010-2013, CTS Coupe/Wagon Performance Collection RWD 2014 |- |D||Cadillac CTS Coupe/Wagon Premium Collection RWD 2014 |- |E||Cadillac CTS Luxury Collection RWD 2010-2013, CTS Coupe Base model AWD 2014 |- |F||Cadillac CTS Auto. Trans. RWD 2008-2009, CTS Luxury Collection RWD w/Navigation 2010-2013, CTS Wagon Luxury Collection AWD 2014 |- |G||Cadillac CTS Auto. Trans. AWD 2008-2009, CTS Luxury Collection AWD 2010-2013, CTS Coupe/Wagon Performance Collection AWD 2014 |- |H||Cadillac CTS Auto. Trans. AWD w/Navigation 2008-2009, CTS Luxury Collection AWD w/Navigation 2010-2013, CTS Coupe/Wagon Premium Collection AWD 2014 |- |J||Cadillac CTS Auto. Trans. RWD w/Navigation 2008-2009, CTS Performance Collection RWD 2010-2013 |- |K||Cadillac CTS Performance Collection RWD w/Navigation 2010-2013 |- |L||Cadillac CTS Performance Collection AWD 2010-2013 |- |M||Cadillac CTS V6 2003-2004, CTS 2.8L 2005-2007, CTS Man. Trans. RWD 2008-2009, CTS Performance Collection AWD w/Navigation 2010-2013 |- |N||Cadillac CTS V-Series 2004-2007, 2009 |- |P||Cadillac CTS 3.6L 2005-2007, CTS Direct Inj. V6 Man. Trans. RWD 2008-2009, CTS Premium Collection RWD w/Navigation 2010-2013 |- |R||Cadillac CTS Direct Inj. V6 Auto. Trans. RWD 2008 |- |S||Cadillac CTS Direct Inj. V6 Auto. Trans. AWD 2008-2009, CTS Premium Collection AWD w/Navigation 2010-2013 |- |T||Cadillac CTS Direct Inj. V6 Auto. Trans. AWD w/Navigation 2008-2009 |- |U||Cadillac CTS Direct Inj. V6 Auto. Trans. RWD 2009 |- |V||Cadillac CTS Direct Inj. V6 Auto. Trans. RWD w/Navigation 2008-2009, CTS sedan V-Series 2010-2014, CTS Wagon V-Series 2011-2014, CTS Coupe V-Series 2011-2015 |- |0||Cadillac CTS Sport Appearance Pkg. 2010 |- |1||Cadillac CTS Eco Luxury Pkg. 2010 |- |2||Cadillac CTS Sport Appearance Pkg. 2011 |- |A||Cadillac STS V6 AWD 2008-2009 |- |B||Cadillac STS V8 AWD 2008-2009 |- |C||Cadillac STS V8 2005-2007, STS V8 RWD 2008-2009 |- |D||Cadillac STS V6 AWD w/Navigation 2008-2009 |- |K||Cadillac STS V6 RWD w/Navigation 2008-2009 |- |L||Cadillac STS V8 AWD w/Navigation 2008-2009 |- |U||Cadillac STS (all models) 2010, STS (Base model) 2011 |- |W||Cadillac STS V6 2005-2007, STS V6 RWD 2008-2009, STS Luxury 2011 |- |X||Cadillac STS V-Series 2006-2009, STS Luxury Performance 2011 |- |Z||Cadillac STS V8 RWD w/Navigation 2008-2009 |- |rowspan=4|GM T platform - rear-wheel drive |rowspan=4|T||B|| 1985-1987 Chevrolet Chevette CS |- |B||1985-1987 Pontiac Acadian (Canada only) |- |J||1985 Pontiac Acadian Scooter (Canada only) |- |L||1985-1987 Pontiac 1000 |- |rowspan=4|GM T platform - front-wheel drive |rowspan=4|T||N|| Pontiac LeMans 1988, LeMans LE 1989-1991, LeMans SE 1992-1993 |- |R||1988-1989 Pontiac LeMans SE sedan |- |S||1988-1990 Pontiac LeMans GSE AeroCoupe |- |X||1988-1993 Pontiac LeMans VL AeroCoupe |- |rowspan=3|GM T platform - front-wheel drive |rowspan=3|A |- |R||Saturn Astra XE (US: 2008, Canada: 2008-2009) |- |T||Saturn Astra XR (US: 2008, Canada: 2008-2009) |- |rowspan=4|Daewoo T200 platform |rowspan=4|T||D||Chevrolet Aveo Special Value 2004-2008, Base model 2004, LS 2005-2011, Aveo 1LT 2009-2011 |- |G||Chevrolet Aveo LT 2005-2008, Aveo 2LT 2009-2011 |- |J||Chevrolet Aveo LS 2004 |- |D||Pontiac G3 2009 |- |rowspan=2|GM V platform - front-wheel drive |rowspan=2|V||R||1987-1992 Cadillac Allanté with standard removable hardtop |- |S||1990-1993 Cadillac Allanté |- |rowspan=2|GM V platform - rear-wheel drive |rowspan=2|V||R||1997-2001 Cadillac Catera |- |X||2004-2006 Pontiac GTO coupe |- |rowspan=49|GM W platform |rowspan=49|W |- |A||Chevrolet Impala ''LS'' 2010-2013, Impala Limited ''LS'' 2014-2016 |- |B||Chevrolet Impala ''LS'' 2006-2009, Impala ''LT'' 2010-2013, Impala Limited ''LT'' 2014-2016 |- |C||Chevrolet Impala ''LT'' 3.9L 2006-2009, Impala ''LTZ'' 2010-2013, Impala Limited ''LTZ'' 2014-2016 |- |D||Chevrolet Impala ''SS'' 2006-2009, Impala ''Police'' 2010-2013, Impala Limited ''Police'' 2014-2016 |- |E||Chevrolet Impala ''Taxi'' 2010-2012 |- |F||Chevrolet Impala 2000-2005, Impala ''LS'' Fleet (1FL) 2011-2013 |- |G||Chevrolet Impala ''LT'' Fleet (2FL) 2011-2013 |- |H||Chevrolet Impala ''LS'' 2000-2005 |- |J||Chevrolet Monte Carlo ''LS'' 2006-2007 |- |K||Chevrolet Monte Carlo ''LT'' 3.9L 2006, Monte Carlo ''LT'' 3.5L 2007 |- |L||Chevrolet Lumina 1990-2001, Lumina ''LS'' 1997-1999 |- |L||Chevrolet Monte Carlo ''SS'' 2006-2007 |- |M||Chevrolet Monte Carlo ''LT'' 3.5L 2006 |- |N||Chevrolet Lumina ''Euro'' 1990-1994, Lumina ''LS'' 1995-1996, Lumina ''LTZ'' 1997-1999 |- |N||Chevrolet Monte Carlo ''LTZ'' 2006 |- |P||Chevrolet Lumina ''Z34'' 1991-1994, Impala ''SS'' 2004-2005 |- |S||Chevrolet Impala ''Police'' 2006-2009 |- |T||Chevrolet Impala ''LT'' 3.5L 2006-2009 |- |U||Chevrolet Impala ''LTZ'' 2006-2009 |- |V||Chevrolet Impala ''50th Anniversary Edition'' 2008 |- |W||Chevrolet Monte Carlo ''LS'' 1995-2005 |- |X||Chevrolet Monte Carlo ''Z34'' 1995-1999, Monte Carlo ''SS'' 2000-2004, Monte Carlo ''LT'' 2005 |- |Z||Chevrolet Monte Carlo ''SS Supercharged'' 2004-2005 |- |C||Pontiac Grand Prix ''GXP'' 2005-2008 |- |H||Pontiac Grand Prix ''LE'' 1991-1993 |- |J||Pontiac Grand Prix 1988-1989, Grand Prix ''LE'' 1990, Grand Prix ''SE'' 1991-2000 |- |K||Pontiac Grand Prix ''LE'' 1988-1989, Grand Prix ''SE1'' 2000-2003 |- |P||Pontiac Grand Prix ''SE'' 1988-1990, Grand Prix ''GT'' 1991-1993, 1997-2003,<br /> Grand Prix ''GT1'' 2004, Grand Prix 2005-2008 |- |R||Pontiac Grand Prix ''GTP'' 1999-2005, Grand Prix ''GT'' 2006-2007 |- |S||Pontiac Grand Prix ''GT2'' 2004, Grand Prix ''GT'' 2005 |- |T||Pontiac Grand Prix ''STE'' 1990-1993 |- |H||Oldsmobile Cutlass Supreme 1988-1991, Cutlass Supreme ''S'' 1992-1994,<br /> Cutlass Supreme ''SL'' 1995-1997, Intrigue 1998, Intrigue ''GX'' 1999-2002 |- |R||Oldsmobile Cutlass Supreme ''International Series'' 1988-1993 |- |S||Oldsmobile Cutlass Supreme ''SL'' 1988-1991, Intrigue ''GL'' 1998-2002 |- |T||Oldsmobile Cutlass Supreme Convertible 1990-1995 |- |X||Oldsmobile Intrigue ''GLS'' 1998-2002 |- |B||Buick Regal ''Custom'' 1988-1996, Regal ''GS'' Coupe 1995-1996, Regal ''LS'' 1997-2004 |- |C||Buick Lacrosse ''CX'' 2005-2009 |- |D||Buick Regal ''Limited'' 1988-1996, Lacrosse ''CXL'' 2005-2009 |- |E||Buick Lacrosse ''CXS'' 2005-2008 |- |F||Buick Regal ''GS'' Coupe 1992-1994, Regal ''GS'' Sedan 1992-2004 |- |F||Buick Allure ''CX'' 2005-2009 (Canada only) |- |H||Buick Allure ''CXS'' 2005-2008 (Canada only) |- |J||Buick Allure ''CXL'' 2005-2009 (Canada only) |- |N||Buick Lacrosse ''Super'' 2008-2009 |- |P||Buick Allure ''Super'' 2008-2009 (Canada only) |- |S||Buick Century ''Custom'' 1997-2005 |- |Y||Buick Century ''Limited'' 1997-2002 |- |rowspan=3|GM X platform |rowspan=3|X||B||1985 Buick Skylark Custom |- |C||1985 Buick Skylark Limited |- |X||1985 Chevrolet Citation II |- |rowspan=39|GM Y platform |rowspan=39|Y||V||2004-2009 Cadillac XLR |- |X||2006-2009 Cadillac XLR V-Series |- |Y||1985-2008 Chevrolet Corvette (all models except '90-'95 ZR-1) |- |Z||1990-1995 Chevrolet Corvette ZR-1 |- |G||2009 Chevrolet Corvette GT1 Championship Edition (Base & Z06) |- |R||2009 Chevrolet Corvette ZR1 (after early production) |- |Y||2009 Chevrolet Corvette (Base model, Early production Z06, Early production ZR1) |- |Z||2009 Chevrolet Corvette Z06 (after early production) |- |A||2010-2013 Chevrolet Corvette Standard 1LT Man. Trans. |- |B||2010-2013 Chevrolet Corvette Preferred 2LT Man. Trans. |- |C||2010-2013 Chevrolet Corvette Premium 3LT Man. Trans. |- |D||2010-2013 Chevrolet Corvette Custom 4LT Man. Trans. |- |E||2010-2013 Chevrolet Corvette Standard 1LT Auto. Trans. |- |F||2010-2013 Chevrolet Corvette Preferred 2LT Auto. Trans. |- |G||2010-2013 Chevrolet Corvette Premium 3LT Auto. Trans. |- |H||2010-2013 Chevrolet Corvette Custom 4LT Auto. Trans. |- |J||2010-2013 Chevrolet Corvette Z06 Standard 1LZ Man. Trans. |- |K||2010-2013 Chevrolet Corvette Z06 Premium 2LZ Man. Trans. |- |L||2010-2013 Chevrolet Corvette Z06 Custom 3LZ Man. Trans. |- |M||2010-2013 Chevrolet Corvette ZR1 Standard 1ZR Man. Trans. |- |N||2010-2013 Chevrolet Corvette ZR1 Custom 3ZR Man. Trans. |- |P||2010-2013 Chevrolet Corvette Grand Sport Standard 1LT Man. Trans. |- |R||2010-2013 Chevrolet Corvette Grand Sport Preferred 2LT Man. Trans. |- |S||2010-2013 Chevrolet Corvette Grand Sport Premium 3LT Man. Trans. |- |T||2010-2013 Chevrolet Corvette Grand Sport Custom 4LT Man. Trans. |- |U||2010-2013 Chevrolet Corvette Grand Sport Standard 1LT Auto. Trans. |- |V||2010-2013 Chevrolet Corvette Grand Sport Preferred 2LT Auto. Trans. |- |W||2010-2013 Chevrolet Corvette Grand Sport Premium 3LT Auto. Trans. |- |X||2010-2013 Chevrolet Corvette Grand Sport Custom 4LT Auto. Trans. |- |Y||2013 Chevrolet Corvette 427 Convertible Collector Edition Premium 3LT Man. Trans. |- |Z||2013 Chevrolet Corvette 427 Convertible Collector Edition Custom 4LT Man. Trans. |- |1||2013 Chevrolet Corvette 60th Anniversary Edition Custom 4LT Man. Trans. |- |2||2013 Chevrolet Corvette 60th Anniversary Edition Custom 4LT Auto. Trans. |- |3||2013 Chevrolet Corvette Grand Sport 60th Anniversary Edition Custom 4LT Man. Trans. |- |4||2013 Chevrolet Corvette Grand Sport 60th Anniversary Edition Custom 4LT Auto. Trans. |- |5||2013 Chevrolet Corvette Z06 60th Anniversary Edition Custom 3LZ Man. Trans. |- |6||2013 Chevrolet Corvette ZR1 60th Anniversary Edition Custom 3ZR Man. Trans. |- |7||2013 Chevrolet Corvette 427 Convertible 60th Anniversary Edition Custom 4LT Man. Trans. |- |8||2013 Chevrolet Corvette 427 Convertible Collector Edition Preferred 2LT Man. Trans. |- |rowspan=13|GM Z platform |rowspan=13|Z |- |E||Saturn SC1 (manual transmission 2-Door) 1993-1999 |- |F||Saturn SC1 (automatic transmission 2-Door) 1993-1999, SL (manual transmission) 1991-02 |- |G||Saturn SC (manual transmission) 1991-1992, SC2 (manual transmission 2-Door) 1993-99,<br /> SL1 (manual transmission) 1991-2002, SW1 (manual transmission) 1993-1999 |- |H||Saturn SC (automatic transmission) 1991-92, SC2 (automatic transmission 2-Door) '93-'99,<br /> SL1 (automatic transmission) 1991-02, SW1 (automatic transmission LHD) '93-'99 |- |J||Saturn SL2 (manual transmission) 1991-2002, SW2 (manual transmission) 1993-2001 |- |K||Saturn SL2 (automatic transmission) 1991-2002, SW2 (automatic transmission 1993-1999) |- |M||Saturn SW1 "Postal" [SWP] (automatic transmission RHD) 1999-2001 <br>(Made for US Postal Service rural route mail carriers) |- |N||Saturn SC1 (manual transmission 3-Door) 1999-2002, SW2 (automatic transmission 2000-01) |- |P||Saturn SC1 (automatic transmission 3-Door) 1999-2002 |- |R||Saturn SC2 (manual transmission 3-Door) 1999-2002 |- |S||Saturn SL Spring Special 2002 |- |Y||Saturn SC2 (automatic transmission 3-Door) 1999-2002 |- |rowspan=3|GM Zeta platform (VE) |rowspan=3|E||C||Pontiac G8 GT |- |P||Pontiac G8 GXP |- |R||Pontiac G8 (Base model) |- |rowspan=2|GM Zeta platform (VF) |rowspan=2|F||1||2014-2017 Chevrolet SS w/automatic transmission |- |2||2015-2017 Chevrolet SS w/manual transmission |- |GM Zeta platform (WM) |M||K||2011-2013 Chevrolet Caprice PPV |- |GM Zeta platform (WN) |N||S||2014-2017 Chevrolet Caprice PPV |- |rowspan=19|GM Zeta platform (models formerly on F platform) |rowspan=19|F||A||Chevrolet Camaro ''LS'' automatic transmission 2010-2011, ''2LS'' automatic transmission 2012-2014, ''LS'' manual transmission 2015 |- |B||Chevrolet Camaro ''LT'' automatic transmission 2010-2014, ''2LS'' automatic transmission 2015 |- |C||Chevrolet Camaro ''2LT'' automatic transmission 2010-2014, ''LT'' manual transmission 2015 |- |D||Chevrolet Camaro ''LT'' automatic transmission 2015 |- |E||Chevrolet Camaro ''LS'' manual transmission 2010-2014, ''2LT'' manual transmission 2015 |- |F||Chevrolet Camaro ''LT'' manual transmission 2010-2014, ''2LT'' automatic transmission 2015 |- |G||Chevrolet Camaro ''2LT'' manual transmission 2010-2014, ''SS'' manual transmission 2015 |- |H||Chevrolet Camaro ''SS'' automatic transmission 2015 |- |J||Chevrolet Camaro ''SS'' automatic transmission 2010-2014. Note: Must have "J" in 8th position of VIN. |- |J||Chevrolet Camaro ''ZL1'' automatic transmission 2012. Note: Must have "P" in 8th position of VIN. |- |J||Chevrolet Camaro ''2SS'' manual transmission 2015 |- |K||Chevrolet Camaro ''2SS'' automatic transmission 2010-2015 |- |L||Chevrolet Camaro ''ZL1'' automatic transmission 2013-2014, ''ZL1'' manual transmission 2015 |- |M||Chevrolet Camaro ''ZL1'' automatic transmission 2015 |- |S||Chevrolet Camaro ''SS'' manual transmission 2010-2014. Note: Must have "W" in 8th position of VIN. |- |S||Chevrolet Camaro ''ZL1'' manual transmission 2012. Note: Must have "P" in 8th position of VIN. |- |S||Chevrolet Camaro ''Z/28'' manual transmission 2014. Note: Must have "E" in 8th position of VIN. |- |T||Chevrolet Camaro ''2SS'' manual transmission 2010-2014 |- |Z||Chevrolet Camaro ''ZL1'' manual transmission 2013-2014, ''Z/28'' manual transmission 2015 |- |} RHD= Right-Hand Drive ====Model Line 2010- Passenger Car (Using Vehicle Platforms introduced 2010 or later)==== The Model Line is specified as character four of the American GM VIN for Passenger Cars. {| border=1 style="margin:auto;" !VIN !Description |- |A||Cadillac ATS 2013-2019 |- |A||Cadillac CTS sedan 2014-2019, CTS V-Series sedan 2016-2019 |- |B||Chevrolet Cruze 2016-2019 |- |C||Chevrolet Spark 2013-2022, Spark EV 2014-2016 |- |D||Cadillac CT4 2020-2026 |- |D||Cadillac CT5 2020- |- |F||Chevrolet Camaro 2016-2024 |- |F||Chevrolet Bolt EV 2017-2023, Bolt EUV 2022-2023, Bolt 2027 |- |G||Buick LaCrosse 2010-2016 |- |G||Buick Regal 2011-2020, Buick Regal TourX 2018-2020 |- |J||Chevrolet Sonic 2016-2020 |- |K||Cadillac CT6 2016-2020 |- |M||Cadillac Celestiq EV 2025- |- |P||Buick Verano 2012-2017 |- |P||Chevrolet Cruze 2011-2015, Cruze Limited 2016 |- |R||Cadillac ELR 2014, 2016 |- |R||Chevrolet Volt 2011-2019 |- |W||Buick Cascada 2016-2019 |- |Y||Chevrolet Corvette 2014- |- |Z||Buick LaCrosse 2017-2019 |- |Z||Chevrolet Malibu 2016-2025 |- |1||Cadillac XTS 2013-2019 |- |1||Chevrolet Impala 2014-2020 |- |1||Chevrolet Malibu 2013-2015, Malibu Limited 2016 |- |} ===Body style codes 1987- Passenger Car=== The Body type is specified as character six of the American GM VIN for passenger cars. {| border=1 style="margin:auto;" !VIN !Description |- |1||Two-Door Coupe/Sedan |- |2||Two-Door Hatchback |- |3||Two-Door Convertible |- |4||Two-Door Wagon ('91-'92 Geo Storm Hatchback) |- |5||Four-Door Sedan |- |6||Four-Door Hatchback |- |7||Four-Door Hatchback ('89-'90 Geo Prizm hatchback) |- |8||Four-Door Station Wagon |- |9||Four-Door Station Wagon - High Roof Monocab |} ===American restraint types 1987-=== The restraint type is specified as character seven of the American GM VIN for passenger cars. {{center/top}} ====Restraint codes for passenger cars 1987-2009==== {{center/end}} {| border=1 style="margin:auto;" !VIN Code !Description |- |1||Active (Manual) belts 1987-1996 |- |2||Active (Manual) belts plus driver and passenger front airbags 1992-2005<br />(For '94-'96 Pontiac Grand Prix coupe: Passive (Automatic) belts plus driver and passenger front airbags) |- |3||Active (Manual) belts plus driver side front airbag 1988-1996 <br />(For '94 Geo Prizm: Active (Manual) belts plus driver and passenger front airbags) |- |4||Passive (Automatic) belts 1987-1996 |- |4||Active (Manual) belts plus driver and passenger front & side airbags 1997-2005 |- |4||Active (Manual) belts plus driver and passenger front & side curtain airbags 2006-2009 |- |5||Passive (Automatic) belts plus driver side front airbag 1992-1996 |- |5||Active (Manual) belts plus driver and passenger front airbags & driver-side side impact airbag 2000-2005 |- |5||Active (Manual) belts plus driver and passenger front airbags & occupant sensor 2006-2009 |- |6||Passive (Automatic) belts plus driver and passenger front airbags 1994-1996 |- |6||Active (Manual) belts plus driver and passenger front & side airbags & occupant sensor 2000-2009 |- |7||Active (Manual) belt driver & Passive (Automatic) belt passenger plus driver and passenger front airbags 1996 |- |7||Active (Manual) belts plus driver and passenger front & side airbags & rear side airbags 2000-2005 |- |7||Active (Manual) belts plus driver and passenger front & side & side curtain airbags & occupant sensor 2006-2009 |- |8||Active (Manual) belts plus driver and passenger front & side curtain airbags & occupant sensor 2006-2009 |- |9|| |} {{center/top}} ====Restraint codes for passenger cars 2010-==== {{center/end}} {| border=1 style="margin:auto;" !VIN Code !Description |- |D||Active (Manual) belts plus driver and passenger front & side airbags 2010- |- |E||Active (Manual) belts plus driver and passenger front & side & side curtain airbags 2010-2017, 2027 |- |F||Active (Manual) belts plus driver and passenger front & side curtain airbags 2010 |- |G||Active (Manual) belts plus driver and passenger front & side & rear side & side curtain airbags 2010-2017 |- |N||Active (Manual) belts plus driver and passenger front & side & front knee airbags 2016-2019 |- |R||Active (Manual) belts plus driver and passenger front & side & side curtain & front knee airbags 2012- |- |S||Active (Manual) belts plus driver and passenger front & side & rear side & side curtain & front knee airbags 2011- |- |T||Active (Manual) belts plus driver and passenger front & side & front row side curtain airbags 2011 |- |U||Active (Manual) belts plus driver and passenger front & side & front row side curtain & front knee airbags 2012-2017 |} {{center/top}} ====Restraint codes for light trucks 2010-==== {{center/end}} {| border=1 style="margin:auto;" !VIN Code !Description |- |A||Active (Manual) belts plus driver-side front airbag 2010 |- |B||Active (Manual) belts plus driver-side front airbag 2011- |- |B||Active (Manual) belts plus driver and passenger front airbags 2010 |- |C||Active (Manual) belts plus driver and passenger front airbags 2011- |- |C||Active (Manual) belts plus driver and passenger front & side airbags 2010 |- |D||Active (Manual) belts plus driver and passenger front & side airbags 2011- |- |D||Active (Manual) belts plus driver and passenger front airbags & side curtain airbags for up to 3 rows of seating 2010 |- |E||Active (Manual) belts plus driver and passenger front & side & side curtain airbags 2010- |- |F||Active (Manual) belts plus driver and passenger front airbags & side curtain airbags for up to 3 rows of seating 2011-2015 |- |F||Active (Manual) belts plus driver and passenger front & side airbags & side curtain airbags for up to 3 rows of seating 2016- |- |H||Active (Manual) belts plus driver-side front airbag & driver-side side-impact airbag & driver-side side curtain airbag 2023-2024 |- |K||Active (Manual) belts plus driver and passenger front & side & side curtain & front center airbags 2013- |- |L||Active (Manual) belts plus driver and passenger front & side & side curtain & front center & driver-side knee airbags 2017-2023 |- |M||Active (Manual) belts plus driver and passenger front & side & side curtain & front center & front knee airbags 2025- |- |R||Active (Manual) belts plus driver and passenger front & side & side curtain & front knee airbags 2017- |- |S||Active (Manual) belts plus driver and passenger front & side & rear side & side curtain & front knee airbags 2013- |- |T||Active (Manual) belts plus driver-side front airbag & driver- and passenger-side side-impact airbags & side curtain airbags 2023- |- |U||Active (Manual) belts plus driver and passenger front & side & front row side curtain & front knee airbags 2013-2019 |} ===American engine codes 1981-=== GM encodes the engine type in character 8 of the VIN. The following table outlines the various engines encoded there: ====Engine codes for passenger cars==== Warning: Issues with decoding are related to year/model combinations. Each year has a different breakdown for each code along with plants and some model/trim breakdowns over years. Entry: 1985-1988 Pontiac Fiero has a 9 engine code for the 2.8L L44 V6. Entry: 1986-1990 Cadillac Brougham, Oldsmobile 307 Cu. In. V8 vin code Y. {| border=1 style="margin:auto;" !VIN !RPO !Size !Type !Fuel !Valvetrain !Engine Family/Notes/Applications |- |A||LD5||3.8&nbsp;L||V6||2 Barrel Carburetor |2BBL||OHV||Buick V6. (231 cu. in.) '81 Chevy Camaro (CA), Pontiac Catalina, Firebird, LeMans, Buick Century,<br /> '81-'83 Chevy Malibu (CA), '81-'84 Monte Carlo, Caprice, Impala (CA), '81-'87 Pontiac Grand Prix, Oldsmobile Cutlass/Cutlass Supreme, Buick Regal, '81-'85 Oldsmobile Delta 88, Buick LeSabre,<br /> '81-'86 Pontiac Bonneville, '84 Parisienne |- |A||LG0||2.3&nbsp;L||Straight-4|I4||Fuel injection#Multi-port fuel injection|MFI||DOHC,<br /> 16 valve||Oldsmobile Quad 4 H.O. '89-'94 Pontiac Grand Am, '89-'91 Oldsmobile Cutlass Calais, '92-'94 Achieva, '90 Cutlass Supreme, '90-'94 Chevy Beretta |- |A||LH2||4.6&nbsp;L||V8||Fuel injection#Sequential Multi-port injection|SFI||DOHC,<br /> 32 valve||Cadillac Northstar V8 (For RWD) (Premium V). '04-'09 Cadillac XLR, '05-'10 Cadillac STS |- |A||LCV||2.5&nbsp;L||Straight-4|I4||Direct Injection|DI||DOHC,<br /> 16 valve||GM Ecotec engine, Gen III. VVT. '13 Chevy Malibu, '16 Malibu Limited, '16-'19 Impala,<br /> '13-'16 Cadillac ATS |- |A||LV7||1.4&nbsp;L||Straight-4|I4||Fuel injection#Multi-port fuel injection|MFI||DOHC,<br /> 16 valve||GM Small Gasoline Engine. VVT. Made in Changwon, S. Korea. '16-'22 Chevy Spark. |- |B||LG2||3.8&nbsp;L||V6||Fuel injection#Sequential Multi-port injection|SFI||OHV||Buick V6. '86 Oldsmobile 98, Toronado, Buick Electra, Riviera. |- |B||L26||4.9&nbsp;L||V8||Fuel injection#Multi-port fuel injection|MFI||OHV||Cadillac High Technology V8.<br /> '91-'93 Cadillac Eldorado, Seville, '91-'95 DeVille, '91-'92 Fleetwood, '91-'93 Sixty Special |- |B||LE5||2.4&nbsp;L||Straight-4|I4||Fuel injection#Multi-port fuel injection|MFI||DOHC,<br /> 16 valve||GM Ecotec Gen II. VVT. '06-'08 Chevy Cobalt, '06-'07 Saturn Ion, '06-'10 Pontiac G6, Solstice,<br /> '07-'08 Pontiac G5, '07-'10 Saturn Sky, '08-'09 Saturn Aura, '08-'10 Chevy Malibu |- |B||LUV||1.4L||I4 Turbo||Fuel injection#Sequential Multi-port fuel injection|SFI||DOHC,<br /> 16 valve||GM Family 0 Engine, Gen III. VVT. '12-'20 Chevy Sonic, '13-'15 Chevy Cruze, '16 Cruze Limited |- |C||L17||1.6&nbsp;L||Straight-4|I4||2 Barrel Carburetor |2BBL||SOHC,<br /> 8 valve||Isuzu G161Z engine made by GM in US. '82-'87 Chevy Chevette, Pontiac T1000/1000 |- |C||LN3||3.8&nbsp;L||V6||Fuel injection#Multi-port fuel injection|MFI||OHV||Buick V6 (3800). '88-'90 Oldsmobile 98, Toronado, Buick Electra, Riviera, Reatta, <br /> '88-'91 Buick LeSabre, Oldsmobile Delta 88/Eighty Eight, Pontiac Bonneville |- |C||L47||4.0&nbsp;L||V8||Fuel injection#Sequential Multi-port injection|SFI||DOHC,<br /> 32 valve||Oldsmobile Aurora V8 (Premium V). Oldsmobile Aurora '95-'99, Aurora 4.0 '01-'03 |- |C||LS4||5.3 L||V8||Fuel injection#Sequential Multi-port injection|SFI||OHV||Gen IV Chevrolet Small-Block V8. Aluminum Block & Heads. Active Fuel Management.<br /> Transversely mounted for FWD. '05-'08 Pontiac Grand Prix GXP, '06-'07 Chevy Monte Carlo SS,<br /> '06-'09 Chevy Impala SS, '08-'09 Buick LaCrosse Super. |- |C||LAF||2.4&nbsp;L||Straight-4|I4||Direct Injection|DI||DOHC,<br /> 16 valve||GM Ecotec engine, Gen II. VVT. Buick LaCrosse '10-'11, Regal '11. |- |C||LUJ||1.4L||I4 Turbo||Fuel injection#Sequential Multi-port fuel injection|SFI||DOHC,<br /> 16 valve||GM Family 0 Engine, Gen III. VVT. Early production engines were made in Aspern, Austria; later made in Flint, MI. '12 Chevy Cruze |- |D||LJ5||1.8&nbsp;L||Straight-4|I4||Indirect injection Diesel||SOHC,<br /> 8 valve||Isuzu 4FB1 diesel engine imported from Japan. '81-'86 Chevy Chevette |- |D||LD2||2.3&nbsp;L||Straight-4|I4||Fuel injection#Multi-port fuel injection|MFI||DOHC,<br /> 16 valve||Oldsmobile Quad 4. '88-'95 Pontiac Grand Am, '88-'91 Oldsmobile Cutlass Calais, '92-'95 Achieva,<br /> '88-'91 &'95 Buick Skylark, '90-'91 Pontiac Grand Prix, Oldsmobile Cutlass Supreme,<br /> '95 Chevy Cavalier, Pontiac Sunfire |- |D||LC3||4.4&nbsp;L||V8 Supercharged||Fuel injection#Sequential Multi-port point injection|SFI||DOHC,<br /> 32 valve||Cadillac Northstar V8 (Premium V). '06-'09 Cadillac XLR V-Series, Cadillac STS V-Series |- |E||LK9||3.0&nbsp;L||V6||2 Barrel Carburetor |2BBL||OHV||Buick V6. '82-'85 Oldsmobile Cutlass Ciera, Buick Century, '85 Oldsmobile 98, Buick Electra |- |E||LA1||3.4&nbsp;L||V6||Fuel injection#Sequential Multi-port point injection|SFI||OHV||Chevrolet 60° V6. '99-'05 Grand Am, '99-'04 Alero, '00-'05 Impala, Monte Carlo |- |E||L03||5.0&nbsp;L||V8||Fuel injection#Throttle Body injection|TBI||OHV||Gen I Chevy Small-Block V8 (305 cu. in.). '88-'92 Camaro/Firebird, '89-'93 Chevy Caprice,<br /> '91 Buick Roadmaster Estate wagon, '91-'92 Oldsmobile Custom Cruiser, Cadillac Brougham. |- |E||LXV||1.6&nbsp;L||Straight-4|I4||Fuel injection#Multi-port fuel injection|MFI||DOHC,<br /> 16 valve||Family 1 Gen 3 engine. W/VVT. '09-'11 Chevy Aveo, '09 Pontiac G3 |- |E||LS7||7.0&nbsp;L||V8||Fuel injection#Sequential Multi-port point injection|SFI||OHV||Gen IV Chevy Small-Block V8. Aluminum Block & Heads.<br /> '06-'13 Corvette Z06, '13 Corvette 427, '14-'15 Camaro Z/28 |- |E||LH7||1.6&nbsp;L||I4 Turbo||Direct injection <br /> Common-rail Diesel||DOHC,<br /> 16 valve||GM Medium Diesel engine ("Whisper Diesel"). Made by Opel in Szentgotthárd, Hungary.<br /> Aluminum Block & Heads. '17-'19 Chevy Cruze Diesel. |- |F||LV8||4.3&nbsp;L||V8||2 Barrel Carburetor |2BBL||OHV||Oldsmobile "Rocket" V8 (260 cu. in.) '81 Oldsmobile Cutlass, Delta 88. |- |F||L61||2.2&nbsp;L||Straight-4|I4||Fuel injection#Multi-port fuel injection|MFI||DOHC,<br /> 16 valve||GM Ecotec Gen I. '00-'04 Saturn L-Series, '02-'05 Chevy Cavalier, Pontiac Sunfire, Grand Am,<br /> '02-'04 Oldsmobile Alero, '03-'06 Saturn Ion, '04-'06 Chevy Malibu, '05-'06 Chevy Cobalt |- |F||L61||2.2&nbsp;L||Straight-4|I4||Fuel injection#Multi-port fuel injection|MFI||DOHC,<br /> 16 valve||GM Ecotec Gen II. '07-'08 Chevy Cobalt, Malibu, Pontiac G5, '07 Saturn Ion. |- |F||LB9||5.0&nbsp;L||V8||Tuned-port fuel injection|TPI||OHV||Gen I Chevy Small-Block V8. (305 cu. in.). '85-'92 Chevy Camaro, Pontiac Firebird. |- |G||L46||1.8&nbsp;L||I4||2 Barrel Carburetor |2BBL||OHV||Chevrolet "122" engine. '82 J-cars. |- |G||L69||5.0&nbsp;L||V8||4 Barrel Quadrajet Carburetor |4BBL||OHV||Gen I Chevy Small-Block V8 (High Output 5.0L). (305 cu. in.)<br /> '84-'86 Camaro/Firebird, '84-'88 Chevy Monte Carlo SS |- |G||LM3||2.2&nbsp;L||I4||Fuel injection#Throttle Body injection|TBI||OHV||Chevrolet "122" engine. '90-'91 Chevy Cavalier & Corsica/Beretta. |- |G||LS1||5.7&nbsp;L||V8||Fuel injection#Multi-port fuel injection|MFI||OHV||Gen III Chevy Small-Block V8. (346 cu. in.) Aluminum Block & Heads.<br /> '97-'04 Corvette, '98-'02 Camaro/Firebird, '04 Pontiac GTO |- |G||LF1||3.0L||V6||Direct Injection|DI||DOHC,<br /> 24 valve||GM High Feature V6. VVT. 2010 Buick LaCrosse, Cadillac CTS |- |G||LWE||1.8&nbsp;L||Straight-4|I4||Fuel injection#Sequential Multi-port fuel injection|SFI||DOHC,<br /> 16 valve||GM Family 1 engine, Gen III. VVT. PZEV emissions.<br /> '13-'15 Chevy Cruze, '16 Cruze Limited, '13-'18 Sonic. |- |H||LG4||5.0&nbsp;L||V8||4 Barrel Quadrajet Carburetor |4BBL||OHV||Gen I Chevy Small-Block V8. (305 cu. in.) '81-'87 F-bodies, '81-'83 Chevy Malibu, '81-'85 Impala,<br /> '81-'88 Caprice, Monte Carlo, '83-'86 Pontiac Bonneville, Parisienne, '83-'87 Grand Prix |- |H||LE4||2.0&nbsp;L||Straight-4|I4||Fuel injection#Multi-port fuel injection|MFI||SOHC,<br /> 8 valve||GM Family II engine. Made in Brazil. '92-'94 Pontiac Sunbird. |- |H||LX5||3.5&nbsp;L||V6||Fuel injection#Sequential Multi-port injection|SFI||DOHC,<br /> 24 valve||Oldsmobile "Shortstar" V6 (Premium V). Oldsmobile Intrigue '99-'02, Aurora 3.5 '01-'02. |- |H||LAP||2.2&nbsp;L||Straight-4|I4||Fuel injection#Multi-port fuel injection|MFI||DOHC,<br /> 16 valve||GM Ecotec Gen II. VVT. '09 Chevy Cobalt, Pontiac G5. |- |H||LUW||1.8&nbsp;L||Straight-4|I4||Fuel injection#Sequential Multi-port fuel injection|SFI||DOHC,<br /> 16 valve||GM Family 1 engine, Gen III. VVT. '11-'15 Chevy Cruze, '16 Cruze Limited, '12-'18 Sonic. |- |J||L39||4.4&nbsp;L||V8||2 Barrel Carburetor |2BBL||OHV||Gen I Chevy Small-Block V8 (267 cu. in.) '81-'82 Chevy Caprice, Impala, Malibu, Monte Carlo,<br /> '81 Chevy Camaro |- |J||LA5||1.8&nbsp;L||Straight-4|I4 Turbo||Fuel injection#Multi-port fuel injection|MFI||SOHC,<br /> 8 valve||GM Family II engine. Made in Brazil. '84-'86 Pontiac Sunbird, Buick Skyhawk. |- |J||LT5||5.7&nbsp;L||V8||Fuel injection#Multi-port fuel injection|MFI||DOHC,<br /> 32 valve||Based on Chevy Small-Block V8. Designed with Lotus Engineering.<br /> Made by Mercury Marine. Aluminum Block & Heads. '90-'95 Corvette ZR-1 |- |J||LG8||3.1&nbsp;L||V6||Fuel injection#Sequential Multi-port injection|SFI||OHV||Chevrolet 60° V6. Gen III. 3100. '99-'03 Chevy Malibu, '99 Oldsmobile Cutlass, '00-'01 Chevy Lumina,<br /> '00-'03 Pontiac Grand Prix SE, '00-'05 Buick Century |- |J||L99||6.2&nbsp;L||V8||Fuel injection#Sequential Multi-port injection|SFI||OHV||Gen IV Chevy Small-Block V8. VVT. With Active Fuel Management. Aluminum Block & Heads.<br /> '10-'15 Camaro SS (auto. trans.) |- |J||LTA||4.2&nbsp;L||V8 Twin Turbo||Direct injection|DI||DOHC,<br /> 32 valve||Cadillac Blackwing V8. VVT. '19-'20 Cadillac CT6 Platinum & V-series |- |K||LC3||3.8&nbsp;L||V6||2 Barrel Carburetor |2BBL||OHV||Chevrolet 90° V6 (Chevy Small-Block V8 Derived). 229 cu. in. <br /> '81-'82 Malibu, Monte Carlo, Impala, Caprice, '81 Camaro. |- |K||LC5||1.5&nbsp;L||I4||2 Barrel Carburetor |2BBL||SOHC,<br /> 8 valve||Isuzu 4XC1 engine. '85 Chevrolet Spectrum. |- |K||LT2||2.0&nbsp;L||Straight-4|I4||Fuel injection#Throttle Body injection|TBI||SOHC,<br /> 8 valve||GM Family II engine. Made in Brazil.<br /> '87-'91 Pontiac Sunbird, '87-'88 Oldsmobile Firenza, Buick Skyhawk. |- |K||LT2||2.0&nbsp;L||Straight-4|I4||Fuel injection#Throttle Body injection|TBI||SOHC,<br /> 8 valve||GM Family II engine. Made in Australia by Holden.<br /> '89-'90 Pontiac LeMans GSE Aerocoupe, '89 LeMans SE sedan |- |K||L36||3.8&nbsp;L||V6||Fuel injection#Sequential Multi-port injection|SFI||OHV||Buick V6 (3800 Series II). '95-'05: Various W-, H-, C-, & G-body models. '95-'02 Camaro/Firebird. |- |K||LZE||3.5L||V6||Fuel injection#Sequential Multi-port injection|SFI||OHV||GM High Value 60° V6. 3510cc. VVT. Flex-Fuel E85 compatible.<br /> '06-'07 Chevy Monte Carlo, '06-'11 Chevy Impala, '09-'10 Chevy Malibu, Pontiac G6 |- |K||LEA||2.4&nbsp;L||Straight-4|I4||Direct Injection|DI||DOHC,<br /> 16 valve||E85 Flex Fuel. GM Ecotec engine, Gen II. VVT. Buick Regal, Verano '12-'17 (except '13 Regal). |- |K||LSY||2.0&nbsp;L||Straight-4|I4 Turbo||Direct Injection|DI||DOHC,<br /> 16 valve||GM Ecotec engine, Gen III. Active Fuel Management. VVT. VVL.<br /> '19 Cadillac CT6, '20+ Cadillac CT4, CT5 |- |L||LM1||5.7&nbsp;L||V8||4 Barrel Carburetor |4BBL||OHV||Gen I Chevy Small-Block V8.<br> '81 Camaro Z28 (only w/auto. trans. in US), '81-'82 Impala 9C1 Police, '81 Malibu 9C1 Police |- |L||LL1||2.8&nbsp;L||V6||2 Barrel Carburetor |2BBL||OHV||Chevrolet 60° V6 H.O. (longitudinally mounted). '83-'84 Pontiac Firebird. |- |L||LN7||3.0&nbsp;L||V6||Fuel injection#Multi-port fuel injection|MFI||OHV||Buick V6. '85-'87 Pontiac Grand Am, '85-'88 Oldsmobile & Buick N-bodies,<br /> '86 Oldsmobile Delta 88, Buick LeSabre |- |L||L27||3.8&nbsp;L||V6||Fuel injection#Tuned port injection|TPI||OHV||Buick V6 (3800 Series I). '90-'95 Buick Regal, '91-'94 Oldsmobile 98, Buick Park Avenue, '91 Reatta, '91-'93 Riviera, '91-'92 Oldsmobile Toronado, '92-'95 Buick LeSabre, '92-'94 Pontiac Bonneville, Oldsmobile 88 |- |L||LNK||1.8&nbsp;L||Straight-4|I4||Fuel injection#Sequential multi-port injection|SFI||DOHC,<br /> 16 valve||Toyota 2ZZ-GE engine. VVTL-i. '03-'06 Pontiac Vibe GT |- |L||LKW||2.5&nbsp;L||Straight-4|I4||Direct Injection|DI||DOHC,<br /> 16 valve||GM Ecotec engine, Gen III. VVT. VVL. '14-'15 Chevy Malibu, Impala |- |L||L3B||2.7L||I4 Turbo||Direct Injection|DI||DOHC,<br /> 16 valve||GM L3B Tripower engine. VVT, VVL. Active Fuel Management. '20+ Cadillac CT4, CT4-V |- |M||LY9||1.0&nbsp;L||Straight-3|I3||2BBL||SOHC,<br /> 6 valve ||Suzuki G10A engine. '85 Chevrolet Sprint |- |M||LT3||2.0&nbsp;L||Straight-4|I4 Turbo||Fuel injection#Multi-port fuel injection|MFI||SOHC,<br /> 8 valve||GM Family II engine. Made in Brazil.<br /> '87-'90 Pontiac Sunbird, '87 Buick Skyhawk T-Type, '87-'89 Pontiac Grand Am SE. |- |M||L82||3.1&nbsp;L||V6||Fuel injection#Sequential Multi Port Fuel injection|SFI||OHV||Chevrolet 60° V6 (transversely mounted). Gen III. 3100. '93-'97 Oldsmobile Cutlass Supreme,<br /> '94-'98 Pontiac Grand Am, Oldsmobile Achieva, Buick Skylark, '94-'99 Pontiac Grand Prix,<br /> '94-'96 Chevy Corsica/Beretta, Oldsmobile Cutlass Ciera, Buick Regal, '94-'99 Century,<br /> '95-'99 Chevy Lumina, Monte Carlo, '97-'99 Chevy Malibu, Oldsmobile Cutlass |- |M||LY9||2.6&nbsp;L||V6||Fuel injection#Multi-port fuel injection|MFI||DOHC,<br /> 24 valve||Opel 54° V6 engine (Made in the UK). Euro-market Cadillac CTS '03-'04. |- |M||LGD||3.9L||V6||Fuel injection#Sequential Multi Port Fuel injection|SFI||OHV||E85 Flex Fuel. GM High Value 60° V6. VVT. '09-'11 Chevy Impala, Buick Lucerne |- |M||LE2||1.4&nbsp;L||Straight-4|I4 Turbo||Direct Injection|DI||DOHC,<br /> 16 valve||GM Small Gasoline Engine. VVT. '16-'19 Chevy Cruze. |- |N||LF9||5.7&nbsp;L||V8||Indirect injection Diesel||OHV||Oldsmobile Diesel V8. '81-'85 Chevy Caprice, Impala, '82-'83 Malibu, '82-'84 Monte Carlo,<br /> '81-'84 Pontiac Grand Prix, Bonneville, '81 Catalina, '83-'85 Parisienne,<br /> '81-'84 Oldsmobile 98, '81-'85 Cutlass/Cutlass Supreme, Delta 88, Custom Cruiser, Toronado,<br /> '81-'83 Buick Electra, '81-'85 LeSabre, Electra Estate wagon, Riviera, '82-'83 Regal,<br /> '81-'84 Cadillac DeVille, '81-'85 Fleetwood Brougham, Eldorado, Seville |- |N||LG7||3.3&nbsp;L||V6||Fuel injection#Multi-port fuel injection|MFI||OHV||Buick V6 (3300). '89-'93 Buick Century, Skylark, Oldsmobile Cutlass Ciera, '89-'91 Cutlass Calais,<br /> '92-'93 Achieva, Pontiac Grand Am. |- |N||LA3||3.2&nbsp;L||V6||Fuel injection#Multi-port fuel injection|MFI||DOHC,<br /> 24 valve||Opel 54° V6 engine (Made in the UK). '03-'04 Cadillac CTS |- |N||LZ4||3.5L||V6||Fuel injection#Sequential Multi-port injection|SFI||OHV||GM High Value 60° V6. 3510cc. VVT. '06-'07 Chevy Monte Carlo, '06-'10 Chevy Impala,<br /> '07-'10 Chevy Malibu, Pontiac G6, '07-'08 Saturn Aura |- |N||LFR||3.6L||V6||Fuel injection#Multi-port fuel injection|MFI||DOHC,<br /> 24 valve||(Bi-Fuel Gas/CNG). GM High Feature V6. '15-'17 Chevy Impala Bi-Fuel |- |P||LQ5||2.0&nbsp;L||I4||Fuel injection#Throttle Body injection|TBI||OHV||Chevrolet "122" engine. '83-'86 J-cars ('83-'84 for Pontiac). |- |P||LT1||5.7&nbsp;L||V8||Fuel injection#Sequential Multi-port injection|SFI||OHV||Gen II Chevy Small-Block V8. Aluminum Heads: '92-'96 Corvette, '93-'97 Camaro/Firebird.<br /> Iron Heads: '94-'96 Chevy Caprice, Impala SS, Buick Roadmaster, Cadillac Fleetwood. |- |P||LSJ||2.0&nbsp;L||SC Straight-4|I4 Supercharged||Fuel injection#Sequential central point injection|SFI||DOHC,<br /> 16 valve||GM Ecotec Gen I. Made by Opel in Kaiserslautern, Germany.<br /> '04-'07 Saturn Ion Red Line, '05-'07 Chevy Cobalt SS Supercharged. |- |P||LSA||6.2&nbsp;L||V8 Supercharged||Fuel injection#Sequential Multi-port injection|SFI||OHV||Gen IV Chevy Small-Block V8. Aluminum Block & Heads.<br /> Cadillac CTS V-Series '09-'15, Camaro ZL1 '12-'15 |- |P||LF4||3.6L||V6 Twin Turbo||Direct Injection|DI||DOHC,<br /> 24 valve||GM High Feature V6. Cadillac CT4-V Blackwing '22+ |- |R||LR8||2.5L||I4||Fuel injection#Throttle Body injection|TBI||OHV||Pontiac Iron Duke/Tech IV engine. Transversely mounted. '82-'85 Chevy Citation, Buick Skylark,<br /> '82-'84 Pontiac Phoenix, Oldsmobile Omega, '82-'90 Chevy Celebrity, '82-'91 Pontiac 6000,<br /> '82-'92 Oldsmobile Cutlass Ciera, Buick Century, '84-'88 Pontiac Fiero, '90-'92 Chevy Lumina |- |R||L81||3.0&nbsp;L||V6||Fuel injection#Multi-port fuel injection|MFI||DOHC,<br /> 24 valve||Opel 54° V6 engine (Made in the UK). '97-'01 Cadillac Catera, '00-'05 Saturn L-Series |- |R||LZ8||3.9L||V6||Fuel injection#Sequential Multi Port Fuel injection|SFI||OHV||GM High Value 60° V6. VVT. Active Fuel Management. '07 Chevy Impala |- |R||LS9||6.2&nbsp;L||V8 Supercharged||Fuel injection#Sequential Multi-port injection|SFI||OHV||Gen IV Chevy Small-Block V8. Aluminum Block & Heads. '09 Corvette ZR1. |- |R||LUK||2.4L||I4||Direct Injection|DI||DOHC,<br /> 16 valve||Mild Hybrid. GM Ecotec Gen II. VVT. '12-'16 Buick LaCrosse eAssist, Regal eAssist,<br /> '13-'14 Chevy Malibu Eco, '14 Chevy Impala Eco |- |S||LS5||4.3&nbsp;L||V8||2 Barrel Carburetor |2BBL||OHV||Pontiac V8. 265 cu. in.<br /> '81 Pontiac Bonneville, Catalina, Firebird, Grand Prix, LeMans, Buick Century, Regal. |- |S||LU5||5.0&nbsp;L||V8||Cross-Fire fuel injection|CFI||OHV||Gen I Chevy Small-Block V8. (305 cu. in.) '83 Camaro, Firebird. Dual throttle-body fuel injection. |- |S||LB8||2.8&nbsp;L||V6||Fuel injection#Multi Port Fuel injection|MPFi||OHV||Chevrolet 60° V6 (longitudinally mounted). '85-'89 Chevy Camaro, Pontiac Firebird. |- |S||L32||3.4&nbsp;L||V6||Fuel injection#Multi Port Fuel injection|MPFi||OHV||Chevrolet 60° V6 (longitudinally mounted). '93-'95 Chevy Camaro, Pontiac Firebird. |- |S||LS6||5.7&nbsp;L||V8||Fuel injection#Sequential Multi Port injection|SFI||OHV||Gen III Chevy Small-Block V8. (346 cu. in.) Aluminum Block & Heads.<br /> '01-'04 Corvette Z06, '04-'05 Cadillac CTS V-Series |- |S||LGX||3.6L||V6||Direct Injection|DI||DOHC,<br /> 24 valve||GM High Feature V6, 4th gen. VVT. Active Fuel Management. '16-'19 Cadillac ATS, CTS, '16-'20 CT6, '16-'24 Chevrolet Camaro, '17-'19 Buick LaCrosse, '18–'20 Buick Regal GS |- |T||LU8||4.9&nbsp;L||V8 Turbo||4 Barrel Carburetor |4BBL||OHV||Pontiac V8. 301 cu. in. '81 Pontiac Firebird Formula & Trans Am. |- |T||LT7||4.3&nbsp;L||V6||Indirect injection Diesel||OHV||Oldsmobile Diesel V6. FWD version for '82-'85 GM A-bodies. |- |T||LS2||4.3&nbsp;L||V6||Indirect injection Diesel||OHV||Oldsmobile Diesel V6. FWD version for '85 GM C-bodies. |- |T||LH0||3.1&nbsp;L||V6||Fuel injection#Multi Port Fuel injection|MPFi||OHV||Chevrolet 60° V6 (longitudinally mounted). '90-'92 Chevy Camaro, Pontiac Firebird. |- |T||LH0||3.1&nbsp;L||V6||Fuel injection#Multi Port Fuel injection|MPFi||OHV||Chevrolet 60° V6 (transversely mounted). Gen II. '88-'91 Pontiac 6000,<br /> '89-'93 Grand Prix, Oldsmobile Cutlass Supreme, Buick Regal, '90-'94 Chevy Cavalier, Lumina,<br /> '91-'94 Pontiac Sunbird, '90-'93 Chevy Corsica/Beretta, '90 Celebrity |- |T||LD9||2.4&nbsp;L||Straight-4|I4||Fuel injection#Sequential Multi-port injection|SFI||DOHC,<br /> 16 valve||Oldsmobile Quad 4 ("2.4 Twin Cam"). '96-'01 Pontiac Grand Am, '96-'97 Oldsmobile Achieva, Buick Skylark, '99-'01 Oldsmobile Alero, '97-'99 Chevy Malibu, '96-'02 Chevy Cavalier, Pontiac Sunfire |- |T||LP1||2.8&nbsp;L||V6||Fuel injection#Sequential Multi-port injection|SFI||DOHC,<br /> 24 valve||GM High Feature V6. '05-'07 Cadillac CTS |- |T||LS9||6.2&nbsp;L||V8 Supercharged||Fuel injection#Sequential Multi-port injection|SFI||OHV||Gen IV Chevy Small-Block V8. Aluminum Block & Heads. '10-'13 Corvette ZR1. |- |T||LFV||1.5L||I4 Turbo||Direct Injection|DI||DOHC,<br /> 16 valve||GM Small Gasoline Engine. VVT. '16-'25 Chevy Malibu. |- |U||L68||2.5L||I4||Fuel injection#Throttle Body injection|TBI||OHV||Pontiac Iron Duke/Tech IV engine. Transversely mounted. '85-'91 N-bodies |- |U||LS2||6.0&nbsp;L||V8||Fuel injection#Sequential Multi-port fuel injection|SFI||OHV||Gen IV Chevy Small-Block V8. Aluminum Block & Heads.<br /> '05-'07 Corvette, '05-'06 Pontiac GTO, '06-'07 Cadillac CTS V-Series |- |U||LE9||2.4&nbsp;L||Straight-4|I4||Fuel injection#Multi-port fuel injection|MFI||DOHC,<br /> 16 valve||GM Ecotec Gen II. E85 Flex-Fuel. 2011-12 Chevy Malibu. |- |U||LKN||1.8L||I4||Direct Injection|DI||DOHC,<br /> 16 valve||Full Hybrid. GM Medium Gasoline Engine. VVT. Made in Szentgotthárd, Hungary.<br> '16-'19 Chevy Malibu Hybrid |- |V||LT6||4.3&nbsp;L||V6||Indirect injection Diesel||OHV||Oldsmobile Diesel V6. RWD version.<br /> '82-'83 Chevy Malibu, Monte Carlo, '82-'85 Oldsmobile Cutlass Supreme, Buick Regal |- |V||LG5||3.1&nbsp;L||V6 Turbo||Fuel injection#Multi-port fuel injection|MPFI||OHV||Chevrolet 60° V6. Gen II. Intercooled. (ASC/McLaren modified).<br /> '89-'90 Pontiac Grand Prix Turbo coupe, '90 Grand Prix STE Turbo sedan |- |V||LLT||3.6L||V6||Direct Injection|DI||DOHC,<br /> 24 valve||GM High Feature V6. '08-'11 Cadillac CTS, STS, '10-'11 Chevrolet Camaro, Buick LaCrosse |- |V||LHU||2.0&nbsp;L||Straight-4|I4 Turbo||Direct Injection|DI||DOHC,<br /> 16 valve||E85 Flex Fuel (N/A on Regal GS). GM Ecotec engine, Gen II. VVT.<br /> Buick Regal '11-'13, Verano '13-'16. |- |W||L37||4.9&nbsp;L||V8||4 Barrel Carburetor |4BBL||OHV||Pontiac V8. 301 cu. in. '81 Pontiac Firebird, LeMans Safari wagon. |- |W||LB6||2.8&nbsp;L||V6||Fuel injection#Multi-port fuel injection|MFI||OHV||Gen I/II Chevrolet 60° V6 (transversely mounted). '85 Chevy Citation, Buick Skylark,<br /> '85-'89 Chevy Cavalier, Celebrity, Pontiac 6000, '85-'88 Cadillac Cimarron,<br /> '85-'87 Oldsmobile Firenza, '86-'89 Cutlass Ciera, '87-'88 Buick Century, '87-'89 Chevy Corsica/Beretta, '88-'89 Pontiac Grand Prix, Oldsmobile Cutlass Supreme, Buick Regal |- |W||L64||3.1&nbsp;L||V6||Fuel injection#Multi-port fuel injection|MFI||OHV||Flex-fuel: Gas/M85 or Gas/E85 (2 versions). Gen II Chevrolet 60° V6. '93 Chevy Lumina VFV |- |W||L99||4.3&nbsp;L||V8||Fuel injection#Sequential Multi-port injection|SFI||OHV||Gen II Chevy Small-Block V8. '94-'96 Chevy Caprice. |- |W||LS3||6.2&nbsp;L||V8||Fuel injection#Sequential Multi-port injection|SFI||OHV||Gen IV Chevy Small-Block V8. Aluminum Block & Heads.<br /> '08-'13 Corvette, '10-'15 Camaro SS (man. trans.), '09 Pontiac G8 GXP, '14-'17 Chevy SS |- |W||LGY||3.0L||V6 Twin Turbo||Direct Injection|DI||DOHC,<br /> 24 valve||GM High Feature V6, 4th gen. VVT. Active Fuel Management. '20+ Cadillac CT5, CT5-V |- |X||LE2||2.8&nbsp;L||V6||2 Barrel Carburetor |2BBL||OHV||Chevrolet 60° V6 (transversely mounted). '81-'85 Chevy Citation, Buick Skylark,<br /> '81-'84 Pontiac Phoenix, Oldsmobile Omega, '82-'86 Chevy Celebrity, Pontiac 6000,<br /> '86 Oldsmobile Cutlass Ciera, Buick Century |- |X||LQ1||3.4&nbsp;L||V6||Fuel injection#Multi-port fuel injection|MPFI||DOHC,<br /> 24 valve||Chevrolet 60° V6 ("Twin Dual Cam V6"). '91-'97 Chevy Lumina, '95-'97 Chevy Monte Carlo,<br /> '91-'96 Pontiac Grand Prix, Oldsmobile Cutlass Supreme |- |X||LNF||2.0&nbsp;L||Straight-4|I4 Turbo||Direct Injection|DI||DOHC,<br /> 16 valve||GM Ecotec engine, Gen II. VVT.<br /> '07-'10 Pontiac Solstice GXP, Saturn Sky Red Line, '08-'10 Chevy Cobalt SS Turbo. |- |X||LTG||2.0&nbsp;L||Straight-4|I4 Turbo||Direct Injection|DI||DOHC,<br /> 16 valve||GM Ecotec engine, Gen III. VVT. '13-'22 Chevy Malibu, '13-'19 Cadillac ATS, '14-'20 Buick Regal,<br /> '14-'19 Cadillac CTS, '16-'23 Chevy Camaro, '16-'18 Cadillac CT6. |- |X||LTG||2.0&nbsp;L||Straight-4|I4 Turbo||Direct Injection|DI||DOHC,<br /> 16 valve||Plug-in hybrid. GM Ecotec engine, Gen III. VVT. '17-'18 Cadillac CT6 PHEV. (VIN starts with LRE) |- |Y||LV2||5.0&nbsp;L||V8||4 Barrel Carburetor |4BBL||OHV||Oldsmobile "Rocket" V8 (307 cu. in.) '86-'90 Chevy Caprice wagon, '87 Caprice sedan (Can.),<br /> '81 Pontiac Bonneville, Catalina, '86 Parisienne, '87-'89 Safari wagon, '81-'84 Oldsmobile 98,<br /> '81-'85 Delta 88, Toronado, '81-'90 Custom Cruiser, '81 Cutlass Cruiser, '82-'87 Cutlass Supreme,<br /> '88 Cutlass Supreme Classic, '81-'84 Buick Electra, '85-'89 Electra Estate wagon,<br /> '81-'85 LeSabre, Riviera, '86-'89 LeSabre Estate wagon, '90 Estate wagon, '86-'87 Regal,<br /> '86 Cadillac Fleetwood Brougham, '87-'90 Brougham |- |Y||LD8||4.6&nbsp;L||V8||Fuel injection#Sequential Multi-port injection|SFI||DOHC,<br /> 32 valve||Cadillac Northstar V8 (Torque tuned FWD) (Premium V). '93-'02 Cadillac Eldorado,<br /> '94-'04 Cadillac Seville SLS, '94-'05 Cadillac DeVille, '06-'11 Cadillac DTS,<br /> '04-'05 Pontiac Bonneville GXP, '06-'08 Buick Lucerne |- |Y||L76||6.0&nbsp;L||V8||Fuel injection#Sequential Multi-port fuel injection|SFI||OHV||Gen IV Chevy Small-Block V8. Aluminum Block & Heads. With Active Fuel Management.<br /> '08-'09 Pontiac G8 GT. |- |Y||LF1||3.0L||V6||Direct Injection|DI||DOHC,<br /> 24 valve||GM High Feature V6. VVT. 2011 Cadillac CTS |- |Y||LF4||3.6L||V6 Twin Turbo||Direct Injection|DI||DOHC,<br /> 24 valve||GM High Feature V6. Cadillac ATS-V '16-'19 |- |Z||LH7||2.8&nbsp;L||V6||2 Barrel Carburetor |2BBL||OHV||Chevrolet 60° V6 (transversely mounted). H.O. '81-'84 Chevy Citation, '82-'84 Pontiac Phoenix, Oldsmobile Omega ES, Buick Skylark, '83-'84 Pontiac 6000 STE, '84 Chevy Celebrity |- |Z||LB4||4.3L||V6||Fuel injection#Throttle Body injection|TBI||OHV||Chevrolet 90° V6 (Chevy Small-Block V8 Derived). '85 Chevy Impala, '85-'90 Caprice,<br /> '92-'93 Caprice 9C6 taxi, '85-'88 Monte Carlo, '85-'86 Pontiac Parisienne, '86-'87 Grand Prix,<br> '86 Bonneville. |- |Z||LAT||2.4L||I4||Fuel injection#Multi-port fuel injection|MFI||DOHC,<br /> 16 valve||Mild Hybrid. GM Ecotec Gen II. VVT. '10 Chevy Malibu Hybrid |- |Z||LUZ||2.0&nbsp;L||I4 Turbo||Direct injection <br /> Common-rail Diesel||DOHC,<br /> 16 valve||GM Family B Diesel (Based on Fiat JTD engine). Made by Opel in Kaiserslautern, Germany.<br /> Iron Block, Aluminum Heads. '14-'15 Chevy Cruze Diesel. |- |1||LC1||2.8&nbsp;L||V6||2 Barrel Carburetor |2BBL||OHV||Chevrolet 60° V6 (longitudinally mounted). '82-'84 Camaro/Firebird. |- |1||LL8||2.0&nbsp;L||I4||Fuel injection#Throttle Body injection|TBI||OHV||Chevrolet "122" engine. '87-'89 Chevy/Olds/Buick J-cars & Chevy L-cars. |- |1||L67||3.8&nbsp;L||V6 Supercharged||Fuel injection#Sequential Multi-port injection|SFI||OHV||Buick V6 (3800 Supercharged Series I). '91-'95 Buick Park Avenue Ultra,<br /> '92-'95 Pontiac Bonneville, Oldsmobile 98, '95 Buick Riviera, Oldsmobile LSS |- |1||L67||3.8&nbsp;L||V6 Supercharged||Fuel injection#Sequential Multi-port injection|SFI||OHV||Buick V6 (3800 Supercharged Series II). '96-'05 Buick Park Avenue Ultra,<br /> '96-'99 Buick Riviera, Oldsmobile LSS, '96-'03 Pontiac Bonneville, '97-'03 Grand Prix,<br /> '97-'04 Buick Regal, '04-'05 Chevy Impala SS, Monte Carlo SS Supercharged |- |1||LZ9||3.9L||V6||Fuel injection#Sequential Multi-port injection|SFI||OHV||GM High Value 60° V6. VVT.<br /> '06-'07 Chevy Malibu SS, '06-'09 Pontiac G6, '06 Chevy Monte Carlo, Impala, '09-'10 Buick Lucerne |- |1||2H0||1.8&nbsp;L||Straight-4|I4||Fuel injection#Sequential Multi-port fuel injection|SFI||DOHC,<br /> 16 valve||GM Family 1 engine, Gen III. VVT. Made in Szentgotthárd, Hungary. '08 (& '09 in Canada) Saturn Astra |- |1||LE5||2.4&nbsp;L||Straight-4|I4||Fuel injection#Multi-port fuel injection|MFI||DOHC,<br /> 16 valve||GM Ecotec Gen II. VVT. '11 & some '12 Chevy Malibu w/LE5 engine. |- |2||LQ9||2.5L||I4||Fuel injection#Throttle Body injection|TBI||OHV||Pontiac Iron Duke/Tech IV engine. Longitudinally mounted. '82-'85 Camaro/Firebird. |- |2||LS3||1.0&nbsp;L||Straight-3|I3 Turbo||Fuel injection#Multi-port fuel injection|MFI||SOHC,<br /> 6 valve ||Suzuki G10T engine. '87-'88 Chevrolet Sprint Turbo |- |2||LY8||1.3&nbsp;L||Straight-4|I4||Fuel injection#Multi-port fuel injection|MFI||SOHC,<br /> 16 valve||Suzuki G13BB engine. '98-'01 Chevrolet Metro |- |2||L26||3.8&nbsp;L||V6||Fuel injection#Sequential Multi-port injection|SFI||OHV||Buick V6 (3800 Series III). '04-'08 Pontiac Grand Prix, '05-'09 Buick LaCrosse, '06-'08 Buick Lucerne |- |2||L77||6.0&nbsp;L||V8||Fuel injection#Sequential Multi-port fuel injection|SFI||OHV||Gen IV Chevy Small-Block V8. Aluminum Block & Heads. With Active Fuel Management.<br /> E85 Flex Fuel. '11-'17 Chevy Caprice PPV. |- |3||LC8||3.8&nbsp;L||V6|V6 Turbo||4 Barrel Carburetor |4BBL||OHV||Buick V6. 231 cu. in. '81-'82 Buick Regal, Riviera, '81 Chevy Monte Carlo. |- |3||LG3||3.8&nbsp;L||V6||Fuel injection#(Sequential) Multi-port injection|MFI/SFI||OHV||Buick V6. '84-'88 Oldsmobile Cutlass Ciera, Buick Century, '85 & '87 Oldsmobile 98, Buick Electra,<br /> '86-'88 Oldsmobile Delta 88, Buick LeSabre, '87 Oldsmobile Toronado, Buick Riviera,<br /> '87-'88 Pontiac Bonneville. |- |3||LW2||4.5&nbsp;L||V8||Fuel injection#Multi-port fuel injection|MFI||OHV||Cadillac High Technology V8. '90 Cadillac DeVille/Fleetwood/Sixty Special/Eldorado/Seville. |- |3||L40||2.3&nbsp;L||Straight-4|I4||Fuel injection#Multi-port fuel injection|MFI||SOHC,<br /> 8 valve||Oldsmobile Quad 4 ("Quad OHC"). '92-'94 Pontiac Grand Am, Oldsmobile Achieva, Buick Skylark |- |3||LZG||3.9L||V6||Fuel injection#Sequential Multi Port Fuel injection|SFI||OHV||E85 Flex Fuel. GM High Value 60° V6. VVT. Active Fuel Management. '08 Chevy Impala |- |3||LFX||3.6L||V6||Direct Injection|DI||DOHC,<br /> 24 valve||GM High Feature V6. VVT. E85 Flex Fuel.<br /> '12-'16 Buick LaCrosse, '12-'15 Chevrolet Camaro, Cadillac CTS, '12-'17 Chevrolet Caprice PPV,<br /> '12-'20 Chevrolet Impala, '14-'16 Chevrolet Impala Limited, '13-'15 Cadillac ATS, '13-'19 Cadillac XTS |- |3||LT6||5.5&nbsp;L||V8||Direct injection|DI||DOHC,<br /> 32 valve||Chevrolet Gemini Small-Block V8. Aluminum Block & Heads. Flat-plane crank. VVT.<br /> For mid-engine C8 Corvette Z06 '23+. |- |4||LC4||4.1&nbsp;L||V6|V6||4 Barrel Carburetor |4BBL||OHV||Buick V6. '81-'84 Buick LeSabre, Electra, Riviera, Oldsmobile Toronado, '81-'82 Cadillac DeVille, Fleetwood Brougham, Eldorado, Seville, '81-'83 Oldsmobile 98, '82-'84 Buick Regal,<br /> '82 Pontiac Grand Prix, Bonneville G |- |4||LC9||1.6&nbsp;L||Straight-4|I4||2 Barrel Carburetor |2BBL||SOHC,<br /> 8 valve||Toyota 4A-C engine. '85-'88 Chevy Nova |- |4||LN2||2.2&nbsp;L||Straight-4|I4||Fuel injection#(Sequential) Multi-port injection|MPI/SFI||OHV||Chevrolet "122" engine. '92-'02 Cavalier, '95-'02 Sunfire, '92-'96 Corsica/Beretta, '93 Lumina,<br /> '93-'96 Cutlass Ciera, Century. |- |4||L32||3.8&nbsp;L||V6 Supercharged||Fuel injection#Sequential Multi-port injection|SFI||OHV||Buick V6 (3800 Supercharged Series III). '04-'07 Pontiac Grand Prix |- |4||LUU||1.4L||I4||Fuel injection#Sequential Multi-port fuel injection|SFI||DOHC,<br /> 16 valve||GM Family 0 Engine, Gen III. VVT. ([[w:EREV|Range extender]]). Early production engines were made in Aspern, Austria; later made in Flint, MI. '11-'15 Chevy Volt, '14 & '16 Cadillac ELR. |- |4||LT2||6.2&nbsp;L||V8||Direct injection|DI||OHV||Gen V Chevy Small-Block V8. Aluminum Block & Heads. Active Fuel Management. VVT.<br /> For mid-engine C8 Corvette Stingray '20+. |- |4||LT2||6.2&nbsp;L||V8||Direct injection|DI||OHV||Full Hybrid. Gen V Chevy Small-Block V8. Aluminum Block & Heads. Active Fuel Management. VVT.<br /> For mid-engine C8 Corvette E-Ray '24+. |- |5||LW9||2.5L||I4||2 Barrel Carburetor |2BBL||OHV||Pontiac Iron Duke engine. '81 Chevy Citation, Pontiac Phoenix, Oldsmobile Omega, Buick Skylark. |- |5||LR6||4.5&nbsp;L||V8||Fuel injection#Throttle Body injection|TBI (DFI)||OHV||Cadillac High Technology V8. '88-'89 Cadillac DeVille/Fleetwood/Sixty Special/Eldorado/Seville. |- |5||LY9||1.0&nbsp;L||Straight-3|I3||2BBL||SOHC,<br /> 6 valve ||Suzuki G10A engine. '86 Chevrolet Sprint |- |5||LM9||1.0&nbsp;L||Straight-3|I3||2BBL||SOHC,<br /> 6 valve ||Suzuki G10A engine. '87-'88 Chevrolet Sprint |- |5||LW0||1.6&nbsp;L||Straight-4|I4||Fuel injection#Multi-port fuel injection|MFI||DOHC,<br /> 16 valve||Toyota 4A-GE engine. '88 Chevy Nova Twin Cam, '90-'92 Geo Prizm GSi |- |5||LW0||1.6&nbsp;L||Straight-4|I4||Fuel injection#Multi-port fuel injection|MFI||DOHC,<br /> 16 valve||Isuzu 4XE1-UW engine. '90-'91 Geo Storm GSi |- |5||LT4||5.7&nbsp;L||V8||Fuel injection#Sequential Multi-port injection|SFI||OHV||Gen II Chevy Small-Block V8. '96 Corvette (man. trans.) |- |5||LAT||2.4L||I4||Fuel injection#Multi-port fuel injection|MFI||DOHC,<br /> 16 valve||Mild Hybrid. GM Ecotec Gen II. VVT. '07-'09 Saturn Aura Green Line, '08-'09 Chevy Malibu Hybrid |- |5||LAP||2.2&nbsp;L||Straight-4|I4||Fuel injection#Multi-port fuel injection|MFI||DOHC,<br /> 16 valve||GM Ecotec Gen II. VVT. '10 Chevy Cobalt. |- |5||LFW||3.0L||V6||Direct Injection|DI||DOHC,<br /> 24 valve||GM High Feature V6. VVT. '12-'13 Cadillac CTS, '14 CTS wagon |- |5||L3A||1.5L||I4||Direct Injection|DI||DOHC,<br /> 16 valve||GM Small Gasoline Engine. VVT. ([[w:EREV|Range extender]]). '16-'19 Chevy Volt. |- |5||LWC||1.6L||I4 Turbo||Direct Injection|DI||DOHC,<br /> 16 valve||GM Medium Gasoline Engine, H.O. VVT. Made in Szentgotthárd, Hungary. '16-'19 Buick Cascada |- |5||LS6||6.7&nbsp;L||V8||Port/Direct injection||OHV||Gen VI Chevy Small-Block V8. Aluminum Block & Heads. Active Fuel Management. VVT.<br /> For mid-engine C8 Corvette Stingray, Grand Sport '27+. |- |5||LS6||6.7&nbsp;L||V8||Port/Direct injection||OHV||Full Hybrid. Gen VI Chevy Small-Block V8. Aluminum Block & Heads. Active Fuel Management. VVT.<br /> For mid-engine C8 Corvette Grand Sport X '27+. |- |6||L81||5.7&nbsp;L||V8||4 Barrel Carburetor |4BBL||OHV||Gen I Chevy Small-Block V8. '81 Corvette |- |6||LM1||5.7&nbsp;L||V8||4 Barrel Carburetor |4BBL||OHV||Gen I Chevy Small-Block V8. '83-'85 Impala 9C1 Police, '86-'88 Caprice 9C1 Police |- |6||L73||1.6&nbsp;L||Straight-4|I4||Fuel injection#Throttle Body injection|TBI||SOHC,<br /> 8 valve||GM Family 1 engine. Made in South Korea by Daewoo. '88-'93 Pontiac LeMans |- |6||LP2||1.0&nbsp;L||Straight-3|I3||Fuel injection#Throttle Body injection|TBI||SOHC,<br /> 6 valve ||Suzuki G10A engine. '89-'97 Geo Metro, '98-'00 Chevrolet Metro |- |6||L01||1.6&nbsp;L||Straight-4|I4||Fuel injection#Multi-port fuel injection|MFI||DOHC,<br /> 16 valve||Toyota 4A-FE engine. '89-'97 Geo Prizm base/LSi |- |6||L01||1.6&nbsp;L||Straight-4|I4||Fuel injection#Multi-port fuel injection|MFI||SOHC,<br /> 12 valve||Isuzu 4XE1-V engine. '90-'93 Geo Storm (base model) |- |6||L42||2.2&nbsp;L||Straight-4|I4||Fuel injection#Multi-port fuel injection|MFI||DOHC,<br /> 16 valve||GM Ecotec Gen I (Bi-Fuel Gas/CNG). '03-'04 Chevy Cavalier |- |6||L91||1.6&nbsp;L||Straight-4|I4||Fuel injection#Multi-port fuel injection|MFI||DOHC,<br /> 16 valve||E-TEC II. '04-'07 Chevy Aveo |- |6||LXT||1.6&nbsp;L||Straight-4|I4||Fuel injection#Multi-port fuel injection|MFI||DOHC,<br /> 16 valve||E-TEC II. '08 Chevy Aveo |- |6||LGW||3.0L||V6 Twin Turbo||Direct Injection|DI||DOHC,<br /> 24 valve||GM High Feature V6, 4th gen. VVT. Active Fuel Management. '16-'19 Cadillac CT6 |- |6||LT4||6.2&nbsp;L||V8 Supercharged||Direct injection|DI||OHV||Gen V Chevy Small-Block V8. Aluminum Block & Heads. With Active Fuel Management. VVT.<br /> '15-'19 Corvette Z06, '17-'24 Camaro ZL1, '16-'19 Cadillac CTS V-Series,<br /> '22+ Cadillac CT5-V Blackwing |- |7||LU5||5.0&nbsp;L||V8||Cross-Fire fuel injection|CFI||OHV||Gen I Chevy Small-Block V8. (305 cu. in.) '82 Camaro, Firebird. Dual throttle-body fuel injection. |- |7||L69||5.0&nbsp;L||V8||4 Barrel Quadrajet Carburetor |4BBL||OHV||Gen I Chevy Small-Block V8 (High Output 5.0L). (305 cu. in.). '83 F-cars, '83 Chevy Monte Carlo SS |- |7||LC5||1.5&nbsp;L||I4||2 Barrel Carburetor |2BBL||SOHC,<br /> 8 valve||Isuzu 4XC1 engine. '86-'88 Chevrolet Spectrum, '89 Geo Spectrum. |- |7||LC2||3.8&nbsp;L||V6|V6 Turbo||Fuel injection#Sequential multi-port injection|SFI||OHV||Intercooled. Buick V6. '86-'87 Buick Regal. '89 Pontiac 20th Anniversary Turbo Trans Am |- |7||LC7||4.1&nbsp;L||V8||Fuel injection#Multi-port fuel injection|MFI||OHV||Cadillac High Technology V8. '87-'88 Cadillac Allante. |- |7||L05||5.7&nbsp;L||V8||Fuel injection#Throttle Body injection|TBI||OHV||Gen I Chevy Small-Block V8. '89-'93 Chevy Caprice (police only for '89-'91),<br /> '92-'93 Buick Roadmaster, '92 Oldsmobile Custom Cruiser, '90-'92 Cadillac Brougham, '93 Fleetwood. |- |7||LL0||1.9&nbsp;L||Straight-4|I4||Fuel injection#Multi-port injection|MFI||DOHC,<br /> 16 valve||Saturn I4 engine. '91-'02 Saturn S-Series |- |7||LY7||3.6&nbsp;L||V6||Fuel injection#Sequential Multi-port injection|SFI||DOHC,<br /> 24 valve||GM High Feature V6. VVT. '04-'09 Cadillac CTS, '05-'07 STS, '05-'08 Buick LaCrosse,<br /> '07-'09 Pontiac G6, Saturn Aura, '08-'09 Pontiac G8, '08-'12 Chevy Malibu |- |7||LT1||6.2&nbsp;L||V8||Direct injection|DI||OHV||Gen V Chevy Small-Block V8. Aluminum Block & Heads. With Active Fuel Management. VVT.<br /> '14-'19 Corvette, '16-'24 Camaro SS |- |7||LT7||5.5&nbsp;L||V8 Twin Turbo||Port/Direct injection||DOHC,<br /> 32 valve||Chevrolet Gemini Small-Block V8. Aluminum Block & Heads. Flat-plane crank. VVT.<br /> For mid-engine C8 Corvette ZR1 '25+. (1,064 hp) |- |7||LT7||5.5&nbsp;L||V8 Twin Turbo||Port/Direct injection||DOHC,<br /> 32 valve||Full Hybrid. Chevrolet Gemini Small-Block V8. Aluminum Block & Heads. Flat-plane crank. VVT.<br /> For mid-engine C8 Corvette ZR1X '26+. (1,250 hp) |- |8||LV8||4.3&nbsp;L||V8||2 Barrel Carburetor |2BBL||OHV||Oldsmobile "Rocket" V8 (260 cu. in.) '82 Oldsmobile Cutlass, Delta 88. |- |8||LT8||4.1&nbsp;L||V8||Fuel injection#Throttle Body injection|TBI (DFI)||OHV||Cadillac High Technology V8. '82-'87 Cadillac DeVille, Eldorado, Seville, '82-'85 Fleetwood Brougham, '85-'87 Fleetwood, '87 Fleetwood Sixty Special. |- |8||LC8||3.8&nbsp;L||V6|V6 Turbo||4 Barrel Carburetor |4BBL||OHV||Buick V6. '83 Buick Regal, Riviera. |- |8||L83||5.7&nbsp;L||V8||Cross-Fire fuel injection|CFI||OHV||Gen I Chevy Small-Block V8. '82, '84 Corvette. Dual throttle-body fuel injection. 1st fuel injected Corvette since 1965. |- |8||L98||5.7&nbsp;L||V8||Tuned-port fuel injection|TPI||OHV||Gen I Chevy Small-Block V8. '85-'91 Corvette, '87-'92 Chevy Camaro, Pontiac Firebird. |- |8||LQ6||4.5&nbsp;L||V8||Fuel injection#Multi-port fuel injection|MFI||OHV||Cadillac High Technology V8. '89-'92 Cadillac Allante. |- |8||L24||1.9&nbsp;L||Straight-4|I4||Fuel injection#Multi-port injection|MFI||SOHC,<br /> 8 valve||Saturn I4 engine. '95-'02 Saturn S-Series |- |8||LX9||3.5&nbsp;L||V6||Fuel injection#Sequential Multi-port injection|SFI||OHV||GM High Value 60° V6. 3498cc. '04-'06 Chevy Malibu, '05-'06 Pontiac G6 |- |8||LF3||3.6L||V6 Twin Turbo||Direct Injection|DI||DOHC,<br /> 24 valve||GM High Feature V6. '14-'19 Cadillac CTS V-Sport, XTS V-Sport |- |8||LV6||1.8&nbsp;L||Straight-4|I4||Fuel injection#Multi-port fuel injection|MFI||DOHC,<br /> 16 valve||Isuzu 4XF1 engine. '92-'93 Geo Storm GSi. |- |8||LV6||1.8&nbsp;L||Straight-4|I4||Fuel injection#Multi-port fuel injection|MFI||DOHC,<br /> 16 valve||Toyota 7A-FE engine. '93-'97 Geo Prizm |- |8||LV6||1.8&nbsp;L||Straight-4|I4||Fuel injection#Multi-port fuel injection|MFI||DOHC,<br /> 16 valve||Toyota 1ZZ-FE engine. VVT-i from '00. '98-'02 Chevrolet Prizm, '03-'08 Pontiac Vibe |- |8||LAY||1.8&nbsp;L||Straight-4|I4||Fuel injection#Sequential multi-port injection|SFI||DOHC,<br /> 16 valve||Toyota 2ZR-FE engine. Dual VVT-i. '09-'10 Pontiac Vibe |- |9||L17||1.6&nbsp;L||Straight-4|I4||2 Barrel Carburetor |2BBL||SOHC,<br /> 8 valve||Isuzu G161Z engine made by GM in US. '81 Chevy Chevette, Pontiac T1000 |- |9||L62||6.0&nbsp;L||V8||Fuel injection#Throttle Body injection|TBI (DFI)||OHV||Cadillac 472-series V8 engine family. V8-6-4 cylinder deactivation.<br /> '81 Cadillacs, '82-'84 Fleetwood Limousine. |- |9||LC3||3.8&nbsp;L||V6||2 Barrel Carburetor |2BBL||OHV||Chevrolet 90° V6 (Chevy Small-Block V8 Derived). 229 cu. in. <br /> '83 Malibu, '83-'84 Monte Carlo, Impala, Caprice, '83 Pontiac Parisienne. |- |9||LG8||5.0&nbsp;L||V8||4 Barrel Carburetor |4BBL||OHV||Oldsmobile "Rocket" V8 (307 cu. in.) H.O. '83-'84 Hurst/Olds, '85-'87 Oldsmobile Cutlass 442 |- |9||LM9||3.8&nbsp;L||V6|V6 Turbo||Fuel injection#Sequential multi-port injection|SFI||OHV||Buick V6. '84-'85 Buick Regal, Riviera. |- |9||L44||2.8&nbsp;L||V6||Fuel injection#Multi-port fuel injection|MFI||OHV||Chevrolet 60° V6 (transversely mounted). H.O. '85-'88 Pontiac Fiero |- |9||LC0||1.5&nbsp;L||I4 Turbo||Fuel injection#Multi-port fuel injection|MFI||SOHC,<br /> 8 valve||Isuzu 4XC1-T engine. '87-'88 Chevrolet Spectrum Turbo |- |9||LK0||1.9&nbsp;L||Straight-4|I4||Fuel injection#Throttle Body injection|TBI||SOHC,<br /> 8 valve||Saturn I4 engine. '91-'94 Saturn S-Series |- |9||L37||4.6&nbsp;L||V8||Fuel injection#Sequential Multi-port injection|SFI||DOHC,<br /> 32 valve||Cadillac Northstar V8 (H.O. FWD) (Premium V). '93 Cadillac Allanté,<br /> '93-'02 Cadillac Eldorado Touring Coupe, '93-'04 Cadillac Seville STS, '96-'05 Cadillac DeVille,<br /> '06-'11 Cadillac DTS, '08-'11 Buick Lucerne Super |- |9||L72||1.3&nbsp;L||Straight-4|I4||Fuel injection#Throttle Body injection|TBI||SOHC,<br /> 8 valve ||Suzuki G13BA engine. '95-'97 Geo Metro |- |9||LUJ||1.4L||I4 Turbo||Fuel injection#Sequential Multi-port fuel injection|SFI||DOHC,<br /> 16 valve||GM Family 0 Engine, Gen III. VVT. Early production engines were made in Aspern, Austria; later made in Flint, MI. '11 Chevy Cruze |- |9||LL0||1.2&nbsp;L||Straight-4|I4||Fuel injection#Multi-port fuel injection|MFI||DOHC,<br /> 16 valve||Daewoo S-TEC II engine (1249 cc). VVT. Made in Changwon, S. Korea. '13-'15 Chevy Spark. |- |9||LT5||6.2&nbsp;L||V8 Supercharged||Port/Direct injection||OHV||Gen V Chevy Small-Block V8. Aluminum Block & Heads. VVT. '19 Corvette ZR1. |- |0||LH8||1.8&nbsp;L||Straight-4|I4||Fuel injection#Throttle Body injection|TBI||SOHC,<br /> 8 valve||GM Family II engine. Made in Brazil.<br /> '82-'86 Pontiac J2000/2000/Sunbird, Oldsmobile Firenza, Buick Skyhawk. |- |0||LAX||2.4&nbsp;L||Straight-4|I4||Fuel injection#Sequential multi-port injection|SFI||DOHC,<br /> 16 valve||Toyota 2AZ-FE engine. VVT-i. '09-'10 Pontiac Vibe |- |0||LE9||2.4&nbsp;L||Straight-4|I4||Fuel injection#Multi-port fuel injection|MFI||DOHC,<br /> 16 valve||GM Ecotec Gen II. E85 Flex-Fuel. 2010 Chevy Malibu. |- |0||LE5||2.4&nbsp;L||Straight-4|I4||Fuel injection#Multi-port fuel injection|MFI||DOHC,<br /> 16 valve||GM Ecotec Gen II. VVT. Most '12 Chevy Malibu w/LE5 engine. |} H.O.=High Output, CNG=Compressed Natural Gas, VVT=Variable Valve Timing, VVL=Variable Valve Lift ====Motor codes for electric passenger cars==== {| class="wikitable" |- ! VIN !! RPO !! Fuel !! Drive Wheels !! Application/Notes |- | 5 ||LN1|| Electricity || Front || '97, '99 General Motors EV1 |- | 0 ||EN0|| Electricity || Front || '14-'16 Chevrolet Spark EV |- | 0 ||EN0|| Electricity || Front || '17-'23 Chevrolet Bolt EV |- | 0 ||EN0|| Electricity || Front || '22-'23 Chevrolet Bolt EUV |- |} ====Motor codes for LFP-powered electric passenger cars==== {| class="wikitable" |- ! VIN !! Motor <br /> RPO code !! # of Motors !! Battery Pack <br /> RPO code !! Fuel !! Drive Wheels !! Application/Notes |- |- | V ||P9D (HPB)|| 1 || EJW || Electricity || Front || '27 Chevrolet Bolt |} LFP=Lithium Iron Phosphate ====Motor codes for Ultium-powered electric passenger cars==== {| class="wikitable" |- ! VIN !! Motor <br /> RPO code !! # of Motors !! Battery Module <br /> RPO code !! # of Modules !! Fuel !! Drive Wheels !! Application/Notes |- |- | 1 ||X0E|| 2 || EXN || 16 || Electricity || All || '25- Cadillac Celestiq |- | 2 ||X0E|| 2 || EHT || 16 || Electricity || All || '25- Cadillac Celestiq <br> (Battery Module RPO code EHT is Configuration B) |} ====Engine codes for light trucks==== GM encodes the engine type in character 8 of the VIN. The following table outlines the various engines encoded there: {| class="wikitable" |- ! VIN !! RPO !! Size !! Type !! Fuel !! Valvetrain !! Engine Family/Notes/Applications |- | A ||LD5|| 3.8L || V6 || Gas ||OHV||2-bbl carb. Buick V6. (231 cu. in.) '81-'84 Chevy El Camino, GMC Caballero (CA emissions). |- | A ||LR1|| 1.9L || I4 || Gas ||SOHC,<br /> 8 valve||2-bbl carb. Isuzu G200 engine imported from Japan.<br /> '82-'85 Chevy S-10/GMC S-15, '83-'85 Chevy S-10 Blazer/GMC S-15 Jimmy |- | A ||L38|| 2.5L || I4 || Gas ||OHV||TBI. Pontiac Iron Duke/Tech IV engine. '91-'93 Chevy S-10/GMC Sonoma. |- | A ||LH2|| 4.6L || V8 || Gas ||DOHC,<br /> 32 valve||Cadillac Northstar V8 (For RWD) (Premium V). '04-'09 Cadillac SRX |- | A ||L20|| 4.8L || V8 || Gas/E85 ||OHV|| Flex Fuel. SFI. Gen IV Chevrolet Small-Block V8. Iron Block/Aluminum Heads. VVT.<br /> '10-'13 GMT900 pickups, '10-'14 Express/Savana |- | A ||LCV|| 2.5L || I4 || Gas ||DOHC,<br /> 16 valve||GM Ecotec engine, Gen III. Direct Injection. VVT. '15-'22 Chevy Colorado, GMC Canyon,<br /> '17-'20 Buick Envision, '17-'21 GMC Acadia, '19-'21 Chevy Blazer |- | B ||LR2|| 2.8L || V6 || Gas ||OHV||2-bbl carb. Chevrolet 60° V6.<br /> '82-'85 Chevy S-10/GMC S-15, '83-'85 Chevy S-10 Blazer/GMC S-15 Jimmy |- | B ||LU2|| 4.3L || V6 || Gas ||OHV|| TBI. Chevrolet 90° V6 (Chevy Small-Block V8 Derived). '90-'91 Astro/Safari higher output engine option. |- | B ||L81|| 3.0L || V6 || Gas ||DOHC,<br /> 24 valve||Opel 54° V6 engine (Made in the UK). '02-'03 Saturn Vue |- | B ||L33|| 5.3L || V8 || Gas ||OHV|| Gen III Chevrolet Small-Block V8. Vortec 5300 H.O. 310hp. Aluminum Block & Heads.<br /> '05-'07 Silverado/Sierra 1500 4wd ext. cab short bed. |- | B ||LE8|| 2.2L || I4 || Gas/E85 ||DOHC,<br /> 16 valve||Flex-Fuel. GM Ecotec Gen II. VVT. '09-'10 Chevy HHR |- | B ||LC8|| 6.0L || V8 || Gas/CNG ||OHV||Bi-Fuel (Also Gas/LPG in Express/Savana). SFI. Gen IV Chevrolet Small-Block V8. Iron Block & Aluminum Heads. VVT. '11-'20 Express/Savana, '13-'19 Silverado HD/Sierra HD. |- | B ||LUV|| 1.4L ||I4 Turbo|| Gas ||DOHC,<br /> 16 valve||GM Family 0 Engine, Gen III. SFI. VVT.<br /> '13-'21 Buick Encore, '15-'21 Chevy Trax (also '13-'14 Trax in Canada) |- | C ||LH6|| 6.2L || V8 || Diesel ||OHV||Detroit Diesel V8. For sub-8,500 lb. GVWR trucks '82-'93. '82-'86 C/K pickups, '87 R/V pickups,<br /> '88-'93 C/K, Sierra pickups, '82-'91 Blazer/Jimmy, Suburban, '83-'93 full-size vans |- | C ||L34|| 2.0L || I4 || Gas ||DOHC,<br /> 16 valve||Suzuki J20A engine. MFI. '99-'03 Chevrolet Tracker |- | C ||LY2|| 4.8L || V8 || Gas ||OHV||SFI. Gen IV Chevrolet Small-Block V8. Iron Block/Aluminum Heads.<br /> '07-'09 GMT900 pickups, '07-'09 Tahoe/Yukon, '08-'09 Express/Savana |- | C ||LAF|| 2.4L || I4 || Gas ||DOHC,<br /> 16 valve||GM Ecotec engine, Gen II. Direct Injection. VVT. Chevy Equinox, GMC Terrain '11. |- | C ||L83|| 5.3L || V8 || Gas/E85 ||OHV|| Flex Fuel. Gen V Chevrolet Small-Block V8 (EcoTec3). Direct injection, VVT. Active Fuel Management<br /> '14-'19 K2XX pickups, '15-'20 K2XX SUVs. |- | C ||L2R|| 2.7L ||I4 Turbo||| Gas ||DOHC,<br /> 16 valve||GM L3B Tripower engine ("TurboMax") - Detuned version. Direct Injection. VVT, VVL. Active Fuel Management. '23-'24 Chevy Colorado. |- | D ||LE3|| 4.1L || I6 || Gas ||OHV||2-bbl carb. Chevrolet Turbo-Thrift I6.<br /> '81-'84 Chevy/GMC C/K pickups, full-size vans, '81-'82 Blazer/Jimmy |- | D ||LG6|| 3.1L || V6 || Gas ||OHV||TBI. Chevrolet 60° V6. '90-'95 U-body minivans. |- | D ||L61|| 2.2L || I4 || Gas ||DOHC,<br /> 16 valve||GM Ecotec Gen I. '02-'07 Saturn Vue, '06 Chevy HHR. |- | D ||L61|| 2.2L || I4 || Gas ||DOHC,<br /> 16 valve||GM Ecotec Gen II. '07-'08 Chevy HHR. |- | D ||LLT|| 3.6L || V6 || Gas ||DOHC,<br /> 24 valve||GM High Feature V6. Direct Injection. '09-'16 GMC Acadia, '17 GMC Acadia Limited,<br /> '09-'17 Chevrolet Traverse, Buick Enclave, '09-'10 Saturn Outlook |- | D ||LBZ|| 6.6L || V8 Turbo || Diesel ||OHV,<br /> 32 valve||Duramax 6600 V8 engine.<br /> Mid '06 Silverado HD/Sierra HD & '07 Silverado Classic HD/Sierra Classic HD |- | D ||L84|| 5.3L || V8 || Gas/E85 ||OHV|| Gen V Chevrolet Small-Block V8 (EcoTec3). Direct injection, VVT. With Dynamic Fuel Management<br /> '19+ Chevy/GMC Silverado 1500/Sierra 1500, '21+ Tahoe/Yukon, Suburban/Yukon XL. |- | E ||LN8|| 2.5L || I4 || Gas ||OHV||TBI. Pontiac Iron Duke/Tech IV engine.<br /> '85-'90 Chevy/GMC S-10/S-15, Astro/Safari Cargo Van, '85-'88 S-10 Blazer/S-15 Jimmy. |- | E ||LLR|| 3.7L || I5 || Gas ||DOHC,<br /> 20 valve||Atlas I5. SFI. VVT.<br /> '07-'12 Colorado/Canyon, '07-'08 Isuzu i-370, '07-'10 Hummer H3, '09-'10 Hummer H3T |- | E ||LA1|| 3.4L || V6 || Gas ||OHV||Chevrolet 60° V6. '96 GMT199 (U-body) minivans, '97-'05 GMT200 (U-body) minivans,<br /> '01-'05 Pontiac Aztek, '02-'05 Buick Rendezvous |- | F ||LF3|| 5.0L || V8 || Gas ||OHV|| 4-bbl carb. Gen I Chevrolet Small-Block V8. '81-'86 C/K, full-size vans, '81-'82 Blazer/Jimmy.<br /> CA emissions version of LE9 5.0 V8. |- | F ||L65|| 6.5L || V8 Turbo || Diesel ||OHV||Detroit Diesel V8. For over-8,500 lb. GVWR Chevy C/K, GMC Sierra trucks '92-'02,<br /> Chevy/GMC Suburban 1500/2500 '94-'99, over-8,500 lb. GVWR Express/Savana '96-'02 |- | F ||LNJ|| 3.4L || V6 || Gas ||OHV||Chevrolet 60° V6. Made in China by SAIC-GM. '05-'09 Chevy Equinox, '06-'09 Pontiac Torrent. |- | F ||L94|| 6.2L || V8 || Gas/E85 ||OHV||Flex-Fuel. Gen IV Chevrolet Small-Block V8. Aluminum Block & Heads. SFI. VVT. Active Fuel Management. '10-'14 GMC Yukon Denali/Yukon XL Denali, Cadillac Escalade/Escalade ESV. |- | F ||L20|| 4.8L || V8 || Gas/E85 ||OHV|| Flex Fuel. SFI. Gen IV Chevrolet Small-Block V8. Iron Block/Aluminum Heads. VVT.<br /> '15-'17 Express/Savana |- | F ||L82|| 5.3L || V8 || Gas ||OHV|| Gen V Chevrolet Small-Block V8 (EcoTec3). Direct injection, VVT. With Active Fuel Management<br /> '19-'21 Chevy Silverado 1500, GMC Sierra 1500 (T1XX). |- | G ||LG9|| 5.0L || V8 || Gas ||OHV|| 2-bbl carb. Gen I Chevrolet Small-Block V8. '81 Chevy/GMC C/K pickups, Blazer/Jimmy, full-size van |- | G ||L18|| 8.1L || V8 || Gas ||OHV||MFI. Vortec 8100. Gen VII Chevrolet Big-Block V8. '01-'02 C3500HD, '01-'06 Silverado HD/Sierra HD, '07 Silverado Classic HD/Sierra Classic HD, '01-'06 Suburban/Yukon XL 2500, '02-'06 Avalanche 2500, '01-'02 Express/Savana |- | G ||L96|| 6.0L || V8 || Gas/E85 ||OHV||Flex Fuel. SFI. Gen IV Chevrolet Small-Block V8. Iron Block & Aluminum Heads. VVT.<br /> '10-'19 Silverado HD/Sierra HD, '10-'13 Suburban 2500/Yukon XL 2500, '16-'19 Suburban 3500,<br /> '10-'20 Express/Savana. |- | G ||LSD|| 1.5L || I4 Turbo || Gas ||DOHC,<br /> 16 valve||GM Small Gasoline Engine. Direct Injection. VVT. '23+ Chevy Equinox, GMC Terrain |- | H ||LG4|| 5.0L || V8 || Gas ||OHV||4-bbl carb. Gen I Chevy Small-Block V8. (305 cu. in.) '81-'87 Chevy El Camino, GMC Caballero. |- | H ||LE9|| 5.0L || V8 || Gas ||OHV|| 4-bbl carb. Gen I Chevrolet Small-Block V8. '81-'86 C/K pickups, Blazer/Jimmy, Suburban, full-size vans |- | H ||L03|| 5.0L || V8 || Gas ||OHV|| TBI. Gen I Chevrolet Small-Block V8. '87 R/V pickups, '88-'95 C/K, Sierra pickups, '87-'95 full-size vans, '87 Blazer/Jimmy, Suburban. |- | H ||LN2|| 2.2L || I4 || Gas ||OHV||SFI. Chevrolet "122" engine. '03 Chevy S-10/GMC Sonoma |- | H ||LS2|| 6.0L || V8 || Gas ||OHV||SFI. Gen IV Chevy Small-Block V8. Chevy SSR '05-'06, Trailblazer SS '06-'09, Saab 9-7X Aero '08-'09. |- | H ||LV3|| 4.3L || V6 || Gas/E85 ||OHV||Flex Fuel. Chevrolet 90° V6 - Gen V Chevrolet Small-Block V6 (EcoTec3). Direct injection, VVT. Active Fuel Management. '14-'21 Chevy Silverado 1500/GMC Sierra 1500. |- | J ||L39|| 4.4L || V8 || Gas ||OHV||2-bbl carb. Gen I Chevy Small-Block V8 (267 cu. in.) '81-82 Chevy El Camino, GMC Caballero. |- | J ||LL4|| 6.2L || V8 || Diesel ||OHV||Detroit Diesel V8. For over-8,500 lb. GVWR trucks '82-'93. '82-'86 C/K pickups, '87-'91 R/V pickups,<br /> '88-'93 C/K, Sierra pickups, '82-'91 Blazer/Jimmy, Suburban, '83-'93 full-size vans |- | J ||L29|| 7.4L || V8 || Gas ||OHV|| MFI. Vortec 7400. Gen VI Chevrolet Big-Block V8.<br /> '96-'00 C/K, Sierra pickups, Express/Savana, '96-'99 Suburban 2500 |- | J ||LY5|| 5.3L || V8 || Gas ||OHV||SFI. Gen IV Chevrolet Small-Block V8. Active Fuel Management. Iron Block & Aluminum Heads.<br /> '07-'09 Silverado/Sierra 1500, Tahoe/Yukon, Suburban/Yukon XL 1500, Avalanche |- | J ||LZ1|| 6.0L || V8 || Gas ||OHV||2-Mode Hybrid. Gen IV Chevrolet Small-Block V8. Aluminum Block & Heads. VVT. Active Fuel Management. '10-'13 Tahoe Hybrid, Yukon Hybrid, Escalade Hybrid, Silverado Hybrid, Sierra Hybrid |- | J ||L86|| 6.2L || V8 || Gas ||OHV||Gen V Chevrolet Small-Block V8 (EcoTec3). Direct injection, VVT. Active Fuel Management. <br /> '14-18 Chevy/GMC Silverado 1500/Sierra 1500,<br /> '18-20 Chevy Tahoe Premier, '19-'20 Chevy Suburban Premier, GMC Yukon/Yukon XL SLT,<br /> '15-'20 GMC Yukon Denali/Yukon XL Denali, Cadillac Escalade/Escalade ESV. |- | K ||LC3|| 3.8L || V6 || Gas ||OHV||2-bbl carb. Chevrolet 90° V6 (Chevy Small-Block V8 Derived). 229 cu. in. <br /> '81-'82 Chevy El Camino, GMC Caballero (49-state emissions) |- | K ||L05|| 5.7L || V8 || Gas ||OHV|| TBI. Gen I Chevrolet Small-Block V8. '87 R/V pickups, '88-'95 C/K, Sierra pickups, '87-'95 full-size vans, '96 G-Classic full-size vans, '87-'94 Blazer, '95 Tahoe, '87-'91 Jimmy, '92-'95 Yukon, '87-'95 Suburban. |- | K ||LY6|| 6.0L || V8 || Gas ||OHV||SFI. Gen IV Chevrolet Small-Block V8. Iron Block & Aluminum Heads. VVT.<br /> '07-'09 Silverado HD/Sierra HD, '07-'09 Suburban 2500/Yukon XL 2500, '08-'09 Express/Savana |- | K ||LEA|| 2.4L || I4 || Gas/E85 ||DOHC,<br /> 16 valve||Flex Fuel. GM Ecotec engine, Gen II. Direct Injection. VVT. Chevy Equinox, GMC Terrain '12-'17,<br /> Chevy Captiva Sport '12-'14, Chevy Orlando '14. |- | K ||L3B|| 2.7L ||I4 Turbo||| Gas ||DOHC,<br /> 16 valve||GM L3B Tripower engine ("TurboMax"). Direct Injection. VVT, VVL. Active Fuel Management.<br /> '19+ Chevy Silverado 1500, GMC Sierra 1500, '23+ Chevy Colorado, GMC Canyon. |- | L ||LS9|| 5.7L || V8 || Gas ||OHV|| 4-bbl carb. Gen I Chevrolet Small-Block V8. For sub-8,500 lb. GVWR trucks, vans, Suburban, Blazer/Jimmy (CA) '81-'86. |- | L ||L27|| 3.8L || V6 || Gas ||OHV||Buick V6 (3800 Series I). '92-'95 U-body minivans |- | L ||LX9|| 3.5L || V6 || Gas ||OHV||GM High Value 60° V6. 3498cc. SFI. '05-'06 GMT201 minivans, '06-'07 Buick Rendezvous |- | L ||LH8|| 5.3L || V8 || Gas ||OHV||SFI. Gen IV Chevrolet Small-Block V8. Aluminum Block & Heads.<br /> '08-'09 Hummer H3 Alpha, '09 Colorado/Canyon, Hummer H3T Alpha |- | L ||LGH|| 6.6L || V8 Turbo || Diesel ||OHV,<br /> 32 valve||Duramax 6600 V8 engine. Mid '10-'16 Express/Savana, '11-'12 Silverado HD/Sierra HD chassis cabs |- | L ||L87|| 6.2L || V8 || Gas ||OHV||Gen V Chevrolet Small-Block V8 (EcoTec3). Direct injection, VVT. Dynamic Fuel Management.<br /> '19+ Chevy/GMC Silverado 1500/Sierra 1500, '21+ Tahoe/Yukon, Suburban/Yukon XL,<br /> Cadillac Escalade/Escalade ESV. |- | L ||L3T|| 1.3L || I3 Turbo || Gas ||DOHC,<br /> 12 valve||GM E-Turbo Engine. Direct Injection. VVT. '20+ Buick Encore GX, '21+ Chevy Trailblazer. |- | M ||LT9|| 5.7L || V8 || Gas ||OHV|| 4-bbl carb. Gen I Chevy Small-Block V8.<br /> For over-8,500 lb. GVWR C/K trucks, full-size vans, Suburban '81-'86, full-size van cutaway '81-'88.<br /> '88 Chevy/GMC R30/3500 Chassis Cab w/C7C (10,500 lb. GVWR),<br /> V30/3500 Chassis Cab w/C7E (11,000 lb. GVWR) |- | M ||L30|| 5.0L || V8 || Gas ||OHV||Gen 1+ Chevrolet Small-Block V8. Vortec 5000. CPI.<br /> '96-'99 Chevy C/K, GMC Sierra, '96-'02 Express/Savana |- | M ||LNF|| 2.0L || I4 Turbo || Gas ||DOHC,<br /> 16 valve||GM Ecotec engine, Gen II. Direct Injection. VVT. 2010 Chevy HHR SS. |- | M ||LH6|| 5.3L || V8 || Gas ||OHV||SFI. Gen IV Chevrolet Small-Block V8. Active Fuel Management. Aluminum Block & Heads.<br /> '05-'06 GMT370 SUVs (Trailblazer EXT/Envoy XL/Isuzu Ascender 7-psgr.), '05-'07 Buick Rainier,<br /> '05-'09 GMC Envoy Denali, Saab 9-7X, '06-'08 Chevy Trailblazer, '05 GMC Envoy XUV,<br /> '07-'09 Silverado/Sierra 1500 |- | M ||LAF|| 2.4L || I4 || Gas ||DOHC,<br /> 16 valve||GM Ecotec engine, Gen II. Direct Injection. VVT. Chevy Orlando '12. |- | M ||LE2|| 1.4L || I4 Turbo || Gas ||DOHC,<br /> 16 valve||GM Small Gasoline Engine. Direct Injection. VVT. '16-'19 & '21-'22 Buick Encore, '21-'22 Chevy Trax. |- | N ||L10|| 1.8L || I4 || Gas ||SOHC,<br /> 8 valve||2-bbl carb. Isuzu G180Z engine imported from Japan. '81-'82 Chevy LUV |- | N ||LF9|| 5.7L || V8 || Diesel ||OHV||Oldsmobile Diesel V8. '83-'84 Chevy El Camino/GMC Caballero. |- | N ||LB1|| 4.3L || V6 || Gas ||OHV|| 4-bbl carb. Chevrolet 90° V6 (Chevy Small-Block V8 Derived).<br /> '85 Astro/Safari, '85-'86 C/K pickups & full-size vans |- | N ||L19|| 7.4L || V8 || Gas ||OHV|| Mark IV Chevrolet Big-Block V8. TBI.<br /> '87-'90 R/V pickups, Suburban 2500, '88-'90 C/K, Sierra pickups, full-size vans |- | N ||L19|| 7.4L || V8 || Gas ||OHV|| Gen V Chevrolet Big-Block V8. TBI.<br /> '91 R/V pickups, '91-'95 C/K, Sierra pickups, Suburban 2500, full-size vans. '96 G-Classic full-size vans |- | N ||LZ4|| 3.5L || V6 || Gas ||OHV||GM High Value 60° V6. 3510cc. SFI. VVT. '08-'09 Saturn Vue |- | N ||LQ9|| 6.0L || V8 || Gas ||OHV|| Gen III Chevrolet Small-Block V8. Vortec 6000 H.O. or VortecMAX. Iron Block/Aluminum Heads. 345 hp.<br /> '02-'06 Cadillac Escalade, '03-'06 Cadillac Escalade ESV, '03-'06 Chevy Silverado SS, '05-'06 GMC Sierra Denali. |- | N ||LGZ|| 3.6L || V6 || Gas ||DOHC,<br /> 24 valve||GM High Feature V6, 4th gen. Direct Injection. VVT. Active Fuel Management.<br /> '17-'22 Chevy Colorado, GMC Canyon. |- | P ||L49|| 6.5L || V8 || Diesel ||OHV||Detroit Diesel V8. For sub-8,500 lb. GVWR Chevy C/K, GMC Sierra trucks & full-size vans '94-'95 |- | P ||LM4|| 5.3L || V8 || Gas ||OHV||Gen III Chevrolet Small-Block V8. Vortec 5300. 290hp. Aluminum Block & Heads.<br /> '03-'04 Chevy SSR, '03-'04 GMT370 SUVs (Trailblazer EXT/Envoy XL/Isuzu Ascender 7-psgr.),<br /> '04 Buick Rainier, GMC Envoy XUV |- | P ||LE5|| 2.4L || I4 || Gas ||DOHC,<br /> 16 valve||MFI. GM Ecotec Gen II. VVT. '06-'08 Chevy HHR, '08-'09 Saturn Vue |- | P ||LH9|| 5.3L || V8 || Gas/E85 ||OHV||Flex Fuel. SFI. Gen IV Chevrolet Small-Block V8. Aluminum Block & Heads. VVT.<br /> '10-'12 Colorado/Canyon, '10 Hummer H3 Alpha, H3T Alpha |- | P ||LV1|| 4.3L || V6 || Gas ||OHV||Chevrolet 90° V6 - Gen V Chevrolet Small-Block V6 (EcoTec3). Direct injection, VVT.<br /> '18+ Chevy Express/GMC Savana. |- | P ||LBP|| 1.2L || I3 Turbo || Gas/E85 ||DOHC,<br /> 12 valve||Flex Fuel. GM E-Turbo Engine. Direct Injection. VVT.<br /> '25+ Buick Encore GX, Chevy Trailblazer, '25- Chevy Trax, Buick Envista. |- | R ||LL2|| 2.8L || V6 || Gas ||OHV||TBI. Chevrolet 60° V6. '86-'93 Chevy S-10, GMC S-15/Sonoma,<br /> '86-'89 Chevy S-10 Blazer/GMC S-15 Jimmy |- | R ||L31|| 5.7L || V8 || Gas ||OHV||Gen 1+ Chevrolet Small-Block V8. Vortec 5700. CPI.<br /> '96-'99 Chevy C/K, GMC Sierra, '96-'99 Chevy Tahoe/GMC Yukon, Chevy/GMC Suburban, '99-'00 GMC Yukon Denali, Cadillac Escalade, '00 Chevy Tahoe Limited/Z71, '96-'02 Chevy Express/GMC Savana. |- | R ||L8B|| 5.3L || V8 || Gas ||OHV||Mild Hybrid. Gen V Chevrolet Small-Block V8 (EcoTec3). Direct injection, VVT. Active Fuel Management. '16-'18 Chevy Silverado 1500, GMC Sierra 1500. |- | S ||LQ7|| 2.2L || I4 || Diesel ||OHV||Isuzu C220 engine imported from Japan. '81-'82 Chevy LUV, '84-'85 Chevy S-10/GMC S-15 |- | S ||L56|| 6.5L || V8 Turbo || Diesel ||OHV||Detroit Diesel V8. For sub-8,500 lb. GVWR Chevy C/K, GMC Sierra trucks '94-'99,<br /> Chevy Blazer '94, Chevy Tahoe 2-d '95-'99, GMC Yukon 2-d '94-'97 |- | S ||LL8|| 4.2L || I6 || Gas ||DOHC,<br /> 24 valve||Atlas I6. SFI. VVT. '02-'09 GMT360/370 SUVs (Chevy Trailblazer, GMC Envoy, Oldsmobile Bravada, Buick Rainier, Isuzu Ascender, Saab 9-7X) |- | S ||LGX|| 3.6L || V6 || Gas ||DOHC,<br /> 24 valve||GM High Feature V6, 4th gen. Direct Injection. VVT. Active Fuel Management.<br /> '17+ Cadillac XT5, '17-'23 GMC Acadia, '19+ Chevrolet Blazer, '20-'25 Cadillac XT6. |- | S ||LK0|| 2.5L || I4 Turbo || Gas ||DOHC,<br /> 16 valve||L3B engine family. Direct Injection. VVT. '24- Chevy Traverse, GMC Acadia, '25- Buick Enclave |- | T ||L25|| 4.8L || I6 || Gas ||OHV||1-bbl carb. Chevrolet Turbo-Thrift I6. '81-'86 Chevy/GMC C/K pickups, '88 R/V pickups |- | T ||LM7|| 5.3L || V8 || Gas ||OHV|| Gen III Chevrolet Small-Block V8. Iron Block & Aluminum Heads. Vortec 5300. 270/285/295hp.<br /> '99-'07 GMT800 pickups & SUVs including '02-'05 Escalade 2wd, '03-'07 Express/Savana |- | T ||LEA|| 2.4L || I4 || Gas/E85 ||DOHC,<br /> 16 valve||Flex Fuel. GM Ecotec engine, Gen II. Direct Injection. VVT. Chevy Orlando '13. |- | T ||LM2|| 3.0L || I6 Turbo|| Diesel ||DOHC,<br /> 24 valve|| Duramax Diesel I6. Aluminum Block & Heads. '20-'22 Silverado/Sierra 1500, '21-'24 Tahoe/Suburban, Yukon/Yukon XL, Escalade/Escalade ESV. |- | U ||LS5|| 1.6L || I4 || Gas ||SOHC,<br /> 8 valve||Suzuki G16A engine. TBI. '89-'95 Geo Tracker |- | U ||LQ4|| 6.0L || V8 || Gas ||OHV|| Gen III Chevrolet Small-Block V8. Iron Block & Aluminum Heads (Iron Heads in '99-'00).<br /> '99-'06 GMT800 pickups, '00-'06 Suburban/Yukon XL 2500, '01-'06 Yukon Denali/Yukon XL Denali,<br> '06 Suburban LTZ, '03-'07 Express/Savana, '03-'07 Hummer H2. |- | U ||LE9|| 2.4L || I4 || Gas/E85 ||DOHC,<br /> 16 valve||Flex-Fuel. GM Ecotec Gen II. 2011 Chevy HHR |- | U ||LH7|| 1.6L ||I4 Turbo|| Diesel ||DOHC,<br /> 16 valve||GM Medium Diesel engine ("Whisper Diesel"). Made by Opel in Szentgotthárd, Hungary.<br /> Aluminum Block & Heads. '18-'19 Chevy Equinox & GMC Terrain Diesel. |- | V ||LR4|| 4.8L || V8 || Gas ||OHV||Gen III Chevrolet Small-Block V8. Iron Block/Aluminum Heads. '99-'06 GMT800 pickups,<br /> '00-'06 Tahoe/Yukon, '03-'07 Express/Savana |- | V ||LE9|| 2.4L || I4 || Gas/E85 ||DOHC,<br /> 16 valve||Flex-Fuel. GM Ecotec Gen II. 2009-2010 Chevy HHR |- | V ||LYX|| 1.5L || I4 Turbo || Gas ||DOHC,<br /> 16 valve||GM Small Gasoline Engine. Direct Injection. VVT. '18-'22 Chevy Equinox, GMC Terrain |- | W ||LE8|| 7.4L || V8 || Gas ||OHV|| Mark IV Chevrolet Big-Block V8. 4bbl carb. '81-'86 Chevy/GMC C/K pickups, Suburban.<br /> '88-'89 Chevy/GMC R30/3500 Chassis Cab w/C7C (10,500 lb. GVWR),<br /> V30/3500 Chassis Cab w/C7E (11,000 lb. GVWR) |- | W ||L35|| 4.3L || V6 || Gas ||OHV|| CPI. Vortec 4300 H.O. Chevrolet 90° V6 (Chevy Small-Block V8 Derived).<br /> '92-'95 Sonoma, S-10 Blazer/Jimmy, Astro/Safari, '94-'95 S-10, '92-'94 Oldsmobile Bravada |- | W ||L35|| 4.3L || V6 || Gas ||OHV|| SFI. Vortec 4300 H.O. Chevrolet 90° V6 (Chevy Small-Block V8 Derived). '96-'02 S-10/Sonoma, Blazer/Jimmy, Express/Savana, C/K, Silverado, Sierra, '96-'01 Bravada, Astro/Safari, '00 Isuzu Hombre |- | W ||LGD|| 3.9L || V6 || Gas/E85 ||OHV||Flex Fuel. GM High Value 60° V6. SFI. VVT. '07-'09 GMT201 minivans |- | W ||LAF|| 2.4L || I4 || Gas ||DOHC,<br /> 16 valve||GM Ecotec engine, Gen II. Direct Injection. VVT. Chevy Equinox, GMC Terrain '10. |- | W ||LE8|| 2.2L || I4 || Gas/E85 ||DOHC,<br /> 16 valve||Flex-Fuel. GM Ecotec Gen II. VVT. 2011 Chevy HHR. |- | W ||LFY|| 3.6L || V6 || Gas ||DOHC,<br /> 24 valve||GM High Feature V6. Direct Injection.<br> '18-'23 Chevrolet Traverse, '24 Chevrolet Traverse Limited, '18-'24 Buick Enclave. |- | X ||LF6|| 4.3L || V6 || Gas ||OHV||SFI. Vortec 4300. Chevrolet 90° V6 (Chevy Small-Block V8 Derived).<br /> '96-'99 S-10/Sonoma, '97-'99 Isuzu Hombre. |- | X ||LU3|| 4.3L || V6 || Gas ||OHV||Vortec 4300. Chevrolet 90° V6 (Chevy Small-Block V8 Derived). '03-'04 S-10/Sonoma,<br /> '03-'05 Blazer/Jimmy, '02-'05 Astro/Safari, '03-'14 Express/Savana, '03-'13 Silverado/Sierra |- | X ||LNF|| 2.0L || I4 Turbo || Gas ||DOHC,<br /> 16 valve||GM Ecotec engine, Gen II. Direct Injection. VVT. '08-'09 Chevy HHR SS. |- | X ||LTG|| 2.0L || I4 Turbo || Gas ||DOHC,<br /> 16 valve||GM Ecotec engine, Gen III. Direct Injection. VVT.<br /> '16-'20 Buick Envision, '18-'20 Chevy Equinox, GMC Terrain, '18-'19 Chevy Traverse RS |- | Y ||LQ2|| 2.0L || I4 || Gas ||OHV||2-bbl carb. Chevrolet "122" engine.<br /> '83-'84 Chevy S-10/GMC S-15, '83-'84 Chevy S-10 Blazer/GMC S-15 Jimmy |- | Y ||L57|| 6.5L || V8 || Diesel ||OHV||Detroit Diesel V8. For over-8,500 lb. GVWR full-size vans '94-'95 & '96 G-Classic full-size vans |- | Y ||L76|| 6.0L || V8 || Gas ||OHV||SFI. Gen IV Chevy Small-Block V8. Aluminum Block & Heads. VVT. With Active Fuel Management.<br /> '07-'09 Silverado/Sierra, Suburban/Yukon XL, Chevy Avalanche |- | Y ||LF1|| 3.0L || V6 || Gas ||DOHC,<br /> 24 valve||GM High Feature V6. Direct Injection. VVT.<br /> '10-'11 Cadillac SRX, '11 Saab 9-4X, '10 Chevy Equinox, GMC Terrain |- | Y ||L5P|| 6.6L || V8 Turbo || Diesel ||OHV,<br /> 32 valve||Duramax 6600 V8 engine. '17+ Silverado HD/Sierra HD. Engine updated in '24. |- | Z ||LF9|| 5.7L || V8 || Diesel ||OHV||Oldsmobile Diesel V8. '81 Chevy C10/GMC C1500 full-size pickups. |- | Z ||LB4|| 4.3L || V6 || Gas ||OHV|| TBI. Chevrolet 90° V6 (Chevy Small-Block V8 Derived). '85-'87 Chevy El Camino/GMC Caballero,<br /> '86-'94 Astro/Safari, '87 R/V pickups, '88-'95 C/K & Sierra pickups, '87-'95 full-size vans & <br /> '96 G-Classic full-size vans, '88-'95 S-10, S-15/Sonoma, '88-'94 S-10 Blazer, S-15 Jimmy,<br /> '91-'92 Oldsmobile Bravada |- | Z ||LB4|| 4.3L || V6 Turbo || Gas ||OHV|| MPI. For GMC Syclone & Typhoon. Chevrolet 90° V6 (Chevy Small-Block V8 Derived) |- | Z ||L59|| 5.3L || V8 || Gas/E85 ||OHV||Flex Fuel. Gen III Chevrolet Small-Block V8. Iron Block & Aluminum Heads. Vortec 5300. 285/295hp.<br /> '02-'07 GMT800 pickups, '02-'06 Suburban/Yukon XL, Avalanche. |- | Z ||LAT|| 2.4L || I4 || Gas ||DOHC,<br /> 16 valve||Mild Hybrid. MFI. GM Ecotec Gen II. VVT. '07-'09 Saturn Vue Green Line |- | 1 ||LZ9|| 3.9L || V6 || Gas ||OHV||GM High Value 60° V6. SFI. VVT. '06-'09 GMT201 minivans |- | 1 ||LE5|| 2.4L || I4 || Gas ||DOHC,<br /> 16 valve||MFI. GM Ecotec Gen II. VVT. '10 Saturn Vue. |- | 1 ||LB7|| 6.6L || V8 Turbo || Diesel ||OHV,<br /> 32 valve||Duramax 6600 V8 engine. First version of the Duramax V8. '01-Mid '04 Silverado HD/Sierra HD |- | 1 ||LWN|| 2.8L || I4 Turbo || Diesel ||DOHC,<br /> 16 valve||Based on VM Motori A428 engine. Made by GM Powertrain Thailand 2016-2020. Made in Brazil for '22. '16-'22 Colorado/Canyon, '17-'22 Express/Savana. |- | 2 ||LLY|| 6.6L || V8 Turbo || Diesel ||OHV,<br /> 32 valve||Duramax 6600 V8 engine. Mid '04-Mid '06 Silverado HD/Sierra HD, '06-Mid '07 Express/Savana |- | 2 ||L9H|| 6.2L || V8 || Gas/E85 ||OHV||Flex-Fuel. Gen IV Chevrolet Small-Block V8. Aluminum Block & Heads. SFI. VVT.<br /> '09-'13 Chevy Silverado 1500, GMC Sierra 1500, Sierra Denali 1500,<br /> '09 Chevy Tahoe LTZ, GMC Yukon Denali/Yukon XL Denali, Cadillac Escalade/Escalade ESV,<br> Hummer H2 |- | 2 ||LIH|| 1.2L || I3 Turbo || Gas ||DOHC,<br /> 12 valve||GM E-Turbo Engine. Direct Injection. VVT.<br /> '20-'24 Buick Encore GX, '21-'24 Chevy Trailblazer, '24 Chevy Trax, Buick Envista,<br> '25 Chevy Trax, Buick Envista (Canada only). |- | 3 ||LC9|| 5.3L || V8 || Gas/E85 ||OHV||Flex Fuel. SFI. Gen IV Chevrolet Small-Block V8. Active Fuel Management. VVT added for '10. Aluminum Block & Heads.<br /> '07-'11 Silverado/Sierra 1500, Tahoe/Yukon, Suburban/Yukon XL 1500, '07-'09 & '11 Avalanche |- | 3 ||LFX|| 3.6L || V6 || Gas ||DOHC,<br /> 24 valve||GM High Feature V6. Direct Injection. VVT. E85 Flex Fuel.<br /> '12-'16 Cadillac SRX, '13-'17 Chevrolet Equinox, GMC Terrain, '15-'16 Colorado/Canyon |- | 4 ||LN2|| 2.2L || I4 || Gas ||OHV||MFI (94-95). SFI (96-00). Chevrolet "122" engine. '94-'00 S-10/Sonoma, '96-'00 Isuzu Hombre |- | 4 ||LE8|| 2.5L || V6 || Gas ||DOHC,<br /> 24 valve||Suzuki H25A engine. MFI. '01-'04 Chevrolet Tracker |- | 4 ||L66|| 3.5L || V6 || Gas ||SOHC,<br /> 24 valve||Honda J35S1 V6. VTEC. '04-'07 Saturn Vue |- | 4 ||LMF|| 5.3L || V8 || Gas/E85 ||OHV||Flex Fuel. SFI. Gen IV Chevrolet Small-Block V8. Iron Block & Aluminum Heads. VVT.<br /> '08-'14 Express/Savana 1500 |- | 4 ||LAU|| 2.8L || V6 Turbo || Gas ||DOHC,<br /> 24 valve||GM High Feature V6. SFI. '10 Cadillac SRX |- | 4 ||LSY|| 2.0L || I4 Turbo || Gas ||DOHC,<br /> 16 valve||GM Ecotec engine, Gen III. Direct Injection. Active Fuel Management. VVT. VVL.<br /> '19-'25 Cadillac XT4, '20+ Chevy Blazer, Cadillac XT5, '20-'23 GMC Acadia,<br /> '21+ Buick Envision, '21-'25 Cadillac XT6 |- | 5 ||L43|| 2.2L || I4 || Gas/E85 ||OHV||Flex-Fuel. SFI. Chevrolet "122" engine. '00-'02 S-10/Sonoma, '00 Isuzu Hombre |- | 5 ||LFA|| 6.0L || V8 || Gas ||OHV||2-Mode Hybrid. Gen IV Chevrolet Small-Block V8. Aluminum Block & Heads. VVT. Active Fuel Management. '08-'09 Tahoe Hybrid/Yukon Hybrid, '09 Escalade Hybrid, Silverado Hybrid/Sierra Hybrid |- | 5 ||LFW|| 3.0L || V6 || Gas/E85 ||DOHC,<br /> 24 valve||Flex-Fuel. GM High Feature V6. Direct Injection. VVT. '11-'12 Chevy Equinox, GMC Terrain,<br /> '12 Chevy Captiva Sport |- | 6 ||L01|| 1.6L || I4 || Gas ||SOHC,<br /> 16 valve||Suzuki G16B engine. MFI. '94-'97 Geo Tracker, '98-'00 Chevrolet Tracker |- | 6 ||L52|| 3.5L || I5 || Gas ||DOHC,<br /> 20 valve||Atlas I5. SFI. VVT. '04-'06 Colorado/Canyon, '06 Isuzu i-350, '06 Hummer H3 |- | 6 ||LAU|| 2.8L || V6 Turbo || Gas ||DOHC,<br /> 24 valve||GM High Feature V6. SFI. '11 Cadillac SRX, Saab 9-4X |- | 6 ||LMM|| 6.6L || V8 Turbo || Diesel ||OHV,<br /> 32 valve||Duramax 6600 V8 engine. '07-'10 Silverado HD/Sierra HD (GMT900), Mid '07-Mid '10 Express/Savana |- | 7 ||LY7|| 3.6L || V6 || Gas ||DOHC,<br /> 24 valve||GM High Feature V6. '04-'06 Buick Rendezvous, '04-'09 Cadillac SRX,<br /> '07-'08 GMC Acadia, Saturn Outlook, '08 Buick Enclave, '08-'10 Saturn Vue |- | 7 ||LC9|| 5.3L || V8 || Gas/E85 ||OHV||Flex Fuel. SFI. Gen IV Chevrolet Small-Block V8. Active Fuel Management. VVT.<br /> Aluminum Block & Heads.<br /> '12-'13 Silverado/Sierra 1500, Avalanche, '12-'14 Tahoe/Yukon, Suburban/Yukon XL 1500 |- | 7 ||L8T|| 6.6L || V8 || Gas ||OHV||Gen V Chevrolet Small-Block V8. Iron Block/Aluminum Heads. Direct injection, VVT.<br /> '20+ Silverado HD/Sierra HD, '21+ Express/Savana |- | 8 ||LK5|| 2.8L || I4 || Gas ||DOHC,<br /> 16 valve||Atlas I4. SFI. VVT. '04-'06 Colorado/Canyon, '06 Isuzu i-280. |- | 8 ||L92|| 6.2L || V8 || Gas ||OHV||Gen IV Chevrolet Small-Block V8. Aluminum Block & Heads. SFI. VVT.<br /> '07-'08 GMC Sierra Denali, Yukon Denali/Yukon XL Denali, Cadillac Escalade/Escalade ESV,<br> '08 Chevy Tahoe LTZ, Hummer H2. |- | 8 ||LML|| 6.6L || V8 Turbo || Diesel ||OHV,<br /> 32 valve||Duramax 6600 V8 engine.<br /> '11-'16 Silverado HD/Sierra HD pickups, '13-'16 Silverado HD/Sierra HD chassis cabs. |- | 8 ||LZ0|| 3.0L || I6 Turbo|| Diesel ||DOHC,<br /> 24 valve|| Duramax Diesel I6. Aluminum Block & Heads.<br> '23+ Silverado/Sierra 1500, '24+ Suburban HD, '25+ Tahoe/Suburban, Yukon/Yukon XL. |- | 9 ||LC3|| 3.8L || V6 || Gas ||OHV||2-bbl carb. Chevrolet 90° V6 (Chevy Small-Block V8 Derived). 229 cu. in. <br /> '83-'84 Chevy El Camino, GMC Caballero (49-state emissions). |- | 9 ||LLV|| 2.9L || I4 || Gas ||DOHC,<br /> 16 valve||Atlas I4. SFI. VVT. '07-'12 Colorado/Canyon, '07-'08 Isuzu i-290. |- | 9 ||LT4|| 6.2L ||V8 Supercharged|| Gas ||OHV||Gen V Chevy Small-Block V8. Aluminum Block & Heads. Direct injection. VVT. Active Fuel Management. '23+ Cadillac Escalade/Escalade ESV V-Series. |- | 0 ||LMG|| 5.3L || V8 || Gas/E85 ||OHV||Flex-Fuel. SFI. Gen IV Chevrolet Small-Block V8. Active Fuel Management. VVT added for '10.<br /> Iron Block & Aluminum Heads.<br /> '07-'13 Silverado/Sierra 1500, Avalanche, '07-'14 Tahoe/Yukon, Suburban/Yukon XL 1500. |} H.O.=High Output, VVT=Variable Valve Timing, VVL=Variable Valve Lift, GVWR=Gross Vehicle Weight Rating, CNG=Compressed Natural Gas, LPG=Liquefied Petroleum Gas (Propane Autogas) ====Motor codes for electric light trucks==== {| class="wikitable" |- ! VIN !! RPO !! Fuel !! Drive Wheels !! Application/Notes |- | H ||LN1|| Electricity || Front || '97-'98 Chevrolet S-10 Electric. |- |} ====Motor codes for Ultium-powered electric light trucks==== {| class="wikitable" |- ! VIN !! Motor <br /> RPO code !! # of Motors !! Battery Module <br /> RPO code !! # of Modules !! Fuel !! Drive Wheels !! Application/Notes |- | A ||XRL|| 3 || ETN || 24 || Electricity || All || '22- GMC Hummer EV pickup 3X |- | B ||XRL|| 3 || ETI || 20 || Electricity || All || '24- GMC Hummer EV pickup 3X |- | C ||XRL|| 3 || ETJ || 20 || Electricity || All || '24- GMC Hummer EV SUV 3X |- | D ||XRJ|| 2 || ETI || 20 || Electricity || All || '24 Chevrolet Silverado EV 3WT, '25- Silverado EV 5WT, 3LT,<br> '25 Silverado EV RST (2SP), '26- Silverado EV Trail Boss (2TR),<br> '24- GMC Hummer EV pickup 2X, '25- GMC Sierra EV Denali 5SC,<br> '26- Sierra EV Elevation 3SC, AT4 4SC |- | E ||XRJ|| 2 || ETJ || 20 || Electricity || All || '24- GMC Hummer EV SUV 2X |- | G ||XRJ|| 2 || ETJ || 20 || Electricity || All || '23 BrightDrop Zevo 600 |- | H ||XRJ|| 2 || EWX || 14 || Electricity || All ||'26- Chevrolet Silverado EV 4WT, 2LT,<br> '26- GMC Sierra EV Elevation 3SB, Denali 5SB |- | J ||X0C|| 2 || EC5 || 10 || Electricity || All || '24 Chevy Blazer EV 2LT, 1RS AWD,<br> '25- Chevy Blazer EV 4LT, 3RS AWD, '24- Honda Prologue AWD |- | K ||X0D|| 1 || EC6 || 12 || Electricity || Rear || '23- Cadillac Lyriq RWD, '24-'25 Chevrolet Blazer EV 2RS RWD,<br> '24 Acura ZDX A-Spec RWD |- | L ||X0E|| 2 || EC6 || 12 || Electricity || All || '23- Cadillac Lyriq AWD, '24- Chevrolet Blazer EV PPV AWD,<br> '25- Chevrolet Blazer EV SS AWD, '26- Cadillac Vistiq AWD,<br> '24 Acura ZDX A-Spec, Type S AWD |- | L ||XRJ|| 2 || ETN || 24 || Electricity || All || '24 Chevrolet Silverado EV 4WT, RST (3SP), '25- Silverado EV 8WT,<br> '25 Silverado EV RST (3SP), '26- Silverado EV 4LT, Trail Boss (3TR),<br> '24- GMC Sierra EV Denali 5SD, '26- Sierra EV AT4 4SD,<br> '25- Cadillac Escalade IQ, '26- Cadillac Escalade IQL |- | M ||X0B|| 1 || EC5 || 10 || Electricity || Front || '24- Honda Prologue FWD, '25- Chevy Blazer EV 2LT, 1RS FWD |- | P ||X0B|| 1 || EC3 || 10 || Electricity || Front || '24- Chevrolet Equinox EV FWD |- | R ||X0C|| 2 || EC3 || 10 || Electricity || All || '24- Chevrolet Equinox EV AWD, '25 Cadillac Optiq AWD |- | Y ||XRJ|| 2 || ETC || 12 || Electricity || All || '24 BrightDrop Zevo 400, Zevo 600,<br> '25-'26 Chevrolet BrightDrop 400/600 AWD |- | Z ||XRJ|| 2 || ETJ || 20 || Electricity || All || '24 BrightDrop Zevo 400, Zevo 600,<br> '25-'26 Chevrolet BrightDrop 400/600 AWD |- | 4 ||X0E|| 2 || EC3 || 10 || Electricity || All || '26- Cadillac Optiq AWD |- | 5 ||X0D|| 1 || EC3 || 10 || Electricity || Rear|| '26- Cadillac Optiq RWD |- | 6 ||XRM|| 1 || ETC || 12 || Electricity || Front || '25-'26 Chevrolet BrightDrop 400/600 FWD |- | 7 ||XRJ|| 2 || EWU || 14 || Electricity || All || '26 Chevrolet BrightDrop 600 AWD |} SB=Standard Range, SC=Extended Range, SD=Max Range ====Engine codes for medium duty trucks 2016-==== GM encodes the engine type in character 8 of the VIN. The following table outlines the various engines encoded there: {| class="wikitable" |- ! VIN !! RPO !! Size !! Type !! Fuel !! Valvetrain !! Engine Family/Notes/Applications |- | B ||L96|| 6.0L || V8 || Gas ||OHV||SFI. Gen IV Chevrolet Small-Block V8. Iron Block & Aluminum Heads. VVT.<br /> '16-'20 Chevy LCF 3500/4500. |- | C ||LC8|| 6.0L || V8 || Gas/CNG or<br>Gas/LPG ||OHV||Bi-Fuel. SFI. Gen IV Chevrolet Small-Block V8. Iron Block & Aluminum Heads. VVT.<br /> '16-'20 Chevy LCF 3500/4500. |- | D ||L8T|| 6.6L || V8 || Gas ||OHV||Gen V Chevrolet Small-Block V8. Iron Block/Aluminum Heads. Direct injection, VVT.<br /> '21-'23 Chevy LCF 3500/4500, '24- Chevy LCF 3500HG/4500HG/5500HG/5500XG. |- | F ||LCB|| 6.7L || I6 Turbo || Diesel ||OHV,<br /> 32 valve||Cummins B Series ISB engine. '22- Chevy LCF 6500XD, '23- Chevy LCF 7500XD. |- | 6 ||I1B|| 5.2L || I4 Turbo || Diesel ||SOHC,<br /> 16 valve||Isuzu 4HK1-TC engine. '17- Chevy LCF 4500HD/XD, 5500XD, '17-'24 Chevy LCF 5500HD,<br /> '18-'21 Chevy LCF 6500XD. |- | 7 ||IZ3|| 3.0L || I4 Turbo || Diesel ||DOHC,<br /> 16 valve||Isuzu 4JJ1-TC engine. '16-'18 Chevy LCF 3500HD. |- |} ====Engine codes for AM General-built Hummer H1 2000-2006==== AM General encodes the engine type in character 4 of the VIN. {| class="wikitable" |- ! VIN !! RPO !! Size !! Type !! Fuel !! Valvetrain !! Engine Family/Notes |- | F || || 6.5L || V8 Turbo || Diesel ||OHV||Detroit Diesel V8 built by GEP (General Engine Products), a subsidiary of AM General.<br> '01-'04 Hummer H1 & '06 H1 Fleet models. |- | P ||LLY|| 6.6L || V8 Turbo || Diesel ||OHV,<br /> 32 valve||Duramax 6600 V8 engine. '06 Hummer H1 Alpha. |- | Z ||L65|| 6.5L || V8 Turbo || Diesel ||OHV||Detroit Diesel V8 built by GM. '00-'01 Hummer H1. |- |} ====Engine codes for Nissan-built vans==== Nissan encodes the engine type in character 4 of the VIN. {| class="wikitable" |- ! VIN !! RPO !! Size !! Type !! Fuel !! Valvetrain !! Engine Family/Notes |- | 3 ||L0A|| 2.0L || I4 || Gas ||DOHC,<br /> 16 valve||Nissan MR20DE engine. SFI. VVT. For the '15-'18 Chevrolet City Express. |- |} ====Engine codes for Navistar-built medium-duty trucks==== Navistar encodes the engine type in character 6 & 7 of the VIN. {| class="wikitable" |- ! VIN !! RPO !! Size !! Type !! Fuel !! Valvetrain !! Engine Family/Notes |- | PV ||L5D|| 6.6L || V8 Turbo || Diesel ||OHV,<br /> 32 valve||Duramax 6600 V8 engine. For the Chevy Silverado Medium Duty '19+. |- |} ==GM factories supplying North America== ===North American GM factories=== [[w:List_of_General_Motors_factories | List of GM Factories]] {| class="wikitable" !VIN code !Location !Notes |- |A |Lakewood Assembly (Lakewood Heights, Atlanta, Georgia) |through 1990 model year |- |A |Artisan Center (Warren, Michigan) |From 2026 model year. Cadillac CT5-V Blackwing "Curated by Cadillac" program only. |- |B |Baltimore Assembly (Baltimore, Maryland) |through 2005 model year |- |B |Reatta Craft Centre/Lansing Craft Centre (Lansing Township, Michigan) |1988-2006 model year (except GM EV1) |- |B |GM Defense-Manufacturing Customer Innovation Center (MCIC) (Concord, North Carolina) |From 2024 model year. Chevrolet Suburban HD (a.k.a. HD SUV) (for US govt. only). |- |C |South Gate Assembly (South Gate, California) |through 1982 model year |- |C |Lansing Car Assembly (Lansing, Michigan) |South assembly line 1985-2004 model year |- |D |Doraville Assembly (Doraville, Georgia) |through 2009 model year |- |E |Linden Assembly (Linden, New Jersey) |through 1991 model year |- |E |Pontiac East Assembly (Pontiac, Michigan) |1988-2009 model year |- |E |AM General Military plant (Mishawaka, Indiana) |1992-2006 Hummer H1 |- |F |Flint Truck Assembly (Flint, Michigan) |since 1953 |- |F |Fairfax II Assembly (Kansas City, Kansas) |since 1988 model year |- |G |Framingham Assembly (Framingham, Massachusetts) |through 1989 model year |- |G |Silao Assembly (Silao, Guanajuato, Mexico) |since 1995 model year |- |H |Buick City Assembly (Flint, Michigan) |through 1999 model year |- |H |AM General Commercial plant (Mishawaka, Indiana) |2003-2009 Hummer H2 |- |H |Navistar Springfield plant (Main Line) (Springfield, Ohio) |2019- Chevrolet Silverado Medium Duty (4500HD/5500HD/6500HD) |- |J |Janesville Assembly (Janesville, Wisconsin) |through 2009 model year |- |J |Lansing Delta Township Assembly (Lansing, Michigan) |since 2007 model year |- |K |Leeds Assembly (Leeds, Kansas City, Missouri) |through 1988 model year |- |K |Linden Assembly (Linden, New Jersey) |from 1994-2005 model year |- |K |Nissan plant (Cuernavaca, Morelos, Mexico) |2015-2018 Chevrolet City Express |- |L |Van Nuys Assembly (Van Nuys, California) |through 1992 model year |- |L |San Luis Potosí Assembly (San Luis Potosí, Mexico) |since 2009 model year |- |M |Lansing Car Assembly (Lansing, Michigan) |through 1984 model year, North assembly line 1985-2005 model year |- |M |Toluca Assembly (Toluca, Mexico state, Mexico) |through 2008 model year |- |N |Norwood Assembly (Norwood, Ohio) |through 1987 model year |- |N |Navistar Springfield plant (Secondary Line) (Springfield, Ohio) |2017- Chevrolet Express cutaway, GMC Savana cutaway |- |P |Pontiac Assembly (Pontiac, Michigan) |through 1988 model year |- |R |Arlington Assembly (Arlington, Texas) |since 1965 [all GM brands]. (R plant code used only by Chevrolet in 1963-64) |- |S |St. Louis Assembly (St. Louis, Missouri) |through 1987 model year |- |S |Spring Hill Manufacturing (Spring Hill, Tennessee) |2002-2007 Saturn Vue & 2009-2010 Chevrolet Traverse only |- |S |Spartan Motors/Shyft Group plant (Charlotte, Michigan) |2016- Chevrolet Low Cab Forward 3500/3500HG/4500/4500HG/5500HG/5500XG/6500XD/7500XD |- |S |Ramos Arizpe Assembly (Ramos Arizpe, Coahuila, Mexico) |since 1982 |- |T |Tarrytown Assembly (North Tarrytown, New York) |through 1996 model year |- |U |Detroit/Hamtramck Assembly (Factory Zero) <br /> (Detroit & Hamtramck, Michigan) |since 1986 model year |- |U |Artisan Center (Warren, Michigan) |From 2025 model year. Cadillac Celestiq only. |- |V |Pontiac Central Assembly (Pontiac, Michigan) |through 1991 model year |- |V |Pontiac East Assembly (Pontiac, Michigan) |through 1985 model year |- |W |Willow Run Assembly (Ypsilanti Township, Michigan) |through 1993 model year |- |X |Fairfax Assembly (Fairfax I) (Kansas City, Kansas) |through 1987 model year |- |Y |Wilmington Assembly (Wilmington, Delaware) |through 2010 model year |- |Z |Fremont Assembly (Fremont, California) |through 1982 model year |- |Z |NUMMI (Fremont, California) |1985-2010 model year |- |Z |Spring Hill Manufacturing (Spring Hill, Tennessee) |since 1991 model year (except Vue & Traverse) |- |Z |Fort Wayne Assembly (Roanoke, Indiana) |since 1988 model year |- |0 |Pontiac West Assembly (Pontiac, Michigan) |through 1994 model year |- |0 |Lansing Craft Centre (Lansing Township, Michigan) |GM EV1 only |- |0 |Lansing Grand River Assembly (Lansing, Michigan) |since 2003 model year |- |0 |Artisan Center (Warren, Michigan) |2024 Cadillac CT5-V Blackwing 20th Anniversary Edition where the final eight digits of the VIN are R0912004 through R0912024 or R0962004 through R0962024 |- |1 |Wentzville Assembly (Wentzville, Missouri) |since 1985 model year |- |1 |Oshawa Car Assembly (Oshawa, Ontario, Canada) |from 1967-1983 model year |- |1 |Oshawa Car Assembly (Line 2 a.k.a. Consolidated Line) (Oshawa, Ontario, Canada) |from 1984-2019 model year; switched to pickup trucks for 2019 model year |- |1 |Oshawa Car Assembly (Oshawa, Ontario, Canada) |Silverado pickup trucks since 2022 model year |- |1 |Oshawa Truck Assembly (Oshawa, Ontario, Canada) |through 2009 model year |- |2 |Moraine Assembly (Moraine, Ohio) |through 2009 model year |- |2 |Sainte-Thérèse Assembly (Boisbriand, Quebec, Canada) |through 2002 model year |- |3 |Detroit Truck & Bus plant (Piquette Ave., Detroit, Michigan) |through 1999 model year |- |3 |Saint-Eustache Bus Plant (Saint-Eustache, Quebec, Canada) |through 1987 model year |- |4 |Orion Assembly (Orion Township, Michigan) |since 1985 model year |- |4 |Scarborough Van Assembly (Scarborough, Ontario, Canada) |through 1993 model year |- |5 |Bowling Green Assembly (Bowling Green, Kentucky) |since 1981 model year |- |6 |Oklahoma City Assembly (Oklahoma City, Oklahoma) |through 2006 model year |- |6 |CAMI plant (Ingersoll, Ontario, Canada) |1990-2022 model year |- |7 |Lordstown Assembly (Warren, Ohio) |from 1979-2019 model year |- |8 |Shreveport Assembly (Shreveport, Louisiana) |through 2012 model year |- |9 |Detroit Assembly (Clark Street, Detroit, Michigan)<br> (Cadillac plant) |from 1979-1988 model year |- |9 |Oshawa Car Assembly (Line 1 a.k.a. Flex Line)<br> (Oshawa, Ontario, Canada) |from 1984-2020 model year |- |9 |KUKA plant (Livonia, Michigan) |2022 model year only (BrightDrop Zevo 600) |- |9 |CAMI plant (Ingersoll, Ontario, Canada) |since 2023 model year (BrightDrop Zevo/Chevrolet BrightDrop) |} ===Non-North American GM factories supplying North America=== {| class="wikitable" !VIN code !Location !Models Sourced |- |A |SAIC-GM plant: Jinqiao, Pudong district, Shanghai, China |2017-2018 Cadillac CT6 Plug-in Hybrid |- |B |Daewoo/GM Daewoo/GM Korea plant: Bupyeong, South Korea |1988-1993 Pontiac LeMans, 2004-2011 Chevrolet Aveo, 2005-2010 Pontiac Wave/G3, 2004-2006 Chevrolet <br /> Epica (Canada), 2013-2022 Chevrolet Trax, Buick Encore, 2021- Chevrolet Trailblazer, 2020- Buick Encore GX, 2024- Buick Envista |- |C |GM Daewoo/GM Korea plant: Changwon, South Korea |2003-2010 Pontiac Matiz/Matiz G2 (Mexico), 2013-2022 Chevrolet Spark, 2024- Chevrolet Trax |- |D |SAIC-GM Dongyue Motors plant: Yantai, Shandong province, China |2016- Buick Envision, 2019-2023 Chevrolet Aveo (Mexico), 2023- Chevrolet Onix (Mexico) |- |G |Opel plant: Gliwice, Poland |2016-2019 Buick Cascada |- |K |Suzuki plant: Kosai, Shizuoka prefecture, Japan |1985-1988 Chevrolet Sprint, 1989-1990 Geo Metro hatchback, 1990-1993 Geo Metro convertible, 1985-1990 Pontiac Firefly (Canada), 1991 & 1994 Pontiac Firefly convertible & sedan (Canada) |- |K |GM Daewoo/GM Korea plant: Kunsan, South Korea |2004-2007 Chevrolet Optra (Canada), 2012-2014 Chevrolet Orlando (Canada) |- |L |Holden plant: Elizabeth, South Australia, Australia |2004-2006 Pontiac GTO, 2008-2009 Pontiac G8, 2011-2017 Chevrolet Caprice PPV, 2014-2017 Chevrolet SS |- |R |Opel plant: Rüsselsheim, Germany |1997-2001 Cadillac Catera |- |T |GM India plant: Talegaon, Maharashtra, India |2017-2021 Chevrolet Spark Classic/Beat (Mexico) |- |V |SAIC-GM Wuhan plant: Wuhan, Hubei province, China |2018-2021 Chevrolet Cavalier (Mexico), 2022- Chevrolet Cavalier Turbo (Mexico) |- |W |Suzuki plant: Iwata, Shizuoka prefecture, Japan |1989-1990 Geo Tracker |- |1 |Opel plant: Rüsselsheim, Germany |2011, 2018-2020 Buick Regal |- |3 |Isuzu plant: Kawasaki, Kanagawa prefecture, Japan |1987-1998 Chevrolet/GMC W5, 1989-1996 Chevrolet/GMC W6, 1984-1996 Chevrolet/GMC W7 |- |5 |Opel plant: Antwerp, Belgium |2008-2009 Saturn Astra |- |7 |Isuzu plant: Fujisawa, Kanagawa prefecture, Japan |1988 Chevrolet Spectrum, 1988 Pontiac Sunburst (Canada), 1989 Geo Spectrum, 1990-1993 Geo Storm,<br /> 1999-2008 Chevrolet/GMC W3500, 1988-2009 Chevrolet/GMC W4, 1999-2009 Chevrolet/GMC W5,<br /> 2000-2004 Chevrolet/GMC WT5500,<br /> 2016- Chevrolet Low Cab Forward 3500HD/4500HD/4500XD/5500HD/5500XD |- |8 |Isuzu plant: Fujisawa, Kanagawa prefecture, Japan |1981-1982 Chevrolet LUV, 1985-1987 Chevrolet Spectrum, 1985-1987 Pontiac Sunburst (Canada),<br /> 1986-1987 Chevrolet/GMC W4 |} ==GM WMIs== {| class=wikitable !WMI !Marque !Country |- |1G1||rowspan=57|Chevrolet||United States |- |1G8||United States (MPV 1981-1986) |- |1GA||United States (bus [van with more than 3 rows of seats]) |- |1GB||United States (incomplete vehicle) |- |1GC||United States (truck) |- |1GN||United States (MPV 1987-) |- |1HA||United States (Express incomplete vehicle made by Navistar) |- |1HT||United States ([[w:Chevrolet Silverado#Medium duty version_(4500HD,_5500HD,_6500HD,_and_International_CV)|Silverado Medium Duty]] incomplete vehicle made by Navistar) |- |1Y1||United States (made by NUMMI) |- |2C1||Canada (car made by CAMI) |- |2CN||Canada (SUV made by CAMI - 1998-2011) |- |2G1||Canada |- |2G5||Canada (truck - Chevrolet BrightDrop '25) |- |2G8||Canada (MPV 1981-1986) |- |2GA||Canada (bus [van with more than 3 rows of seats]) |- |2GB||Canada (incomplete vehicle) |- |2GC||Canada (truck - includes Chevrolet BrightDrop '26) |- |2GN||Canada (MPV 1987-) |- |3G1||Mexico |- |3GC||Mexico (truck) |- |3GN||Mexico (MPV) |- |3N6||Mexico (Truck - City Express made by Nissan) |- |4G1||United States (made by Genasys L.C.) |- |4KB||United States (W-Series incomplete vehicle made by GM - through 2009) |- |4W1||United States (MPV - Chevrolet Suburban HD made for US govt. in Concord, NC) |- |54D||United States (incomplete vehicle made by Spartan Motors/The Shyft Group) |- |6G1||Australia (2011-2013 Caprice PPV) |- |6G3||Australia (2014-2017 Caprice PPV & SS performance sedan) |- |ADM||South Africa |- |J81||Japan (car made by Isuzu) |- |J8B||Japan (incomplete vehicle made by Isuzu - through 2009) |- |J8Z||Japan (LUV pickup made by Isuzu) |- |JAL||Japan (incomplete vehicle made by Isuzu - 2016+) |- |JG1||Japan (car made by Suzuki) |- |KL1||South Korea (car) |- |KL7||South Korea (MPV - 2012+) |- |KL8||South Korea (Spark) |- |LSF||China (S-10 Max made by SAIC-Maxus - Mexico only) |- |LSG||China (SAIC-GM) |- |LSH||China (Express Max made by SAIC-Maxus - Mexico only) |- |LZW||China (SAIC-GM-Wuling) |- |MA6||India |- |MJB||Indonesia (GM Indonesia) |- |MK3||Indonesia (SGMW Motor Indonesia) |- |MMM||Thailand |- |XUF||Russia (GM Russia - St. Petersburg plant) |- |XUU||Russia (Chevrolet Korea models made by Avtotor in Kaliningrad) |- |XWB||Uzbekistan (GM Uzbekistan, UzAuto Motors) |- |XWF||Russia (Chevrolet Tahoe & Trailblazer [GMT360] made by Avtotor in Kaliningrad) |- |X9L||Russia (GM-AvtoVAZ) |- |8AG||Argentina |- |8GG||Chile |- |8LD||Ecuador |- |8Z1||Venezuela |- |9BG||Brazil |- |93C||Brazil |- |9GC||Colombia |- |J81||rowspan=6|Geo||Japan (car made by Isuzu) |- |JG1||Japan (car made by Suzuki) |- |JGC||Japan (SUV made by Suzuki) |- |1Y1||United States (car made by NUMMI) |- |2C1||Canada (car made by CAMI) |- |2CN||Canada (SUV made by CAMI - 1990-1997) |- |KLA||rowspan=3|GM Daewoo/<br />GM Korea||South Korea (Bupyeong & Kunsan plants) |- |KLY||South Korea (Changwon plant) |- |5GD||United States (G2X) |- |1G2||rowspan=12|Pontiac||United States |- |1G5||United States (incomplete vehicle - for '89-'90 Turbo Grand Prix by ASC/McLaren) |- |1GM||United States (MPV) |- |2CK||Canada (2006-2009 Torrent made by CAMI) |- |2G2||Canada |- |2G7||Canada (US market 1983 Pontiac Parisienne) |- |3G2||Mexico |- |3G7||Mexico (MPV: 2001-2005 Aztek) |- |4G2||United States (made by Genasys L.C.) |- |5Y2||United States (made by NUMMI) |- |6G2||Australia |- |KL2||South Korea (made by Daewoo/GM Daewoo) |- |1G7||rowspan=6|Pontiac<br />(Canada only)||United States |- |2C7||Canada (car made by CAMI) |- |2CG||Canada (SUV made by CAMI) |- |2G7||Canada |- |J87||Japan (car made by Isuzu) |- |JG7||Japan (car made by Suzuki) |- |KL7||Passport<br />(Canada only)||South Korea (car made by Daewoo) |- |J87||rowspan=3|Asüna<br />(Canada only)||Japan (car made by Isuzu) |- |KL7||South Korea (car made by Daewoo) |- |2CG||Canada (SUV made by CAMI) |- |1G3||rowspan=3|Oldsmobile||United States |- |1GH||United States (MPV/SUV) |- |2G3||Canada |- |1G4||rowspan=9|Buick||United States |- |2G4||Canada |- |3G4||Mexico |- |3G5||Mexico (MPV) |- |4GL||United States (incomplete vehicle) |- |5GA||United States (MPV) |- |KL4||South Korea (MPV) |- |LRB||China (SAIC-GM) |- |W04||Germany & Poland |- |KLA||Alpheon||South Korea (2011-2015) |- |1G6||rowspan=10|Cadillac||United States |- |1GE||United States (incomplete vehicle) |- |1GY||United States (SUV) |- |2G6||Canada |- |2GE||Canada (incomplete vehicle) |- |3GY||Mexico (SUV) |- |LRE||China (SAIC-GM) |- |W06||Germany |- |XWF||Russia (made by Avtotor in Kaliningrad) |- |YSC||Sweden |- |1G8||rowspan=4|Saturn||United States |- |3GS||Mexico (SUV) |- |5GZ||United States (MPV/SUV) |- |W08||Belgium |- |1G0||rowspan=22|GMC||United States (bus 1981-1986) |- |1G5||United States (MPV 1981-1986) |- |1GD||United States (incomplete vehicle) |- |1GJ||United States (bus 1987-) |- |1GK||United States (MPV 1987-) |- |1GT||United States (truck) |- |2CK||Canada (1990-1991 Tracker made by CAMI - Canada only) |- |2CT||Canada (2010-2011 Terrain made by CAMI) |- |2G0||Canada (bus [van with more than 3 rows of seats] 1981-1986) |- |2G5||Canada (MPV 1981-1986) |- |2GD||Canada (incomplete vehicle) |- |2GH||Canada (transit bus) |- |2GJ||Canada (bus [van with more than 3 rows of seats] 1987-) |- |2GK||Canada (MPV 1987-) |- |2GT||Canada (truck) |- |3GK||Mexico (SUV) |- |3GT||Mexico (truck) |- |4KD||United States (W-Series incomplete vehicle made by GM - through 2009) |- |7GZ||United States (incomplete vehicle made by Navistar) |- |J8D||Japan (incomplete vehicle made by Isuzu - through 2009) |- |JGT||Japan (SUV made by Suzuki - Canada only) |- |KL6||South Korea (Middle East market Terrain '08-'10) |- |4GD||WhiteGMC||United States (1988-1989 Brigadier made by GM) |- |137||rowspan=6|Hummer||United States (H1 made by AM General) |- |5GN||United States (H3T) |- |5GR||United States (H2 made by AM General) |- |5GT||United States (H3) |- |ADM||South Africa (H3) |- |XWF||Russia (H2 & H3 made by Avtotor in Kaliningrad) |- |4G5||General Motors||United States (EV1) |- |2G5||rowspan=2|BrightDrop||Canada (Truck 2023-2024) |- |5G5||United States (Truck made by Kuka AG - 2022 only) |- |5G2||rowspan=2|Cruise||United States (car) (Cruise AV) |- |5G3||United States (MPV) (Cruise Origin AV) |- |YS3||rowspan=4|Saab||Sweden |- |JF4||Japan (9-2X made by Subaru) |- |3G0||Mexico (9-4X) |- |5S3||United States (9-7X) |- |W0L||rowspan=19|Opel/Vauxhall||Germany & the rest of Europe (2017 and earlier) |- |W0V||Germany & the rest of Europe (2018 and later) & Opel Ampera-e Mid-2017 - 2019 |- |W0L||when plant code is H: Thailand (Zafira A) |- |W0L||when plant code is 0: South Korea (Antara) or B: South Korea (Antara, Mokka A, Mokka X [A]) |- |W0L||when plant code is C: South Korea (Opel Karl/Vauxhall Viva) |- |W0V||when plant code is B: South Korea (Mokka X [A]) or C: South Korea (Opel Karl/Vauxhall Viva) |- |SCC||UK (Opel Lotus Omega made by Lotus) |- |SED||UK (made by IBC Vehicles) |- |TW8||Portugal |- |VF1||France (Arena made by Renault) |- |VN1||France (Movano A made by Renault at SOVAB plant in Batilly, France) |- |VSX||Spain |- |XUF||Russia (Opel made by GM Russia - St. Petersburg plant) |- |XWF||Russia (Opel made by Avtotor in Kaliningrad) |- |1G0||United States (Opel GT, Opel/Vauxhall Ampera, Opel Ampera-e Early - Mid-2017) |- |4GD||United States (Sintra) |- |ADM||South Africa |- |JAA||Japan (Opel Campo made by Isuzu) |- |JAC||Japan (Monterey made by Isuzu) |- |SKA||rowspan=4|Vauxhall Motors||UK |- |SCC||UK (Vauxhall Lotus Carlton made by Lotus) |- |6G1||Australia (Vauxhall Monaro & VXR8 made by Holden) |- |JAA||Japan (Vauxhall Brava made by Isuzu) |- |SKF||rowspan=2|Bedford Vehicles||UK |- |JAA||Japan (Bedford Brava made by Isuzu) |- |6G1||rowspan=18|Holden||Australia (2003-2017) |- |6H8||Australia (1989-2002) |- |JAA||Japan (Rodeo pickup [TF] made by Isuzu) |- |JAC||Japan (Jackaroo/Monterey made by Isuzu) |- |JSA||Japan (YG Cruze made by Suzuki) |- |KL3||South Korea |- |MMM||Thailand ('09-'11 Colorado pickup [RC] made by GM Thailand) |- |MMU||Thailand ('13-'20 Colorado pickup [RG], '13-'16 Colorado 7, '17-'20 Trailblazer made by GM Thailand) |- |MPA||Thailand ('04-'08 Rodeo pickup [RA] made by Isuzu Thailand) |- |SED||UK (1st gen. Frontera made by IBC Vehicles) |- |W0L||Germany & the rest of Europe (2017 and earlier) |- |W0L||when plant code is H: Thailand (Zafira A) |- |W0V||Germany & the rest of Europe (2018-2020) |- |1GH||United States (Acadia) |- |3G0||Mexico (Equinox) |- |3GM||Mexico (Suburban) |- |4S2||United States (2nd gen. Frontera made by [[w:Subaru Isuzu Automotive|SIA]]) |- |5G8||United States (Volt) |- |1GG||rowspan=4|Isuzu||United States (Truck - Hombre & i-Series made by GM) |- |4GT||United States (H-Series & T-Series incomplete vehicle made by GM - through 2009) |- |4KL||United States (N-Series incomplete vehicle made by GM - through 2009) |- |4NU||United States (MPV/SUV - Ascender made by GM) |- |W0L||Subaru||Thailand [plant code H] (Traviq made by GM Thailand for export to Japan) |- |4G3||Toyota||United States (Cavalier made by GM for export to Japan) |- |3GP||Honda||Mexico (MPV/SUV: 2024- Prologue made by GM) |- |4W5||Acura||United States (MPV/SUV: 2024 ZDX EV made by GM) |} {{BookCat}} g6mdl38qqdp803o35fb681n0s7hh7zy 4654435 4654434 2026-07-14T14:41:33Z JustTheFacts33 3434282 /* Line & Chassis Type 2010- Light Duty Truck & Multi-Purpose Passenger Vehicle */ 4654435 wikitext text/x-wiki {{Vehicle Identification Numbers (VIN codes)/Warning}}{{clear}} It is the tenth digit that gives you the model year for GM. I've been working at a Chevy dealer for years running codes/vins. For example (my examples only apply to 2001-2015 gm vehicles) Remember 10th digit from the beginning, (left to right). 2001... 1, 2002...2, 2003...3, etc., 2009...9. After 2009, the tenth digit was given a letter 2010... A, 2011...B, 2012...C, 2013...D, 2014...E, 2015...F, Etc... We have another 20 years worth of letters. Thanks for reading. You can always check your model year by looking in your drivers side door jamb and it will give you model year. If it was assembled in July or later, the model year is probably a year later than the calendar year of the manufacturing date listed. ==American GM== ===American VIN format 1981-1984 Passenger Car=== GM's VIN format is as follows: <table border=1 style="margin:auto;"> <tr> <th>Position</th> <th>Sample</th><th></th><th></th><th>Description</th> </tr><tr> <td>1</td> <td>1</td><td></td><td></td><td rowspan=3>[[#GM WMIs|World Manufacturer Identifier]]</td> </tr><tr> <td>2</td> <td>G</td><td></td><td></td></tr><tr> <td>3</td> <td>6</td><td></td><td></td></tr><tr> <td>4</td> <td>A</td><td></td><td></td><td>[[#American restraint types 1981-1984|Restraint type]]</td> </tr><tr> <td>5</td> <td>M</td><td></td><td></td><td>[[#Car Line & Series Code 1981-1984|Car Line & Series Code]]</td> </tr><tr> <td>6</td> <td>4</td><td></td><td></td><td rowspan=2>[[#Body style codes 1981-1986|Body style]]</td> </tr><tr> <td>7</td> <td>7</td><td></td><td></td><td> </td> </tr><tr> <td>8</td> <td>8</td><td></td><td></td><td>[[#American engine codes 1981-|Engine type]]</td> </tr><tr> <td>9</td> <td>0</td><td></td><td></td><td>[[Vehicle Identification Numbers (VIN codes)/Check digit |Check digit]]</td> </tr><tr> <td>10</td> <td>E</td><td></td><td></td><td>[[Vehicle Identification Numbers (VIN codes)/Model year|Model year]]</td> </tr><tr> <td>11</td> <td>9</td><td></td><td></td><td>[[#GM factories supplying North America|Factory ID]]</td> </tr><tr> <td>12</td> <td>1</td><td></td><td></td><td rowspan=6>Sequential number </tr><tr> <td>13</td> <td>2</td><td></td><td></td></tr><tr> <td>14</td> <td>3</td><td></td><td></td></tr><tr> <td>15</td> <td>7</td><td></td><td></td></tr><tr> <td>16</td> <td>6</td><td></td><td></td></tr><tr> <td>17</td> <td>2</td><td></td><td></td> </table> ====American restraint types 1981-1984==== The restraint type is specified as character four of the American GM VIN for passenger cars. {| border=1 style="margin:auto;" !VIN Code !Description |- |A||Manual Seatbelts only - No Passive Restraint |} ====Car Line & Series Code 1981-1984==== The Car Line & Series Code is specified as character five of the American GM VIN for passenger cars. {| border=1 style="margin:auto;" !List of GM platforms !Car Line & <br> Series Code !:Category:General Motors vehicles|Model |- |rowspan=19|GM A platform - rear-wheel drive |T||Chevrolet Malibu 1981 |- |W||Chevrolet Malibu Classic 1981 |- |Z||Chevrolet Monte Carlo 1981 |- |D||Pontiac LeMans 1981 |- |F||Pontiac Grand LeMans 1981 |- |J||Pontiac Grand Prix 1981 |- |K||Pontiac Grand Prix LJ 1981 |- |P||Pontiac Grand Prix Brougham 1981 |- |G||Oldsmobile Cutlass sedan, Cutlass Cruiser wagon 1981 |- |H||Oldsmobile Cutlass Cruiser ''Brougham'' wagon 1981 |- |K||Oldsmobile Cutlass Calais coupe 1981 |- |M||Oldsmobile Cutlass Supreme ''Brougham'' 1981 |- |R||Oldsmobile Cutlass Supreme coupe, Cutlass LS sedan 1981 |- |E||Buick Century wagon 1981 |- |H||Buick Century sedan, Estate wagon 1981 |- |J||Buick Regal 1981 |- |K||Buick Regal ''Sport'' 1981 |- |L||Buick Century ''Limited'' 1981 |- |M||Buick Regal ''Limited'' 1981 |- |rowspan=10|GM A platform - front-wheel drive |W||Chevrolet Celebrity 1982-1984 |- |F||Pontiac 6000 1982-1984 |- |G||Pontiac 6000 ''LE'' 1982-1984 |- |H||Pontiac 6000 ''STE'' 1983-1984 |- |G||Oldsmobile Cutlass Ciera 1982 |- |J||Oldsmobile Cutlass Ciera ''LS'' 1982-1984, Cutlass Cruiser ''LS'' 1984 |- |M||Oldsmobile Cutlass Ciera ''Brougham'' 1982-1984 |- |G||Buick Century ''T-Type'' 1983-1984 |- |H||Buick Century ''Custom'' 1982-1984 |- |L||Buick Century ''Limited'' 1982-1984 |- |rowspan=19|GM B platform |D||Chevrolet Bel Air 1981 (Canada only) |- |L||Chevrolet Impala 1981-1984 |- |N||Chevrolet Caprice Classic 1981-1984 |- |F||Pontiac Laurentian 1981 (Canada only) |- |L||Pontiac Catalina 1981, Parisienne 1984 |- |L||Pontiac Parisienne 1982-1983 (Canada only) |- |N||Pontiac Bonneville 1981 |- |N||Pontiac Parisienne 1981, Parisienne Brougham 1982-1983 (Canada only) |- |R||Pontiac Bonneville Brougham 1981 |- |T||Pontiac Parisienne Brougham 1984 |- |L||Oldsmobile Delta 88 1981-1983 |- |N||Oldsmobile Delta 88 Royale 1981-1984 |- |P||Oldsmobile Custom Cruiser 1981-1984 |- |V||Oldsmobile Delta 88 Royale Brougham LS 1984 |- |Y||Oldsmobile Delta 88 Royale Brougham 1981-1984 |- |N||Buick Le Sabre 1981, Le Sabre ''Custom'' 1982-1984 |- |P||Buick Le Sabre ''Limited'' 1981-1984 |- |R||Buick Le Sabre Estate Wagon 1981-1983 |- |V||Buick Electra Estate Wagon 1981-1984 |- |rowspan=13|GM C platform - rear-wheel drive |G||Oldsmobile 98 Regency 1984 |- |H||Oldsmobile 98 Regency Brougham 1984 |- |V||Oldsmobile 98 Luxury 1981 |- |W||Oldsmobile 98 Regency Brougham 1982-1983 |- |X||Oldsmobile 98 Regency 1981-1983 |- |R||Buick Electra Limited 1984 |- |U||Buick Electra Park Avenue 1984 |- |W||Buick Electra Park Avenue 1981-1983 |- |X||Buick Electra Limited 1981-1983 |- |B||Cadillac Fleetwood Brougham 1981-1983 |- |D||Cadillac DeVille 1981-1983 |- |M||Cadillac DeVille 1984 |- |W||Cadillac Fleetwood Brougham 1984 |- |rowspan=1|GM D platform - rear-wheel drive |F||Cadillac Fleetwood Limousine 1981-1984 |- |rowspan=4|GM E platform |Z||Oldsmobile Toronado Brougham 1981-1984 |- |Y||Buick Riviera T-Type 1981-1984 |- |Z||Buick Riviera 1981-1984 |- |L||Cadillac Eldorado 1981-1984 |- |rowspan=7|GM F platform |P||Chevrolet Camaro Sport Coupe 1981-1984 |- |S||Chevrolet Camaro Berlinetta 1981-1984 |- |S||Pontiac Firebird 1981-1984 |- |T||Pontiac Firebird ''Esprit'' 1981 |- |V||Pontiac Firebird ''Formula'' 1981 |- |W||Pontiac Firebird ''Trans Am'' 1981-1984 |- |X||Pontiac Firebird ''Trans Am'' Turbo Special Edition 1981, Firebird ''S/E'' 1982-1984 |- |rowspan=15|GM G platform - rear-wheel drive |W||Chevrolet Malibu Classic 1982, Malibu 1983 |- |Z||Chevrolet Monte Carlo 1982-1984 |- |J||Pontiac Grand Prix 1982-1984 |- |K||Pontiac Grand Prix LJ 1982-1983, Grand Prix LE 1984 |- |N||Pontiac Bonneville G 1982-1984 |- |P||Pontiac Grand Prix Brougham 1982-1984 |- |R||Pontiac Bonneville G Brougham 1982-1984 |- |S||Pontiac Bonneville G ''LE'' 1984 |- |H||Oldsmobile Cutlass Cruiser wagon 1982-1983 |- |K||Oldsmobile Cutlass Calais coupe 1982-1984 |- |M||Oldsmobile Cutlass Supreme ''Brougham'' 1982-1984 |- |R||Oldsmobile Cutlass Supreme coupe & sedan 1982-1984 |- |J||Buick Regal 1982-1984 |- |K||Buick Regal ''Sport'' 1982, Regal ''T-Type'' 1983-1984 |- |M||Buick Regal ''Limited'' 1982-1984 |- |rowspan=13|GM J platform |C||Chevrolet Cavalier 1983-1984 |- |D||Chevrolet Cavalier 2-d/4-d/wagon 1982, Cavalier CS 1983-1984 |- |E||Chevrolet Cavalier 3-door hatchback 1982, Cavalier CS 3-door hatchback 1983, Cavalier Type 10 2-d/3-d/Convertible 1984 |- |B||Pontiac J2000 1982, 2000 1983, 2000 Sunbird 1984 |- |C||Pontiac J2000 LE 1982, 2000 LE 1983, 2000 Sunbird LE Convertible 1983, 2000 Sunbird LE 1984 |- |D||Pontiac J2000 SE 1982, 2000 SE 1983, 2000 Sunbird SE 1984 |- |E||Pontiac J2000 S 1982 |- |C||Oldsmobile Firenza Base model 1982-1984, Firenza S 1982-1984 |- |D||Oldsmobile Firenza LX 1982-1984, Firenza SX 1982-1984 |- |E||Buick Skyhawk T-Type 1983-1984 |- |S||Buick Skyhawk Custom 1982-1984 |- |T||Buick Skyhawk Limited 1982-1984 |- |G||Cadillac Cimarron 1982-1984 |- |rowspan=1|GM K platform |S||Cadillac Seville 1981-1984 |- |rowspan=3|GM P platform ||E||Pontiac Fiero ''Coupe'' 1984 |- ||F||Pontiac Fiero ''SE'' 1984 |- ||M||Pontiac Fiero ''Sport coupe'' 1984 |- |rowspan=6|GM T platform - rear-wheel drive |B||Chevrolet Chevette 1981-1983, Chevette CS 1984 |- |J||Chevrolet Chevette Scooter 1981-1983, Chevette 1984 |- |B||Pontiac Acadian 1981-1984 (Canada only) |- |J||Pontiac Acadian S 1981-1982, Pontiac Acadian Scooter 1983-1984 (Canada only) |- |L||Pontiac T1000 1982, 1000 1983-1984 |- |M||Pontiac T1000 1981 |- |rowspan=10|GM X platform |H||Chevrolet Citation 2-door coupe 1982-1983, Citation II 2-door coupe 1984 |- |X||Chevrolet Citation hatchback 1981-1983, Citation II hatchback 1984 |- |T||Pontiac Phoenix SJ 1982-1983, Phoenix SE 1984 |- |Y||Pontiac Phoenix 1981-1984 |- |Z||Pontiac Phoenix LJ 1981-1983, Phoenix LE 1984 |- |B||Oldsmobile Omega 1981-1984 |- |E||Oldsmobile Omega Brougham 1981-1984 |- |B||Buick Skylark 1981-1982, Skylark Custom 1983-1984 |- |C||Buick Skylark Limited 1981-1984 |- |D||Buick Skylark Sport 1981-1982, Skylark T-Type 1983-1984 |- |rowspan=1|GM Y platform |Y||Chevrolet Corvette 1981-1982, 1984 |} ===American VIN format 1985-1986 Passenger Car=== GM has traditionally encoded the platform as the fourth character of the VIN. Other content includes an engine code and manufacturing plant. GM's VIN format is as follows: <table border=1 style="margin:auto;"> <tr> <th>Position</th> <th>Sample</th><th></th><th></th><th>Description</th> </tr><tr> <td>1</td> <td>1</td><td></td><td></td><td rowspan=3>[[#GM WMIs|World Manufacturer Identifier]]</td> </tr><tr> <td>2</td> <td>G</td><td></td><td></td></tr><tr> <td>3</td> <td>6</td><td></td><td></td></tr><tr> <td>4</td> <td>D</td><td></td><td></td><td>[[#Platform & Series Codes 1985- Passenger Car|Platform]]</td> </tr><tr> <td>5</td> <td>W</td><td></td><td></td><td>[[#Platform & Series Codes 1985- Passenger Car|Series Code]]</td> </tr><tr> <td>6</td> <td>6</td><td></td><td></td><td rowspan=2>[[#Body style codes 1981-1986|Body style]]</td> </tr><tr> <td>7</td> <td>9</td><td></td><td></td><td> </td> </tr><tr> <td>8</td> <td>Y</td><td></td><td></td><td>[[#American engine codes 1981-|Engine type]]</td> </tr><tr> <td>9</td> <td>0</td><td></td><td></td><td>[[Vehicle Identification Numbers (VIN codes)/Check digit |Check digit]]</td> </tr><tr> <td>10</td> <td>G</td><td></td><td></td><td>[[Vehicle Identification Numbers (VIN codes)/Model year|Model year]]</td> </tr><tr> <td>11</td> <td>9</td><td></td><td></td><td>[[#GM factories supplying North America|Factory ID]]</td> </tr><tr> <td>12</td> <td>1</td><td></td><td></td><td rowspan=6>Sequential number </tr><tr> <td>13</td> <td>2</td><td></td><td></td></tr><tr> <td>14</td> <td>3</td><td></td><td></td></tr><tr> <td>15</td> <td>7</td><td></td><td></td></tr><tr> <td>16</td> <td>6</td><td></td><td></td></tr><tr> <td>17</td> <td>2</td><td></td><td></td> </table> ====Body style codes 1981-1986==== The Body type is specified as characters six and seven of the American GM VIN for passenger cars from 1981-1986. {| border=1 style="margin:auto;" !VIN !Description |- |11,27,37,47,57,97||Two-Door Coupe/Sedan |- |07,08,77,87||Two-Door Hatchback |- |67||Two-Door Convertible |- |19,69||Four-Door Sedan |- |68||Four-Door Hatchback |- |23||Four-Door Limousine, 8-passenger ("Limousine") |- |33||Four-Door Limousine w/Center Partition, 7-passenger ("Formal Limousine") |- |35||Four-Door Station Wagon |} ===American VIN format 1987- Passenger Car=== GM has traditionally encoded the platform as the fourth character of the VIN. Other content includes an engine code and manufacturing plant. GM's VIN format is as follows: <table border=1 style="margin:auto;"> <tr> <th>Position</th> <th>Sample</th><th></th><th></th><th>Description</th> </tr><tr> <td>1</td> <td>1</td><td></td><td></td><td rowspan=3>[[#GM WMIs|World Manufacturer Identifier]]</td> </tr><tr> <td>2</td> <td>G</td><td></td><td></td></tr><tr> <td>3</td> <td>6</td><td></td><td></td></tr><tr> <td>4</td> <td>D</td><td></td><td></td><td>[[#Platform & Series Codes 1985- Passenger Car|Platform]]</td> </tr><tr> <td>5</td> <td>M</td><td></td><td></td><td>[[#Platform & Series Codes 1985- Passenger Car|Series Code]]</td> </tr><tr> <td>6</td> <td>5</td><td></td><td></td><td>[[#Body style codes 1987- Passenger Car|Body style]]</td> </tr><tr> <td>7</td> <td>7</td><td></td><td></td><td>[[#American restraint types 1987-|Restraint type]]</td> </tr><tr> <td>8</td> <td>N</td><td></td><td></td><td>[[#American engine codes 1981-|Engine type]]</td> </tr><tr> <td>9</td> <td>0</td><td></td><td></td><td>[[Vehicle Identification Numbers (VIN codes)/Check digit |Check digit]]</td> </tr><tr> <td>10</td> <td>3</td><td></td><td></td><td>[[Vehicle Identification Numbers (VIN codes)/Model year|Model year]]</td> </tr><tr> <td>11</td> <td>0</td><td></td><td></td><td>[[#GM factories supplying North America|Factory ID]]</td> </tr><tr> <td>12</td> <td>1</td><td></td><td></td><td rowspan=6>Sequential number </tr><tr> <td>13</td> <td>2</td><td></td><td></td></tr><tr> <td>14</td> <td>3</td><td></td><td></td></tr><tr> <td>15</td> <td>7</td><td></td><td></td></tr><tr> <td>16</td> <td>6</td><td></td><td></td></tr><tr> <td>17</td> <td>2</td><td></td><td></td> </table> ===American VIN format 1981-2009 Light Duty Truck & Multi-Purpose Passenger Vehicle=== GM's VIN format is as follows: <table border=1 style="margin:auto;"> <tr> <th>Position</th> <th>Sample</th><th></th><th></th><th>Description</th> </tr><tr> <td>1</td> <td>1</td><td></td><td></td><td rowspan=3>[[#GM WMIs|World Manufacturer Identifier]]</td> </tr><tr> <td>2</td> <td>G</td><td></td><td></td></tr><tr> <td>3</td> <td>K</td><td></td><td></td></tr><tr> <td>4</td> <td>E</td><td></td><td></td><td>[[#GVWR/Brake System 1981-2009 Light Duty Truck & Multi-Purpose Passenger Vehicle|GVWR/Brake System]]</td> </tr><tr> <td>5</td> <td>K</td><td></td><td></td><td>[[#Line & Chassis Type 1981-1999 Light Duty Truck & Multi-Purpose Passenger Vehicle|Line & Chassis Type for 1981-1999]]</td> </tr><tr> <td>5</td> <td>K</td><td></td><td></td><td>[[#Line & Chassis Type 2000-2009 Light Duty Truck & Multi-Purpose Passenger Vehicle|Line & Chassis Type for 2000-2009]]</td> </tr><tr> <td>6</td> <td>1</td><td></td><td></td><td>[[#Series 1981-1999 Light Duty Truck & Multi-Purpose Passenger Vehicle|Series]]</td> </tr><tr> <td>7</td> <td>8</td><td></td><td></td><td>[[#Body style codes 1981-2009 Light Duty Truck & Multi-Purpose Passenger Vehicle|Body type]]</td> </tr><tr> <td>8</td> <td>K</td><td></td><td></td><td>[[#Engine codes for light trucks|Engine type]]</td> </tr><tr> <td>9</td> <td>0</td><td></td><td></td><td>[[Vehicle Identification Numbers (VIN codes)/Check digit |Check digit]]</td> </tr><tr> <td>10</td> <td>N</td><td></td><td></td><td>[[Vehicle Identification Numbers (VIN codes)/Model year|Model year]]</td> </tr><tr> <td>11</td> <td>J</td><td></td><td></td><td>[[#GM factories supplying North America|Factory ID]]</td> </tr><tr> <td>12</td> <td>1</td><td></td><td></td><td rowspan=6>Sequential number </tr><tr> <td>13</td> <td>2</td><td></td><td></td></tr><tr> <td>14</td> <td>3</td><td></td><td></td></tr><tr> <td>15</td> <td>7</td><td></td><td></td></tr><tr> <td>16</td> <td>6</td><td></td><td></td></tr><tr> <td>17</td> <td>2</td><td></td><td></td> </table> ====GVWR/Brake System 1981-2009 Light Duty Truck & Multi-Purpose Passenger Vehicle==== The GVWR/Brake System is specified as character four of the American GM VIN for light trucks. {| border=1 style="margin:auto;" !VIN !GVWR Range in lbs. & Weight Class !Brake System |- |A||Class A: 0-3,000||Hydraulic |- |B||Class B: 3,001-4,000||Hydraulic |- |C||Class C: 4,001-5,000||Hydraulic |- |D||Class D: 5,001-6,000||Hydraulic |- |E||Class E: 6,001-7,000||Hydraulic |- |F||Class F: 7,001-8,000||Hydraulic |- |G||Class G: 8,001-9,000||Hydraulic |- |H||Class H: 9,001-10,000||Hydraulic |- |J||Class 3: 10,001-14,000||Hydraulic |- |K||Class 4: 14,001-16,000||Hydraulic |- |L||Class 5: 16,001-19,500||Hydraulic |} ====Line & Chassis Type 1981-1999 Light Duty Truck & Multi-Purpose Passenger Vehicle==== The Line & Chassis Type is specified as character five of the American GM VIN for light trucks. {| border=1 style="margin:auto;" !VIN !Description |- |B||Special Body Buick, Chevrolet |- |C||Chevy full-size pickups & chassis cabs 2wd (C-series) '81-'86, '88-'99,<br /> GMC full-size pickups & chassis cabs 2wd (C-series) '81-'86, Sierra 2wd (C-series) '88-'99 |- |C||Chevy C10 Blazer 2wd ('81-'82), Tahoe 4-door 2wd ('95-'99), Suburban 2wd ('81-'86, '92-'99),<br /> GMC C1500 Jimmy 2wd ('81-'82), Yukon 4-door 2wd ('95-'99), Suburban 2wd ('81-'86, '92-'99) |- |D||Military Truck 4wd |- |E||'91-'97 Geo Tracker 2wd, '98-'99 Chevrolet Tracker 2wd |- |E||'97-'98 Chevy S-10 EV |- |G||Chevy/GMC full-size vans (Chevy Van, Sportvan, Express, GMC Vandura, Rally Van, Savana) |- |H||'93-'96 Chevy G30HD/GMC G3500HD cutaway van |- |H||Cadillac chassis cutaway/special body (Based on Rwd Fleetwood '93-'96, Fwd DeVille '97-'99) |- |J||'89-'97 Geo Tracker 4wd, '98-'99 Chevrolet Tracker 4wd |- |K||Chevy full-size pickups & chassis cabs 4wd (K-series) '81-'86, '88-'99,<br /> GMC full-size pickups & chassis cabs 4wd (K-series) '81-'86, Sierra 4wd (K-series) '88-'99 |- |K||Chevy K10/K5 Blazer 4wd ('81-'86, '92-'94), Tahoe 4wd ('95-'99), Suburban 4wd ('81-'86, '92-'99),<br /> GMC K1500 Jimmy 4wd ('81-'86), Yukon 4wd ('92-'99), Suburban 4wd ('81-'86, '92-'99), '99 Cadillac Escalade 4wd |- |L||Chevy Luv 2wd '81-'82 |- |L||Chevy Astro/GMC Safari 4wd '90-'99 |- |M||Chevy Astro/GMC Safari 2wd '85-'99 |- |P||Forward Control (includes Chevrolet Step-Van/GMC Value-Van, Chevy/GMC P-Series) |- |R||Chevy Luv 4wd '81-'82 |- |R||Chevy full-size pickups & chassis cabs 2wd (R-series), Suburban 2wd '87-'91,<br /> GMC full-size pickups & chassis cabs 2wd (R-series), Suburban 2wd '87-'91 |- |S||Chevy S-10 2wd ('82-'99), S-10 Blazer 2wd ('83-'94), Blazer 2wd ('95-'99), GMC S-15 2wd ('82-'90), Sonoma 2wd ('91-'99),<br> S-15 Jimmy 2wd ('83-'91), Jimmy 2wd ('92-'99), Isuzu Hombre 2wd ('96-'99) |- |T||Chevy S-10 4wd ('83-'99), S-10 Blazer 4wd ('83-'94), Blazer 4wd ('95-'99), GMC S-15 4wd ('83-'90), Sonoma 4wd ('91-'99), Syclone 4wd ('91),<br> S-15 Jimmy 4wd ('83-'91), Jimmy 4wd ('92-'99), Typhoon 4wd ('92-93), Envoy 4wd ('98-'99), Oldsmobile Bravada 4wd ('91-'94, '96-'99),<br> Isuzu Hombre 4wd ('98-'99) |- |U||Regular length All-Purpose Vehicle ('90-'99 U-body fwd minivans) |- |V||Chevy full-size pickups & chassis cabs 4wd (V-series), V10/V1500 Blazer 4wd, Suburban 4wd '87-'91,<br /> GMC full-size pickups & chassis cabs 4wd (V-series), V1500 Jimmy 4wd, Suburban 4wd '87-'91 |- |W||'81-'87 Chevy El Camino, GMC Caballero |- |X||Extended length All-Purpose Vehicle ('97-'99 U-body fwd extended length minivans) |- |Z||Cadillac chassis cutaway/special body (Based on Rwd Fleetwood '81-'84, Fwd Fleetwood '85-'92) |} ====Line & Chassis Type 2000-2009 Light Duty Truck & Multi-Purpose Passenger Vehicle==== The Line & Chassis Type is specified as character five of the American GM VIN for light trucks. {| border=1 style="margin:auto;" !VIN !Description |- |A||Pontiac Aztek 2wd '01-'05, Buick Rendezvous 2wd '02-'07 |- |A||Chevrolet HHR '06-'09, HHR Panel '07-'09 |- |B||Pontiac Aztek Awd '01-'05, Buick Rendezvous Awd '02-'06 |- |C||Chevy full-size pickups & chassis cabs 2wd (C-series) '00, full-size chassis cabs 2wd (C3500HD) '01-'02, Silverado 2wd '00-'09, Silverado Classic 2wd '07,<br /> GMC Sierra 2wd (C-series) '00-'09, Sierra Classic 2wd '00, '07 |- |C||Chevy Tahoe 2wd ('00-'09), Suburban 2wd ('00-'09), Avalanche 2wd ('02-'09),<br /> GMC Yukon 2wd ('00-'09), Yukon XL 2wd ('00-'09), Cadillac Escalade 2wd ('02-'09), Escalade ESV 2wd ('08-'09) |- |E||Chevrolet Tracker 2wd '00-'04 |- |E||Cadillac SRX 2wd & Awd '04-'09 |- |G||Chevy/GMC full-size vans 2wd (Chevy Express, GMC Savana) '00-09 |- |H||Chevy/GMC full-size vans 4wd (Chevy Express, GMC Savana) '03-09 |- |H||Cadillac Commercial Chassis for Hearse (Based on Fwd DeVille '02-'05, DTS '06-'09) |- |H||Cadillac Professional Chassis for Limousine (Based on Fwd DeVille '00-'05, DTS '06-'07) |- |J||Chevrolet Tracker 4wd '00-'04 |- |K||Chevy full-size pickups & chassis cabs 4wd (K-series) '00, Silverado 4wd '00-'09, Silverado Classic 4wd '07,<br /> GMC Sierra 4wd (K-series) '00-'09, Sierra Classic 4wd '00, '07 |- |K||Chevy Tahoe 4wd ('00-'09), Suburban 4wd ('00-'09), Avalanche 4wd ('02-'09), GMC Yukon 4wd ('00-'09), Yukon XL 4wd ('00-'09),<br> Cadillac Escalade 4wd ('00, '02-'09), Escalade ESV 4wd ('03-'09), Escalade EXT 4wd ('02-'09) |- |K||Cadillac Professional Chassis for Limousine (Based on Fwd DTS '08-'09) |- |L||Chevy Astro/GMC Safari 4wd '00-'05 |- |L||Chevy Equinox 2wd & Awd '05-'09, Pontiac Torrent 2wd & Awd '06-'09, Saturn Vue 2wd & Awd '08-'09 |- |M||Chevy Astro/GMC Safari 2wd '00-'05 |- |N||Hummer H2 '03-'09, H2 SUT '05-'09 |- |N||Hummer H3 '06-'09, H3T '09 |- |R||GMC Acadia 2wd, Saturn Outlook 2wd '07-'09, Buick Enclave 2wd '08-'09, Chevy Traverse 2wd '09 |- |S||Chevy S-10 2wd ('00-'03), Blazer 2wd ('00-'05), GMC Sonoma 2wd ('00-'03), Jimmy 2wd ('00-'01), Isuzu Hombre 2wd ('00) |- |S||Chevy Trailblazer 2wd ('02-'09), SSR ('03-'06), GMC Envoy 2wd ('02-'09), Envoy XUV 2wd ('04-'05), Oldsmobile Bravada 2wd ('02-'04),<br> Buick Rainier 2wd ('04-'07), Isuzu Ascender 2wd ('03-'08) |- |S||Chevy Colorado 2wd ('04-'09), GMC Canyon 2wd ('04-'09), Isuzu i-series 2wd ('06-'08) |- |T||Chevy S-10 4wd ('00-'04), Blazer 4wd ('00-'05), GMC Sonoma 4wd ('00-'04), Jimmy 4wd ('00-'01, Canada only: '02-'05), Envoy 4wd ('00),<br> Oldsmobile Bravada 4wd ('00-'01), Isuzu Hombre 4wd ('00) |- |T||Chevy Trailblazer 4wd ('02-'09), GMC Envoy 4wd ('02-'09), Envoy XUV 2wd ('04-'05), Oldsmobile Bravada 4wd ('02-'04), Buick Rainier 4wd ('04-'07),<br> Isuzu Ascender 4wd ('03-'08), Saab 9-7X 4wd ('05-'09) |- |T||Chevy Colorado 4wd ('04-'09), GMC Canyon 4wd ('04-'09), Isuzu i-series 4wd ('06-'08) |- |U||Regular length All-Purpose Vehicle [Minivan] ('00-'04 Chevy Venture, Pontiac Montana) |- |U||Regular length All-Purpose Vehicle [Minivan] (Chevy Uplander [US: '06-'08, Canada only: '05-'09], Pontiac Montana SV6 [Canada only: '05-'09]) |- |V||Extended length AWD All-Purpose Vehicle [Minivan] ('02-'04 Chevy Venture, Pontiac Montana, Oldsmobile Silhouette Extended length AWD) |- |V||Extended length FWD All-Purpose Vehicle [Minivan] ('05 Chevy Venture, Pontiac Montana Extended length FWD) |- |V||Extended length FWD All-Purpose Vehicle [Minivan] (Chevy Uplander ['05-'08, Canada only: '09], Pontiac Montana SV6 ['05-'06, Canada only: '07-'09],<br> Buick Terraza ['05-'07], Saturn Relay ['05-'07]) |- |V||GMC Acadia Awd, Saturn Outlook Awd '07-'09, Buick Enclave Awd '08-'09, Chevy Traverse Awd '09 |- |X||Extended length FWD All-Purpose Vehicle [Minivan] ('00-'04 Chevy Venture, Pontiac Montana, Oldsmobile Silhouette Extended length FWD) |- |X||Extended length AWD All-Purpose Vehicle [Minivan] ('05-'06 Chevy Uplander AWD, Pontiac Montana SV6 AWD, Buick Terraza AWD, Saturn Relay AWD) |- |Z||Saturn Vue 2wd & Awd '02-'07 |} ====Series 1981-1999 Light Duty Truck & Multi-Purpose Passenger Vehicle==== The Series is specified as character six of the American GM VIN for light trucks. {| border=1 style="margin:auto;" !VIN !Description |- |1||1/2 Ton |- |2||3/4 Ton |- |3||1 Ton |- |8||1/2 Ton ('81-'87 El Camino, Caballero) |- |9||Cadillac, Buick, Chevrolet Commercial Body/Chassis |- |0||All-Purpose Vehicle ('90-'99 U-body fwd minivans) |} ====Series 2000-2009 Light Duty Truck & Multi-Purpose Passenger Vehicle==== The Series is specified as character six of the American GM VIN for light trucks. {| border=1 style="margin:auto;" !VIN !Description |- |1 (following S)||Isuzu Ascender 2wd ('03-'08) |- |1 (following T)||Isuzu Ascender 4wd ('03-'08) |- |1 (following T)||Saab 9-7X ('05-'08: All, '09: 4.2i, 5.3i) |- |2 (following T)||Saab 9-7X Aero ('09) |} ====Body style codes 1981-2009 Light Duty Truck & Multi-Purpose Passenger Vehicle==== The Body type is specified as character seven of the American GM VIN for light trucks. {| border=1 style="margin:auto;" !VIN !Description |- |0||Sedan Pickup/Pickup Delivery ('81-'87 El Camino, Caballero) |- |0||Cadillac, Buick, Chevrolet Commercial Body/Chassis |- |0||Chassis Only |- |1||Cutaway Van |- |2||Forward Control ('81-'03) (includes '93-'95 Chevy G30HD/GMC G3500HD) |- |2||Sport Utility Truck (SUT) ('04-'09 Avalanche & Escalade EXT, '04-'05 Envoy XUV, '05-'09 Hummer H2 SUT) |- |3||Four-Door Cab pickup (Crew Cab) |- |3||4-door Passenger Minivan ('97-'09 U-bodies) |- |3||4-door SUV or MPV ('06-'09 HHR) (also includes '02-'03 Avalanche & Escalade EXT) ('05-'09 Saab 9-7X) |- |4||Two-Door Cab pickup (includes '83-'87 S-10/S-15 extended cab pickups & '03-'06 Chevy SSR) |- |5||Van (Astro/Safari & full-size vans & '07-'09 HHR Panel) |- |6||Extended length 4-door SUV (Suburban, Yukon XL, Escalade ESV, Trailblazer EXT, Envoy XL, Isuzu Ascender 7-psgr.) |- |6||3-door Passenger Minivan ('90-'99 U-bodies) |- |7||Motor Home Chassis ('81-'09) |- |8||Two-Door SUV (Utility) (2-d Tracker, S-10 Blazer, S-15 Jimmy, Blazer, Jimmy, Tahoe, Yukon) |- |9||Stake (81-87) |- |9||Extended Cab pickup ('88-) |- |9||Extended length van ('90-) (Astro/Safari & full-size vans) |} ===American VIN format 2010- Light Duty Truck & Multi-Purpose Passenger Vehicle=== GM's VIN format is as follows: <table border=1 style="margin:auto;"> <tr> <th>Position</th> <th>Sample</th><th></th><th></th><th>Description</th> </tr><tr> <td>1</td> <td>1</td><td></td><td></td><td rowspan=3>[[#GM WMIs|World Manufacturer Identifier]]</td> </tr><tr> <td>2</td> <td>G</td><td></td><td></td></tr><tr> <td>3</td> <td>K</td><td></td><td></td></tr><tr> <td>4</td> <td>L</td><td></td><td></td><td>[[#GVWR/Brake System/Body Style 2010- Light Duty Truck & Multi-Purpose Passenger Vehicle|GVWR/Brake System/Body Style 2010-]]</td> </tr><tr> <td>5</td> <td>R</td><td></td><td></td><td>[[#Line & Chassis Type 2010- Light Duty Truck & Multi-Purpose Passenger Vehicle|Line & Chassis Type for 2010-]]</td> </tr><tr> <td>6</td> <td>L</td><td></td><td></td><td>[[Series]]</td> </tr><tr> <td>7</td> <td>E</td><td></td><td></td><td>[[#Restraint codes for light trucks 2010-|Restraint type]]</td> </tr><tr> <td>8</td> <td>D</td><td></td><td></td><td>[[#Engine codes for light trucks|Engine type]]</td> </tr><tr> <td>9</td> <td>0</td><td></td><td></td><td>[[Vehicle Identification Numbers (VIN codes)/Check digit |Check digit]]</td> </tr><tr> <td>10</td> <td>A</td><td></td><td></td><td>[[Vehicle Identification Numbers (VIN codes)/Model year|Model year]]</td> </tr><tr> <td>11</td> <td>J</td><td></td><td></td><td>[[#GM factories supplying North America|Factory ID]]</td> </tr><tr> <td>12</td> <td>1</td><td></td><td></td><td rowspan=6>Sequential number </tr><tr> <td>13</td> <td>2</td><td></td><td></td></tr><tr> <td>14</td> <td>3</td><td></td><td></td></tr><tr> <td>15</td> <td>7</td><td></td><td></td></tr><tr> <td>16</td> <td>6</td><td></td><td></td></tr><tr> <td>17</td> <td>2</td><td></td><td></td> </table> ====GVWR/Brake System/Body Style 2010- Light Duty Truck & Multi-Purpose Passenger Vehicle==== The GVWR/Brake System is specified as character four of the American GM VIN for light trucks. {| border=1 style="margin:auto;" !VIN !GVWR Range in lbs. & Weight Class !Brake System !Body Style |- | ||Class A: 0-3,000||Hydraulic|| |- | ||Class B: 3,001-4,000||Hydraulic|| |- |A||Class C: 4,001-5,000||Hydraulic||26: 4-door SUV or MPV ('10-'11 Chevy HHR Panel, '10-'26 Chevy Equinox, GMC Terrain, '10 Saturn Vue,<br> '12-'15 Chevy Captiva Sport, '19-'24 Cadillac XT4, '24-'26 Buick Encore GX) |- |B||Class C: 4,001-5,000||Hydraulic||46: 4-door MPV ('10-'11 Chevy HHR) |- |J||Class C: 4,001-5,000||Hydraulic||48: 4-door, 4 window Hatchback ('18-'23 Chevy Bolt EV w/Rear Seat Delete pkg. - incomplete vehicle) |- |C||Class C: 4,001-5,000||Hydraulic||03: Regular Cab pickup or Chassis Cab ('10-'12 Chevy Colorado, GMC Canyon) |- |D||Class C: 4,001-5,000||Hydraulic||43: Crew Cab pickup or Chassis Cab ('10-'12 Chevy Colorado, GMC Canyon) |- |E||Class C: 4,001-5,000||Hydraulic||53: Extended Cab pickup or Chassis Cab ('10-'12 Chevy Colorado, GMC Canyon) |- |7||Class C: 4,001-5,000||Hydraulic||75: Four-Door Wagon - High Roof Monocab (Canada only: '12-'14 Chevy Orlando) |- |M||Class C: 4,001-5,000||Hydraulic||06: 4-door SUV ('20-'23 Buick Encore GX) |- |9||Class C: 4,001-5,000||Hydraulic||56: 4-door SUV Extended ('21-'26 Chevy Trailblazer) |- |7||Class C: 4,001-5,000||Hydraulic||58: 4-door Utility Extended ('24-'26 Chevy Trax, Buick Envista) |- |C||Class C: 4,001-5,000||Hydraulic||76: 4-door SUV ('13-'22 Buick Encore, Canada only: '13-'14 Chevy Trax, US & Canada: '15-'22 Chevy Trax) |- |F||Class D: 5,001-6,000||Hydraulic||26: 4-door SUV ('10-'17 Chevy Equinox, GMC Terrain, '10 Saturn Vue, '10-'16 Cadillac SRX, '11 Saab 9-4X,<br> '12-'13 Chevy Captiva Sport, '16-'26 Buick Envision, '17 Cadillac XT5, '19-'25 Cadillac XT4) |- |H||Class D: 5,001-6,000||Hydraulic||03: Regular Cab pickup or Chassis Cab ('10 Chevy Colorado, GMC Canyon) |- |G||Class D: 5,001-6,000||Hydraulic||03: Regular Cab pickup or Chassis Cab ('11-'12 Chevy Colorado, GMC Canyon) |- |J||Class D: 5,001-6,000||Hydraulic||43: Crew Cab pickup or Chassis Cab ('10 Chevy Colorado, GMC Canyon) |- |H||Class D: 5,001-6,000||Hydraulic||43: Crew Cab pickup or Chassis Cab ('11-'12 Chevy Colorado, GMC Canyon) |- |G||Class D: 5,001-6,000||Hydraulic||43: Crew Cab pickup or Chassis Cab ('15-'24 Chevy Colorado, '15-'22 GMC Canyon) |- |K||Class D: 5,001-6,000||Hydraulic||53: Extended Cab pickup or Chassis Cab ('10 Chevy Colorado, GMC Canyon) |- |J||Class D: 5,001-6,000||Hydraulic||53: Extended Cab pickup or Chassis Cab ('11-'12 Chevy Colorado, GMC Canyon) |- |H||Class D: 5,001-6,000||Hydraulic||53: Extended Cab pickup or Chassis Cab ('15-'22 Chevy Colorado, GMC Canyon) |- |T||Class D: 5,001-6,000||Hydraulic||69: Commercial Chassis ('10 Cadillac DTS chassis for Limo/Hearse) |- |7||Class D: 5,001-6,000||Hydraulic||69: Commercial Chassis ('11 Cadillac DTS chassis for Limo/Hearse) |- |L||Class E: 6,001-7,000||Hydraulic||26: 4-door SUV ('10 Chevy Traverse, GMC Acadia, Buick Enclave, Saturn Outlook) |- |K||Class E: 6,001-7,000||Hydraulic||26: 4-door SUV ('11-'17 Chevy Traverse, Buick Enclave, '11-'23 GMC Acadia, '17 Acadia Limited,<br> '17-'26 Cadillac XT5, '19-'26 Chevy Blazer, '20-'25 Cadillac XT6, '23-'26 Cadillac Lyriq EV,<br> '24-'26 Chevy Blazer EV, '25-'26 Cadillac Optiq EV, '24-'26 Honda Prologue EV, '24 Acura ZDX EV A-Spec) |- |7||Class E: 6,001-7,000||Hydraulic||48: 4-door SUV ('24-'25 Chevy Equinox EV) |- |E||Class E: 6,001-7,000||Hydraulic||56: 4-door SUV Extended ('18-'26 Chevy Traverse, Buick Enclave, '24 Chevy Traverse Limited,<br> '24-'26 GMC Acadia |- |M||Class E: 6,001-7,000||Hydraulic||05: Cargo Van ('10 Chevy Express, GMC Savana) |- |L||Class E: 6,001-7,000||Hydraulic||05: Cargo Van ('11-'14 Chevy Express, GMC Savana) |- |M||Class E: 6,001-7,000||Hydraulic||06: 4-door SUV ('10 Chevy Tahoe, GMC Yukon, Hummer H3) |- |L||Class E: 6,001-7,000||Hydraulic||06: 4-door SUV ('11-'20 Chevy Tahoe Police Pursuit Vehicle 2wd) |- |N||Class E: 6,001-7,000||Hydraulic||36: Sport Utility Truck (SUT) ('10 Chevy Avalanche 2wd) |- |M||Class E: 6,001-7,000||Hydraulic||36: Sport Utility Truck (SUT) ('11-13 Chevy Avalanche 2wd) |- |P||Class E: 6,001-7,000||Hydraulic||03: Regular Cab pickup or Chassis Cab ('10 Chevy Silverado, GMC Sierra) |- |N||Class E: 6,001-7,000||Hydraulic||03: Regular Cab pickup or Chassis Cab ('11-'26 Chevy Silverado, GMC Sierra,<br> '22 Chevy Silverado LTD, GMC Sierra Limited) |- |R||Class E: 6,001-7,000||Hydraulic||43: Crew Cab pickup or Chassis Cab ('10 Chevy Silverado, GMC Sierra, Hummer H3T) |- |P||Class E: 6,001-7,000||Hydraulic||43: Crew Cab pickup or Chassis Cab ('11-'26 Chevy Silverado, GMC Sierra,<br> '22 Chevy Silverado LTD, GMC Sierra Limited, '16-'26 Chevy Colorado, GMC Canyon) |- |S||Class E: 6,001-7,000||Hydraulic||53: Extended Cab pickup or Chassis Cab ('10 Chevy Silverado, GMC Sierra) |- |R||Class E: 6,001-7,000||Hydraulic||53: Extended Cab pickup or Chassis Cab ('11-'26 Chevy Silverado, GMC Sierra,<br> '19 Chevy Silverado LD, GMC Sierra Limited, '22 Chevy Silverado LTD, GMC Sierra Limited,<br> '16-'22 Chevy Colorado) |- |G||Class E: 6,001-7,000||Hydraulic||69: Commercial Chassis ('10 Cadillac DTS chassis for Limo/Hearse) |- |8||Class E: 6,001-7,000||Hydraulic||69: Commercial Chassis ('11 Cadillac DTS chassis for Limo/Hearse) |- |X||Class E: 6,001-7,000||Hydraulic||69: Commercial Chassis ('13-'19 Cadillac XTS chassis for Limo/Hearse) |- |U||Class F: 7,001-8,000||Hydraulic||05: Cargo Van or Incomplete Vehicle ('10 Chevy Express, GMC Savana) |- |S||Class F: 7,001-8,000||Hydraulic||05: Cargo Van or Incomplete Vehicle ('11-'14 Chevy Express, GMC Savana) |- |U||Class F: 7,001-8,000||Hydraulic||06: Passenger Van ('10 Chevy Express, GMC Savana) |- |S||Class F: 7,001-8,000||Hydraulic||06: Passenger Van ('11-'14 Chevy Express, GMC Savana) |- |U||Class F: 7,001-8,000||Hydraulic||06: 4-door SUV ('10 Chevy Tahoe, Suburban 1500, GMC Yukon, Yukon XL 1500, Cadillac Escalade, Escalade ESV) |- |S||Class F: 7,001-8,000||Hydraulic||06: 4-door SUV ('11-'26 Chevy Tahoe, Suburban 1500, GMC Yukon, Yukon XL 1500, Cadillac Escalade, Escalade ESV) |- |V||Class F: 7,001-8,000||Hydraulic||36: Sport Utility Truck (SUT) ('10 Chevy Avalanche 4wd, Cadillac Escalade EXT 4wd) |- |T||Class F: 7,001-8,000||Hydraulic||36: Sport Utility Truck (SUT) ('11-'13 Chevy Avalanche 4wd, Cadillac Escalade EXT 4wd) |- |X||Class F: 7,001-8,000||Hydraulic||26: 4-door SUV ('24 Acura ZDX EV Type S) |- |C||Class F: 7,001-8,000||Hydraulic||56: 4-door SUV Extended ('26- Cadillac Vistiq EV) |- |W||Class F: 7,001-8,000||Hydraulic||03: Regular Cab pickup or Chassis Cab ('10 Chevy Silverado, GMC Sierra) |- |X||Class F: 7,001-8,000||Hydraulic||43: Crew Cab pickup or Chassis Cab ('10 Chevy Silverado, GMC Sierra) |- |U||Class F: 7,001-8,000||Hydraulic||43: Crew Cab pickup or Chassis Cab ('11-'26 Chevy Silverado, GMC Sierra,<br> '22 Chevy Silverado LTD, GMC Sierra Limited) |- |Y||Class F: 7,001-8,000||Hydraulic||53: Extended Cab pickup or Chassis Cab ('10 Chevy Silverado, GMC Sierra) |- |V||Class F: 7,001-8,000||Hydraulic||53: Extended Cab pickup or Chassis Cab ('11-'26 Chevy Silverado, GMC Sierra,<br> '19 Chevy Silverado LD, GMC Sierra Limited, '22 Chevy Silverado LTD, GMC Sierra Limited) |- |U||Class F: 7,001-8,000||Hydraulic||69: Commercial Chassis ('10 Cadillac DTS chassis for Limo/Hearse) |- |9||Class F: 7,001-8,000||Hydraulic||69: Commercial Chassis ('11 Cadillac DTS chassis for Limo/Hearse) |- |Z||Class G: 8,001-9,000||Hydraulic||05: Cargo Van or Incomplete Vehicle ('10 Chevy Express, GMC Savana) |- |W||Class G: 8,001-9,000||Hydraulic||05: Cargo Van or Incomplete Vehicle ('11-'26 Chevy Express, GMC Savana) |- |Z||Class G: 8,001-9,000||Hydraulic||06: Passenger Van ('10 Chevy Express, GMC Savana) |- |W||Class G: 8,001-9,000||Hydraulic||06: Passenger Van ('11-'26 Chevy Express, GMC Savana) |- |Z||Class G: 8,001-9,000||Hydraulic||06: 4-door SUV ('10 Chevy Suburban 2500, GMC Yukon XL 2500) |- |W||Class G: 8,001-9,000||Hydraulic||06: 4-door SUV ('11-'13 Chevy Suburban 2500, GMC Yukon XL 2500) |- |2||Class H: 9,001-10,000||Hydraulic||05: Cargo Van or Incomplete Vehicle ('10 Chevy Express, GMC Savana) |- |Z||Class H: 9,001-10,000||Hydraulic||05: Cargo Van or Incomplete Vehicle ('11-'26 Chevy Express, GMC Savana,<br> '23-'24 BrightDrop Zevo 600, '24 BrightDrop Zevo 400, '25-'26 Chevrolet BrightDrop 400/600) |- |2||Class H: 9,001-10,000||Hydraulic||06: Passenger Van ('10 Chevy Express, GMC Savana) |- |Z||Class H: 9,001-10,000||Hydraulic||06: Passenger Van ('11-'26 Chevy Express, GMC Savana) |- |3||Class H: 9,001-10,000||Hydraulic||03: Van Cutaway ('10 Chevy Express, GMC Savana) |- |0||Class H: 9,001-10,000||Hydraulic||03: Van Cutaway ('11-'26 Chevy Express, GMC Savana) |- |3||Class H: 9,001-10,000||Hydraulic||03: Regular Cab pickup or Chassis Cab ('10 Chevy Silverado, GMC Sierra) |- |0||Class H: 9,001-10,000||Hydraulic||03: Regular Cab pickup or Chassis Cab ('11-'26 Chevy Silverado, GMC Sierra) |- |4||Class H: 9,001-10,000||Hydraulic||43: Crew Cab pickup or Chassis Cab ('10 Chevy Silverado, GMC Sierra) |- |1||Class H: 9,001-10,000||Hydraulic||43: Crew Cab pickup or Chassis Cab ('11-'26 Chevy Silverado, GMC Sierra,<br> '24-'25 GMC Hummer EV pickup w/20 module battery pack,<br> '24-'26 Chevy Silverado EV, '25-'26 GMC Sierra EV) |- |5||Class H: 9,001-10,000||Hydraulic||53: Extended Cab pickup or Chassis Cab ('10 Chevy Silverado, GMC Sierra) |- |2||Class H: 9,001-10,000||Hydraulic||53: Extended Cab pickup or Chassis Cab ('11-'13, '15-'26 Chevy Silverado, GMC Sierra) |- |B||Class H: 9,001-10,000||Hydraulic||26: 4-door SUV ('24-'25 GMC Hummer EV SUV) |- |6||Class 3: 10,001-14,000||Hydraulic||03: Van Cutaway ('10 Chevy Express, GMC Savana) |- |3||Class 3: 10,001-14,000||Hydraulic||03: Van Cutaway ('11-'26 Chevy Express, GMC Savana) |- |6||Class 3: 10,001-14,000||Hydraulic||03: Regular Cab pickup or Chassis Cab ('10 Chevy Silverado, GMC Sierra) |- |3||Class 3: 10,001-14,000||Hydraulic||03: Regular Cab pickup or Chassis Cab ('11-'26 Chevy Silverado, GMC Sierra) |- |7||Class 3: 10,001-14,000||Hydraulic||43: Crew Cab pickup or Chassis Cab ('10 Chevy Silverado, GMC Sierra) |- |4||Class 3: 10,001-14,000||Hydraulic||43: Crew Cab pickup or Chassis Cab ('11-'26 Chevy Silverado, GMC Sierra,<br> '22-'24 GMC Hummer EV pickup w/24 module battery pack, '25 GMC Hummer EV pickup w/20 or 24 module battery pack, '26 GMC Hummer EV pickup, '24-'25 Chevy Silverado EV, GMC Sierra EV) |- |8||Class 3: 10,001-14,000||Hydraulic||53: Extended Cab pickup or Chassis Cab ('10 Chevy Silverado, GMC Sierra) |- |5||Class 3: 10,001-14,000||Hydraulic||53: Extended Cab pickup or Chassis Cab ('11-'13, '15-'18, '20-'26 Chevy Silverado, GMC Sierra) |- |8||Class 3: 10,001-14,000||Hydraulic||06: 4-door SUV ('16-'19, '24-'26 Chevy Suburban 3500HD) |- |8||Class 3: 10,001-14,000||Hydraulic||05: Cargo Van ('22 BrightDrop EV600, '23-'24 BrightDrop Zevo 600, '24 BrightDrop Zevo 400,<br> '25-'26 Chevrolet BrightDrop 400/600) |- |T||Class 3: 10,001-14,000||Hydraulic||26: 4-door SUV ('25-'26 GMC Hummer EV SUV, '25-'26 Cadillac Escalade IQ [EV]) |- |L||Class 3: 10,001-14,000||Hydraulic||56: 4-door SUV Extended ('26- Cadillac Escalade IQL [EV]) |- |9||Class 4: 14,001-16,000||Hydraulic||03: Van Cutaway ('10 Chevy Express, GMC Savana) |- |6||Class 4: 14,001-16,000||Hydraulic||03: Van Cutaway ('11-'26 Chevy Express, GMC Savana) |- | ||Class 5: 16,001-19,500||Hydraulic|| |} ====Line & Chassis Type 2010- Light Duty Truck & Multi-Purpose Passenger Vehicle==== The Line & Chassis Type is specified as character five of the American GM VIN for light trucks. {| border=1 style="margin:auto;" !VIN !Description |- |A||Chevrolet HHR ('10-'11), HHR Panel ('10-'11) |- |A||Chevy Silverado 1500 2wd ('22-'26), Silverado HD 2500/3500 2wd ('25-'26) |- |B||Chevy Blazer 2wd & Awd '19-'26 |- |C||Chevy Silverado 2wd ('10-'18), Silverado LD 1500 2wd '19, Silverado HD 2500/3500 2wd '19, GMC Sierra 2wd ('10) |- |C||Chevy Tahoe 2wd ('10-'24), Suburban 2wd ('10-'24), Avalanche 2wd ('10-'13),<br /> GMC Yukon 2wd ('10), Yukon XL 2wd ('10), Cadillac Escalade 2wd ('10), Escalade ESV 2wd ('10) |- |D||Chevy Silverado 1500 4wd ('22-'24) |- |D||Chevy Blazer EV ('24-'26), Chevy Equinox EV ('24-'26) |- |E||Cadillac Escalade IQ [EV] ('25-'26), Escalade IQL [EV] ('26-), GMC Hummer EV pickup ('26-), GMC Hummer EV SUV ('26-), GMC Sierra EV ('26-) |- |F||Chevy Bolt EV w/Rear Seat Delete pkg. - incomplete vehicle ('18-'23) |- |G||Cadillac Chassis for Limousine & for Armored Vehicle (Based on XTS '13-'19) |- |G||Cadillac Chassis for Hearse (Based on XTS '13-'19) |- |G||Chevy Express 2wd ('10-'26), GMC Savana 2wd ('10) |- |H||Chevy Express 4wd ('10-'14), GMC Savana 4wd ('10) |- |H||GMC Sierra 1500 2wd ('22-'26), Sierra HD 2500/3500 2wd ('25-'26) |- |H||Honda Prologue EV ('24-'26), Acura ZDX EV ('24) |- |J||Buick Encore 2wd & Awd ('13-'22), Chevy Trax 2wd & Awd (Canada: '13-'22, US: '15-'22) |- |J||BrightDrop EV600 ('22), BrightDrop Zevo 600 ('23-'24), BrightDrop Zevo 400 ('24), Chevrolet BrightDrop 400/600 ('25-'26) |- |K||Chevy Silverado 4wd ('10-'18), Silverado LD 1500 4wd ('19), Silverado HD 2500/3500 4wd ('19), GMC Sierra 4wd ('10) |- |K||Chevy Silverado 1500 4wd ('25-'26), Silverado HD 2500/3500 4wd ('25-'26) |- |K||Chevy Tahoe 4wd ('10-'24), Suburban 4wd ('10-'24), Suburban HD 4wd ('24-'26), Avalanche 4wd ('10-'13), GMC Yukon 4wd ('10), Yukon XL 4wd ('10),<br> Cadillac Escalade 4wd ('10), Escalade ESV 4wd ('10), Escalade EXT 4wd ('10) |- |K||Cadillac Professional Chassis for Limousine (Based on DTS '10-'11) |- |K||Cadillac Commercial Chassis for Hearse (Based on DTS '10-'11) |- |L||Chevy Equinox 2wd & Awd '10-'17, Captiva Sport 2wd '12-'15, Captiva Sport Awd '12, GMC Terrain 2wd & Awd '10-'17, Saturn Vue 2wd & Awd '10 |- |L||GMC Terrain 2wd & Awd '18-'26 |- |L||Buick Envista '24-'26, Chevy Trax '24-'26 |- |M||Buick Encore GX 2wd & Awd ('20-'26), Chevy Trailblazer 2wd & Awd ('21-'26) |- |N||Cadillac SRX 2wd & Awd '10-'16, Saab 9-4X 2011 |- |N||GMC Acadia 2wd & Awd '17-'26, Cadillac XT5 2wd & Awd '17-'26 |- |N||Hummer H3, H3T 2010 |- |P||Chevy Orlando (Canada only: '12-'14) |- |P||Cadillac XT6 2wd & Awd '20-'25 |- |P||Cadillac Lyriq EV 2wd & Awd '23-'25 |- |R||GMC Acadia 2wd '10-'16, Acadia Limited 2wd '17, Saturn Outlook 2wd '10, Buick Enclave 2wd '10-'17, Chevy Traverse 2wd '10-'17 |- |R||Buick Enclave 2wd '18-'24, Chevy Traverse 2wd '18-'23 |- |R||Buick Enclave 2wd '25-'26, Chevy Traverse 2wd '24-'26 |- |S||Chevy Traverse Limited 2wd '24 |- |S||Chevy Colorado 2wd ('10-'12, '15-'26), GMC Canyon 2wd ('10) |- |T||Chevy Colorado 4wd ('10-'12, '15-'26), GMC Canyon 4wd ('10) |- |T||Chevy Traverse Limited Awd '24 |- |U||GMC Sierra 1500 4wd ('22-'26), Sierra HD 2500/3500 4wd ('25-'26) |- |V||GMC Acadia Awd '10-'16, Acadia Limited Awd '17, Saturn Outlook Awd '10, Buick Enclave Awd '10-'17, Chevy Traverse Awd '10-'17 |- |V||Buick Enclave Awd '18-'24, Chevy Traverse Awd '18-'23 |- |V||Buick Enclave Awd '25-'26, Chevy Traverse Awd '24-'26 |- |W||Chevy Silverado 1500 2wd ('19-'21), Silverado LTD 1500 2wd ('22), Silverado HD 2500/3500 2wd ('20-'24) |- |X||Buick Envision 2wd & Awd '16-'20, Chevy Equinox 2wd & Awd '18-'26 |- |Y||Chevy Silverado 1500 4wd ('19-'21), Silverado LTD 1500 4wd ('22), Silverado HD 2500/3500 4wd ('20-'24) |- |Z||Cadillac XT4 2wd & Awd '19-'25, Buick Envision 2wd '21-'23, Buick Envision Awd '21-'26 |- |1||GMC Sierra 2wd ('11-'18), Sierra Limited 1500 2wd ('19), Sierra HD 2500/3500 2wd ('19), Yukon 2wd ('11-'26), Yukon XL 2wd ('11-'26) |- |1||GMC Canyon 2wd ('25-'26) |- |2||GMC Sierra 4wd ('11-'18), Sierra Limited 1500 4wd ('19), Sierra HD 2500/3500 4wd ('19), Yukon 4wd ('11-'26), Yukon XL 4wd ('11-'26) |- |2||GMC Canyon 4wd ('25-'26) |- |3||Cadillac Escalade 2wd ('11-'24), Escalade ESV 2wd ('11-'24) |- |3||Cadillac Optiq EV ('25-), Cadillac Vistiq EV ('26-) |- |4||Cadillac Escalade 4wd ('11-'24), Escalade ESV 4wd ('11-'24), Escalade EXT 4wd ('11-'13) |- |5||GMC Canyon 2wd ('11-'12, '15-'24) |- |5||Chevy Tahoe 2wd ('25-'26), Suburban 2wd ('25-'26) |- |6||GMC Canyon 4wd ('11-'12, '15-'24) |- |6||Chevy Tahoe 4wd ('25-'26), Suburban 4wd ('25-'26) |- |7||GMC Savana 2wd ('11-'26) |- |8||GMC Savana 4wd ('11-'14) |- |8||GMC Sierra 1500 2wd ('19-'21), Sierra Limited 1500 2wd ('22), Sierra HD 2500/3500 2wd ('20-'24) |- |8||Cadillac Escalade 2wd ('25-'26), Escalade ESV 2wd ('25-'26) |- |9||GMC Sierra 1500 4wd ('19-'21), Sierra Limited 1500 4wd ('22), Sierra HD 2500/3500 4wd ('20-'24) |- |9||Cadillac Escalade 4wd ('25-'26), Escalade ESV 4wd ('25-'26) |- |0||GMC Hummer EV pickup ('22-'25), GMC Hummer EV SUV ('24-'25), Chevy Silverado EV ('24-'26), GMC Sierra EV ('24-'25) |} ====Series 2010- Light Duty Truck & Multi-Purpose Passenger Vehicle==== The Series is specified as character six of the American GM VIN for light trucks. {| border=1 style="margin:auto;" !VIN !Description |- |P (following N)||Saab 9-4X 3.0i 2wd ('11) |- |R (following N)||Saab 9-4X 3.0i Awd ('11) |- |S (following N)||Saab 9-4X 3.0i Premium 2wd ('11) |- |T (following N)||Saab 9-4X 3.0i Premium Awd ('11) |- |U (following N)||Saab 9-4X Aero Awd ('11) |} ===Platform & Series Codes 1985- Passenger Car=== GM used a lettered system of automobile platform codes for three decades. These letters were used as the fourth position of the VIN. Though today's GM platforms use Greek characters, they are still encoded with Latin characters in the fourth position. Position five encodes the specific model and trim level of the vehicle. {| border=1 style="margin:auto;" !List of GM platforms !Platform<br>Code !Series<br>Code !:Category:General Motors vehicles|Model |- |rowspan=14|GM A platform |rowspan=14|A||W||Chevrolet Celebrity 1985-1990 |- |E||Pontiac 6000 ''SE'' 1986-1988 |- |F||Pontiac 6000 1985-1988, 6000 ''LE'' 1989-1991 |- |G||Pontiac 6000 ''LE'' 1985-1988 |- |H||Pontiac 6000 ''STE'' 1985-1989 |- |J||Pontiac 6000 ''SE'' 1989-1991 |- |G||Oldsmobile Cutlass Ciera ''S'' Sedan 1993-1994 |- |J||Oldsmobile Cutlass Ciera ''LS'' 1985, Cutlass Ciera 1986-1989 & Cutlass Cruiser 1985-1989,<br /> Cutlass Ciera ''S'' Coupe 1986-1987, Cutlass Ciera ''S'' 1990-1991 & Cutlass Cruiser ''S'' 1990-1994, Cutlass Ciera ''SL'' & Cutlass Cruiser ''SL'' 1995, Ciera ''SL'' sedan & wagon 1996 |- |L||Oldsmobile Cutlass Ciera 1990-1991, Cutlass Ciera ''S'' Sedan 1992 |- |M||Oldsmobile Cutlass Ciera ''Brougham'' 1985-1988, Cutlass Ciera ''SL'' Coupe 1986-1989, Cutlass Ciera ''SL'' Sedan 1989-1993, Cutlass Cruiser ''Brougham'' 1987-1988, Cutlass Cruiser ''SL'' 1989-1993 |- |S||Oldsmobile Cutlass Ciera ''International Series'' 1988-1990 |- |G||Buick Century ''T-Type'' 1985-1986, Century ''Special'' 1991-1996 |- |H||Buick Century ''Custom'' 1985-1995 |- |L||Buick Century ''Limited'' 1985-1993, Century Estate Wagon 1986-1989 |- |rowspan=14|GM B platform |rowspan=14|B||L||Chevrolet Impala 1985, Caprice 1986-1992, Caprice Classic 1993-1996, Impala SS 1995-96 |- |N||Chevrolet Caprice Classic 1985-1992, Caprice Classic LS 1993-1994,<br /> Caprice Classic LTZ 1991-1993, Impala SS 1994 |- |U||Chevrolet Caprice Classic Brougham/Brougham LS 1987-1990 |- |L||Pontiac Parisienne 1985-1986, Safari Wagon 1987-1989 |- |T||Pontiac Parisienne Brougham 1985-1986 |- |N||Oldsmobile Delta 88 Royale 1985 |- |P||Oldsmobile Custom Cruiser 1985-1992 |- |V||Oldsmobile Delta 88 Royale Brougham LS 1985 |- |Y||Oldsmobile Delta 88 Royale Brougham 1985 |- |N||Buick Le Sabre ''Custom'' 1985, Roadmaster sedan 1992-1996 |- |P||Buick Le Sabre ''Limited'' 1985 |- |R||Buick Le Sabre Estate Wagon 1985-1989, Estate Wagon 1990,<br /> Roadmaster Estate Wagon 1991-1996 |- |T||Buick Roadmaster ''Limited'' sedan 1992-1996 |- |V||Buick Electra Estate Wagon 1985-1989 |- |rowspan=13|GM C platform - front-wheel drive |rowspan=13|C |V||Oldsmobile Touring Sedan 1988-1990, 98 Touring Sedan 1991-1993 |- |W||Oldsmobile 98 Regency Brougham 1985-1990, 98 Regency Elite 1991-1996 |- |X||Oldsmobile 98 Regency 1985-1990, 1992-1994 |- |F||Buick Electra T-Type 1985-1990 |- |U||Buick Electra Park Avenue Ultra 1989-1990, Park Avenue Ultra 1991-1996 |- |W||Buick Electra Park Avenue 1985-1990, Park Avenue 1991-1996 |- |X||Buick Electra 1985-1986, Electra Limited 1987-1990 |- |B||1985-1992 Cadillac Fleetwood, Fleetwood D'Elegance, 1993 Cadillac Sixty Special |- |D||1985-1993 Cadillac DeVille |- |G||1991-1992 Cadillac Fleetwood Sixty Special |- |H||1985-1987 Cadillac Fleetwood Limousine |- |S||1987-1990 Cadillac Fleetwood Sixty Special |- |T||1991-1993 Cadillac DeVille Touring Sedan |- |rowspan=3|GM G platform (models formerly on C platform) |rowspan=3|C |- |U||Buick Park Avenue Ultra 1997-2005 |- |W||Buick Park Avenue 1997-2005 |- |rowspan=2|GM D platform |rowspan=2|D||W||1985-1986 Cadillac Fleetwood Brougham, 1987-1992 Cadillac Brougham |- |W||1993-1996 Cadillac Fleetwood |- |rowspan=31|GM Delta I platform |rowspan=31|A |- |A||Chevrolet Cobalt LS w/manual trans. 2010 |- |B||Chevrolet Cobalt LS w/automatic trans. 2010 |- |C||Chevrolet Cobalt 1LT w/manual trans. 2010 |- |D||Chevrolet Cobalt 1LT w/automatic trans. 2010 |- |E||Chevrolet Cobalt 2LT w/manual trans. 2010 |- |F||Chevrolet Cobalt 2LT w/automatic trans. 2010 |- |G||Chevrolet Cobalt SS Turbo 2010 |- |H||Chevrolet Cobalt (base model w/XFE) 2010 |- |K||Chevrolet Cobalt (base model) 2005, Cobalt LS 2006-2008, Cobalt LS w/man. trans. 2009 |- |L||Chevrolet Cobalt LS 2005, Cobalt LT 2006-2008, Cobalt LT w/manual trans. 2009 |- |M||Chevrolet Cobalt SS 2006-2007, Cobalt Sport 2008 |- |P||Chevrolet Cobalt SS Supercharged 2005-2007, SS Turbo 2008-2009 |- |S||Chevrolet Cobalt LS w/automatic trans. 2009 |- |T||Chevrolet Cobalt LT w/automatic trans. 2009 |- |Z||Chevrolet Cobalt LT 2005, Cobalt LTZ 2006-2007 |- |L||Pontiac G5 2007-2008, G5 w/manual trans. 2009 |- |N||Pontiac G5 GT 2007-2008, G5 GT w/manual trans. 2009 |- |S||Pontiac G5 w/automatic trans. 2009 |- |T||Pontiac G5 GT w/automatic trans. 2009 |- |F||Saturn Ion sedan Level 1 w/manual trans. 2003-2005 |- |G||Saturn Ion sedan Level 1 w/automatic trans. 2003-2005 |- |J||Saturn Ion sedan Level 2 w/automatic trans. 2003-2007 |- |K||Saturn Ion sedan Level 3 w/manual trans. 2003-2007 |- |L||Saturn Ion sedan Level 3 w/automatic trans. 2003-2007 |- |M||Saturn Ion coupe Level 2 w/manual trans. 2003-2007 |- |N||Saturn Ion coupe Level 2 w/automatic trans. 2003-2007 |- |V||Saturn Ion coupe Level 3 w/manual trans. 2003-2007 |- |W||Saturn Ion coupe Level 3 w/automatic trans. 2003-2007 |- |Y||Saturn Ion coupe Red Line 2004-2007 |- |Z||Saturn Ion sedan Level 2 w/manual trans. 2003-2007 |- |rowspan=9|GM E platform |rowspan=9|E |- |V||Oldsmobile Toronado Trofeo 1988-1992 |- |Z||Oldsmobile Toronado Brougham 1985-1986, Toronado 1987-1992 |- |C||Buick Reatta 1988-1991 |- |Y||Buick Riviera T-Type 1985-1986 |- |Z||Buick Riviera 1985-1993 |- |C||Cadillac Eldorado Collector Series 2002 |- |L||Cadillac Eldorado 1985-2002 |- |T||Cadillac Eldorado Touring Coupe 1994-2002 |- |rowspan=26|GM Epsilon I platform |rowspan=26|Z||A||Chevrolet Malibu Fleet 2010-2012 |- |B||Chevrolet Malibu LS 2010-2012 |- |C||Chevrolet Malibu 1LT 2010-2012 |- |D||Chevrolet Malibu 2LT 2010-2012 |- |E||Chevrolet Malibu LTZ 2010-2011, Malibu 1LZ 2012 |- |F||Chevrolet Malibu Hybrid 2008-2010, Malibu 3LT 2012 |- |G||Chevrolet Malibu LS 2008-2009, Malibu 2LZ 2012 |- |H||Chevrolet Malibu 1LT 2008-2009 |- |J||Chevrolet Malibu 2LT 2008-2009 |- |K||Chevrolet Malibu LTZ 2008-2009 |- |S||Chevrolet Malibu 2004-2005, Malibu LS 2006-2007, Malibu Classic LS 2008 |- |T||Chevrolet Malibu LS 2004-2005, Malibu LT 2006-2007, Malibu Classic LT 2008 |- |U||Chevrolet Malibu LT 2004-2005, Malibu LTZ 2006-2007 |- |W||Chevrolet Malibu SS 2006-2007 |- |A||Pontiac G6 Sedan 2010 |- |F||Pontiac G6 2.4L Sedan (Base model) 2006, G6 Value Leader (Base model w/1SV) 2007-2008 |- |G||Pontiac G6 3.5L Sedan (Base model) 2005-2006, G6 (Base model) 2007-2009 |- |H||Pontiac G6 GT 2005-2009 |- |J||Pontiac G6 (Base model) 2009 1/2 (Mid-Cycle Revision) |- |K||Pontiac G6 GT 2009 1/2 (Mid-Cycle Revision) |- |L||Pontiac G6 GXP 2009 1/2 (Mid-Cycle Revision) |- |M||Pontiac G6 GTP 2006-2007, G6 GXP 2008-2009 |- |R||Saturn Aura Green Line 2007-2009 |- |S||Saturn Aura XE 2007-2009 |- |V||Saturn Aura XR 2007-2008, Aura XR 2.4L 2009 |- |X||Saturn Aura XR V6 2009 |- |rowspan=6|GM F platform |rowspan=6|F||P||Chevrolet Camaro Sport Coupe 1985-2002, Convertible 1987-1992, 1994-2002 |- |S||Chevrolet Camaro Berlinetta 1985-1986 |- |S||Pontiac Firebird 1985-2002, Firebird ''Formula'' 1987-1992 |- |V||Pontiac Firebird ''Formula / Trans Am'' 1993-2002, Firebird ''Trans Am GT'' 1994 |- |W||Pontiac Firebird ''Trans Am'' 1985-1992, Firebird ''Trans Am GTA'' 1987-1992 |- |X||Pontiac Firebird ''S/E'' 1985-1986 |- |rowspan=13|GM G platform - rear-wheel drive |rowspan=13|G||Z||Chevrolet Monte Carlo 1985-1988 |- |J||Pontiac Grand Prix 1985-1987 |- |K||Pontiac Grand Prix LE 1985-1987 |- |N||Pontiac Bonneville 1985-1986 |- |P||Pontiac Grand Prix Brougham 1985-1987 |- |R||Pontiac Bonneville Brougham 1985-1986 |- |S||Pontiac Bonneville LE 1985-1986 |- |K||Oldsmobile Cutlass Salon coupe 1985-1987 |- |M||Oldsmobile Cutlass Supreme ''Brougham'' 1985-1987,<br /> Cutlass Supreme Classic ''Brougham'' 1988 |- |R||Oldsmobile Cutlass Supreme 1985-1987, Cutlass Supreme Classic 1988 |- |J||Buick Regal 1985-1987 |- |K||Buick Regal T-Type 1985-1987 |- |M||Buick Regal ''Limited'' 1985-1987 |- |rowspan=4|GM G platform - front-wheel drive |rowspan=4|G||D||1995-1999 Buick Riviera |- |R||1995-1999 Oldsmobile Aurora |- |R||2001-2002 Oldsmobile Aurora 3.5 |- |S||2001-2003 Oldsmobile Aurora 4.0 |- |rowspan=9|GM H platform |rowspan=9|H||H||Buick Le Sabre 1987 |- |P||Buick Le Sabre ''Custom'' 1986-1999 |- |R||Buick Le Sabre ''Limited'' 1986-1999 |- |C||Oldsmobile Regency 1997-1998, Eighty Eight 50th Anniversary Edition 1999 |- |N||Oldsmobile Delta 88 Royale 1986-1988, 88 Royale 1989-1995, Eighty Eight & Eighty Eight LS 1996-99 |- |Y||Oldsmobile Delta 88 Royale Brougham 1986-1988, 88 Royale Brougham 1989-91, Eighty Eight Royale LS 1992-1995, LSS 1996-1999 |- |X||Pontiac Bonneville 1987, Bonneville LE 1988-1991, Bonneville ''SE'' 1992-1999 |- |Y||Pontiac Bonneville SSE 1988-1991, Bonneville ''SSEi'' 1992-1993 |- |Z||Pontiac Bonneville LE 1987, Bonneville SE 1988-1991, Bonneville ''SSE'' 1992-1999, Bonneville ''SSEi'' 1994-1999 |- |rowspan=17|GM G platform (models formerly on H platform or their successors) |rowspan=17|H||A||Buick Lucerne ''CX'' 2010-2011 |- |B||Buick Lucerne ''CX-2'' 2010 |- |C||Buick Lucerne ''CXL'' 2010-2011 |- |D||Buick Lucerne ''CXL V6'' 2006-2009, Lucerne ''CXL Special Edition'' 2010 |- |E||Buick Lucerne ''CXS'' 2006-2008, Lucerne ''CXL-3'' 2010 |- |F||Buick Lucerne ''Super'' 2008-2009, Lucerne ''CXL-4'' 2010 |- |G||Buick Lucerne ''CXL-5'' 2010 |- |H||Buick Lucerne ''Super 1SP'' 2010 |- |J||Buick Lucerne ''CXL Premium'' 2010-2011 |- |K||Buick Lucerne ''Super 1XS'' 2010, Lucerne ''Super'' 2011 |- |P||Buick Lucerne ''CX'' 2006-2009 |- |R||Buick Lucerne ''CXL V8'' 2006-2007, Lucerne ''CXL Special Edition V8'' 2008 |- |P||Buick Le Sabre ''Custom'' 2000-2005 |- |R||Buick Le Sabre ''Limited'' 2000-2005 |- |X||Pontiac Bonneville ''SE'' 2000-2005 |- |Y||Pontiac Bonneville ''SLE'' 2000-2005 |- |Z||Pontiac Bonneville ''SSEi'' 2000-2003, Bonneville GXP 2004-2005 |- |rowspan=23|GM J platform |rowspan=23|J |- |C||Chevrolet Cavalier 1985-1994, RS Convertible 1991-1994 |- |D||Chevrolet Cavalier CS 1985-1987 |- |E||Chevrolet Cavalier Type 10 1985, RS 1986-1988,<br /> Type 10 Convertible 1985, RS Convertible 1986-1987 |- |F||Chevrolet Cavalier Z24 1986-1994, Z24 Convertible 1988-1989, 1992-1994 |- |C||Chevrolet Cavalier 1995-2005, Cavalier RS 1997-1999 |- |F||Chevrolet Cavalier LS Sedan 1995-2005, LS Coupe 2003-2005, Z24 Coupe 1995-2001,<br /> LS Convertible 1995-1997, Z24 Convertible 1998-2000 |- |H||Chevrolet Cavalier Z24 Coupe/Sedan 2002, LS Sport 2002-2005 |- |S||Chevrolet Cavalier LS Coupe 2002 |- |B||Pontiac Sunbird 1985-1989, Sunbird LE 1990-1991, Sunbird SE 1992-1993,<br /> Sunbird LE 1994 |- |C||Pontiac Sunbird LE 1985, Sunbird 1991, Sunbird LE 1992-1993 |- |D||Pontiac Sunbird SE 1985-1991, Sunbird GT 1992-1993 |- |L||Pontiac Sunbird SE 1994 |- |U||Pontiac Sunbird GT 1986-1991 |- |B||Pontiac Sunfire SE 1995-2002, Convertible 1995-2000, Sunfire 2003-2005 |- |D||Pontiac Sunfire GT 1995-2002 |- |C||Oldsmobile Firenza Base model 1985-1987, Firenza S 1985-1987, Firenza 1988 |- |D||Oldsmobile Firenza LX 1985-1987, Firenza SX 1985, Firenza LC, GT 1986-1987 |- |E||Buick Skyhawk T-Type 1985-1986 |- |S||Buick Skyhawk Custom 1985-1987, Skyhawk Sport 1986-1987, Skyhawk 1988-1989 |- |T||Buick Skyhawk Limited 1985-1987 |- |G||Cadillac Cimarron 1985-1988 |- |G, H||Toyota Cavalier (Japan only) |- |rowspan=8|GM2900 platform |rowspan=8|J||C||Saturn L-Series|2004 Saturn L300.1 |- |D||Saturn L-Series|2004 Saturn L300.2, 2005 Saturn L300 |- |L||Saturn L-Series|2004 Saturn L300.3 |- |R||Saturn L-Series|Saturn LS w/manual transmission '00/L100 w/manual transmission '01 |- |S||Saturn L-Series|Saturn LS w/automatic transmission '00/L100 w/automatic transmission '01-'02 |- |T||Saturn L-Series|Saturn LS1 w/manual transmission '00/L200 w/manual transmission '01-'03, LW200 w/manual trans. '02 |- |U||Saturn L-Series|Saturn LS1 w/automatic transmission '00/L200 w/automatic transmission '01-'03,<br> Saturn LW1 w/automatic transmission '00/LW200 w/automatic transmission '01-'03 |- |W||Saturn L-Series|Saturn LS2 '00, LW2 '00, L300 '01-'03, LW300 '01-'03 |- |rowspan=5|GM K platform |rowspan=5|K||D||Cadillac Deville 1994-1999 |- |E||Cadillac Deville D'Elegance 1997-1999 |- |F||Cadillac Deville Concours 1994-1999 |- |S||Cadillac Seville 1985-1993 / Cadillac Seville SLS 1994-1997 |- |Y||Cadillac Seville Touring Sedan / Cadillac Seville STS 1990-1997 |- |rowspan=9|GM G platform (models formerly on K platform) |rowspan=9|K||A||2010-2011 Cadillac DTS |- |D||2000-2005 Cadillac Deville, 2006-2009 Cadillac DTS, 2010-2011 DTS Luxury |- |E||2000-2005 Cadillac Deville DHS |- |F||2000-2005 Cadillac Deville DTS |- |H||2010-2011 Cadillac DTS Premium |- |P||2010-2011 Cadillac DTS Platinum |- |R||2010-2011 Cadillac DTS Livery |- |S|| 1998-2004 Cadillac Seville SLS |- |Y|| 1998-2003 Cadillac Seville STS |- |rowspan=33|GM Kappa platform |rowspan=33|M||A||Pontiac Solstice w/automatic transmission 2010 |- |B||Pontiac Solstice 2006-2007, Solstice w/manual transmission 2008-2009 |- |B||Pontiac Solstice GXP w/automatic transmission 2010 |- |C||Pontiac Solstice w/automatic transmission 2008 |- |D||Pontiac Solstice w/manual transmission 2010 |- |E||Pontiac Solstice GXP w/manual transmission 2010 |- |F||Pontiac Solstice GXP w/automatic transmission 2008 |- |G||Pontiac Solstice GXP 2007, Solstice GXP w/manual transmission 2008-2009 |- |K||Pontiac Solstice Street Edition w/manual transmission 2009 |- |N||Pontiac Solstice w/automatic transmission 2009 |- |S||Pontiac Solstice SCCA SSB Championship Edition (2.4L) 2008 |- |T||Pontiac Solstice SCCA T2 Championship Edition (2.0L Turbo) 2008 |- |T||Pontiac Solstice GXP w/automatic transmission 2009 |- |Z||Pontiac Solstice Street Edition w/automatic transmission 2009 |- |B||Saturn Sky 2007, Sky w/manual transmission 2008-2009 |- |B||Saturn Sky Redline w/automatic transmission 2010 |- |C||Saturn Sky w/automatic transmission 2008 |- |C||Saturn Sky Ruby Red (Merlot Jewel) Special Edition w/manual transmission 2009 |- |C||Saturn Sky Preferred w/automatic transmission 2010 |- |D||Saturn Sky Hydro Blue Special Edition w/manual transmission 2009 |- |E||Saturn Sky Redline w/manual transmission 2010 |- |F||Saturn Sky Redline w/automatic transmission 2008 |- |F||Saturn Sky Preferred w/manual transmission 2010 |- |G||Saturn Sky Redline 2007, Sky Redline w/manual transmission 2008-2009 |- |H||Saturn Sky Redline Ruby Red (Merlot Jewel) Special Edition w/manual transmission 2009 |- |L||Saturn Sky Redline Hydro Blue Special Edition w/manual transmission 2009 |- |N||Saturn Sky w/automatic transmission 2009 |- |P||Saturn Sky Ruby Red (Merlot Jewel) Special Edition w/automatic transmission 2009 |- |R||Saturn Sky Hydro Blue Special Edition w/automatic transmission 2009 |- |T||Saturn Sky Redline w/automatic transmission 2009 |- |V||Saturn Sky Redline Ruby Red (Merlot Jewel) Special Edition w/automatic transmission 2009 |- |X||Saturn Sky Redline Hydro Blue Special Edition w/automatic transmission 2009 |- |G||Opel GT 2007-2010, Daewoo G2X 2007-2009 |- |rowspan=8|GM L platform |rowspan=8|L |- |D||Chevrolet Corsica ''Base'' 1994-1996 |- |T||Chevrolet Corsica ''Base'' 1987-1989, Corsica ''LT'' 1990-1993 |- |V||Chevrolet Beretta ''Base'' 1987-1996 |- |W||Chevrolet Beretta "GT" 1989-1993 (RPO Z21) & Beretta ''Z26'' 1994-1996 (RPO Z04) |- |Z||Chevrolet Corsica ''LTZ'' 1989-1990 (RPO Z54) |- |Z||Chevrolet Beretta "GTZ" 1990-1993 (RPO Z04) |- |T||Pontiac Tempest (Canada only) |- |rowspan=5|GM M platform |rowspan=5|M||R||Chevrolet Sprint |- |R||Geo Metro LSi, Metro |- |R||Pontiac Firefly (Canada only) |- |S||Chevrolet Sprint ER |- |S||Geo Metro, Metro XFi |- |rowspan=32|GM N platform |rowspan=32|N |- |B||Oldsmobile Cutlass 1997, Cutlass ''GL'' 1998-1999 |- |C||Buick Skylark 4-door ''Custom'' 1987-1991 |- |D||Buick Skylark 4-door ''Limited'' 1987-1989, Skylark 4-door ''Luxury Edition'' 1990-1991 |- |D||Chevrolet Malibu 1997-2003, Chevrolet Classic 2004-2005 |- |E||Chevrolet Malibu ''LS'' 1997-2003 |- |E||Pontiac Grand Am 1985-1988, Grand Am ''LE'' 1989-1991 |- |E||Pontiac Grand Am ''SE'' 1992-2005 |- |F||Oldsmobile Calais 1985-1987, Cutlass Calais 1988, Cutlass Calais ''S'' 1989-1991 |- |F||Oldsmobile Achieva ''SL'' 1992-1994, Achieva ''SC'' 1994 |- |F||Oldsmobile Alero ''GLS'' 1999-2004 |- |F||Pontiac Grand Am ''SE1'' 2000-2004 |- |G||Oldsmobile Cutlass ''GLS'' 1997-1999 |- |G||Pontiac Grand Am 1991 |- |G||Pontiac Grand Am ''SE2'' 2000, 2003-2004 |- |J||Buick Somerset Regal 1985, Somerset ''Custom'' 1986-1987, Skylark 2-door ''Custom'' 1988-91, Skylark 4-door ''Custom'' 1986 |- |J||Buick Skylark 1992, Skylark ''Limited'' 1993-1994, Skylark ''Custom'' 1996-1998,<br /> Skylark ''Limited'' & ''Gran Sport'' 1996-1997 |- |K||Buick Somerset ''T-Type'' 1986 |- |K||Oldsmobile Cutlass Calais ''International Series'' 1988-1991 |- |K||Oldsmobile Alero ''GX'' 1999-2004 |- |L||Oldsmobile Cutlass Calais 1989-1991 |- |L||Oldsmobile Achieva ''S'' 1992-1995, Achieva ''SL'' 1996-1998, Achieva ''SC'' 1996-1997 |- |L||Oldsmobile Alero ''GL'' 1999-2004 |- |M||Buick Somerset Regal ''Limited'' 1985, Somerset ''Limited'' 1986-'87, Skylark 2-door ''Limited'' '88-'89, Skylark 2-door ''Gran Sport'' 1990-1991, Skylark 4-door ''Limited'' 1986 |- |M||Buick Skylark ''Gran Sport'' 1992-1994 |- |T||Oldsmobile Calais ''Supreme'' 1985-1987, Cutlass Calais ''SL'' 1988-1991 |- |V||Buick Skylark 1990-1991 |- |V||Buick Skylark ''Custom'' 1993-1995, ''Limited'' 1995, ''Gran Sport'' 1995 |- |V||Pontiac Grand Am ''LE'' 1985-1988 |- |V||Pontiac Grand Am ''GT1'' 2000-2005 |- |W||Pontiac Grand Am ''SE'' 1986-1991 |- |W||Pontiac Grand Am ''GT'' 1992-2005 |- |rowspan=5|GM P platform - rear-wheel drive |rowspan=5|P |- ||E||Pontiac Fiero ''Coupe'' 1985-1988 |- ||F||Pontiac Fiero ''SE'' 1985-1987 |- ||G||Pontiac Fiero ''GT'' 1985-1988 |- ||M||Pontiac Fiero ''Sport coupe'' 1985-1987 |- |rowspan=1|GM P platform - front-wheel drive |rowspan=1|P||X||General Motors EV1 1997, 1999 |- |rowspan=6|GM R platform |rowspan=6|R |- ||F||1985-1986 Chevrolet Spectrum |- ||F||1987-1988 Chevrolet Spectrum 3-door hatchback, 1989 Geo Spectrum 3-door hatchback |- ||F||1990-1993 Geo Storm |- ||G||1987-1988 Chevrolet Spectrum 4-door sedan, 1989 Geo Spectrum 4-door sedan |- ||T||1990-1993 Geo Storm GSi |- |rowspan=8|GM S platform |rowspan=8|S||K||1985-1988 Chevrolet Nova |- |K||1989-1997 Geo Prizm, 1998-2002 Chevrolet Prizm |- |L||1988 Chevrolet Nova Twin Cam, 1990-1992 Geo Prizm GSi |- |L||2003-2008 Pontiac Vibe, 2009-2010 Pontiac Vibe FWD w/manual transmission |- |M||2003-2006 Pontiac Vibe ''AWD'', 2009-2010 Pontiac Vibe AWD w/automatic transmission |- |N||2003-2006 Pontiac Vibe ''GT'', 2009-2010 Pontiac Vibe GT FWD w/manual transmission |- |P||2009-2010 Pontiac Vibe FWD w/automatic transmission |- |R||2009-2010 Pontiac Vibe GT FWD w/automatic transmission |- |rowspan=32|GM Sigma platform |rowspan=32|D||A||Cadillac CTS Base model RWD 2010-2013, CTS Coupe Base model RWD 2014 |- |B||Cadillac CTS Wagon Luxury Collection RWD 2014 |- |C||Cadillac CTS Base model AWD 2010-2013, CTS Coupe/Wagon Performance Collection RWD 2014 |- |D||Cadillac CTS Coupe/Wagon Premium Collection RWD 2014 |- |E||Cadillac CTS Luxury Collection RWD 2010-2013, CTS Coupe Base model AWD 2014 |- |F||Cadillac CTS Auto. Trans. RWD 2008-2009, CTS Luxury Collection RWD w/Navigation 2010-2013, CTS Wagon Luxury Collection AWD 2014 |- |G||Cadillac CTS Auto. Trans. AWD 2008-2009, CTS Luxury Collection AWD 2010-2013, CTS Coupe/Wagon Performance Collection AWD 2014 |- |H||Cadillac CTS Auto. Trans. AWD w/Navigation 2008-2009, CTS Luxury Collection AWD w/Navigation 2010-2013, CTS Coupe/Wagon Premium Collection AWD 2014 |- |J||Cadillac CTS Auto. Trans. RWD w/Navigation 2008-2009, CTS Performance Collection RWD 2010-2013 |- |K||Cadillac CTS Performance Collection RWD w/Navigation 2010-2013 |- |L||Cadillac CTS Performance Collection AWD 2010-2013 |- |M||Cadillac CTS V6 2003-2004, CTS 2.8L 2005-2007, CTS Man. Trans. RWD 2008-2009, CTS Performance Collection AWD w/Navigation 2010-2013 |- |N||Cadillac CTS V-Series 2004-2007, 2009 |- |P||Cadillac CTS 3.6L 2005-2007, CTS Direct Inj. V6 Man. Trans. RWD 2008-2009, CTS Premium Collection RWD w/Navigation 2010-2013 |- |R||Cadillac CTS Direct Inj. V6 Auto. Trans. RWD 2008 |- |S||Cadillac CTS Direct Inj. V6 Auto. Trans. AWD 2008-2009, CTS Premium Collection AWD w/Navigation 2010-2013 |- |T||Cadillac CTS Direct Inj. V6 Auto. Trans. AWD w/Navigation 2008-2009 |- |U||Cadillac CTS Direct Inj. V6 Auto. Trans. RWD 2009 |- |V||Cadillac CTS Direct Inj. V6 Auto. Trans. RWD w/Navigation 2008-2009, CTS sedan V-Series 2010-2014, CTS Wagon V-Series 2011-2014, CTS Coupe V-Series 2011-2015 |- |0||Cadillac CTS Sport Appearance Pkg. 2010 |- |1||Cadillac CTS Eco Luxury Pkg. 2010 |- |2||Cadillac CTS Sport Appearance Pkg. 2011 |- |A||Cadillac STS V6 AWD 2008-2009 |- |B||Cadillac STS V8 AWD 2008-2009 |- |C||Cadillac STS V8 2005-2007, STS V8 RWD 2008-2009 |- |D||Cadillac STS V6 AWD w/Navigation 2008-2009 |- |K||Cadillac STS V6 RWD w/Navigation 2008-2009 |- |L||Cadillac STS V8 AWD w/Navigation 2008-2009 |- |U||Cadillac STS (all models) 2010, STS (Base model) 2011 |- |W||Cadillac STS V6 2005-2007, STS V6 RWD 2008-2009, STS Luxury 2011 |- |X||Cadillac STS V-Series 2006-2009, STS Luxury Performance 2011 |- |Z||Cadillac STS V8 RWD w/Navigation 2008-2009 |- |rowspan=4|GM T platform - rear-wheel drive |rowspan=4|T||B|| 1985-1987 Chevrolet Chevette CS |- |B||1985-1987 Pontiac Acadian (Canada only) |- |J||1985 Pontiac Acadian Scooter (Canada only) |- |L||1985-1987 Pontiac 1000 |- |rowspan=4|GM T platform - front-wheel drive |rowspan=4|T||N|| Pontiac LeMans 1988, LeMans LE 1989-1991, LeMans SE 1992-1993 |- |R||1988-1989 Pontiac LeMans SE sedan |- |S||1988-1990 Pontiac LeMans GSE AeroCoupe |- |X||1988-1993 Pontiac LeMans VL AeroCoupe |- |rowspan=3|GM T platform - front-wheel drive |rowspan=3|A |- |R||Saturn Astra XE (US: 2008, Canada: 2008-2009) |- |T||Saturn Astra XR (US: 2008, Canada: 2008-2009) |- |rowspan=4|Daewoo T200 platform |rowspan=4|T||D||Chevrolet Aveo Special Value 2004-2008, Base model 2004, LS 2005-2011, Aveo 1LT 2009-2011 |- |G||Chevrolet Aveo LT 2005-2008, Aveo 2LT 2009-2011 |- |J||Chevrolet Aveo LS 2004 |- |D||Pontiac G3 2009 |- |rowspan=2|GM V platform - front-wheel drive |rowspan=2|V||R||1987-1992 Cadillac Allanté with standard removable hardtop |- |S||1990-1993 Cadillac Allanté |- |rowspan=2|GM V platform - rear-wheel drive |rowspan=2|V||R||1997-2001 Cadillac Catera |- |X||2004-2006 Pontiac GTO coupe |- |rowspan=49|GM W platform |rowspan=49|W |- |A||Chevrolet Impala ''LS'' 2010-2013, Impala Limited ''LS'' 2014-2016 |- |B||Chevrolet Impala ''LS'' 2006-2009, Impala ''LT'' 2010-2013, Impala Limited ''LT'' 2014-2016 |- |C||Chevrolet Impala ''LT'' 3.9L 2006-2009, Impala ''LTZ'' 2010-2013, Impala Limited ''LTZ'' 2014-2016 |- |D||Chevrolet Impala ''SS'' 2006-2009, Impala ''Police'' 2010-2013, Impala Limited ''Police'' 2014-2016 |- |E||Chevrolet Impala ''Taxi'' 2010-2012 |- |F||Chevrolet Impala 2000-2005, Impala ''LS'' Fleet (1FL) 2011-2013 |- |G||Chevrolet Impala ''LT'' Fleet (2FL) 2011-2013 |- |H||Chevrolet Impala ''LS'' 2000-2005 |- |J||Chevrolet Monte Carlo ''LS'' 2006-2007 |- |K||Chevrolet Monte Carlo ''LT'' 3.9L 2006, Monte Carlo ''LT'' 3.5L 2007 |- |L||Chevrolet Lumina 1990-2001, Lumina ''LS'' 1997-1999 |- |L||Chevrolet Monte Carlo ''SS'' 2006-2007 |- |M||Chevrolet Monte Carlo ''LT'' 3.5L 2006 |- |N||Chevrolet Lumina ''Euro'' 1990-1994, Lumina ''LS'' 1995-1996, Lumina ''LTZ'' 1997-1999 |- |N||Chevrolet Monte Carlo ''LTZ'' 2006 |- |P||Chevrolet Lumina ''Z34'' 1991-1994, Impala ''SS'' 2004-2005 |- |S||Chevrolet Impala ''Police'' 2006-2009 |- |T||Chevrolet Impala ''LT'' 3.5L 2006-2009 |- |U||Chevrolet Impala ''LTZ'' 2006-2009 |- |V||Chevrolet Impala ''50th Anniversary Edition'' 2008 |- |W||Chevrolet Monte Carlo ''LS'' 1995-2005 |- |X||Chevrolet Monte Carlo ''Z34'' 1995-1999, Monte Carlo ''SS'' 2000-2004, Monte Carlo ''LT'' 2005 |- |Z||Chevrolet Monte Carlo ''SS Supercharged'' 2004-2005 |- |C||Pontiac Grand Prix ''GXP'' 2005-2008 |- |H||Pontiac Grand Prix ''LE'' 1991-1993 |- |J||Pontiac Grand Prix 1988-1989, Grand Prix ''LE'' 1990, Grand Prix ''SE'' 1991-2000 |- |K||Pontiac Grand Prix ''LE'' 1988-1989, Grand Prix ''SE1'' 2000-2003 |- |P||Pontiac Grand Prix ''SE'' 1988-1990, Grand Prix ''GT'' 1991-1993, 1997-2003,<br /> Grand Prix ''GT1'' 2004, Grand Prix 2005-2008 |- |R||Pontiac Grand Prix ''GTP'' 1999-2005, Grand Prix ''GT'' 2006-2007 |- |S||Pontiac Grand Prix ''GT2'' 2004, Grand Prix ''GT'' 2005 |- |T||Pontiac Grand Prix ''STE'' 1990-1993 |- |H||Oldsmobile Cutlass Supreme 1988-1991, Cutlass Supreme ''S'' 1992-1994,<br /> Cutlass Supreme ''SL'' 1995-1997, Intrigue 1998, Intrigue ''GX'' 1999-2002 |- |R||Oldsmobile Cutlass Supreme ''International Series'' 1988-1993 |- |S||Oldsmobile Cutlass Supreme ''SL'' 1988-1991, Intrigue ''GL'' 1998-2002 |- |T||Oldsmobile Cutlass Supreme Convertible 1990-1995 |- |X||Oldsmobile Intrigue ''GLS'' 1998-2002 |- |B||Buick Regal ''Custom'' 1988-1996, Regal ''GS'' Coupe 1995-1996, Regal ''LS'' 1997-2004 |- |C||Buick Lacrosse ''CX'' 2005-2009 |- |D||Buick Regal ''Limited'' 1988-1996, Lacrosse ''CXL'' 2005-2009 |- |E||Buick Lacrosse ''CXS'' 2005-2008 |- |F||Buick Regal ''GS'' Coupe 1992-1994, Regal ''GS'' Sedan 1992-2004 |- |F||Buick Allure ''CX'' 2005-2009 (Canada only) |- |H||Buick Allure ''CXS'' 2005-2008 (Canada only) |- |J||Buick Allure ''CXL'' 2005-2009 (Canada only) |- |N||Buick Lacrosse ''Super'' 2008-2009 |- |P||Buick Allure ''Super'' 2008-2009 (Canada only) |- |S||Buick Century ''Custom'' 1997-2005 |- |Y||Buick Century ''Limited'' 1997-2002 |- |rowspan=3|GM X platform |rowspan=3|X||B||1985 Buick Skylark Custom |- |C||1985 Buick Skylark Limited |- |X||1985 Chevrolet Citation II |- |rowspan=39|GM Y platform |rowspan=39|Y||V||2004-2009 Cadillac XLR |- |X||2006-2009 Cadillac XLR V-Series |- |Y||1985-2008 Chevrolet Corvette (all models except '90-'95 ZR-1) |- |Z||1990-1995 Chevrolet Corvette ZR-1 |- |G||2009 Chevrolet Corvette GT1 Championship Edition (Base & Z06) |- |R||2009 Chevrolet Corvette ZR1 (after early production) |- |Y||2009 Chevrolet Corvette (Base model, Early production Z06, Early production ZR1) |- |Z||2009 Chevrolet Corvette Z06 (after early production) |- |A||2010-2013 Chevrolet Corvette Standard 1LT Man. Trans. |- |B||2010-2013 Chevrolet Corvette Preferred 2LT Man. Trans. |- |C||2010-2013 Chevrolet Corvette Premium 3LT Man. Trans. |- |D||2010-2013 Chevrolet Corvette Custom 4LT Man. Trans. |- |E||2010-2013 Chevrolet Corvette Standard 1LT Auto. Trans. |- |F||2010-2013 Chevrolet Corvette Preferred 2LT Auto. Trans. |- |G||2010-2013 Chevrolet Corvette Premium 3LT Auto. Trans. |- |H||2010-2013 Chevrolet Corvette Custom 4LT Auto. Trans. |- |J||2010-2013 Chevrolet Corvette Z06 Standard 1LZ Man. Trans. |- |K||2010-2013 Chevrolet Corvette Z06 Premium 2LZ Man. Trans. |- |L||2010-2013 Chevrolet Corvette Z06 Custom 3LZ Man. Trans. |- |M||2010-2013 Chevrolet Corvette ZR1 Standard 1ZR Man. Trans. |- |N||2010-2013 Chevrolet Corvette ZR1 Custom 3ZR Man. Trans. |- |P||2010-2013 Chevrolet Corvette Grand Sport Standard 1LT Man. Trans. |- |R||2010-2013 Chevrolet Corvette Grand Sport Preferred 2LT Man. Trans. |- |S||2010-2013 Chevrolet Corvette Grand Sport Premium 3LT Man. Trans. |- |T||2010-2013 Chevrolet Corvette Grand Sport Custom 4LT Man. Trans. |- |U||2010-2013 Chevrolet Corvette Grand Sport Standard 1LT Auto. Trans. |- |V||2010-2013 Chevrolet Corvette Grand Sport Preferred 2LT Auto. Trans. |- |W||2010-2013 Chevrolet Corvette Grand Sport Premium 3LT Auto. Trans. |- |X||2010-2013 Chevrolet Corvette Grand Sport Custom 4LT Auto. Trans. |- |Y||2013 Chevrolet Corvette 427 Convertible Collector Edition Premium 3LT Man. Trans. |- |Z||2013 Chevrolet Corvette 427 Convertible Collector Edition Custom 4LT Man. Trans. |- |1||2013 Chevrolet Corvette 60th Anniversary Edition Custom 4LT Man. Trans. |- |2||2013 Chevrolet Corvette 60th Anniversary Edition Custom 4LT Auto. Trans. |- |3||2013 Chevrolet Corvette Grand Sport 60th Anniversary Edition Custom 4LT Man. Trans. |- |4||2013 Chevrolet Corvette Grand Sport 60th Anniversary Edition Custom 4LT Auto. Trans. |- |5||2013 Chevrolet Corvette Z06 60th Anniversary Edition Custom 3LZ Man. Trans. |- |6||2013 Chevrolet Corvette ZR1 60th Anniversary Edition Custom 3ZR Man. Trans. |- |7||2013 Chevrolet Corvette 427 Convertible 60th Anniversary Edition Custom 4LT Man. Trans. |- |8||2013 Chevrolet Corvette 427 Convertible Collector Edition Preferred 2LT Man. Trans. |- |rowspan=13|GM Z platform |rowspan=13|Z |- |E||Saturn SC1 (manual transmission 2-Door) 1993-1999 |- |F||Saturn SC1 (automatic transmission 2-Door) 1993-1999, SL (manual transmission) 1991-02 |- |G||Saturn SC (manual transmission) 1991-1992, SC2 (manual transmission 2-Door) 1993-99,<br /> SL1 (manual transmission) 1991-2002, SW1 (manual transmission) 1993-1999 |- |H||Saturn SC (automatic transmission) 1991-92, SC2 (automatic transmission 2-Door) '93-'99,<br /> SL1 (automatic transmission) 1991-02, SW1 (automatic transmission LHD) '93-'99 |- |J||Saturn SL2 (manual transmission) 1991-2002, SW2 (manual transmission) 1993-2001 |- |K||Saturn SL2 (automatic transmission) 1991-2002, SW2 (automatic transmission 1993-1999) |- |M||Saturn SW1 "Postal" [SWP] (automatic transmission RHD) 1999-2001 <br>(Made for US Postal Service rural route mail carriers) |- |N||Saturn SC1 (manual transmission 3-Door) 1999-2002, SW2 (automatic transmission 2000-01) |- |P||Saturn SC1 (automatic transmission 3-Door) 1999-2002 |- |R||Saturn SC2 (manual transmission 3-Door) 1999-2002 |- |S||Saturn SL Spring Special 2002 |- |Y||Saturn SC2 (automatic transmission 3-Door) 1999-2002 |- |rowspan=3|GM Zeta platform (VE) |rowspan=3|E||C||Pontiac G8 GT |- |P||Pontiac G8 GXP |- |R||Pontiac G8 (Base model) |- |rowspan=2|GM Zeta platform (VF) |rowspan=2|F||1||2014-2017 Chevrolet SS w/automatic transmission |- |2||2015-2017 Chevrolet SS w/manual transmission |- |GM Zeta platform (WM) |M||K||2011-2013 Chevrolet Caprice PPV |- |GM Zeta platform (WN) |N||S||2014-2017 Chevrolet Caprice PPV |- |rowspan=19|GM Zeta platform (models formerly on F platform) |rowspan=19|F||A||Chevrolet Camaro ''LS'' automatic transmission 2010-2011, ''2LS'' automatic transmission 2012-2014, ''LS'' manual transmission 2015 |- |B||Chevrolet Camaro ''LT'' automatic transmission 2010-2014, ''2LS'' automatic transmission 2015 |- |C||Chevrolet Camaro ''2LT'' automatic transmission 2010-2014, ''LT'' manual transmission 2015 |- |D||Chevrolet Camaro ''LT'' automatic transmission 2015 |- |E||Chevrolet Camaro ''LS'' manual transmission 2010-2014, ''2LT'' manual transmission 2015 |- |F||Chevrolet Camaro ''LT'' manual transmission 2010-2014, ''2LT'' automatic transmission 2015 |- |G||Chevrolet Camaro ''2LT'' manual transmission 2010-2014, ''SS'' manual transmission 2015 |- |H||Chevrolet Camaro ''SS'' automatic transmission 2015 |- |J||Chevrolet Camaro ''SS'' automatic transmission 2010-2014. Note: Must have "J" in 8th position of VIN. |- |J||Chevrolet Camaro ''ZL1'' automatic transmission 2012. Note: Must have "P" in 8th position of VIN. |- |J||Chevrolet Camaro ''2SS'' manual transmission 2015 |- |K||Chevrolet Camaro ''2SS'' automatic transmission 2010-2015 |- |L||Chevrolet Camaro ''ZL1'' automatic transmission 2013-2014, ''ZL1'' manual transmission 2015 |- |M||Chevrolet Camaro ''ZL1'' automatic transmission 2015 |- |S||Chevrolet Camaro ''SS'' manual transmission 2010-2014. Note: Must have "W" in 8th position of VIN. |- |S||Chevrolet Camaro ''ZL1'' manual transmission 2012. Note: Must have "P" in 8th position of VIN. |- |S||Chevrolet Camaro ''Z/28'' manual transmission 2014. Note: Must have "E" in 8th position of VIN. |- |T||Chevrolet Camaro ''2SS'' manual transmission 2010-2014 |- |Z||Chevrolet Camaro ''ZL1'' manual transmission 2013-2014, ''Z/28'' manual transmission 2015 |- |} RHD= Right-Hand Drive ====Model Line 2010- Passenger Car (Using Vehicle Platforms introduced 2010 or later)==== The Model Line is specified as character four of the American GM VIN for Passenger Cars. {| border=1 style="margin:auto;" !VIN !Description |- |A||Cadillac ATS 2013-2019 |- |A||Cadillac CTS sedan 2014-2019, CTS V-Series sedan 2016-2019 |- |B||Chevrolet Cruze 2016-2019 |- |C||Chevrolet Spark 2013-2022, Spark EV 2014-2016 |- |D||Cadillac CT4 2020-2026 |- |D||Cadillac CT5 2020- |- |F||Chevrolet Camaro 2016-2024 |- |F||Chevrolet Bolt EV 2017-2023, Bolt EUV 2022-2023, Bolt 2027 |- |G||Buick LaCrosse 2010-2016 |- |G||Buick Regal 2011-2020, Buick Regal TourX 2018-2020 |- |J||Chevrolet Sonic 2016-2020 |- |K||Cadillac CT6 2016-2020 |- |M||Cadillac Celestiq EV 2025- |- |P||Buick Verano 2012-2017 |- |P||Chevrolet Cruze 2011-2015, Cruze Limited 2016 |- |R||Cadillac ELR 2014, 2016 |- |R||Chevrolet Volt 2011-2019 |- |W||Buick Cascada 2016-2019 |- |Y||Chevrolet Corvette 2014- |- |Z||Buick LaCrosse 2017-2019 |- |Z||Chevrolet Malibu 2016-2025 |- |1||Cadillac XTS 2013-2019 |- |1||Chevrolet Impala 2014-2020 |- |1||Chevrolet Malibu 2013-2015, Malibu Limited 2016 |- |} ===Body style codes 1987- Passenger Car=== The Body type is specified as character six of the American GM VIN for passenger cars. {| border=1 style="margin:auto;" !VIN !Description |- |1||Two-Door Coupe/Sedan |- |2||Two-Door Hatchback |- |3||Two-Door Convertible |- |4||Two-Door Wagon ('91-'92 Geo Storm Hatchback) |- |5||Four-Door Sedan |- |6||Four-Door Hatchback |- |7||Four-Door Hatchback ('89-'90 Geo Prizm hatchback) |- |8||Four-Door Station Wagon |- |9||Four-Door Station Wagon - High Roof Monocab |} ===American restraint types 1987-=== The restraint type is specified as character seven of the American GM VIN for passenger cars. {{center/top}} ====Restraint codes for passenger cars 1987-2009==== {{center/end}} {| border=1 style="margin:auto;" !VIN Code !Description |- |1||Active (Manual) belts 1987-1996 |- |2||Active (Manual) belts plus driver and passenger front airbags 1992-2005<br />(For '94-'96 Pontiac Grand Prix coupe: Passive (Automatic) belts plus driver and passenger front airbags) |- |3||Active (Manual) belts plus driver side front airbag 1988-1996 <br />(For '94 Geo Prizm: Active (Manual) belts plus driver and passenger front airbags) |- |4||Passive (Automatic) belts 1987-1996 |- |4||Active (Manual) belts plus driver and passenger front & side airbags 1997-2005 |- |4||Active (Manual) belts plus driver and passenger front & side curtain airbags 2006-2009 |- |5||Passive (Automatic) belts plus driver side front airbag 1992-1996 |- |5||Active (Manual) belts plus driver and passenger front airbags & driver-side side impact airbag 2000-2005 |- |5||Active (Manual) belts plus driver and passenger front airbags & occupant sensor 2006-2009 |- |6||Passive (Automatic) belts plus driver and passenger front airbags 1994-1996 |- |6||Active (Manual) belts plus driver and passenger front & side airbags & occupant sensor 2000-2009 |- |7||Active (Manual) belt driver & Passive (Automatic) belt passenger plus driver and passenger front airbags 1996 |- |7||Active (Manual) belts plus driver and passenger front & side airbags & rear side airbags 2000-2005 |- |7||Active (Manual) belts plus driver and passenger front & side & side curtain airbags & occupant sensor 2006-2009 |- |8||Active (Manual) belts plus driver and passenger front & side curtain airbags & occupant sensor 2006-2009 |- |9|| |} {{center/top}} ====Restraint codes for passenger cars 2010-==== {{center/end}} {| border=1 style="margin:auto;" !VIN Code !Description |- |D||Active (Manual) belts plus driver and passenger front & side airbags 2010- |- |E||Active (Manual) belts plus driver and passenger front & side & side curtain airbags 2010-2017, 2027 |- |F||Active (Manual) belts plus driver and passenger front & side curtain airbags 2010 |- |G||Active (Manual) belts plus driver and passenger front & side & rear side & side curtain airbags 2010-2017 |- |N||Active (Manual) belts plus driver and passenger front & side & front knee airbags 2016-2019 |- |R||Active (Manual) belts plus driver and passenger front & side & side curtain & front knee airbags 2012- |- |S||Active (Manual) belts plus driver and passenger front & side & rear side & side curtain & front knee airbags 2011- |- |T||Active (Manual) belts plus driver and passenger front & side & front row side curtain airbags 2011 |- |U||Active (Manual) belts plus driver and passenger front & side & front row side curtain & front knee airbags 2012-2017 |} {{center/top}} ====Restraint codes for light trucks 2010-==== {{center/end}} {| border=1 style="margin:auto;" !VIN Code !Description |- |A||Active (Manual) belts plus driver-side front airbag 2010 |- |B||Active (Manual) belts plus driver-side front airbag 2011- |- |B||Active (Manual) belts plus driver and passenger front airbags 2010 |- |C||Active (Manual) belts plus driver and passenger front airbags 2011- |- |C||Active (Manual) belts plus driver and passenger front & side airbags 2010 |- |D||Active (Manual) belts plus driver and passenger front & side airbags 2011- |- |D||Active (Manual) belts plus driver and passenger front airbags & side curtain airbags for up to 3 rows of seating 2010 |- |E||Active (Manual) belts plus driver and passenger front & side & side curtain airbags 2010- |- |F||Active (Manual) belts plus driver and passenger front airbags & side curtain airbags for up to 3 rows of seating 2011-2015 |- |F||Active (Manual) belts plus driver and passenger front & side airbags & side curtain airbags for up to 3 rows of seating 2016- |- |H||Active (Manual) belts plus driver-side front airbag & driver-side side-impact airbag & driver-side side curtain airbag 2023-2024 |- |K||Active (Manual) belts plus driver and passenger front & side & side curtain & front center airbags 2013- |- |L||Active (Manual) belts plus driver and passenger front & side & side curtain & front center & driver-side knee airbags 2017-2023 |- |M||Active (Manual) belts plus driver and passenger front & side & side curtain & front center & front knee airbags 2025- |- |R||Active (Manual) belts plus driver and passenger front & side & side curtain & front knee airbags 2017- |- |S||Active (Manual) belts plus driver and passenger front & side & rear side & side curtain & front knee airbags 2013- |- |T||Active (Manual) belts plus driver-side front airbag & driver- and passenger-side side-impact airbags & side curtain airbags 2023- |- |U||Active (Manual) belts plus driver and passenger front & side & front row side curtain & front knee airbags 2013-2019 |} ===American engine codes 1981-=== GM encodes the engine type in character 8 of the VIN. The following table outlines the various engines encoded there: ====Engine codes for passenger cars==== Warning: Issues with decoding are related to year/model combinations. Each year has a different breakdown for each code along with plants and some model/trim breakdowns over years. Entry: 1985-1988 Pontiac Fiero has a 9 engine code for the 2.8L L44 V6. Entry: 1986-1990 Cadillac Brougham, Oldsmobile 307 Cu. In. V8 vin code Y. {| border=1 style="margin:auto;" !VIN !RPO !Size !Type !Fuel !Valvetrain !Engine Family/Notes/Applications |- |A||LD5||3.8&nbsp;L||V6||2 Barrel Carburetor |2BBL||OHV||Buick V6. (231 cu. in.) '81 Chevy Camaro (CA), Pontiac Catalina, Firebird, LeMans, Buick Century,<br /> '81-'83 Chevy Malibu (CA), '81-'84 Monte Carlo, Caprice, Impala (CA), '81-'87 Pontiac Grand Prix, Oldsmobile Cutlass/Cutlass Supreme, Buick Regal, '81-'85 Oldsmobile Delta 88, Buick LeSabre,<br /> '81-'86 Pontiac Bonneville, '84 Parisienne |- |A||LG0||2.3&nbsp;L||Straight-4|I4||Fuel injection#Multi-port fuel injection|MFI||DOHC,<br /> 16 valve||Oldsmobile Quad 4 H.O. '89-'94 Pontiac Grand Am, '89-'91 Oldsmobile Cutlass Calais, '92-'94 Achieva, '90 Cutlass Supreme, '90-'94 Chevy Beretta |- |A||LH2||4.6&nbsp;L||V8||Fuel injection#Sequential Multi-port injection|SFI||DOHC,<br /> 32 valve||Cadillac Northstar V8 (For RWD) (Premium V). '04-'09 Cadillac XLR, '05-'10 Cadillac STS |- |A||LCV||2.5&nbsp;L||Straight-4|I4||Direct Injection|DI||DOHC,<br /> 16 valve||GM Ecotec engine, Gen III. VVT. '13 Chevy Malibu, '16 Malibu Limited, '16-'19 Impala,<br /> '13-'16 Cadillac ATS |- |A||LV7||1.4&nbsp;L||Straight-4|I4||Fuel injection#Multi-port fuel injection|MFI||DOHC,<br /> 16 valve||GM Small Gasoline Engine. VVT. Made in Changwon, S. Korea. '16-'22 Chevy Spark. |- |B||LG2||3.8&nbsp;L||V6||Fuel injection#Sequential Multi-port injection|SFI||OHV||Buick V6. '86 Oldsmobile 98, Toronado, Buick Electra, Riviera. |- |B||L26||4.9&nbsp;L||V8||Fuel injection#Multi-port fuel injection|MFI||OHV||Cadillac High Technology V8.<br /> '91-'93 Cadillac Eldorado, Seville, '91-'95 DeVille, '91-'92 Fleetwood, '91-'93 Sixty Special |- |B||LE5||2.4&nbsp;L||Straight-4|I4||Fuel injection#Multi-port fuel injection|MFI||DOHC,<br /> 16 valve||GM Ecotec Gen II. VVT. '06-'08 Chevy Cobalt, '06-'07 Saturn Ion, '06-'10 Pontiac G6, Solstice,<br /> '07-'08 Pontiac G5, '07-'10 Saturn Sky, '08-'09 Saturn Aura, '08-'10 Chevy Malibu |- |B||LUV||1.4L||I4 Turbo||Fuel injection#Sequential Multi-port fuel injection|SFI||DOHC,<br /> 16 valve||GM Family 0 Engine, Gen III. VVT. '12-'20 Chevy Sonic, '13-'15 Chevy Cruze, '16 Cruze Limited |- |C||L17||1.6&nbsp;L||Straight-4|I4||2 Barrel Carburetor |2BBL||SOHC,<br /> 8 valve||Isuzu G161Z engine made by GM in US. '82-'87 Chevy Chevette, Pontiac T1000/1000 |- |C||LN3||3.8&nbsp;L||V6||Fuel injection#Multi-port fuel injection|MFI||OHV||Buick V6 (3800). '88-'90 Oldsmobile 98, Toronado, Buick Electra, Riviera, Reatta, <br /> '88-'91 Buick LeSabre, Oldsmobile Delta 88/Eighty Eight, Pontiac Bonneville |- |C||L47||4.0&nbsp;L||V8||Fuel injection#Sequential Multi-port injection|SFI||DOHC,<br /> 32 valve||Oldsmobile Aurora V8 (Premium V). Oldsmobile Aurora '95-'99, Aurora 4.0 '01-'03 |- |C||LS4||5.3 L||V8||Fuel injection#Sequential Multi-port injection|SFI||OHV||Gen IV Chevrolet Small-Block V8. Aluminum Block & Heads. Active Fuel Management.<br /> Transversely mounted for FWD. '05-'08 Pontiac Grand Prix GXP, '06-'07 Chevy Monte Carlo SS,<br /> '06-'09 Chevy Impala SS, '08-'09 Buick LaCrosse Super. |- |C||LAF||2.4&nbsp;L||Straight-4|I4||Direct Injection|DI||DOHC,<br /> 16 valve||GM Ecotec engine, Gen II. VVT. Buick LaCrosse '10-'11, Regal '11. |- |C||LUJ||1.4L||I4 Turbo||Fuel injection#Sequential Multi-port fuel injection|SFI||DOHC,<br /> 16 valve||GM Family 0 Engine, Gen III. VVT. Early production engines were made in Aspern, Austria; later made in Flint, MI. '12 Chevy Cruze |- |D||LJ5||1.8&nbsp;L||Straight-4|I4||Indirect injection Diesel||SOHC,<br /> 8 valve||Isuzu 4FB1 diesel engine imported from Japan. '81-'86 Chevy Chevette |- |D||LD2||2.3&nbsp;L||Straight-4|I4||Fuel injection#Multi-port fuel injection|MFI||DOHC,<br /> 16 valve||Oldsmobile Quad 4. '88-'95 Pontiac Grand Am, '88-'91 Oldsmobile Cutlass Calais, '92-'95 Achieva,<br /> '88-'91 &'95 Buick Skylark, '90-'91 Pontiac Grand Prix, Oldsmobile Cutlass Supreme,<br /> '95 Chevy Cavalier, Pontiac Sunfire |- |D||LC3||4.4&nbsp;L||V8 Supercharged||Fuel injection#Sequential Multi-port point injection|SFI||DOHC,<br /> 32 valve||Cadillac Northstar V8 (Premium V). '06-'09 Cadillac XLR V-Series, Cadillac STS V-Series |- |E||LK9||3.0&nbsp;L||V6||2 Barrel Carburetor |2BBL||OHV||Buick V6. '82-'85 Oldsmobile Cutlass Ciera, Buick Century, '85 Oldsmobile 98, Buick Electra |- |E||LA1||3.4&nbsp;L||V6||Fuel injection#Sequential Multi-port point injection|SFI||OHV||Chevrolet 60° V6. '99-'05 Grand Am, '99-'04 Alero, '00-'05 Impala, Monte Carlo |- |E||L03||5.0&nbsp;L||V8||Fuel injection#Throttle Body injection|TBI||OHV||Gen I Chevy Small-Block V8 (305 cu. in.). '88-'92 Camaro/Firebird, '89-'93 Chevy Caprice,<br /> '91 Buick Roadmaster Estate wagon, '91-'92 Oldsmobile Custom Cruiser, Cadillac Brougham. |- |E||LXV||1.6&nbsp;L||Straight-4|I4||Fuel injection#Multi-port fuel injection|MFI||DOHC,<br /> 16 valve||Family 1 Gen 3 engine. W/VVT. '09-'11 Chevy Aveo, '09 Pontiac G3 |- |E||LS7||7.0&nbsp;L||V8||Fuel injection#Sequential Multi-port point injection|SFI||OHV||Gen IV Chevy Small-Block V8. Aluminum Block & Heads.<br /> '06-'13 Corvette Z06, '13 Corvette 427, '14-'15 Camaro Z/28 |- |E||LH7||1.6&nbsp;L||I4 Turbo||Direct injection <br /> Common-rail Diesel||DOHC,<br /> 16 valve||GM Medium Diesel engine ("Whisper Diesel"). Made by Opel in Szentgotthárd, Hungary.<br /> Aluminum Block & Heads. '17-'19 Chevy Cruze Diesel. |- |F||LV8||4.3&nbsp;L||V8||2 Barrel Carburetor |2BBL||OHV||Oldsmobile "Rocket" V8 (260 cu. in.) '81 Oldsmobile Cutlass, Delta 88. |- |F||L61||2.2&nbsp;L||Straight-4|I4||Fuel injection#Multi-port fuel injection|MFI||DOHC,<br /> 16 valve||GM Ecotec Gen I. '00-'04 Saturn L-Series, '02-'05 Chevy Cavalier, Pontiac Sunfire, Grand Am,<br /> '02-'04 Oldsmobile Alero, '03-'06 Saturn Ion, '04-'06 Chevy Malibu, '05-'06 Chevy Cobalt |- |F||L61||2.2&nbsp;L||Straight-4|I4||Fuel injection#Multi-port fuel injection|MFI||DOHC,<br /> 16 valve||GM Ecotec Gen II. '07-'08 Chevy Cobalt, Malibu, Pontiac G5, '07 Saturn Ion. |- |F||LB9||5.0&nbsp;L||V8||Tuned-port fuel injection|TPI||OHV||Gen I Chevy Small-Block V8. (305 cu. in.). '85-'92 Chevy Camaro, Pontiac Firebird. |- |G||L46||1.8&nbsp;L||I4||2 Barrel Carburetor |2BBL||OHV||Chevrolet "122" engine. '82 J-cars. |- |G||L69||5.0&nbsp;L||V8||4 Barrel Quadrajet Carburetor |4BBL||OHV||Gen I Chevy Small-Block V8 (High Output 5.0L). (305 cu. in.)<br /> '84-'86 Camaro/Firebird, '84-'88 Chevy Monte Carlo SS |- |G||LM3||2.2&nbsp;L||I4||Fuel injection#Throttle Body injection|TBI||OHV||Chevrolet "122" engine. '90-'91 Chevy Cavalier & Corsica/Beretta. |- |G||LS1||5.7&nbsp;L||V8||Fuel injection#Multi-port fuel injection|MFI||OHV||Gen III Chevy Small-Block V8. (346 cu. in.) Aluminum Block & Heads.<br /> '97-'04 Corvette, '98-'02 Camaro/Firebird, '04 Pontiac GTO |- |G||LF1||3.0L||V6||Direct Injection|DI||DOHC,<br /> 24 valve||GM High Feature V6. VVT. 2010 Buick LaCrosse, Cadillac CTS |- |G||LWE||1.8&nbsp;L||Straight-4|I4||Fuel injection#Sequential Multi-port fuel injection|SFI||DOHC,<br /> 16 valve||GM Family 1 engine, Gen III. VVT. PZEV emissions.<br /> '13-'15 Chevy Cruze, '16 Cruze Limited, '13-'18 Sonic. |- |H||LG4||5.0&nbsp;L||V8||4 Barrel Quadrajet Carburetor |4BBL||OHV||Gen I Chevy Small-Block V8. (305 cu. in.) '81-'87 F-bodies, '81-'83 Chevy Malibu, '81-'85 Impala,<br /> '81-'88 Caprice, Monte Carlo, '83-'86 Pontiac Bonneville, Parisienne, '83-'87 Grand Prix |- |H||LE4||2.0&nbsp;L||Straight-4|I4||Fuel injection#Multi-port fuel injection|MFI||SOHC,<br /> 8 valve||GM Family II engine. Made in Brazil. '92-'94 Pontiac Sunbird. |- |H||LX5||3.5&nbsp;L||V6||Fuel injection#Sequential Multi-port injection|SFI||DOHC,<br /> 24 valve||Oldsmobile "Shortstar" V6 (Premium V). Oldsmobile Intrigue '99-'02, Aurora 3.5 '01-'02. |- |H||LAP||2.2&nbsp;L||Straight-4|I4||Fuel injection#Multi-port fuel injection|MFI||DOHC,<br /> 16 valve||GM Ecotec Gen II. VVT. '09 Chevy Cobalt, Pontiac G5. |- |H||LUW||1.8&nbsp;L||Straight-4|I4||Fuel injection#Sequential Multi-port fuel injection|SFI||DOHC,<br /> 16 valve||GM Family 1 engine, Gen III. VVT. '11-'15 Chevy Cruze, '16 Cruze Limited, '12-'18 Sonic. |- |J||L39||4.4&nbsp;L||V8||2 Barrel Carburetor |2BBL||OHV||Gen I Chevy Small-Block V8 (267 cu. in.) '81-'82 Chevy Caprice, Impala, Malibu, Monte Carlo,<br /> '81 Chevy Camaro |- |J||LA5||1.8&nbsp;L||Straight-4|I4 Turbo||Fuel injection#Multi-port fuel injection|MFI||SOHC,<br /> 8 valve||GM Family II engine. Made in Brazil. '84-'86 Pontiac Sunbird, Buick Skyhawk. |- |J||LT5||5.7&nbsp;L||V8||Fuel injection#Multi-port fuel injection|MFI||DOHC,<br /> 32 valve||Based on Chevy Small-Block V8. Designed with Lotus Engineering.<br /> Made by Mercury Marine. Aluminum Block & Heads. '90-'95 Corvette ZR-1 |- |J||LG8||3.1&nbsp;L||V6||Fuel injection#Sequential Multi-port injection|SFI||OHV||Chevrolet 60° V6. Gen III. 3100. '99-'03 Chevy Malibu, '99 Oldsmobile Cutlass, '00-'01 Chevy Lumina,<br /> '00-'03 Pontiac Grand Prix SE, '00-'05 Buick Century |- |J||L99||6.2&nbsp;L||V8||Fuel injection#Sequential Multi-port injection|SFI||OHV||Gen IV Chevy Small-Block V8. VVT. With Active Fuel Management. Aluminum Block & Heads.<br /> '10-'15 Camaro SS (auto. trans.) |- |J||LTA||4.2&nbsp;L||V8 Twin Turbo||Direct injection|DI||DOHC,<br /> 32 valve||Cadillac Blackwing V8. VVT. '19-'20 Cadillac CT6 Platinum & V-series |- |K||LC3||3.8&nbsp;L||V6||2 Barrel Carburetor |2BBL||OHV||Chevrolet 90° V6 (Chevy Small-Block V8 Derived). 229 cu. in. <br /> '81-'82 Malibu, Monte Carlo, Impala, Caprice, '81 Camaro. |- |K||LC5||1.5&nbsp;L||I4||2 Barrel Carburetor |2BBL||SOHC,<br /> 8 valve||Isuzu 4XC1 engine. '85 Chevrolet Spectrum. |- |K||LT2||2.0&nbsp;L||Straight-4|I4||Fuel injection#Throttle Body injection|TBI||SOHC,<br /> 8 valve||GM Family II engine. Made in Brazil.<br /> '87-'91 Pontiac Sunbird, '87-'88 Oldsmobile Firenza, Buick Skyhawk. |- |K||LT2||2.0&nbsp;L||Straight-4|I4||Fuel injection#Throttle Body injection|TBI||SOHC,<br /> 8 valve||GM Family II engine. Made in Australia by Holden.<br /> '89-'90 Pontiac LeMans GSE Aerocoupe, '89 LeMans SE sedan |- |K||L36||3.8&nbsp;L||V6||Fuel injection#Sequential Multi-port injection|SFI||OHV||Buick V6 (3800 Series II). '95-'05: Various W-, H-, C-, & G-body models. '95-'02 Camaro/Firebird. |- |K||LZE||3.5L||V6||Fuel injection#Sequential Multi-port injection|SFI||OHV||GM High Value 60° V6. 3510cc. VVT. Flex-Fuel E85 compatible.<br /> '06-'07 Chevy Monte Carlo, '06-'11 Chevy Impala, '09-'10 Chevy Malibu, Pontiac G6 |- |K||LEA||2.4&nbsp;L||Straight-4|I4||Direct Injection|DI||DOHC,<br /> 16 valve||E85 Flex Fuel. GM Ecotec engine, Gen II. VVT. Buick Regal, Verano '12-'17 (except '13 Regal). |- |K||LSY||2.0&nbsp;L||Straight-4|I4 Turbo||Direct Injection|DI||DOHC,<br /> 16 valve||GM Ecotec engine, Gen III. Active Fuel Management. VVT. VVL.<br /> '19 Cadillac CT6, '20+ Cadillac CT4, CT5 |- |L||LM1||5.7&nbsp;L||V8||4 Barrel Carburetor |4BBL||OHV||Gen I Chevy Small-Block V8.<br> '81 Camaro Z28 (only w/auto. trans. in US), '81-'82 Impala 9C1 Police, '81 Malibu 9C1 Police |- |L||LL1||2.8&nbsp;L||V6||2 Barrel Carburetor |2BBL||OHV||Chevrolet 60° V6 H.O. (longitudinally mounted). '83-'84 Pontiac Firebird. |- |L||LN7||3.0&nbsp;L||V6||Fuel injection#Multi-port fuel injection|MFI||OHV||Buick V6. '85-'87 Pontiac Grand Am, '85-'88 Oldsmobile & Buick N-bodies,<br /> '86 Oldsmobile Delta 88, Buick LeSabre |- |L||L27||3.8&nbsp;L||V6||Fuel injection#Tuned port injection|TPI||OHV||Buick V6 (3800 Series I). '90-'95 Buick Regal, '91-'94 Oldsmobile 98, Buick Park Avenue, '91 Reatta, '91-'93 Riviera, '91-'92 Oldsmobile Toronado, '92-'95 Buick LeSabre, '92-'94 Pontiac Bonneville, Oldsmobile 88 |- |L||LNK||1.8&nbsp;L||Straight-4|I4||Fuel injection#Sequential multi-port injection|SFI||DOHC,<br /> 16 valve||Toyota 2ZZ-GE engine. VVTL-i. '03-'06 Pontiac Vibe GT |- |L||LKW||2.5&nbsp;L||Straight-4|I4||Direct Injection|DI||DOHC,<br /> 16 valve||GM Ecotec engine, Gen III. VVT. VVL. '14-'15 Chevy Malibu, Impala |- |L||L3B||2.7L||I4 Turbo||Direct Injection|DI||DOHC,<br /> 16 valve||GM L3B Tripower engine. VVT, VVL. Active Fuel Management. '20+ Cadillac CT4, CT4-V |- |M||LY9||1.0&nbsp;L||Straight-3|I3||2BBL||SOHC,<br /> 6 valve ||Suzuki G10A engine. '85 Chevrolet Sprint |- |M||LT3||2.0&nbsp;L||Straight-4|I4 Turbo||Fuel injection#Multi-port fuel injection|MFI||SOHC,<br /> 8 valve||GM Family II engine. Made in Brazil.<br /> '87-'90 Pontiac Sunbird, '87 Buick Skyhawk T-Type, '87-'89 Pontiac Grand Am SE. |- |M||L82||3.1&nbsp;L||V6||Fuel injection#Sequential Multi Port Fuel injection|SFI||OHV||Chevrolet 60° V6 (transversely mounted). Gen III. 3100. '93-'97 Oldsmobile Cutlass Supreme,<br /> '94-'98 Pontiac Grand Am, Oldsmobile Achieva, Buick Skylark, '94-'99 Pontiac Grand Prix,<br /> '94-'96 Chevy Corsica/Beretta, Oldsmobile Cutlass Ciera, Buick Regal, '94-'99 Century,<br /> '95-'99 Chevy Lumina, Monte Carlo, '97-'99 Chevy Malibu, Oldsmobile Cutlass |- |M||LY9||2.6&nbsp;L||V6||Fuel injection#Multi-port fuel injection|MFI||DOHC,<br /> 24 valve||Opel 54° V6 engine (Made in the UK). Euro-market Cadillac CTS '03-'04. |- |M||LGD||3.9L||V6||Fuel injection#Sequential Multi Port Fuel injection|SFI||OHV||E85 Flex Fuel. GM High Value 60° V6. VVT. '09-'11 Chevy Impala, Buick Lucerne |- |M||LE2||1.4&nbsp;L||Straight-4|I4 Turbo||Direct Injection|DI||DOHC,<br /> 16 valve||GM Small Gasoline Engine. VVT. '16-'19 Chevy Cruze. |- |N||LF9||5.7&nbsp;L||V8||Indirect injection Diesel||OHV||Oldsmobile Diesel V8. '81-'85 Chevy Caprice, Impala, '82-'83 Malibu, '82-'84 Monte Carlo,<br /> '81-'84 Pontiac Grand Prix, Bonneville, '81 Catalina, '83-'85 Parisienne,<br /> '81-'84 Oldsmobile 98, '81-'85 Cutlass/Cutlass Supreme, Delta 88, Custom Cruiser, Toronado,<br /> '81-'83 Buick Electra, '81-'85 LeSabre, Electra Estate wagon, Riviera, '82-'83 Regal,<br /> '81-'84 Cadillac DeVille, '81-'85 Fleetwood Brougham, Eldorado, Seville |- |N||LG7||3.3&nbsp;L||V6||Fuel injection#Multi-port fuel injection|MFI||OHV||Buick V6 (3300). '89-'93 Buick Century, Skylark, Oldsmobile Cutlass Ciera, '89-'91 Cutlass Calais,<br /> '92-'93 Achieva, Pontiac Grand Am. |- |N||LA3||3.2&nbsp;L||V6||Fuel injection#Multi-port fuel injection|MFI||DOHC,<br /> 24 valve||Opel 54° V6 engine (Made in the UK). '03-'04 Cadillac CTS |- |N||LZ4||3.5L||V6||Fuel injection#Sequential Multi-port injection|SFI||OHV||GM High Value 60° V6. 3510cc. VVT. '06-'07 Chevy Monte Carlo, '06-'10 Chevy Impala,<br /> '07-'10 Chevy Malibu, Pontiac G6, '07-'08 Saturn Aura |- |N||LFR||3.6L||V6||Fuel injection#Multi-port fuel injection|MFI||DOHC,<br /> 24 valve||(Bi-Fuel Gas/CNG). GM High Feature V6. '15-'17 Chevy Impala Bi-Fuel |- |P||LQ5||2.0&nbsp;L||I4||Fuel injection#Throttle Body injection|TBI||OHV||Chevrolet "122" engine. '83-'86 J-cars ('83-'84 for Pontiac). |- |P||LT1||5.7&nbsp;L||V8||Fuel injection#Sequential Multi-port injection|SFI||OHV||Gen II Chevy Small-Block V8. Aluminum Heads: '92-'96 Corvette, '93-'97 Camaro/Firebird.<br /> Iron Heads: '94-'96 Chevy Caprice, Impala SS, Buick Roadmaster, Cadillac Fleetwood. |- |P||LSJ||2.0&nbsp;L||SC Straight-4|I4 Supercharged||Fuel injection#Sequential central point injection|SFI||DOHC,<br /> 16 valve||GM Ecotec Gen I. Made by Opel in Kaiserslautern, Germany.<br /> '04-'07 Saturn Ion Red Line, '05-'07 Chevy Cobalt SS Supercharged. |- |P||LSA||6.2&nbsp;L||V8 Supercharged||Fuel injection#Sequential Multi-port injection|SFI||OHV||Gen IV Chevy Small-Block V8. Aluminum Block & Heads.<br /> Cadillac CTS V-Series '09-'15, Camaro ZL1 '12-'15 |- |P||LF4||3.6L||V6 Twin Turbo||Direct Injection|DI||DOHC,<br /> 24 valve||GM High Feature V6. Cadillac CT4-V Blackwing '22+ |- |R||LR8||2.5L||I4||Fuel injection#Throttle Body injection|TBI||OHV||Pontiac Iron Duke/Tech IV engine. Transversely mounted. '82-'85 Chevy Citation, Buick Skylark,<br /> '82-'84 Pontiac Phoenix, Oldsmobile Omega, '82-'90 Chevy Celebrity, '82-'91 Pontiac 6000,<br /> '82-'92 Oldsmobile Cutlass Ciera, Buick Century, '84-'88 Pontiac Fiero, '90-'92 Chevy Lumina |- |R||L81||3.0&nbsp;L||V6||Fuel injection#Multi-port fuel injection|MFI||DOHC,<br /> 24 valve||Opel 54° V6 engine (Made in the UK). '97-'01 Cadillac Catera, '00-'05 Saturn L-Series |- |R||LZ8||3.9L||V6||Fuel injection#Sequential Multi Port Fuel injection|SFI||OHV||GM High Value 60° V6. VVT. Active Fuel Management. '07 Chevy Impala |- |R||LS9||6.2&nbsp;L||V8 Supercharged||Fuel injection#Sequential Multi-port injection|SFI||OHV||Gen IV Chevy Small-Block V8. Aluminum Block & Heads. '09 Corvette ZR1. |- |R||LUK||2.4L||I4||Direct Injection|DI||DOHC,<br /> 16 valve||Mild Hybrid. GM Ecotec Gen II. VVT. '12-'16 Buick LaCrosse eAssist, Regal eAssist,<br /> '13-'14 Chevy Malibu Eco, '14 Chevy Impala Eco |- |S||LS5||4.3&nbsp;L||V8||2 Barrel Carburetor |2BBL||OHV||Pontiac V8. 265 cu. in.<br /> '81 Pontiac Bonneville, Catalina, Firebird, Grand Prix, LeMans, Buick Century, Regal. |- |S||LU5||5.0&nbsp;L||V8||Cross-Fire fuel injection|CFI||OHV||Gen I Chevy Small-Block V8. (305 cu. in.) '83 Camaro, Firebird. Dual throttle-body fuel injection. |- |S||LB8||2.8&nbsp;L||V6||Fuel injection#Multi Port Fuel injection|MPFi||OHV||Chevrolet 60° V6 (longitudinally mounted). '85-'89 Chevy Camaro, Pontiac Firebird. |- |S||L32||3.4&nbsp;L||V6||Fuel injection#Multi Port Fuel injection|MPFi||OHV||Chevrolet 60° V6 (longitudinally mounted). '93-'95 Chevy Camaro, Pontiac Firebird. |- |S||LS6||5.7&nbsp;L||V8||Fuel injection#Sequential Multi Port injection|SFI||OHV||Gen III Chevy Small-Block V8. (346 cu. in.) Aluminum Block & Heads.<br /> '01-'04 Corvette Z06, '04-'05 Cadillac CTS V-Series |- |S||LGX||3.6L||V6||Direct Injection|DI||DOHC,<br /> 24 valve||GM High Feature V6, 4th gen. VVT. Active Fuel Management. '16-'19 Cadillac ATS, CTS, '16-'20 CT6, '16-'24 Chevrolet Camaro, '17-'19 Buick LaCrosse, '18–'20 Buick Regal GS |- |T||LU8||4.9&nbsp;L||V8 Turbo||4 Barrel Carburetor |4BBL||OHV||Pontiac V8. 301 cu. in. '81 Pontiac Firebird Formula & Trans Am. |- |T||LT7||4.3&nbsp;L||V6||Indirect injection Diesel||OHV||Oldsmobile Diesel V6. FWD version for '82-'85 GM A-bodies. |- |T||LS2||4.3&nbsp;L||V6||Indirect injection Diesel||OHV||Oldsmobile Diesel V6. FWD version for '85 GM C-bodies. |- |T||LH0||3.1&nbsp;L||V6||Fuel injection#Multi Port Fuel injection|MPFi||OHV||Chevrolet 60° V6 (longitudinally mounted). '90-'92 Chevy Camaro, Pontiac Firebird. |- |T||LH0||3.1&nbsp;L||V6||Fuel injection#Multi Port Fuel injection|MPFi||OHV||Chevrolet 60° V6 (transversely mounted). Gen II. '88-'91 Pontiac 6000,<br /> '89-'93 Grand Prix, Oldsmobile Cutlass Supreme, Buick Regal, '90-'94 Chevy Cavalier, Lumina,<br /> '91-'94 Pontiac Sunbird, '90-'93 Chevy Corsica/Beretta, '90 Celebrity |- |T||LD9||2.4&nbsp;L||Straight-4|I4||Fuel injection#Sequential Multi-port injection|SFI||DOHC,<br /> 16 valve||Oldsmobile Quad 4 ("2.4 Twin Cam"). '96-'01 Pontiac Grand Am, '96-'97 Oldsmobile Achieva, Buick Skylark, '99-'01 Oldsmobile Alero, '97-'99 Chevy Malibu, '96-'02 Chevy Cavalier, Pontiac Sunfire |- |T||LP1||2.8&nbsp;L||V6||Fuel injection#Sequential Multi-port injection|SFI||DOHC,<br /> 24 valve||GM High Feature V6. '05-'07 Cadillac CTS |- |T||LS9||6.2&nbsp;L||V8 Supercharged||Fuel injection#Sequential Multi-port injection|SFI||OHV||Gen IV Chevy Small-Block V8. Aluminum Block & Heads. '10-'13 Corvette ZR1. |- |T||LFV||1.5L||I4 Turbo||Direct Injection|DI||DOHC,<br /> 16 valve||GM Small Gasoline Engine. VVT. '16-'25 Chevy Malibu. |- |U||L68||2.5L||I4||Fuel injection#Throttle Body injection|TBI||OHV||Pontiac Iron Duke/Tech IV engine. Transversely mounted. '85-'91 N-bodies |- |U||LS2||6.0&nbsp;L||V8||Fuel injection#Sequential Multi-port fuel injection|SFI||OHV||Gen IV Chevy Small-Block V8. Aluminum Block & Heads.<br /> '05-'07 Corvette, '05-'06 Pontiac GTO, '06-'07 Cadillac CTS V-Series |- |U||LE9||2.4&nbsp;L||Straight-4|I4||Fuel injection#Multi-port fuel injection|MFI||DOHC,<br /> 16 valve||GM Ecotec Gen II. E85 Flex-Fuel. 2011-12 Chevy Malibu. |- |U||LKN||1.8L||I4||Direct Injection|DI||DOHC,<br /> 16 valve||Full Hybrid. GM Medium Gasoline Engine. VVT. Made in Szentgotthárd, Hungary.<br> '16-'19 Chevy Malibu Hybrid |- |V||LT6||4.3&nbsp;L||V6||Indirect injection Diesel||OHV||Oldsmobile Diesel V6. RWD version.<br /> '82-'83 Chevy Malibu, Monte Carlo, '82-'85 Oldsmobile Cutlass Supreme, Buick Regal |- |V||LG5||3.1&nbsp;L||V6 Turbo||Fuel injection#Multi-port fuel injection|MPFI||OHV||Chevrolet 60° V6. Gen II. Intercooled. (ASC/McLaren modified).<br /> '89-'90 Pontiac Grand Prix Turbo coupe, '90 Grand Prix STE Turbo sedan |- |V||LLT||3.6L||V6||Direct Injection|DI||DOHC,<br /> 24 valve||GM High Feature V6. '08-'11 Cadillac CTS, STS, '10-'11 Chevrolet Camaro, Buick LaCrosse |- |V||LHU||2.0&nbsp;L||Straight-4|I4 Turbo||Direct Injection|DI||DOHC,<br /> 16 valve||E85 Flex Fuel (N/A on Regal GS). GM Ecotec engine, Gen II. VVT.<br /> Buick Regal '11-'13, Verano '13-'16. |- |W||L37||4.9&nbsp;L||V8||4 Barrel Carburetor |4BBL||OHV||Pontiac V8. 301 cu. in. '81 Pontiac Firebird, LeMans Safari wagon. |- |W||LB6||2.8&nbsp;L||V6||Fuel injection#Multi-port fuel injection|MFI||OHV||Gen I/II Chevrolet 60° V6 (transversely mounted). '85 Chevy Citation, Buick Skylark,<br /> '85-'89 Chevy Cavalier, Celebrity, Pontiac 6000, '85-'88 Cadillac Cimarron,<br /> '85-'87 Oldsmobile Firenza, '86-'89 Cutlass Ciera, '87-'88 Buick Century, '87-'89 Chevy Corsica/Beretta, '88-'89 Pontiac Grand Prix, Oldsmobile Cutlass Supreme, Buick Regal |- |W||L64||3.1&nbsp;L||V6||Fuel injection#Multi-port fuel injection|MFI||OHV||Flex-fuel: Gas/M85 or Gas/E85 (2 versions). Gen II Chevrolet 60° V6. '93 Chevy Lumina VFV |- |W||L99||4.3&nbsp;L||V8||Fuel injection#Sequential Multi-port injection|SFI||OHV||Gen II Chevy Small-Block V8. '94-'96 Chevy Caprice. |- |W||LS3||6.2&nbsp;L||V8||Fuel injection#Sequential Multi-port injection|SFI||OHV||Gen IV Chevy Small-Block V8. Aluminum Block & Heads.<br /> '08-'13 Corvette, '10-'15 Camaro SS (man. trans.), '09 Pontiac G8 GXP, '14-'17 Chevy SS |- |W||LGY||3.0L||V6 Twin Turbo||Direct Injection|DI||DOHC,<br /> 24 valve||GM High Feature V6, 4th gen. VVT. Active Fuel Management. '20+ Cadillac CT5, CT5-V |- |X||LE2||2.8&nbsp;L||V6||2 Barrel Carburetor |2BBL||OHV||Chevrolet 60° V6 (transversely mounted). '81-'85 Chevy Citation, Buick Skylark,<br /> '81-'84 Pontiac Phoenix, Oldsmobile Omega, '82-'86 Chevy Celebrity, Pontiac 6000,<br /> '86 Oldsmobile Cutlass Ciera, Buick Century |- |X||LQ1||3.4&nbsp;L||V6||Fuel injection#Multi-port fuel injection|MPFI||DOHC,<br /> 24 valve||Chevrolet 60° V6 ("Twin Dual Cam V6"). '91-'97 Chevy Lumina, '95-'97 Chevy Monte Carlo,<br /> '91-'96 Pontiac Grand Prix, Oldsmobile Cutlass Supreme |- |X||LNF||2.0&nbsp;L||Straight-4|I4 Turbo||Direct Injection|DI||DOHC,<br /> 16 valve||GM Ecotec engine, Gen II. VVT.<br /> '07-'10 Pontiac Solstice GXP, Saturn Sky Red Line, '08-'10 Chevy Cobalt SS Turbo. |- |X||LTG||2.0&nbsp;L||Straight-4|I4 Turbo||Direct Injection|DI||DOHC,<br /> 16 valve||GM Ecotec engine, Gen III. VVT. '13-'22 Chevy Malibu, '13-'19 Cadillac ATS, '14-'20 Buick Regal,<br /> '14-'19 Cadillac CTS, '16-'23 Chevy Camaro, '16-'18 Cadillac CT6. |- |X||LTG||2.0&nbsp;L||Straight-4|I4 Turbo||Direct Injection|DI||DOHC,<br /> 16 valve||Plug-in hybrid. GM Ecotec engine, Gen III. VVT. '17-'18 Cadillac CT6 PHEV. (VIN starts with LRE) |- |Y||LV2||5.0&nbsp;L||V8||4 Barrel Carburetor |4BBL||OHV||Oldsmobile "Rocket" V8 (307 cu. in.) '86-'90 Chevy Caprice wagon, '87 Caprice sedan (Can.),<br /> '81 Pontiac Bonneville, Catalina, '86 Parisienne, '87-'89 Safari wagon, '81-'84 Oldsmobile 98,<br /> '81-'85 Delta 88, Toronado, '81-'90 Custom Cruiser, '81 Cutlass Cruiser, '82-'87 Cutlass Supreme,<br /> '88 Cutlass Supreme Classic, '81-'84 Buick Electra, '85-'89 Electra Estate wagon,<br /> '81-'85 LeSabre, Riviera, '86-'89 LeSabre Estate wagon, '90 Estate wagon, '86-'87 Regal,<br /> '86 Cadillac Fleetwood Brougham, '87-'90 Brougham |- |Y||LD8||4.6&nbsp;L||V8||Fuel injection#Sequential Multi-port injection|SFI||DOHC,<br /> 32 valve||Cadillac Northstar V8 (Torque tuned FWD) (Premium V). '93-'02 Cadillac Eldorado,<br /> '94-'04 Cadillac Seville SLS, '94-'05 Cadillac DeVille, '06-'11 Cadillac DTS,<br /> '04-'05 Pontiac Bonneville GXP, '06-'08 Buick Lucerne |- |Y||L76||6.0&nbsp;L||V8||Fuel injection#Sequential Multi-port fuel injection|SFI||OHV||Gen IV Chevy Small-Block V8. Aluminum Block & Heads. With Active Fuel Management.<br /> '08-'09 Pontiac G8 GT. |- |Y||LF1||3.0L||V6||Direct Injection|DI||DOHC,<br /> 24 valve||GM High Feature V6. VVT. 2011 Cadillac CTS |- |Y||LF4||3.6L||V6 Twin Turbo||Direct Injection|DI||DOHC,<br /> 24 valve||GM High Feature V6. Cadillac ATS-V '16-'19 |- |Z||LH7||2.8&nbsp;L||V6||2 Barrel Carburetor |2BBL||OHV||Chevrolet 60° V6 (transversely mounted). H.O. '81-'84 Chevy Citation, '82-'84 Pontiac Phoenix, Oldsmobile Omega ES, Buick Skylark, '83-'84 Pontiac 6000 STE, '84 Chevy Celebrity |- |Z||LB4||4.3L||V6||Fuel injection#Throttle Body injection|TBI||OHV||Chevrolet 90° V6 (Chevy Small-Block V8 Derived). '85 Chevy Impala, '85-'90 Caprice,<br /> '92-'93 Caprice 9C6 taxi, '85-'88 Monte Carlo, '85-'86 Pontiac Parisienne, '86-'87 Grand Prix,<br> '86 Bonneville. |- |Z||LAT||2.4L||I4||Fuel injection#Multi-port fuel injection|MFI||DOHC,<br /> 16 valve||Mild Hybrid. GM Ecotec Gen II. VVT. '10 Chevy Malibu Hybrid |- |Z||LUZ||2.0&nbsp;L||I4 Turbo||Direct injection <br /> Common-rail Diesel||DOHC,<br /> 16 valve||GM Family B Diesel (Based on Fiat JTD engine). Made by Opel in Kaiserslautern, Germany.<br /> Iron Block, Aluminum Heads. '14-'15 Chevy Cruze Diesel. |- |1||LC1||2.8&nbsp;L||V6||2 Barrel Carburetor |2BBL||OHV||Chevrolet 60° V6 (longitudinally mounted). '82-'84 Camaro/Firebird. |- |1||LL8||2.0&nbsp;L||I4||Fuel injection#Throttle Body injection|TBI||OHV||Chevrolet "122" engine. '87-'89 Chevy/Olds/Buick J-cars & Chevy L-cars. |- |1||L67||3.8&nbsp;L||V6 Supercharged||Fuel injection#Sequential Multi-port injection|SFI||OHV||Buick V6 (3800 Supercharged Series I). '91-'95 Buick Park Avenue Ultra,<br /> '92-'95 Pontiac Bonneville, Oldsmobile 98, '95 Buick Riviera, Oldsmobile LSS |- |1||L67||3.8&nbsp;L||V6 Supercharged||Fuel injection#Sequential Multi-port injection|SFI||OHV||Buick V6 (3800 Supercharged Series II). '96-'05 Buick Park Avenue Ultra,<br /> '96-'99 Buick Riviera, Oldsmobile LSS, '96-'03 Pontiac Bonneville, '97-'03 Grand Prix,<br /> '97-'04 Buick Regal, '04-'05 Chevy Impala SS, Monte Carlo SS Supercharged |- |1||LZ9||3.9L||V6||Fuel injection#Sequential Multi-port injection|SFI||OHV||GM High Value 60° V6. VVT.<br /> '06-'07 Chevy Malibu SS, '06-'09 Pontiac G6, '06 Chevy Monte Carlo, Impala, '09-'10 Buick Lucerne |- |1||2H0||1.8&nbsp;L||Straight-4|I4||Fuel injection#Sequential Multi-port fuel injection|SFI||DOHC,<br /> 16 valve||GM Family 1 engine, Gen III. VVT. Made in Szentgotthárd, Hungary. '08 (& '09 in Canada) Saturn Astra |- |1||LE5||2.4&nbsp;L||Straight-4|I4||Fuel injection#Multi-port fuel injection|MFI||DOHC,<br /> 16 valve||GM Ecotec Gen II. VVT. '11 & some '12 Chevy Malibu w/LE5 engine. |- |2||LQ9||2.5L||I4||Fuel injection#Throttle Body injection|TBI||OHV||Pontiac Iron Duke/Tech IV engine. Longitudinally mounted. '82-'85 Camaro/Firebird. |- |2||LS3||1.0&nbsp;L||Straight-3|I3 Turbo||Fuel injection#Multi-port fuel injection|MFI||SOHC,<br /> 6 valve ||Suzuki G10T engine. '87-'88 Chevrolet Sprint Turbo |- |2||LY8||1.3&nbsp;L||Straight-4|I4||Fuel injection#Multi-port fuel injection|MFI||SOHC,<br /> 16 valve||Suzuki G13BB engine. '98-'01 Chevrolet Metro |- |2||L26||3.8&nbsp;L||V6||Fuel injection#Sequential Multi-port injection|SFI||OHV||Buick V6 (3800 Series III). '04-'08 Pontiac Grand Prix, '05-'09 Buick LaCrosse, '06-'08 Buick Lucerne |- |2||L77||6.0&nbsp;L||V8||Fuel injection#Sequential Multi-port fuel injection|SFI||OHV||Gen IV Chevy Small-Block V8. Aluminum Block & Heads. With Active Fuel Management.<br /> E85 Flex Fuel. '11-'17 Chevy Caprice PPV. |- |3||LC8||3.8&nbsp;L||V6|V6 Turbo||4 Barrel Carburetor |4BBL||OHV||Buick V6. 231 cu. in. '81-'82 Buick Regal, Riviera, '81 Chevy Monte Carlo. |- |3||LG3||3.8&nbsp;L||V6||Fuel injection#(Sequential) Multi-port injection|MFI/SFI||OHV||Buick V6. '84-'88 Oldsmobile Cutlass Ciera, Buick Century, '85 & '87 Oldsmobile 98, Buick Electra,<br /> '86-'88 Oldsmobile Delta 88, Buick LeSabre, '87 Oldsmobile Toronado, Buick Riviera,<br /> '87-'88 Pontiac Bonneville. |- |3||LW2||4.5&nbsp;L||V8||Fuel injection#Multi-port fuel injection|MFI||OHV||Cadillac High Technology V8. '90 Cadillac DeVille/Fleetwood/Sixty Special/Eldorado/Seville. |- |3||L40||2.3&nbsp;L||Straight-4|I4||Fuel injection#Multi-port fuel injection|MFI||SOHC,<br /> 8 valve||Oldsmobile Quad 4 ("Quad OHC"). '92-'94 Pontiac Grand Am, Oldsmobile Achieva, Buick Skylark |- |3||LZG||3.9L||V6||Fuel injection#Sequential Multi Port Fuel injection|SFI||OHV||E85 Flex Fuel. GM High Value 60° V6. VVT. Active Fuel Management. '08 Chevy Impala |- |3||LFX||3.6L||V6||Direct Injection|DI||DOHC,<br /> 24 valve||GM High Feature V6. VVT. E85 Flex Fuel.<br /> '12-'16 Buick LaCrosse, '12-'15 Chevrolet Camaro, Cadillac CTS, '12-'17 Chevrolet Caprice PPV,<br /> '12-'20 Chevrolet Impala, '14-'16 Chevrolet Impala Limited, '13-'15 Cadillac ATS, '13-'19 Cadillac XTS |- |3||LT6||5.5&nbsp;L||V8||Direct injection|DI||DOHC,<br /> 32 valve||Chevrolet Gemini Small-Block V8. Aluminum Block & Heads. Flat-plane crank. VVT.<br /> For mid-engine C8 Corvette Z06 '23+. |- |4||LC4||4.1&nbsp;L||V6|V6||4 Barrel Carburetor |4BBL||OHV||Buick V6. '81-'84 Buick LeSabre, Electra, Riviera, Oldsmobile Toronado, '81-'82 Cadillac DeVille, Fleetwood Brougham, Eldorado, Seville, '81-'83 Oldsmobile 98, '82-'84 Buick Regal,<br /> '82 Pontiac Grand Prix, Bonneville G |- |4||LC9||1.6&nbsp;L||Straight-4|I4||2 Barrel Carburetor |2BBL||SOHC,<br /> 8 valve||Toyota 4A-C engine. '85-'88 Chevy Nova |- |4||LN2||2.2&nbsp;L||Straight-4|I4||Fuel injection#(Sequential) Multi-port injection|MPI/SFI||OHV||Chevrolet "122" engine. '92-'02 Cavalier, '95-'02 Sunfire, '92-'96 Corsica/Beretta, '93 Lumina,<br /> '93-'96 Cutlass Ciera, Century. |- |4||L32||3.8&nbsp;L||V6 Supercharged||Fuel injection#Sequential Multi-port injection|SFI||OHV||Buick V6 (3800 Supercharged Series III). '04-'07 Pontiac Grand Prix |- |4||LUU||1.4L||I4||Fuel injection#Sequential Multi-port fuel injection|SFI||DOHC,<br /> 16 valve||GM Family 0 Engine, Gen III. VVT. ([[w:EREV|Range extender]]). Early production engines were made in Aspern, Austria; later made in Flint, MI. '11-'15 Chevy Volt, '14 & '16 Cadillac ELR. |- |4||LT2||6.2&nbsp;L||V8||Direct injection|DI||OHV||Gen V Chevy Small-Block V8. Aluminum Block & Heads. Active Fuel Management. VVT.<br /> For mid-engine C8 Corvette Stingray '20+. |- |4||LT2||6.2&nbsp;L||V8||Direct injection|DI||OHV||Full Hybrid. Gen V Chevy Small-Block V8. Aluminum Block & Heads. Active Fuel Management. VVT.<br /> For mid-engine C8 Corvette E-Ray '24+. |- |5||LW9||2.5L||I4||2 Barrel Carburetor |2BBL||OHV||Pontiac Iron Duke engine. '81 Chevy Citation, Pontiac Phoenix, Oldsmobile Omega, Buick Skylark. |- |5||LR6||4.5&nbsp;L||V8||Fuel injection#Throttle Body injection|TBI (DFI)||OHV||Cadillac High Technology V8. '88-'89 Cadillac DeVille/Fleetwood/Sixty Special/Eldorado/Seville. |- |5||LY9||1.0&nbsp;L||Straight-3|I3||2BBL||SOHC,<br /> 6 valve ||Suzuki G10A engine. '86 Chevrolet Sprint |- |5||LM9||1.0&nbsp;L||Straight-3|I3||2BBL||SOHC,<br /> 6 valve ||Suzuki G10A engine. '87-'88 Chevrolet Sprint |- |5||LW0||1.6&nbsp;L||Straight-4|I4||Fuel injection#Multi-port fuel injection|MFI||DOHC,<br /> 16 valve||Toyota 4A-GE engine. '88 Chevy Nova Twin Cam, '90-'92 Geo Prizm GSi |- |5||LW0||1.6&nbsp;L||Straight-4|I4||Fuel injection#Multi-port fuel injection|MFI||DOHC,<br /> 16 valve||Isuzu 4XE1-UW engine. '90-'91 Geo Storm GSi |- |5||LT4||5.7&nbsp;L||V8||Fuel injection#Sequential Multi-port injection|SFI||OHV||Gen II Chevy Small-Block V8. '96 Corvette (man. trans.) |- |5||LAT||2.4L||I4||Fuel injection#Multi-port fuel injection|MFI||DOHC,<br /> 16 valve||Mild Hybrid. GM Ecotec Gen II. VVT. '07-'09 Saturn Aura Green Line, '08-'09 Chevy Malibu Hybrid |- |5||LAP||2.2&nbsp;L||Straight-4|I4||Fuel injection#Multi-port fuel injection|MFI||DOHC,<br /> 16 valve||GM Ecotec Gen II. VVT. '10 Chevy Cobalt. |- |5||LFW||3.0L||V6||Direct Injection|DI||DOHC,<br /> 24 valve||GM High Feature V6. VVT. '12-'13 Cadillac CTS, '14 CTS wagon |- |5||L3A||1.5L||I4||Direct Injection|DI||DOHC,<br /> 16 valve||GM Small Gasoline Engine. VVT. ([[w:EREV|Range extender]]). '16-'19 Chevy Volt. |- |5||LWC||1.6L||I4 Turbo||Direct Injection|DI||DOHC,<br /> 16 valve||GM Medium Gasoline Engine, H.O. VVT. Made in Szentgotthárd, Hungary. '16-'19 Buick Cascada |- |5||LS6||6.7&nbsp;L||V8||Port/Direct injection||OHV||Gen VI Chevy Small-Block V8. Aluminum Block & Heads. Active Fuel Management. VVT.<br /> For mid-engine C8 Corvette Stingray, Grand Sport '27+. |- |5||LS6||6.7&nbsp;L||V8||Port/Direct injection||OHV||Full Hybrid. Gen VI Chevy Small-Block V8. Aluminum Block & Heads. Active Fuel Management. VVT.<br /> For mid-engine C8 Corvette Grand Sport X '27+. |- |6||L81||5.7&nbsp;L||V8||4 Barrel Carburetor |4BBL||OHV||Gen I Chevy Small-Block V8. '81 Corvette |- |6||LM1||5.7&nbsp;L||V8||4 Barrel Carburetor |4BBL||OHV||Gen I Chevy Small-Block V8. '83-'85 Impala 9C1 Police, '86-'88 Caprice 9C1 Police |- |6||L73||1.6&nbsp;L||Straight-4|I4||Fuel injection#Throttle Body injection|TBI||SOHC,<br /> 8 valve||GM Family 1 engine. Made in South Korea by Daewoo. '88-'93 Pontiac LeMans |- |6||LP2||1.0&nbsp;L||Straight-3|I3||Fuel injection#Throttle Body injection|TBI||SOHC,<br /> 6 valve ||Suzuki G10A engine. '89-'97 Geo Metro, '98-'00 Chevrolet Metro |- |6||L01||1.6&nbsp;L||Straight-4|I4||Fuel injection#Multi-port fuel injection|MFI||DOHC,<br /> 16 valve||Toyota 4A-FE engine. '89-'97 Geo Prizm base/LSi |- |6||L01||1.6&nbsp;L||Straight-4|I4||Fuel injection#Multi-port fuel injection|MFI||SOHC,<br /> 12 valve||Isuzu 4XE1-V engine. '90-'93 Geo Storm (base model) |- |6||L42||2.2&nbsp;L||Straight-4|I4||Fuel injection#Multi-port fuel injection|MFI||DOHC,<br /> 16 valve||GM Ecotec Gen I (Bi-Fuel Gas/CNG). '03-'04 Chevy Cavalier |- |6||L91||1.6&nbsp;L||Straight-4|I4||Fuel injection#Multi-port fuel injection|MFI||DOHC,<br /> 16 valve||E-TEC II. '04-'07 Chevy Aveo |- |6||LXT||1.6&nbsp;L||Straight-4|I4||Fuel injection#Multi-port fuel injection|MFI||DOHC,<br /> 16 valve||E-TEC II. '08 Chevy Aveo |- |6||LGW||3.0L||V6 Twin Turbo||Direct Injection|DI||DOHC,<br /> 24 valve||GM High Feature V6, 4th gen. VVT. Active Fuel Management. '16-'19 Cadillac CT6 |- |6||LT4||6.2&nbsp;L||V8 Supercharged||Direct injection|DI||OHV||Gen V Chevy Small-Block V8. Aluminum Block & Heads. With Active Fuel Management. VVT.<br /> '15-'19 Corvette Z06, '17-'24 Camaro ZL1, '16-'19 Cadillac CTS V-Series,<br /> '22+ Cadillac CT5-V Blackwing |- |7||LU5||5.0&nbsp;L||V8||Cross-Fire fuel injection|CFI||OHV||Gen I Chevy Small-Block V8. (305 cu. in.) '82 Camaro, Firebird. Dual throttle-body fuel injection. |- |7||L69||5.0&nbsp;L||V8||4 Barrel Quadrajet Carburetor |4BBL||OHV||Gen I Chevy Small-Block V8 (High Output 5.0L). (305 cu. in.). '83 F-cars, '83 Chevy Monte Carlo SS |- |7||LC5||1.5&nbsp;L||I4||2 Barrel Carburetor |2BBL||SOHC,<br /> 8 valve||Isuzu 4XC1 engine. '86-'88 Chevrolet Spectrum, '89 Geo Spectrum. |- |7||LC2||3.8&nbsp;L||V6|V6 Turbo||Fuel injection#Sequential multi-port injection|SFI||OHV||Intercooled. Buick V6. '86-'87 Buick Regal. '89 Pontiac 20th Anniversary Turbo Trans Am |- |7||LC7||4.1&nbsp;L||V8||Fuel injection#Multi-port fuel injection|MFI||OHV||Cadillac High Technology V8. '87-'88 Cadillac Allante. |- |7||L05||5.7&nbsp;L||V8||Fuel injection#Throttle Body injection|TBI||OHV||Gen I Chevy Small-Block V8. '89-'93 Chevy Caprice (police only for '89-'91),<br /> '92-'93 Buick Roadmaster, '92 Oldsmobile Custom Cruiser, '90-'92 Cadillac Brougham, '93 Fleetwood. |- |7||LL0||1.9&nbsp;L||Straight-4|I4||Fuel injection#Multi-port injection|MFI||DOHC,<br /> 16 valve||Saturn I4 engine. '91-'02 Saturn S-Series |- |7||LY7||3.6&nbsp;L||V6||Fuel injection#Sequential Multi-port injection|SFI||DOHC,<br /> 24 valve||GM High Feature V6. VVT. '04-'09 Cadillac CTS, '05-'07 STS, '05-'08 Buick LaCrosse,<br /> '07-'09 Pontiac G6, Saturn Aura, '08-'09 Pontiac G8, '08-'12 Chevy Malibu |- |7||LT1||6.2&nbsp;L||V8||Direct injection|DI||OHV||Gen V Chevy Small-Block V8. Aluminum Block & Heads. With Active Fuel Management. VVT.<br /> '14-'19 Corvette, '16-'24 Camaro SS |- |7||LT7||5.5&nbsp;L||V8 Twin Turbo||Port/Direct injection||DOHC,<br /> 32 valve||Chevrolet Gemini Small-Block V8. Aluminum Block & Heads. Flat-plane crank. VVT.<br /> For mid-engine C8 Corvette ZR1 '25+. (1,064 hp) |- |7||LT7||5.5&nbsp;L||V8 Twin Turbo||Port/Direct injection||DOHC,<br /> 32 valve||Full Hybrid. Chevrolet Gemini Small-Block V8. Aluminum Block & Heads. Flat-plane crank. VVT.<br /> For mid-engine C8 Corvette ZR1X '26+. (1,250 hp) |- |8||LV8||4.3&nbsp;L||V8||2 Barrel Carburetor |2BBL||OHV||Oldsmobile "Rocket" V8 (260 cu. in.) '82 Oldsmobile Cutlass, Delta 88. |- |8||LT8||4.1&nbsp;L||V8||Fuel injection#Throttle Body injection|TBI (DFI)||OHV||Cadillac High Technology V8. '82-'87 Cadillac DeVille, Eldorado, Seville, '82-'85 Fleetwood Brougham, '85-'87 Fleetwood, '87 Fleetwood Sixty Special. |- |8||LC8||3.8&nbsp;L||V6|V6 Turbo||4 Barrel Carburetor |4BBL||OHV||Buick V6. '83 Buick Regal, Riviera. |- |8||L83||5.7&nbsp;L||V8||Cross-Fire fuel injection|CFI||OHV||Gen I Chevy Small-Block V8. '82, '84 Corvette. Dual throttle-body fuel injection. 1st fuel injected Corvette since 1965. |- |8||L98||5.7&nbsp;L||V8||Tuned-port fuel injection|TPI||OHV||Gen I Chevy Small-Block V8. '85-'91 Corvette, '87-'92 Chevy Camaro, Pontiac Firebird. |- |8||LQ6||4.5&nbsp;L||V8||Fuel injection#Multi-port fuel injection|MFI||OHV||Cadillac High Technology V8. '89-'92 Cadillac Allante. |- |8||L24||1.9&nbsp;L||Straight-4|I4||Fuel injection#Multi-port injection|MFI||SOHC,<br /> 8 valve||Saturn I4 engine. '95-'02 Saturn S-Series |- |8||LX9||3.5&nbsp;L||V6||Fuel injection#Sequential Multi-port injection|SFI||OHV||GM High Value 60° V6. 3498cc. '04-'06 Chevy Malibu, '05-'06 Pontiac G6 |- |8||LF3||3.6L||V6 Twin Turbo||Direct Injection|DI||DOHC,<br /> 24 valve||GM High Feature V6. '14-'19 Cadillac CTS V-Sport, XTS V-Sport |- |8||LV6||1.8&nbsp;L||Straight-4|I4||Fuel injection#Multi-port fuel injection|MFI||DOHC,<br /> 16 valve||Isuzu 4XF1 engine. '92-'93 Geo Storm GSi. |- |8||LV6||1.8&nbsp;L||Straight-4|I4||Fuel injection#Multi-port fuel injection|MFI||DOHC,<br /> 16 valve||Toyota 7A-FE engine. '93-'97 Geo Prizm |- |8||LV6||1.8&nbsp;L||Straight-4|I4||Fuel injection#Multi-port fuel injection|MFI||DOHC,<br /> 16 valve||Toyota 1ZZ-FE engine. VVT-i from '00. '98-'02 Chevrolet Prizm, '03-'08 Pontiac Vibe |- |8||LAY||1.8&nbsp;L||Straight-4|I4||Fuel injection#Sequential multi-port injection|SFI||DOHC,<br /> 16 valve||Toyota 2ZR-FE engine. Dual VVT-i. '09-'10 Pontiac Vibe |- |9||L17||1.6&nbsp;L||Straight-4|I4||2 Barrel Carburetor |2BBL||SOHC,<br /> 8 valve||Isuzu G161Z engine made by GM in US. '81 Chevy Chevette, Pontiac T1000 |- |9||L62||6.0&nbsp;L||V8||Fuel injection#Throttle Body injection|TBI (DFI)||OHV||Cadillac 472-series V8 engine family. V8-6-4 cylinder deactivation.<br /> '81 Cadillacs, '82-'84 Fleetwood Limousine. |- |9||LC3||3.8&nbsp;L||V6||2 Barrel Carburetor |2BBL||OHV||Chevrolet 90° V6 (Chevy Small-Block V8 Derived). 229 cu. in. <br /> '83 Malibu, '83-'84 Monte Carlo, Impala, Caprice, '83 Pontiac Parisienne. |- |9||LG8||5.0&nbsp;L||V8||4 Barrel Carburetor |4BBL||OHV||Oldsmobile "Rocket" V8 (307 cu. in.) H.O. '83-'84 Hurst/Olds, '85-'87 Oldsmobile Cutlass 442 |- |9||LM9||3.8&nbsp;L||V6|V6 Turbo||Fuel injection#Sequential multi-port injection|SFI||OHV||Buick V6. '84-'85 Buick Regal, Riviera. |- |9||L44||2.8&nbsp;L||V6||Fuel injection#Multi-port fuel injection|MFI||OHV||Chevrolet 60° V6 (transversely mounted). H.O. '85-'88 Pontiac Fiero |- |9||LC0||1.5&nbsp;L||I4 Turbo||Fuel injection#Multi-port fuel injection|MFI||SOHC,<br /> 8 valve||Isuzu 4XC1-T engine. '87-'88 Chevrolet Spectrum Turbo |- |9||LK0||1.9&nbsp;L||Straight-4|I4||Fuel injection#Throttle Body injection|TBI||SOHC,<br /> 8 valve||Saturn I4 engine. '91-'94 Saturn S-Series |- |9||L37||4.6&nbsp;L||V8||Fuel injection#Sequential Multi-port injection|SFI||DOHC,<br /> 32 valve||Cadillac Northstar V8 (H.O. FWD) (Premium V). '93 Cadillac Allanté,<br /> '93-'02 Cadillac Eldorado Touring Coupe, '93-'04 Cadillac Seville STS, '96-'05 Cadillac DeVille,<br /> '06-'11 Cadillac DTS, '08-'11 Buick Lucerne Super |- |9||L72||1.3&nbsp;L||Straight-4|I4||Fuel injection#Throttle Body injection|TBI||SOHC,<br /> 8 valve ||Suzuki G13BA engine. '95-'97 Geo Metro |- |9||LUJ||1.4L||I4 Turbo||Fuel injection#Sequential Multi-port fuel injection|SFI||DOHC,<br /> 16 valve||GM Family 0 Engine, Gen III. VVT. Early production engines were made in Aspern, Austria; later made in Flint, MI. '11 Chevy Cruze |- |9||LL0||1.2&nbsp;L||Straight-4|I4||Fuel injection#Multi-port fuel injection|MFI||DOHC,<br /> 16 valve||Daewoo S-TEC II engine (1249 cc). VVT. Made in Changwon, S. Korea. '13-'15 Chevy Spark. |- |9||LT5||6.2&nbsp;L||V8 Supercharged||Port/Direct injection||OHV||Gen V Chevy Small-Block V8. Aluminum Block & Heads. VVT. '19 Corvette ZR1. |- |0||LH8||1.8&nbsp;L||Straight-4|I4||Fuel injection#Throttle Body injection|TBI||SOHC,<br /> 8 valve||GM Family II engine. Made in Brazil.<br /> '82-'86 Pontiac J2000/2000/Sunbird, Oldsmobile Firenza, Buick Skyhawk. |- |0||LAX||2.4&nbsp;L||Straight-4|I4||Fuel injection#Sequential multi-port injection|SFI||DOHC,<br /> 16 valve||Toyota 2AZ-FE engine. VVT-i. '09-'10 Pontiac Vibe |- |0||LE9||2.4&nbsp;L||Straight-4|I4||Fuel injection#Multi-port fuel injection|MFI||DOHC,<br /> 16 valve||GM Ecotec Gen II. E85 Flex-Fuel. 2010 Chevy Malibu. |- |0||LE5||2.4&nbsp;L||Straight-4|I4||Fuel injection#Multi-port fuel injection|MFI||DOHC,<br /> 16 valve||GM Ecotec Gen II. VVT. Most '12 Chevy Malibu w/LE5 engine. |} H.O.=High Output, CNG=Compressed Natural Gas, VVT=Variable Valve Timing, VVL=Variable Valve Lift ====Motor codes for electric passenger cars==== {| class="wikitable" |- ! VIN !! RPO !! Fuel !! Drive Wheels !! Application/Notes |- | 5 ||LN1|| Electricity || Front || '97, '99 General Motors EV1 |- | 0 ||EN0|| Electricity || Front || '14-'16 Chevrolet Spark EV |- | 0 ||EN0|| Electricity || Front || '17-'23 Chevrolet Bolt EV |- | 0 ||EN0|| Electricity || Front || '22-'23 Chevrolet Bolt EUV |- |} ====Motor codes for LFP-powered electric passenger cars==== {| class="wikitable" |- ! VIN !! Motor <br /> RPO code !! # of Motors !! Battery Pack <br /> RPO code !! Fuel !! Drive Wheels !! Application/Notes |- |- | V ||P9D (HPB)|| 1 || EJW || Electricity || Front || '27 Chevrolet Bolt |} LFP=Lithium Iron Phosphate ====Motor codes for Ultium-powered electric passenger cars==== {| class="wikitable" |- ! VIN !! Motor <br /> RPO code !! # of Motors !! Battery Module <br /> RPO code !! # of Modules !! Fuel !! Drive Wheels !! Application/Notes |- |- | 1 ||X0E|| 2 || EXN || 16 || Electricity || All || '25- Cadillac Celestiq |- | 2 ||X0E|| 2 || EHT || 16 || Electricity || All || '25- Cadillac Celestiq <br> (Battery Module RPO code EHT is Configuration B) |} ====Engine codes for light trucks==== GM encodes the engine type in character 8 of the VIN. The following table outlines the various engines encoded there: {| class="wikitable" |- ! VIN !! RPO !! Size !! Type !! Fuel !! Valvetrain !! Engine Family/Notes/Applications |- | A ||LD5|| 3.8L || V6 || Gas ||OHV||2-bbl carb. Buick V6. (231 cu. in.) '81-'84 Chevy El Camino, GMC Caballero (CA emissions). |- | A ||LR1|| 1.9L || I4 || Gas ||SOHC,<br /> 8 valve||2-bbl carb. Isuzu G200 engine imported from Japan.<br /> '82-'85 Chevy S-10/GMC S-15, '83-'85 Chevy S-10 Blazer/GMC S-15 Jimmy |- | A ||L38|| 2.5L || I4 || Gas ||OHV||TBI. Pontiac Iron Duke/Tech IV engine. '91-'93 Chevy S-10/GMC Sonoma. |- | A ||LH2|| 4.6L || V8 || Gas ||DOHC,<br /> 32 valve||Cadillac Northstar V8 (For RWD) (Premium V). '04-'09 Cadillac SRX |- | A ||L20|| 4.8L || V8 || Gas/E85 ||OHV|| Flex Fuel. SFI. Gen IV Chevrolet Small-Block V8. Iron Block/Aluminum Heads. VVT.<br /> '10-'13 GMT900 pickups, '10-'14 Express/Savana |- | A ||LCV|| 2.5L || I4 || Gas ||DOHC,<br /> 16 valve||GM Ecotec engine, Gen III. Direct Injection. VVT. '15-'22 Chevy Colorado, GMC Canyon,<br /> '17-'20 Buick Envision, '17-'21 GMC Acadia, '19-'21 Chevy Blazer |- | B ||LR2|| 2.8L || V6 || Gas ||OHV||2-bbl carb. Chevrolet 60° V6.<br /> '82-'85 Chevy S-10/GMC S-15, '83-'85 Chevy S-10 Blazer/GMC S-15 Jimmy |- | B ||LU2|| 4.3L || V6 || Gas ||OHV|| TBI. Chevrolet 90° V6 (Chevy Small-Block V8 Derived). '90-'91 Astro/Safari higher output engine option. |- | B ||L81|| 3.0L || V6 || Gas ||DOHC,<br /> 24 valve||Opel 54° V6 engine (Made in the UK). '02-'03 Saturn Vue |- | B ||L33|| 5.3L || V8 || Gas ||OHV|| Gen III Chevrolet Small-Block V8. Vortec 5300 H.O. 310hp. Aluminum Block & Heads.<br /> '05-'07 Silverado/Sierra 1500 4wd ext. cab short bed. |- | B ||LE8|| 2.2L || I4 || Gas/E85 ||DOHC,<br /> 16 valve||Flex-Fuel. GM Ecotec Gen II. VVT. '09-'10 Chevy HHR |- | B ||LC8|| 6.0L || V8 || Gas/CNG ||OHV||Bi-Fuel (Also Gas/LPG in Express/Savana). SFI. Gen IV Chevrolet Small-Block V8. Iron Block & Aluminum Heads. VVT. '11-'20 Express/Savana, '13-'19 Silverado HD/Sierra HD. |- | B ||LUV|| 1.4L ||I4 Turbo|| Gas ||DOHC,<br /> 16 valve||GM Family 0 Engine, Gen III. SFI. VVT.<br /> '13-'21 Buick Encore, '15-'21 Chevy Trax (also '13-'14 Trax in Canada) |- | C ||LH6|| 6.2L || V8 || Diesel ||OHV||Detroit Diesel V8. For sub-8,500 lb. GVWR trucks '82-'93. '82-'86 C/K pickups, '87 R/V pickups,<br /> '88-'93 C/K, Sierra pickups, '82-'91 Blazer/Jimmy, Suburban, '83-'93 full-size vans |- | C ||L34|| 2.0L || I4 || Gas ||DOHC,<br /> 16 valve||Suzuki J20A engine. MFI. '99-'03 Chevrolet Tracker |- | C ||LY2|| 4.8L || V8 || Gas ||OHV||SFI. Gen IV Chevrolet Small-Block V8. Iron Block/Aluminum Heads.<br /> '07-'09 GMT900 pickups, '07-'09 Tahoe/Yukon, '08-'09 Express/Savana |- | C ||LAF|| 2.4L || I4 || Gas ||DOHC,<br /> 16 valve||GM Ecotec engine, Gen II. Direct Injection. VVT. Chevy Equinox, GMC Terrain '11. |- | C ||L83|| 5.3L || V8 || Gas/E85 ||OHV|| Flex Fuel. Gen V Chevrolet Small-Block V8 (EcoTec3). Direct injection, VVT. Active Fuel Management<br /> '14-'19 K2XX pickups, '15-'20 K2XX SUVs. |- | C ||L2R|| 2.7L ||I4 Turbo||| Gas ||DOHC,<br /> 16 valve||GM L3B Tripower engine ("TurboMax") - Detuned version. Direct Injection. VVT, VVL. Active Fuel Management. '23-'24 Chevy Colorado. |- | D ||LE3|| 4.1L || I6 || Gas ||OHV||2-bbl carb. Chevrolet Turbo-Thrift I6.<br /> '81-'84 Chevy/GMC C/K pickups, full-size vans, '81-'82 Blazer/Jimmy |- | D ||LG6|| 3.1L || V6 || Gas ||OHV||TBI. Chevrolet 60° V6. '90-'95 U-body minivans. |- | D ||L61|| 2.2L || I4 || Gas ||DOHC,<br /> 16 valve||GM Ecotec Gen I. '02-'07 Saturn Vue, '06 Chevy HHR. |- | D ||L61|| 2.2L || I4 || Gas ||DOHC,<br /> 16 valve||GM Ecotec Gen II. '07-'08 Chevy HHR. |- | D ||LLT|| 3.6L || V6 || Gas ||DOHC,<br /> 24 valve||GM High Feature V6. Direct Injection. '09-'16 GMC Acadia, '17 GMC Acadia Limited,<br /> '09-'17 Chevrolet Traverse, Buick Enclave, '09-'10 Saturn Outlook |- | D ||LBZ|| 6.6L || V8 Turbo || Diesel ||OHV,<br /> 32 valve||Duramax 6600 V8 engine.<br /> Mid '06 Silverado HD/Sierra HD & '07 Silverado Classic HD/Sierra Classic HD |- | D ||L84|| 5.3L || V8 || Gas/E85 ||OHV|| Gen V Chevrolet Small-Block V8 (EcoTec3). Direct injection, VVT. With Dynamic Fuel Management<br /> '19+ Chevy/GMC Silverado 1500/Sierra 1500, '21+ Tahoe/Yukon, Suburban/Yukon XL. |- | E ||LN8|| 2.5L || I4 || Gas ||OHV||TBI. Pontiac Iron Duke/Tech IV engine.<br /> '85-'90 Chevy/GMC S-10/S-15, Astro/Safari Cargo Van, '85-'88 S-10 Blazer/S-15 Jimmy. |- | E ||LLR|| 3.7L || I5 || Gas ||DOHC,<br /> 20 valve||Atlas I5. SFI. VVT.<br /> '07-'12 Colorado/Canyon, '07-'08 Isuzu i-370, '07-'10 Hummer H3, '09-'10 Hummer H3T |- | E ||LA1|| 3.4L || V6 || Gas ||OHV||Chevrolet 60° V6. '96 GMT199 (U-body) minivans, '97-'05 GMT200 (U-body) minivans,<br /> '01-'05 Pontiac Aztek, '02-'05 Buick Rendezvous |- | F ||LF3|| 5.0L || V8 || Gas ||OHV|| 4-bbl carb. Gen I Chevrolet Small-Block V8. '81-'86 C/K, full-size vans, '81-'82 Blazer/Jimmy.<br /> CA emissions version of LE9 5.0 V8. |- | F ||L65|| 6.5L || V8 Turbo || Diesel ||OHV||Detroit Diesel V8. For over-8,500 lb. GVWR Chevy C/K, GMC Sierra trucks '92-'02,<br /> Chevy/GMC Suburban 1500/2500 '94-'99, over-8,500 lb. GVWR Express/Savana '96-'02 |- | F ||LNJ|| 3.4L || V6 || Gas ||OHV||Chevrolet 60° V6. Made in China by SAIC-GM. '05-'09 Chevy Equinox, '06-'09 Pontiac Torrent. |- | F ||L94|| 6.2L || V8 || Gas/E85 ||OHV||Flex-Fuel. Gen IV Chevrolet Small-Block V8. Aluminum Block & Heads. SFI. VVT. Active Fuel Management. '10-'14 GMC Yukon Denali/Yukon XL Denali, Cadillac Escalade/Escalade ESV. |- | F ||L20|| 4.8L || V8 || Gas/E85 ||OHV|| Flex Fuel. SFI. Gen IV Chevrolet Small-Block V8. Iron Block/Aluminum Heads. VVT.<br /> '15-'17 Express/Savana |- | F ||L82|| 5.3L || V8 || Gas ||OHV|| Gen V Chevrolet Small-Block V8 (EcoTec3). Direct injection, VVT. With Active Fuel Management<br /> '19-'21 Chevy Silverado 1500, GMC Sierra 1500 (T1XX). |- | G ||LG9|| 5.0L || V8 || Gas ||OHV|| 2-bbl carb. Gen I Chevrolet Small-Block V8. '81 Chevy/GMC C/K pickups, Blazer/Jimmy, full-size van |- | G ||L18|| 8.1L || V8 || Gas ||OHV||MFI. Vortec 8100. Gen VII Chevrolet Big-Block V8. '01-'02 C3500HD, '01-'06 Silverado HD/Sierra HD, '07 Silverado Classic HD/Sierra Classic HD, '01-'06 Suburban/Yukon XL 2500, '02-'06 Avalanche 2500, '01-'02 Express/Savana |- | G ||L96|| 6.0L || V8 || Gas/E85 ||OHV||Flex Fuel. SFI. Gen IV Chevrolet Small-Block V8. Iron Block & Aluminum Heads. VVT.<br /> '10-'19 Silverado HD/Sierra HD, '10-'13 Suburban 2500/Yukon XL 2500, '16-'19 Suburban 3500,<br /> '10-'20 Express/Savana. |- | G ||LSD|| 1.5L || I4 Turbo || Gas ||DOHC,<br /> 16 valve||GM Small Gasoline Engine. Direct Injection. VVT. '23+ Chevy Equinox, GMC Terrain |- | H ||LG4|| 5.0L || V8 || Gas ||OHV||4-bbl carb. Gen I Chevy Small-Block V8. (305 cu. in.) '81-'87 Chevy El Camino, GMC Caballero. |- | H ||LE9|| 5.0L || V8 || Gas ||OHV|| 4-bbl carb. Gen I Chevrolet Small-Block V8. '81-'86 C/K pickups, Blazer/Jimmy, Suburban, full-size vans |- | H ||L03|| 5.0L || V8 || Gas ||OHV|| TBI. Gen I Chevrolet Small-Block V8. '87 R/V pickups, '88-'95 C/K, Sierra pickups, '87-'95 full-size vans, '87 Blazer/Jimmy, Suburban. |- | H ||LN2|| 2.2L || I4 || Gas ||OHV||SFI. Chevrolet "122" engine. '03 Chevy S-10/GMC Sonoma |- | H ||LS2|| 6.0L || V8 || Gas ||OHV||SFI. Gen IV Chevy Small-Block V8. Chevy SSR '05-'06, Trailblazer SS '06-'09, Saab 9-7X Aero '08-'09. |- | H ||LV3|| 4.3L || V6 || Gas/E85 ||OHV||Flex Fuel. Chevrolet 90° V6 - Gen V Chevrolet Small-Block V6 (EcoTec3). Direct injection, VVT. Active Fuel Management. '14-'21 Chevy Silverado 1500/GMC Sierra 1500. |- | J ||L39|| 4.4L || V8 || Gas ||OHV||2-bbl carb. Gen I Chevy Small-Block V8 (267 cu. in.) '81-82 Chevy El Camino, GMC Caballero. |- | J ||LL4|| 6.2L || V8 || Diesel ||OHV||Detroit Diesel V8. For over-8,500 lb. GVWR trucks '82-'93. '82-'86 C/K pickups, '87-'91 R/V pickups,<br /> '88-'93 C/K, Sierra pickups, '82-'91 Blazer/Jimmy, Suburban, '83-'93 full-size vans |- | J ||L29|| 7.4L || V8 || Gas ||OHV|| MFI. Vortec 7400. Gen VI Chevrolet Big-Block V8.<br /> '96-'00 C/K, Sierra pickups, Express/Savana, '96-'99 Suburban 2500 |- | J ||LY5|| 5.3L || V8 || Gas ||OHV||SFI. Gen IV Chevrolet Small-Block V8. Active Fuel Management. Iron Block & Aluminum Heads.<br /> '07-'09 Silverado/Sierra 1500, Tahoe/Yukon, Suburban/Yukon XL 1500, Avalanche |- | J ||LZ1|| 6.0L || V8 || Gas ||OHV||2-Mode Hybrid. Gen IV Chevrolet Small-Block V8. Aluminum Block & Heads. VVT. Active Fuel Management. '10-'13 Tahoe Hybrid, Yukon Hybrid, Escalade Hybrid, Silverado Hybrid, Sierra Hybrid |- | J ||L86|| 6.2L || V8 || Gas ||OHV||Gen V Chevrolet Small-Block V8 (EcoTec3). Direct injection, VVT. Active Fuel Management. <br /> '14-18 Chevy/GMC Silverado 1500/Sierra 1500,<br /> '18-20 Chevy Tahoe Premier, '19-'20 Chevy Suburban Premier, GMC Yukon/Yukon XL SLT,<br /> '15-'20 GMC Yukon Denali/Yukon XL Denali, Cadillac Escalade/Escalade ESV. |- | K ||LC3|| 3.8L || V6 || Gas ||OHV||2-bbl carb. Chevrolet 90° V6 (Chevy Small-Block V8 Derived). 229 cu. in. <br /> '81-'82 Chevy El Camino, GMC Caballero (49-state emissions) |- | K ||L05|| 5.7L || V8 || Gas ||OHV|| TBI. Gen I Chevrolet Small-Block V8. '87 R/V pickups, '88-'95 C/K, Sierra pickups, '87-'95 full-size vans, '96 G-Classic full-size vans, '87-'94 Blazer, '95 Tahoe, '87-'91 Jimmy, '92-'95 Yukon, '87-'95 Suburban. |- | K ||LY6|| 6.0L || V8 || Gas ||OHV||SFI. Gen IV Chevrolet Small-Block V8. Iron Block & Aluminum Heads. VVT.<br /> '07-'09 Silverado HD/Sierra HD, '07-'09 Suburban 2500/Yukon XL 2500, '08-'09 Express/Savana |- | K ||LEA|| 2.4L || I4 || Gas/E85 ||DOHC,<br /> 16 valve||Flex Fuel. GM Ecotec engine, Gen II. Direct Injection. VVT. Chevy Equinox, GMC Terrain '12-'17,<br /> Chevy Captiva Sport '12-'14, Chevy Orlando '14. |- | K ||L3B|| 2.7L ||I4 Turbo||| Gas ||DOHC,<br /> 16 valve||GM L3B Tripower engine ("TurboMax"). Direct Injection. VVT, VVL. Active Fuel Management.<br /> '19+ Chevy Silverado 1500, GMC Sierra 1500, '23+ Chevy Colorado, GMC Canyon. |- | L ||LS9|| 5.7L || V8 || Gas ||OHV|| 4-bbl carb. Gen I Chevrolet Small-Block V8. For sub-8,500 lb. GVWR trucks, vans, Suburban, Blazer/Jimmy (CA) '81-'86. |- | L ||L27|| 3.8L || V6 || Gas ||OHV||Buick V6 (3800 Series I). '92-'95 U-body minivans |- | L ||LX9|| 3.5L || V6 || Gas ||OHV||GM High Value 60° V6. 3498cc. SFI. '05-'06 GMT201 minivans, '06-'07 Buick Rendezvous |- | L ||LH8|| 5.3L || V8 || Gas ||OHV||SFI. Gen IV Chevrolet Small-Block V8. Aluminum Block & Heads.<br /> '08-'09 Hummer H3 Alpha, '09 Colorado/Canyon, Hummer H3T Alpha |- | L ||LGH|| 6.6L || V8 Turbo || Diesel ||OHV,<br /> 32 valve||Duramax 6600 V8 engine. Mid '10-'16 Express/Savana, '11-'12 Silverado HD/Sierra HD chassis cabs |- | L ||L87|| 6.2L || V8 || Gas ||OHV||Gen V Chevrolet Small-Block V8 (EcoTec3). Direct injection, VVT. Dynamic Fuel Management.<br /> '19+ Chevy/GMC Silverado 1500/Sierra 1500, '21+ Tahoe/Yukon, Suburban/Yukon XL,<br /> Cadillac Escalade/Escalade ESV. |- | L ||L3T|| 1.3L || I3 Turbo || Gas ||DOHC,<br /> 12 valve||GM E-Turbo Engine. Direct Injection. VVT. '20+ Buick Encore GX, '21+ Chevy Trailblazer. |- | M ||LT9|| 5.7L || V8 || Gas ||OHV|| 4-bbl carb. Gen I Chevy Small-Block V8.<br /> For over-8,500 lb. GVWR C/K trucks, full-size vans, Suburban '81-'86, full-size van cutaway '81-'88.<br /> '88 Chevy/GMC R30/3500 Chassis Cab w/C7C (10,500 lb. GVWR),<br /> V30/3500 Chassis Cab w/C7E (11,000 lb. GVWR) |- | M ||L30|| 5.0L || V8 || Gas ||OHV||Gen 1+ Chevrolet Small-Block V8. Vortec 5000. CPI.<br /> '96-'99 Chevy C/K, GMC Sierra, '96-'02 Express/Savana |- | M ||LNF|| 2.0L || I4 Turbo || Gas ||DOHC,<br /> 16 valve||GM Ecotec engine, Gen II. Direct Injection. VVT. 2010 Chevy HHR SS. |- | M ||LH6|| 5.3L || V8 || Gas ||OHV||SFI. Gen IV Chevrolet Small-Block V8. Active Fuel Management. Aluminum Block & Heads.<br /> '05-'06 GMT370 SUVs (Trailblazer EXT/Envoy XL/Isuzu Ascender 7-psgr.), '05-'07 Buick Rainier,<br /> '05-'09 GMC Envoy Denali, Saab 9-7X, '06-'08 Chevy Trailblazer, '05 GMC Envoy XUV,<br /> '07-'09 Silverado/Sierra 1500 |- | M ||LAF|| 2.4L || I4 || Gas ||DOHC,<br /> 16 valve||GM Ecotec engine, Gen II. Direct Injection. VVT. Chevy Orlando '12. |- | M ||LE2|| 1.4L || I4 Turbo || Gas ||DOHC,<br /> 16 valve||GM Small Gasoline Engine. Direct Injection. VVT. '16-'19 & '21-'22 Buick Encore, '21-'22 Chevy Trax. |- | N ||L10|| 1.8L || I4 || Gas ||SOHC,<br /> 8 valve||2-bbl carb. Isuzu G180Z engine imported from Japan. '81-'82 Chevy LUV |- | N ||LF9|| 5.7L || V8 || Diesel ||OHV||Oldsmobile Diesel V8. '83-'84 Chevy El Camino/GMC Caballero. |- | N ||LB1|| 4.3L || V6 || Gas ||OHV|| 4-bbl carb. Chevrolet 90° V6 (Chevy Small-Block V8 Derived).<br /> '85 Astro/Safari, '85-'86 C/K pickups & full-size vans |- | N ||L19|| 7.4L || V8 || Gas ||OHV|| Mark IV Chevrolet Big-Block V8. TBI.<br /> '87-'90 R/V pickups, Suburban 2500, '88-'90 C/K, Sierra pickups, full-size vans |- | N ||L19|| 7.4L || V8 || Gas ||OHV|| Gen V Chevrolet Big-Block V8. TBI.<br /> '91 R/V pickups, '91-'95 C/K, Sierra pickups, Suburban 2500, full-size vans. '96 G-Classic full-size vans |- | N ||LZ4|| 3.5L || V6 || Gas ||OHV||GM High Value 60° V6. 3510cc. SFI. VVT. '08-'09 Saturn Vue |- | N ||LQ9|| 6.0L || V8 || Gas ||OHV|| Gen III Chevrolet Small-Block V8. Vortec 6000 H.O. or VortecMAX. Iron Block/Aluminum Heads. 345 hp.<br /> '02-'06 Cadillac Escalade, '03-'06 Cadillac Escalade ESV, '03-'06 Chevy Silverado SS, '05-'06 GMC Sierra Denali. |- | N ||LGZ|| 3.6L || V6 || Gas ||DOHC,<br /> 24 valve||GM High Feature V6, 4th gen. Direct Injection. VVT. Active Fuel Management.<br /> '17-'22 Chevy Colorado, GMC Canyon. |- | P ||L49|| 6.5L || V8 || Diesel ||OHV||Detroit Diesel V8. For sub-8,500 lb. GVWR Chevy C/K, GMC Sierra trucks & full-size vans '94-'95 |- | P ||LM4|| 5.3L || V8 || Gas ||OHV||Gen III Chevrolet Small-Block V8. Vortec 5300. 290hp. Aluminum Block & Heads.<br /> '03-'04 Chevy SSR, '03-'04 GMT370 SUVs (Trailblazer EXT/Envoy XL/Isuzu Ascender 7-psgr.),<br /> '04 Buick Rainier, GMC Envoy XUV |- | P ||LE5|| 2.4L || I4 || Gas ||DOHC,<br /> 16 valve||MFI. GM Ecotec Gen II. VVT. '06-'08 Chevy HHR, '08-'09 Saturn Vue |- | P ||LH9|| 5.3L || V8 || Gas/E85 ||OHV||Flex Fuel. SFI. Gen IV Chevrolet Small-Block V8. Aluminum Block & Heads. VVT.<br /> '10-'12 Colorado/Canyon, '10 Hummer H3 Alpha, H3T Alpha |- | P ||LV1|| 4.3L || V6 || Gas ||OHV||Chevrolet 90° V6 - Gen V Chevrolet Small-Block V6 (EcoTec3). Direct injection, VVT.<br /> '18+ Chevy Express/GMC Savana. |- | P ||LBP|| 1.2L || I3 Turbo || Gas/E85 ||DOHC,<br /> 12 valve||Flex Fuel. GM E-Turbo Engine. Direct Injection. VVT.<br /> '25+ Buick Encore GX, Chevy Trailblazer, '25- Chevy Trax, Buick Envista. |- | R ||LL2|| 2.8L || V6 || Gas ||OHV||TBI. Chevrolet 60° V6. '86-'93 Chevy S-10, GMC S-15/Sonoma,<br /> '86-'89 Chevy S-10 Blazer/GMC S-15 Jimmy |- | R ||L31|| 5.7L || V8 || Gas ||OHV||Gen 1+ Chevrolet Small-Block V8. Vortec 5700. CPI.<br /> '96-'99 Chevy C/K, GMC Sierra, '96-'99 Chevy Tahoe/GMC Yukon, Chevy/GMC Suburban, '99-'00 GMC Yukon Denali, Cadillac Escalade, '00 Chevy Tahoe Limited/Z71, '96-'02 Chevy Express/GMC Savana. |- | R ||L8B|| 5.3L || V8 || Gas ||OHV||Mild Hybrid. Gen V Chevrolet Small-Block V8 (EcoTec3). Direct injection, VVT. Active Fuel Management. '16-'18 Chevy Silverado 1500, GMC Sierra 1500. |- | S ||LQ7|| 2.2L || I4 || Diesel ||OHV||Isuzu C220 engine imported from Japan. '81-'82 Chevy LUV, '84-'85 Chevy S-10/GMC S-15 |- | S ||L56|| 6.5L || V8 Turbo || Diesel ||OHV||Detroit Diesel V8. For sub-8,500 lb. GVWR Chevy C/K, GMC Sierra trucks '94-'99,<br /> Chevy Blazer '94, Chevy Tahoe 2-d '95-'99, GMC Yukon 2-d '94-'97 |- | S ||LL8|| 4.2L || I6 || Gas ||DOHC,<br /> 24 valve||Atlas I6. SFI. VVT. '02-'09 GMT360/370 SUVs (Chevy Trailblazer, GMC Envoy, Oldsmobile Bravada, Buick Rainier, Isuzu Ascender, Saab 9-7X) |- | S ||LGX|| 3.6L || V6 || Gas ||DOHC,<br /> 24 valve||GM High Feature V6, 4th gen. Direct Injection. VVT. Active Fuel Management.<br /> '17+ Cadillac XT5, '17-'23 GMC Acadia, '19+ Chevrolet Blazer, '20-'25 Cadillac XT6. |- | S ||LK0|| 2.5L || I4 Turbo || Gas ||DOHC,<br /> 16 valve||L3B engine family. Direct Injection. VVT. '24- Chevy Traverse, GMC Acadia, '25- Buick Enclave |- | T ||L25|| 4.8L || I6 || Gas ||OHV||1-bbl carb. Chevrolet Turbo-Thrift I6. '81-'86 Chevy/GMC C/K pickups, '88 R/V pickups |- | T ||LM7|| 5.3L || V8 || Gas ||OHV|| Gen III Chevrolet Small-Block V8. Iron Block & Aluminum Heads. Vortec 5300. 270/285/295hp.<br /> '99-'07 GMT800 pickups & SUVs including '02-'05 Escalade 2wd, '03-'07 Express/Savana |- | T ||LEA|| 2.4L || I4 || Gas/E85 ||DOHC,<br /> 16 valve||Flex Fuel. GM Ecotec engine, Gen II. Direct Injection. VVT. Chevy Orlando '13. |- | T ||LM2|| 3.0L || I6 Turbo|| Diesel ||DOHC,<br /> 24 valve|| Duramax Diesel I6. Aluminum Block & Heads. '20-'22 Silverado/Sierra 1500, '21-'24 Tahoe/Suburban, Yukon/Yukon XL, Escalade/Escalade ESV. |- | U ||LS5|| 1.6L || I4 || Gas ||SOHC,<br /> 8 valve||Suzuki G16A engine. TBI. '89-'95 Geo Tracker |- | U ||LQ4|| 6.0L || V8 || Gas ||OHV|| Gen III Chevrolet Small-Block V8. Iron Block & Aluminum Heads (Iron Heads in '99-'00).<br /> '99-'06 GMT800 pickups, '00-'06 Suburban/Yukon XL 2500, '01-'06 Yukon Denali/Yukon XL Denali,<br> '06 Suburban LTZ, '03-'07 Express/Savana, '03-'07 Hummer H2. |- | U ||LE9|| 2.4L || I4 || Gas/E85 ||DOHC,<br /> 16 valve||Flex-Fuel. GM Ecotec Gen II. 2011 Chevy HHR |- | U ||LH7|| 1.6L ||I4 Turbo|| Diesel ||DOHC,<br /> 16 valve||GM Medium Diesel engine ("Whisper Diesel"). Made by Opel in Szentgotthárd, Hungary.<br /> Aluminum Block & Heads. '18-'19 Chevy Equinox & GMC Terrain Diesel. |- | V ||LR4|| 4.8L || V8 || Gas ||OHV||Gen III Chevrolet Small-Block V8. Iron Block/Aluminum Heads. '99-'06 GMT800 pickups,<br /> '00-'06 Tahoe/Yukon, '03-'07 Express/Savana |- | V ||LE9|| 2.4L || I4 || Gas/E85 ||DOHC,<br /> 16 valve||Flex-Fuel. GM Ecotec Gen II. 2009-2010 Chevy HHR |- | V ||LYX|| 1.5L || I4 Turbo || Gas ||DOHC,<br /> 16 valve||GM Small Gasoline Engine. Direct Injection. VVT. '18-'22 Chevy Equinox, GMC Terrain |- | W ||LE8|| 7.4L || V8 || Gas ||OHV|| Mark IV Chevrolet Big-Block V8. 4bbl carb. '81-'86 Chevy/GMC C/K pickups, Suburban.<br /> '88-'89 Chevy/GMC R30/3500 Chassis Cab w/C7C (10,500 lb. GVWR),<br /> V30/3500 Chassis Cab w/C7E (11,000 lb. GVWR) |- | W ||L35|| 4.3L || V6 || Gas ||OHV|| CPI. Vortec 4300 H.O. Chevrolet 90° V6 (Chevy Small-Block V8 Derived).<br /> '92-'95 Sonoma, S-10 Blazer/Jimmy, Astro/Safari, '94-'95 S-10, '92-'94 Oldsmobile Bravada |- | W ||L35|| 4.3L || V6 || Gas ||OHV|| SFI. Vortec 4300 H.O. Chevrolet 90° V6 (Chevy Small-Block V8 Derived). '96-'02 S-10/Sonoma, Blazer/Jimmy, Express/Savana, C/K, Silverado, Sierra, '96-'01 Bravada, Astro/Safari, '00 Isuzu Hombre |- | W ||LGD|| 3.9L || V6 || Gas/E85 ||OHV||Flex Fuel. GM High Value 60° V6. SFI. VVT. '07-'09 GMT201 minivans |- | W ||LAF|| 2.4L || I4 || Gas ||DOHC,<br /> 16 valve||GM Ecotec engine, Gen II. Direct Injection. VVT. Chevy Equinox, GMC Terrain '10. |- | W ||LE8|| 2.2L || I4 || Gas/E85 ||DOHC,<br /> 16 valve||Flex-Fuel. GM Ecotec Gen II. VVT. 2011 Chevy HHR. |- | W ||LFY|| 3.6L || V6 || Gas ||DOHC,<br /> 24 valve||GM High Feature V6. Direct Injection.<br> '18-'23 Chevrolet Traverse, '24 Chevrolet Traverse Limited, '18-'24 Buick Enclave. |- | X ||LF6|| 4.3L || V6 || Gas ||OHV||SFI. Vortec 4300. Chevrolet 90° V6 (Chevy Small-Block V8 Derived).<br /> '96-'99 S-10/Sonoma, '97-'99 Isuzu Hombre. |- | X ||LU3|| 4.3L || V6 || Gas ||OHV||Vortec 4300. Chevrolet 90° V6 (Chevy Small-Block V8 Derived). '03-'04 S-10/Sonoma,<br /> '03-'05 Blazer/Jimmy, '02-'05 Astro/Safari, '03-'14 Express/Savana, '03-'13 Silverado/Sierra |- | X ||LNF|| 2.0L || I4 Turbo || Gas ||DOHC,<br /> 16 valve||GM Ecotec engine, Gen II. Direct Injection. VVT. '08-'09 Chevy HHR SS. |- | X ||LTG|| 2.0L || I4 Turbo || Gas ||DOHC,<br /> 16 valve||GM Ecotec engine, Gen III. Direct Injection. VVT.<br /> '16-'20 Buick Envision, '18-'20 Chevy Equinox, GMC Terrain, '18-'19 Chevy Traverse RS |- | Y ||LQ2|| 2.0L || I4 || Gas ||OHV||2-bbl carb. Chevrolet "122" engine.<br /> '83-'84 Chevy S-10/GMC S-15, '83-'84 Chevy S-10 Blazer/GMC S-15 Jimmy |- | Y ||L57|| 6.5L || V8 || Diesel ||OHV||Detroit Diesel V8. For over-8,500 lb. GVWR full-size vans '94-'95 & '96 G-Classic full-size vans |- | Y ||L76|| 6.0L || V8 || Gas ||OHV||SFI. Gen IV Chevy Small-Block V8. Aluminum Block & Heads. VVT. With Active Fuel Management.<br /> '07-'09 Silverado/Sierra, Suburban/Yukon XL, Chevy Avalanche |- | Y ||LF1|| 3.0L || V6 || Gas ||DOHC,<br /> 24 valve||GM High Feature V6. Direct Injection. VVT.<br /> '10-'11 Cadillac SRX, '11 Saab 9-4X, '10 Chevy Equinox, GMC Terrain |- | Y ||L5P|| 6.6L || V8 Turbo || Diesel ||OHV,<br /> 32 valve||Duramax 6600 V8 engine. '17+ Silverado HD/Sierra HD. Engine updated in '24. |- | Z ||LF9|| 5.7L || V8 || Diesel ||OHV||Oldsmobile Diesel V8. '81 Chevy C10/GMC C1500 full-size pickups. |- | Z ||LB4|| 4.3L || V6 || Gas ||OHV|| TBI. Chevrolet 90° V6 (Chevy Small-Block V8 Derived). '85-'87 Chevy El Camino/GMC Caballero,<br /> '86-'94 Astro/Safari, '87 R/V pickups, '88-'95 C/K & Sierra pickups, '87-'95 full-size vans & <br /> '96 G-Classic full-size vans, '88-'95 S-10, S-15/Sonoma, '88-'94 S-10 Blazer, S-15 Jimmy,<br /> '91-'92 Oldsmobile Bravada |- | Z ||LB4|| 4.3L || V6 Turbo || Gas ||OHV|| MPI. For GMC Syclone & Typhoon. Chevrolet 90° V6 (Chevy Small-Block V8 Derived) |- | Z ||L59|| 5.3L || V8 || Gas/E85 ||OHV||Flex Fuel. Gen III Chevrolet Small-Block V8. Iron Block & Aluminum Heads. Vortec 5300. 285/295hp.<br /> '02-'07 GMT800 pickups, '02-'06 Suburban/Yukon XL, Avalanche. |- | Z ||LAT|| 2.4L || I4 || Gas ||DOHC,<br /> 16 valve||Mild Hybrid. MFI. GM Ecotec Gen II. VVT. '07-'09 Saturn Vue Green Line |- | 1 ||LZ9|| 3.9L || V6 || Gas ||OHV||GM High Value 60° V6. SFI. VVT. '06-'09 GMT201 minivans |- | 1 ||LE5|| 2.4L || I4 || Gas ||DOHC,<br /> 16 valve||MFI. GM Ecotec Gen II. VVT. '10 Saturn Vue. |- | 1 ||LB7|| 6.6L || V8 Turbo || Diesel ||OHV,<br /> 32 valve||Duramax 6600 V8 engine. First version of the Duramax V8. '01-Mid '04 Silverado HD/Sierra HD |- | 1 ||LWN|| 2.8L || I4 Turbo || Diesel ||DOHC,<br /> 16 valve||Based on VM Motori A428 engine. Made by GM Powertrain Thailand 2016-2020. Made in Brazil for '22. '16-'22 Colorado/Canyon, '17-'22 Express/Savana. |- | 2 ||LLY|| 6.6L || V8 Turbo || Diesel ||OHV,<br /> 32 valve||Duramax 6600 V8 engine. Mid '04-Mid '06 Silverado HD/Sierra HD, '06-Mid '07 Express/Savana |- | 2 ||L9H|| 6.2L || V8 || Gas/E85 ||OHV||Flex-Fuel. Gen IV Chevrolet Small-Block V8. Aluminum Block & Heads. SFI. VVT.<br /> '09-'13 Chevy Silverado 1500, GMC Sierra 1500, Sierra Denali 1500,<br /> '09 Chevy Tahoe LTZ, GMC Yukon Denali/Yukon XL Denali, Cadillac Escalade/Escalade ESV,<br> Hummer H2 |- | 2 ||LIH|| 1.2L || I3 Turbo || Gas ||DOHC,<br /> 12 valve||GM E-Turbo Engine. Direct Injection. VVT.<br /> '20-'24 Buick Encore GX, '21-'24 Chevy Trailblazer, '24 Chevy Trax, Buick Envista,<br> '25 Chevy Trax, Buick Envista (Canada only). |- | 3 ||LC9|| 5.3L || V8 || Gas/E85 ||OHV||Flex Fuel. SFI. Gen IV Chevrolet Small-Block V8. Active Fuel Management. VVT added for '10. Aluminum Block & Heads.<br /> '07-'11 Silverado/Sierra 1500, Tahoe/Yukon, Suburban/Yukon XL 1500, '07-'09 & '11 Avalanche |- | 3 ||LFX|| 3.6L || V6 || Gas ||DOHC,<br /> 24 valve||GM High Feature V6. Direct Injection. VVT. E85 Flex Fuel.<br /> '12-'16 Cadillac SRX, '13-'17 Chevrolet Equinox, GMC Terrain, '15-'16 Colorado/Canyon |- | 4 ||LN2|| 2.2L || I4 || Gas ||OHV||MFI (94-95). SFI (96-00). Chevrolet "122" engine. '94-'00 S-10/Sonoma, '96-'00 Isuzu Hombre |- | 4 ||LE8|| 2.5L || V6 || Gas ||DOHC,<br /> 24 valve||Suzuki H25A engine. MFI. '01-'04 Chevrolet Tracker |- | 4 ||L66|| 3.5L || V6 || Gas ||SOHC,<br /> 24 valve||Honda J35S1 V6. VTEC. '04-'07 Saturn Vue |- | 4 ||LMF|| 5.3L || V8 || Gas/E85 ||OHV||Flex Fuel. SFI. Gen IV Chevrolet Small-Block V8. Iron Block & Aluminum Heads. VVT.<br /> '08-'14 Express/Savana 1500 |- | 4 ||LAU|| 2.8L || V6 Turbo || Gas ||DOHC,<br /> 24 valve||GM High Feature V6. SFI. '10 Cadillac SRX |- | 4 ||LSY|| 2.0L || I4 Turbo || Gas ||DOHC,<br /> 16 valve||GM Ecotec engine, Gen III. Direct Injection. Active Fuel Management. VVT. VVL.<br /> '19-'25 Cadillac XT4, '20+ Chevy Blazer, Cadillac XT5, '20-'23 GMC Acadia,<br /> '21+ Buick Envision, '21-'25 Cadillac XT6 |- | 5 ||L43|| 2.2L || I4 || Gas/E85 ||OHV||Flex-Fuel. SFI. Chevrolet "122" engine. '00-'02 S-10/Sonoma, '00 Isuzu Hombre |- | 5 ||LFA|| 6.0L || V8 || Gas ||OHV||2-Mode Hybrid. Gen IV Chevrolet Small-Block V8. Aluminum Block & Heads. VVT. Active Fuel Management. '08-'09 Tahoe Hybrid/Yukon Hybrid, '09 Escalade Hybrid, Silverado Hybrid/Sierra Hybrid |- | 5 ||LFW|| 3.0L || V6 || Gas/E85 ||DOHC,<br /> 24 valve||Flex-Fuel. GM High Feature V6. Direct Injection. VVT. '11-'12 Chevy Equinox, GMC Terrain,<br /> '12 Chevy Captiva Sport |- | 6 ||L01|| 1.6L || I4 || Gas ||SOHC,<br /> 16 valve||Suzuki G16B engine. MFI. '94-'97 Geo Tracker, '98-'00 Chevrolet Tracker |- | 6 ||L52|| 3.5L || I5 || Gas ||DOHC,<br /> 20 valve||Atlas I5. SFI. VVT. '04-'06 Colorado/Canyon, '06 Isuzu i-350, '06 Hummer H3 |- | 6 ||LAU|| 2.8L || V6 Turbo || Gas ||DOHC,<br /> 24 valve||GM High Feature V6. SFI. '11 Cadillac SRX, Saab 9-4X |- | 6 ||LMM|| 6.6L || V8 Turbo || Diesel ||OHV,<br /> 32 valve||Duramax 6600 V8 engine. '07-'10 Silverado HD/Sierra HD (GMT900), Mid '07-Mid '10 Express/Savana |- | 7 ||LY7|| 3.6L || V6 || Gas ||DOHC,<br /> 24 valve||GM High Feature V6. '04-'06 Buick Rendezvous, '04-'09 Cadillac SRX,<br /> '07-'08 GMC Acadia, Saturn Outlook, '08 Buick Enclave, '08-'10 Saturn Vue |- | 7 ||LC9|| 5.3L || V8 || Gas/E85 ||OHV||Flex Fuel. SFI. Gen IV Chevrolet Small-Block V8. Active Fuel Management. VVT.<br /> Aluminum Block & Heads.<br /> '12-'13 Silverado/Sierra 1500, Avalanche, '12-'14 Tahoe/Yukon, Suburban/Yukon XL 1500 |- | 7 ||L8T|| 6.6L || V8 || Gas ||OHV||Gen V Chevrolet Small-Block V8. Iron Block/Aluminum Heads. Direct injection, VVT.<br /> '20+ Silverado HD/Sierra HD, '21+ Express/Savana |- | 8 ||LK5|| 2.8L || I4 || Gas ||DOHC,<br /> 16 valve||Atlas I4. SFI. VVT. '04-'06 Colorado/Canyon, '06 Isuzu i-280. |- | 8 ||L92|| 6.2L || V8 || Gas ||OHV||Gen IV Chevrolet Small-Block V8. Aluminum Block & Heads. SFI. VVT.<br /> '07-'08 GMC Sierra Denali, Yukon Denali/Yukon XL Denali, Cadillac Escalade/Escalade ESV,<br> '08 Chevy Tahoe LTZ, Hummer H2. |- | 8 ||LML|| 6.6L || V8 Turbo || Diesel ||OHV,<br /> 32 valve||Duramax 6600 V8 engine.<br /> '11-'16 Silverado HD/Sierra HD pickups, '13-'16 Silverado HD/Sierra HD chassis cabs. |- | 8 ||LZ0|| 3.0L || I6 Turbo|| Diesel ||DOHC,<br /> 24 valve|| Duramax Diesel I6. Aluminum Block & Heads.<br> '23+ Silverado/Sierra 1500, '24+ Suburban HD, '25+ Tahoe/Suburban, Yukon/Yukon XL. |- | 9 ||LC3|| 3.8L || V6 || Gas ||OHV||2-bbl carb. Chevrolet 90° V6 (Chevy Small-Block V8 Derived). 229 cu. in. <br /> '83-'84 Chevy El Camino, GMC Caballero (49-state emissions). |- | 9 ||LLV|| 2.9L || I4 || Gas ||DOHC,<br /> 16 valve||Atlas I4. SFI. VVT. '07-'12 Colorado/Canyon, '07-'08 Isuzu i-290. |- | 9 ||LT4|| 6.2L ||V8 Supercharged|| Gas ||OHV||Gen V Chevy Small-Block V8. Aluminum Block & Heads. Direct injection. VVT. Active Fuel Management. '23+ Cadillac Escalade/Escalade ESV V-Series. |- | 0 ||LMG|| 5.3L || V8 || Gas/E85 ||OHV||Flex-Fuel. SFI. Gen IV Chevrolet Small-Block V8. Active Fuel Management. VVT added for '10.<br /> Iron Block & Aluminum Heads.<br /> '07-'13 Silverado/Sierra 1500, Avalanche, '07-'14 Tahoe/Yukon, Suburban/Yukon XL 1500. |} H.O.=High Output, VVT=Variable Valve Timing, VVL=Variable Valve Lift, GVWR=Gross Vehicle Weight Rating, CNG=Compressed Natural Gas, LPG=Liquefied Petroleum Gas (Propane Autogas) ====Motor codes for electric light trucks==== {| class="wikitable" |- ! VIN !! RPO !! Fuel !! Drive Wheels !! Application/Notes |- | H ||LN1|| Electricity || Front || '97-'98 Chevrolet S-10 Electric. |- |} ====Motor codes for Ultium-powered electric light trucks==== {| class="wikitable" |- ! VIN !! Motor <br /> RPO code !! # of Motors !! Battery Module <br /> RPO code !! # of Modules !! Fuel !! Drive Wheels !! Application/Notes |- | A ||XRL|| 3 || ETN || 24 || Electricity || All || '22- GMC Hummer EV pickup 3X |- | B ||XRL|| 3 || ETI || 20 || Electricity || All || '24- GMC Hummer EV pickup 3X |- | C ||XRL|| 3 || ETJ || 20 || Electricity || All || '24- GMC Hummer EV SUV 3X |- | D ||XRJ|| 2 || ETI || 20 || Electricity || All || '24 Chevrolet Silverado EV 3WT, '25- Silverado EV 5WT, 3LT,<br> '25 Silverado EV RST (2SP), '26- Silverado EV Trail Boss (2TR),<br> '24- GMC Hummer EV pickup 2X, '25- GMC Sierra EV Denali 5SC,<br> '26- Sierra EV Elevation 3SC, AT4 4SC |- | E ||XRJ|| 2 || ETJ || 20 || Electricity || All || '24- GMC Hummer EV SUV 2X |- | G ||XRJ|| 2 || ETJ || 20 || Electricity || All || '23 BrightDrop Zevo 600 |- | H ||XRJ|| 2 || EWX || 14 || Electricity || All ||'26- Chevrolet Silverado EV 4WT, 2LT,<br> '26- GMC Sierra EV Elevation 3SB, Denali 5SB |- | J ||X0C|| 2 || EC5 || 10 || Electricity || All || '24 Chevy Blazer EV 2LT, 1RS AWD,<br> '25- Chevy Blazer EV 4LT, 3RS AWD, '24- Honda Prologue AWD |- | K ||X0D|| 1 || EC6 || 12 || Electricity || Rear || '23- Cadillac Lyriq RWD, '24-'25 Chevrolet Blazer EV 2RS RWD,<br> '24 Acura ZDX A-Spec RWD |- | L ||X0E|| 2 || EC6 || 12 || Electricity || All || '23- Cadillac Lyriq AWD, '24- Chevrolet Blazer EV PPV AWD,<br> '25- Chevrolet Blazer EV SS AWD, '26- Cadillac Vistiq AWD,<br> '24 Acura ZDX A-Spec, Type S AWD |- | L ||XRJ|| 2 || ETN || 24 || Electricity || All || '24 Chevrolet Silverado EV 4WT, RST (3SP), '25- Silverado EV 8WT,<br> '25 Silverado EV RST (3SP), '26- Silverado EV 4LT, Trail Boss (3TR),<br> '24- GMC Sierra EV Denali 5SD, '26- Sierra EV AT4 4SD,<br> '25- Cadillac Escalade IQ, '26- Cadillac Escalade IQL |- | M ||X0B|| 1 || EC5 || 10 || Electricity || Front || '24- Honda Prologue FWD, '25- Chevy Blazer EV 2LT, 1RS FWD |- | P ||X0B|| 1 || EC3 || 10 || Electricity || Front || '24- Chevrolet Equinox EV FWD |- | R ||X0C|| 2 || EC3 || 10 || Electricity || All || '24- Chevrolet Equinox EV AWD, '25 Cadillac Optiq AWD |- | Y ||XRJ|| 2 || ETC || 12 || Electricity || All || '24 BrightDrop Zevo 400, Zevo 600,<br> '25-'26 Chevrolet BrightDrop 400/600 AWD |- | Z ||XRJ|| 2 || ETJ || 20 || Electricity || All || '24 BrightDrop Zevo 400, Zevo 600,<br> '25-'26 Chevrolet BrightDrop 400/600 AWD |- | 4 ||X0E|| 2 || EC3 || 10 || Electricity || All || '26- Cadillac Optiq AWD |- | 5 ||X0D|| 1 || EC3 || 10 || Electricity || Rear|| '26- Cadillac Optiq RWD |- | 6 ||XRM|| 1 || ETC || 12 || Electricity || Front || '25-'26 Chevrolet BrightDrop 400/600 FWD |- | 7 ||XRJ|| 2 || EWU || 14 || Electricity || All || '26 Chevrolet BrightDrop 600 AWD |} SB=Standard Range, SC=Extended Range, SD=Max Range ====Engine codes for medium duty trucks 2016-==== GM encodes the engine type in character 8 of the VIN. The following table outlines the various engines encoded there: {| class="wikitable" |- ! VIN !! RPO !! Size !! Type !! Fuel !! Valvetrain !! Engine Family/Notes/Applications |- | B ||L96|| 6.0L || V8 || Gas ||OHV||SFI. Gen IV Chevrolet Small-Block V8. Iron Block & Aluminum Heads. VVT.<br /> '16-'20 Chevy LCF 3500/4500. |- | C ||LC8|| 6.0L || V8 || Gas/CNG or<br>Gas/LPG ||OHV||Bi-Fuel. SFI. Gen IV Chevrolet Small-Block V8. Iron Block & Aluminum Heads. VVT.<br /> '16-'20 Chevy LCF 3500/4500. |- | D ||L8T|| 6.6L || V8 || Gas ||OHV||Gen V Chevrolet Small-Block V8. Iron Block/Aluminum Heads. Direct injection, VVT.<br /> '21-'23 Chevy LCF 3500/4500, '24- Chevy LCF 3500HG/4500HG/5500HG/5500XG. |- | F ||LCB|| 6.7L || I6 Turbo || Diesel ||OHV,<br /> 32 valve||Cummins B Series ISB engine. '22- Chevy LCF 6500XD, '23- Chevy LCF 7500XD. |- | 6 ||I1B|| 5.2L || I4 Turbo || Diesel ||SOHC,<br /> 16 valve||Isuzu 4HK1-TC engine. '17- Chevy LCF 4500HD/XD, 5500XD, '17-'24 Chevy LCF 5500HD,<br /> '18-'21 Chevy LCF 6500XD. |- | 7 ||IZ3|| 3.0L || I4 Turbo || Diesel ||DOHC,<br /> 16 valve||Isuzu 4JJ1-TC engine. '16-'18 Chevy LCF 3500HD. |- |} ====Engine codes for AM General-built Hummer H1 2000-2006==== AM General encodes the engine type in character 4 of the VIN. {| class="wikitable" |- ! VIN !! RPO !! Size !! Type !! Fuel !! Valvetrain !! Engine Family/Notes |- | F || || 6.5L || V8 Turbo || Diesel ||OHV||Detroit Diesel V8 built by GEP (General Engine Products), a subsidiary of AM General.<br> '01-'04 Hummer H1 & '06 H1 Fleet models. |- | P ||LLY|| 6.6L || V8 Turbo || Diesel ||OHV,<br /> 32 valve||Duramax 6600 V8 engine. '06 Hummer H1 Alpha. |- | Z ||L65|| 6.5L || V8 Turbo || Diesel ||OHV||Detroit Diesel V8 built by GM. '00-'01 Hummer H1. |- |} ====Engine codes for Nissan-built vans==== Nissan encodes the engine type in character 4 of the VIN. {| class="wikitable" |- ! VIN !! RPO !! Size !! Type !! Fuel !! Valvetrain !! Engine Family/Notes |- | 3 ||L0A|| 2.0L || I4 || Gas ||DOHC,<br /> 16 valve||Nissan MR20DE engine. SFI. VVT. For the '15-'18 Chevrolet City Express. |- |} ====Engine codes for Navistar-built medium-duty trucks==== Navistar encodes the engine type in character 6 & 7 of the VIN. {| class="wikitable" |- ! VIN !! RPO !! Size !! Type !! Fuel !! Valvetrain !! Engine Family/Notes |- | PV ||L5D|| 6.6L || V8 Turbo || Diesel ||OHV,<br /> 32 valve||Duramax 6600 V8 engine. For the Chevy Silverado Medium Duty '19+. |- |} ==GM factories supplying North America== ===North American GM factories=== [[w:List_of_General_Motors_factories | List of GM Factories]] {| class="wikitable" !VIN code !Location !Notes |- |A |Lakewood Assembly (Lakewood Heights, Atlanta, Georgia) |through 1990 model year |- |A |Artisan Center (Warren, Michigan) |From 2026 model year. Cadillac CT5-V Blackwing "Curated by Cadillac" program only. |- |B |Baltimore Assembly (Baltimore, Maryland) |through 2005 model year |- |B |Reatta Craft Centre/Lansing Craft Centre (Lansing Township, Michigan) |1988-2006 model year (except GM EV1) |- |B |GM Defense-Manufacturing Customer Innovation Center (MCIC) (Concord, North Carolina) |From 2024 model year. Chevrolet Suburban HD (a.k.a. HD SUV) (for US govt. only). |- |C |South Gate Assembly (South Gate, California) |through 1982 model year |- |C |Lansing Car Assembly (Lansing, Michigan) |South assembly line 1985-2004 model year |- |D |Doraville Assembly (Doraville, Georgia) |through 2009 model year |- |E |Linden Assembly (Linden, New Jersey) |through 1991 model year |- |E |Pontiac East Assembly (Pontiac, Michigan) |1988-2009 model year |- |E |AM General Military plant (Mishawaka, Indiana) |1992-2006 Hummer H1 |- |F |Flint Truck Assembly (Flint, Michigan) |since 1953 |- |F |Fairfax II Assembly (Kansas City, Kansas) |since 1988 model year |- |G |Framingham Assembly (Framingham, Massachusetts) |through 1989 model year |- |G |Silao Assembly (Silao, Guanajuato, Mexico) |since 1995 model year |- |H |Buick City Assembly (Flint, Michigan) |through 1999 model year |- |H |AM General Commercial plant (Mishawaka, Indiana) |2003-2009 Hummer H2 |- |H |Navistar Springfield plant (Main Line) (Springfield, Ohio) |2019- Chevrolet Silverado Medium Duty (4500HD/5500HD/6500HD) |- |J |Janesville Assembly (Janesville, Wisconsin) |through 2009 model year |- |J |Lansing Delta Township Assembly (Lansing, Michigan) |since 2007 model year |- |K |Leeds Assembly (Leeds, Kansas City, Missouri) |through 1988 model year |- |K |Linden Assembly (Linden, New Jersey) |from 1994-2005 model year |- |K |Nissan plant (Cuernavaca, Morelos, Mexico) |2015-2018 Chevrolet City Express |- |L |Van Nuys Assembly (Van Nuys, California) |through 1992 model year |- |L |San Luis Potosí Assembly (San Luis Potosí, Mexico) |since 2009 model year |- |M |Lansing Car Assembly (Lansing, Michigan) |through 1984 model year, North assembly line 1985-2005 model year |- |M |Toluca Assembly (Toluca, Mexico state, Mexico) |through 2008 model year |- |N |Norwood Assembly (Norwood, Ohio) |through 1987 model year |- |N |Navistar Springfield plant (Secondary Line) (Springfield, Ohio) |2017- Chevrolet Express cutaway, GMC Savana cutaway |- |P |Pontiac Assembly (Pontiac, Michigan) |through 1988 model year |- |R |Arlington Assembly (Arlington, Texas) |since 1965 [all GM brands]. (R plant code used only by Chevrolet in 1963-64) |- |S |St. Louis Assembly (St. Louis, Missouri) |through 1987 model year |- |S |Spring Hill Manufacturing (Spring Hill, Tennessee) |2002-2007 Saturn Vue & 2009-2010 Chevrolet Traverse only |- |S |Spartan Motors/Shyft Group plant (Charlotte, Michigan) |2016- Chevrolet Low Cab Forward 3500/3500HG/4500/4500HG/5500HG/5500XG/6500XD/7500XD |- |S |Ramos Arizpe Assembly (Ramos Arizpe, Coahuila, Mexico) |since 1982 |- |T |Tarrytown Assembly (North Tarrytown, New York) |through 1996 model year |- |U |Detroit/Hamtramck Assembly (Factory Zero) <br /> (Detroit & Hamtramck, Michigan) |since 1986 model year |- |U |Artisan Center (Warren, Michigan) |From 2025 model year. Cadillac Celestiq only. |- |V |Pontiac Central Assembly (Pontiac, Michigan) |through 1991 model year |- |V |Pontiac East Assembly (Pontiac, Michigan) |through 1985 model year |- |W |Willow Run Assembly (Ypsilanti Township, Michigan) |through 1993 model year |- |X |Fairfax Assembly (Fairfax I) (Kansas City, Kansas) |through 1987 model year |- |Y |Wilmington Assembly (Wilmington, Delaware) |through 2010 model year |- |Z |Fremont Assembly (Fremont, California) |through 1982 model year |- |Z |NUMMI (Fremont, California) |1985-2010 model year |- |Z |Spring Hill Manufacturing (Spring Hill, Tennessee) |since 1991 model year (except Vue & Traverse) |- |Z |Fort Wayne Assembly (Roanoke, Indiana) |since 1988 model year |- |0 |Pontiac West Assembly (Pontiac, Michigan) |through 1994 model year |- |0 |Lansing Craft Centre (Lansing Township, Michigan) |GM EV1 only |- |0 |Lansing Grand River Assembly (Lansing, Michigan) |since 2003 model year |- |0 |Artisan Center (Warren, Michigan) |2024 Cadillac CT5-V Blackwing 20th Anniversary Edition where the final eight digits of the VIN are R0912004 through R0912024 or R0962004 through R0962024 |- |1 |Wentzville Assembly (Wentzville, Missouri) |since 1985 model year |- |1 |Oshawa Car Assembly (Oshawa, Ontario, Canada) |from 1967-1983 model year |- |1 |Oshawa Car Assembly (Line 2 a.k.a. Consolidated Line) (Oshawa, Ontario, Canada) |from 1984-2019 model year; switched to pickup trucks for 2019 model year |- |1 |Oshawa Car Assembly (Oshawa, Ontario, Canada) |Silverado pickup trucks since 2022 model year |- |1 |Oshawa Truck Assembly (Oshawa, Ontario, Canada) |through 2009 model year |- |2 |Moraine Assembly (Moraine, Ohio) |through 2009 model year |- |2 |Sainte-Thérèse Assembly (Boisbriand, Quebec, Canada) |through 2002 model year |- |3 |Detroit Truck & Bus plant (Piquette Ave., Detroit, Michigan) |through 1999 model year |- |3 |Saint-Eustache Bus Plant (Saint-Eustache, Quebec, Canada) |through 1987 model year |- |4 |Orion Assembly (Orion Township, Michigan) |since 1985 model year |- |4 |Scarborough Van Assembly (Scarborough, Ontario, Canada) |through 1993 model year |- |5 |Bowling Green Assembly (Bowling Green, Kentucky) |since 1981 model year |- |6 |Oklahoma City Assembly (Oklahoma City, Oklahoma) |through 2006 model year |- |6 |CAMI plant (Ingersoll, Ontario, Canada) |1990-2022 model year |- |7 |Lordstown Assembly (Warren, Ohio) |from 1979-2019 model year |- |8 |Shreveport Assembly (Shreveport, Louisiana) |through 2012 model year |- |9 |Detroit Assembly (Clark Street, Detroit, Michigan)<br> (Cadillac plant) |from 1979-1988 model year |- |9 |Oshawa Car Assembly (Line 1 a.k.a. Flex Line)<br> (Oshawa, Ontario, Canada) |from 1984-2020 model year |- |9 |KUKA plant (Livonia, Michigan) |2022 model year only (BrightDrop Zevo 600) |- |9 |CAMI plant (Ingersoll, Ontario, Canada) |since 2023 model year (BrightDrop Zevo/Chevrolet BrightDrop) |} ===Non-North American GM factories supplying North America=== {| class="wikitable" !VIN code !Location !Models Sourced |- |A |SAIC-GM plant: Jinqiao, Pudong district, Shanghai, China |2017-2018 Cadillac CT6 Plug-in Hybrid |- |B |Daewoo/GM Daewoo/GM Korea plant: Bupyeong, South Korea |1988-1993 Pontiac LeMans, 2004-2011 Chevrolet Aveo, 2005-2010 Pontiac Wave/G3, 2004-2006 Chevrolet <br /> Epica (Canada), 2013-2022 Chevrolet Trax, Buick Encore, 2021- Chevrolet Trailblazer, 2020- Buick Encore GX, 2024- Buick Envista |- |C |GM Daewoo/GM Korea plant: Changwon, South Korea |2003-2010 Pontiac Matiz/Matiz G2 (Mexico), 2013-2022 Chevrolet Spark, 2024- Chevrolet Trax |- |D |SAIC-GM Dongyue Motors plant: Yantai, Shandong province, China |2016- Buick Envision, 2019-2023 Chevrolet Aveo (Mexico), 2023- Chevrolet Onix (Mexico) |- |G |Opel plant: Gliwice, Poland |2016-2019 Buick Cascada |- |K |Suzuki plant: Kosai, Shizuoka prefecture, Japan |1985-1988 Chevrolet Sprint, 1989-1990 Geo Metro hatchback, 1990-1993 Geo Metro convertible, 1985-1990 Pontiac Firefly (Canada), 1991 & 1994 Pontiac Firefly convertible & sedan (Canada) |- |K |GM Daewoo/GM Korea plant: Kunsan, South Korea |2004-2007 Chevrolet Optra (Canada), 2012-2014 Chevrolet Orlando (Canada) |- |L |Holden plant: Elizabeth, South Australia, Australia |2004-2006 Pontiac GTO, 2008-2009 Pontiac G8, 2011-2017 Chevrolet Caprice PPV, 2014-2017 Chevrolet SS |- |R |Opel plant: Rüsselsheim, Germany |1997-2001 Cadillac Catera |- |T |GM India plant: Talegaon, Maharashtra, India |2017-2021 Chevrolet Spark Classic/Beat (Mexico) |- |V |SAIC-GM Wuhan plant: Wuhan, Hubei province, China |2018-2021 Chevrolet Cavalier (Mexico), 2022- Chevrolet Cavalier Turbo (Mexico) |- |W |Suzuki plant: Iwata, Shizuoka prefecture, Japan |1989-1990 Geo Tracker |- |1 |Opel plant: Rüsselsheim, Germany |2011, 2018-2020 Buick Regal |- |3 |Isuzu plant: Kawasaki, Kanagawa prefecture, Japan |1987-1998 Chevrolet/GMC W5, 1989-1996 Chevrolet/GMC W6, 1984-1996 Chevrolet/GMC W7 |- |5 |Opel plant: Antwerp, Belgium |2008-2009 Saturn Astra |- |7 |Isuzu plant: Fujisawa, Kanagawa prefecture, Japan |1988 Chevrolet Spectrum, 1988 Pontiac Sunburst (Canada), 1989 Geo Spectrum, 1990-1993 Geo Storm,<br /> 1999-2008 Chevrolet/GMC W3500, 1988-2009 Chevrolet/GMC W4, 1999-2009 Chevrolet/GMC W5,<br /> 2000-2004 Chevrolet/GMC WT5500,<br /> 2016- Chevrolet Low Cab Forward 3500HD/4500HD/4500XD/5500HD/5500XD |- |8 |Isuzu plant: Fujisawa, Kanagawa prefecture, Japan |1981-1982 Chevrolet LUV, 1985-1987 Chevrolet Spectrum, 1985-1987 Pontiac Sunburst (Canada),<br /> 1986-1987 Chevrolet/GMC W4 |} ==GM WMIs== {| class=wikitable !WMI !Marque !Country |- |1G1||rowspan=57|Chevrolet||United States |- |1G8||United States (MPV 1981-1986) |- |1GA||United States (bus [van with more than 3 rows of seats]) |- |1GB||United States (incomplete vehicle) |- |1GC||United States (truck) |- |1GN||United States (MPV 1987-) |- |1HA||United States (Express incomplete vehicle made by Navistar) |- |1HT||United States ([[w:Chevrolet Silverado#Medium duty version_(4500HD,_5500HD,_6500HD,_and_International_CV)|Silverado Medium Duty]] incomplete vehicle made by Navistar) |- |1Y1||United States (made by NUMMI) |- |2C1||Canada (car made by CAMI) |- |2CN||Canada (SUV made by CAMI - 1998-2011) |- |2G1||Canada |- |2G5||Canada (truck - Chevrolet BrightDrop '25) |- |2G8||Canada (MPV 1981-1986) |- |2GA||Canada (bus [van with more than 3 rows of seats]) |- |2GB||Canada (incomplete vehicle) |- |2GC||Canada (truck - includes Chevrolet BrightDrop '26) |- |2GN||Canada (MPV 1987-) |- |3G1||Mexico |- |3GC||Mexico (truck) |- |3GN||Mexico (MPV) |- |3N6||Mexico (Truck - City Express made by Nissan) |- |4G1||United States (made by Genasys L.C.) |- |4KB||United States (W-Series incomplete vehicle made by GM - through 2009) |- |4W1||United States (MPV - Chevrolet Suburban HD made for US govt. in Concord, NC) |- |54D||United States (incomplete vehicle made by Spartan Motors/The Shyft Group) |- |6G1||Australia (2011-2013 Caprice PPV) |- |6G3||Australia (2014-2017 Caprice PPV & SS performance sedan) |- |ADM||South Africa |- |J81||Japan (car made by Isuzu) |- |J8B||Japan (incomplete vehicle made by Isuzu - through 2009) |- |J8Z||Japan (LUV pickup made by Isuzu) |- |JAL||Japan (incomplete vehicle made by Isuzu - 2016+) |- |JG1||Japan (car made by Suzuki) |- |KL1||South Korea (car) |- |KL7||South Korea (MPV - 2012+) |- |KL8||South Korea (Spark) |- |LSF||China (S-10 Max made by SAIC-Maxus - Mexico only) |- |LSG||China (SAIC-GM) |- |LSH||China (Express Max made by SAIC-Maxus - Mexico only) |- |LZW||China (SAIC-GM-Wuling) |- |MA6||India |- |MJB||Indonesia (GM Indonesia) |- |MK3||Indonesia (SGMW Motor Indonesia) |- |MMM||Thailand |- |XUF||Russia (GM Russia - St. Petersburg plant) |- |XUU||Russia (Chevrolet Korea models made by Avtotor in Kaliningrad) |- |XWB||Uzbekistan (GM Uzbekistan, UzAuto Motors) |- |XWF||Russia (Chevrolet Tahoe & Trailblazer [GMT360] made by Avtotor in Kaliningrad) |- |X9L||Russia (GM-AvtoVAZ) |- |8AG||Argentina |- |8GG||Chile |- |8LD||Ecuador |- |8Z1||Venezuela |- |9BG||Brazil |- |93C||Brazil |- |9GC||Colombia |- |J81||rowspan=6|Geo||Japan (car made by Isuzu) |- |JG1||Japan (car made by Suzuki) |- |JGC||Japan (SUV made by Suzuki) |- |1Y1||United States (car made by NUMMI) |- |2C1||Canada (car made by CAMI) |- |2CN||Canada (SUV made by CAMI - 1990-1997) |- |KLA||rowspan=3|GM Daewoo/<br />GM Korea||South Korea (Bupyeong & Kunsan plants) |- |KLY||South Korea (Changwon plant) |- |5GD||United States (G2X) |- |1G2||rowspan=12|Pontiac||United States |- |1G5||United States (incomplete vehicle - for '89-'90 Turbo Grand Prix by ASC/McLaren) |- |1GM||United States (MPV) |- |2CK||Canada (2006-2009 Torrent made by CAMI) |- |2G2||Canada |- |2G7||Canada (US market 1983 Pontiac Parisienne) |- |3G2||Mexico |- |3G7||Mexico (MPV: 2001-2005 Aztek) |- |4G2||United States (made by Genasys L.C.) |- |5Y2||United States (made by NUMMI) |- |6G2||Australia |- |KL2||South Korea (made by Daewoo/GM Daewoo) |- |1G7||rowspan=6|Pontiac<br />(Canada only)||United States |- |2C7||Canada (car made by CAMI) |- |2CG||Canada (SUV made by CAMI) |- |2G7||Canada |- |J87||Japan (car made by Isuzu) |- |JG7||Japan (car made by Suzuki) |- |KL7||Passport<br />(Canada only)||South Korea (car made by Daewoo) |- |J87||rowspan=3|Asüna<br />(Canada only)||Japan (car made by Isuzu) |- |KL7||South Korea (car made by Daewoo) |- |2CG||Canada (SUV made by CAMI) |- |1G3||rowspan=3|Oldsmobile||United States |- |1GH||United States (MPV/SUV) |- |2G3||Canada |- |1G4||rowspan=9|Buick||United States |- |2G4||Canada |- |3G4||Mexico |- |3G5||Mexico (MPV) |- |4GL||United States (incomplete vehicle) |- |5GA||United States (MPV) |- |KL4||South Korea (MPV) |- |LRB||China (SAIC-GM) |- |W04||Germany & Poland |- |KLA||Alpheon||South Korea (2011-2015) |- |1G6||rowspan=10|Cadillac||United States |- |1GE||United States (incomplete vehicle) |- |1GY||United States (SUV) |- |2G6||Canada |- |2GE||Canada (incomplete vehicle) |- |3GY||Mexico (SUV) |- |LRE||China (SAIC-GM) |- |W06||Germany |- |XWF||Russia (made by Avtotor in Kaliningrad) |- |YSC||Sweden |- |1G8||rowspan=4|Saturn||United States |- |3GS||Mexico (SUV) |- |5GZ||United States (MPV/SUV) |- |W08||Belgium |- |1G0||rowspan=22|GMC||United States (bus 1981-1986) |- |1G5||United States (MPV 1981-1986) |- |1GD||United States (incomplete vehicle) |- |1GJ||United States (bus 1987-) |- |1GK||United States (MPV 1987-) |- |1GT||United States (truck) |- |2CK||Canada (1990-1991 Tracker made by CAMI - Canada only) |- |2CT||Canada (2010-2011 Terrain made by CAMI) |- |2G0||Canada (bus [van with more than 3 rows of seats] 1981-1986) |- |2G5||Canada (MPV 1981-1986) |- |2GD||Canada (incomplete vehicle) |- |2GH||Canada (transit bus) |- |2GJ||Canada (bus [van with more than 3 rows of seats] 1987-) |- |2GK||Canada (MPV 1987-) |- |2GT||Canada (truck) |- |3GK||Mexico (SUV) |- |3GT||Mexico (truck) |- |4KD||United States (W-Series incomplete vehicle made by GM - through 2009) |- |7GZ||United States (incomplete vehicle made by Navistar) |- |J8D||Japan (incomplete vehicle made by Isuzu - through 2009) |- |JGT||Japan (SUV made by Suzuki - Canada only) |- |KL6||South Korea (Middle East market Terrain '08-'10) |- |4GD||WhiteGMC||United States (1988-1989 Brigadier made by GM) |- |137||rowspan=6|Hummer||United States (H1 made by AM General) |- |5GN||United States (H3T) |- |5GR||United States (H2 made by AM General) |- |5GT||United States (H3) |- |ADM||South Africa (H3) |- |XWF||Russia (H2 & H3 made by Avtotor in Kaliningrad) |- |4G5||General Motors||United States (EV1) |- |2G5||rowspan=2|BrightDrop||Canada (Truck 2023-2024) |- |5G5||United States (Truck made by Kuka AG - 2022 only) |- |5G2||rowspan=2|Cruise||United States (car) (Cruise AV) |- |5G3||United States (MPV) (Cruise Origin AV) |- |YS3||rowspan=4|Saab||Sweden |- |JF4||Japan (9-2X made by Subaru) |- |3G0||Mexico (9-4X) |- |5S3||United States (9-7X) |- |W0L||rowspan=19|Opel/Vauxhall||Germany & the rest of Europe (2017 and earlier) |- |W0V||Germany & the rest of Europe (2018 and later) & Opel Ampera-e Mid-2017 - 2019 |- |W0L||when plant code is H: Thailand (Zafira A) |- |W0L||when plant code is 0: South Korea (Antara) or B: South Korea (Antara, Mokka A, Mokka X [A]) |- |W0L||when plant code is C: South Korea (Opel Karl/Vauxhall Viva) |- |W0V||when plant code is B: South Korea (Mokka X [A]) or C: South Korea (Opel Karl/Vauxhall Viva) |- |SCC||UK (Opel Lotus Omega made by Lotus) |- |SED||UK (made by IBC Vehicles) |- |TW8||Portugal |- |VF1||France (Arena made by Renault) |- |VN1||France (Movano A made by Renault at SOVAB plant in Batilly, France) |- |VSX||Spain |- |XUF||Russia (Opel made by GM Russia - St. Petersburg plant) |- |XWF||Russia (Opel made by Avtotor in Kaliningrad) |- |1G0||United States (Opel GT, Opel/Vauxhall Ampera, Opel Ampera-e Early - Mid-2017) |- |4GD||United States (Sintra) |- |ADM||South Africa |- |JAA||Japan (Opel Campo made by Isuzu) |- |JAC||Japan (Monterey made by Isuzu) |- |SKA||rowspan=4|Vauxhall Motors||UK |- |SCC||UK (Vauxhall Lotus Carlton made by Lotus) |- |6G1||Australia (Vauxhall Monaro & VXR8 made by Holden) |- |JAA||Japan (Vauxhall Brava made by Isuzu) |- |SKF||rowspan=2|Bedford Vehicles||UK |- |JAA||Japan (Bedford Brava made by Isuzu) |- |6G1||rowspan=18|Holden||Australia (2003-2017) |- |6H8||Australia (1989-2002) |- |JAA||Japan (Rodeo pickup [TF] made by Isuzu) |- |JAC||Japan (Jackaroo/Monterey made by Isuzu) |- |JSA||Japan (YG Cruze made by Suzuki) |- |KL3||South Korea |- |MMM||Thailand ('09-'11 Colorado pickup [RC] made by GM Thailand) |- |MMU||Thailand ('13-'20 Colorado pickup [RG], '13-'16 Colorado 7, '17-'20 Trailblazer made by GM Thailand) |- |MPA||Thailand ('04-'08 Rodeo pickup [RA] made by Isuzu Thailand) |- |SED||UK (1st gen. Frontera made by IBC Vehicles) |- |W0L||Germany & the rest of Europe (2017 and earlier) |- |W0L||when plant code is H: Thailand (Zafira A) |- |W0V||Germany & the rest of Europe (2018-2020) |- |1GH||United States (Acadia) |- |3G0||Mexico (Equinox) |- |3GM||Mexico (Suburban) |- |4S2||United States (2nd gen. Frontera made by [[w:Subaru Isuzu Automotive|SIA]]) |- |5G8||United States (Volt) |- |1GG||rowspan=4|Isuzu||United States (Truck - Hombre & i-Series made by GM) |- |4GT||United States (H-Series & T-Series incomplete vehicle made by GM - through 2009) |- |4KL||United States (N-Series incomplete vehicle made by GM - through 2009) |- |4NU||United States (MPV/SUV - Ascender made by GM) |- |W0L||Subaru||Thailand [plant code H] (Traviq made by GM Thailand for export to Japan) |- |4G3||Toyota||United States (Cavalier made by GM for export to Japan) |- |3GP||Honda||Mexico (MPV/SUV: 2024- Prologue made by GM) |- |4W5||Acura||United States (MPV/SUV: 2024 ZDX EV made by GM) |} {{BookCat}} ke56b4jbwwgyrmsj3qb1onvif8k0mfk 4654436 4654435 2026-07-14T14:43:39Z JustTheFacts33 3434282 /* American VIN format 2010- Light Duty Truck & Multi-Purpose Passenger Vehicle */ 4654436 wikitext text/x-wiki {{Vehicle Identification Numbers (VIN codes)/Warning}}{{clear}} It is the tenth digit that gives you the model year for GM. I've been working at a Chevy dealer for years running codes/vins. For example (my examples only apply to 2001-2015 gm vehicles) Remember 10th digit from the beginning, (left to right). 2001... 1, 2002...2, 2003...3, etc., 2009...9. After 2009, the tenth digit was given a letter 2010... A, 2011...B, 2012...C, 2013...D, 2014...E, 2015...F, Etc... We have another 20 years worth of letters. Thanks for reading. You can always check your model year by looking in your drivers side door jamb and it will give you model year. If it was assembled in July or later, the model year is probably a year later than the calendar year of the manufacturing date listed. ==American GM== ===American VIN format 1981-1984 Passenger Car=== GM's VIN format is as follows: <table border=1 style="margin:auto;"> <tr> <th>Position</th> <th>Sample</th><th></th><th></th><th>Description</th> </tr><tr> <td>1</td> <td>1</td><td></td><td></td><td rowspan=3>[[#GM WMIs|World Manufacturer Identifier]]</td> </tr><tr> <td>2</td> <td>G</td><td></td><td></td></tr><tr> <td>3</td> <td>6</td><td></td><td></td></tr><tr> <td>4</td> <td>A</td><td></td><td></td><td>[[#American restraint types 1981-1984|Restraint type]]</td> </tr><tr> <td>5</td> <td>M</td><td></td><td></td><td>[[#Car Line & Series Code 1981-1984|Car Line & Series Code]]</td> </tr><tr> <td>6</td> <td>4</td><td></td><td></td><td rowspan=2>[[#Body style codes 1981-1986|Body style]]</td> </tr><tr> <td>7</td> <td>7</td><td></td><td></td><td> </td> </tr><tr> <td>8</td> <td>8</td><td></td><td></td><td>[[#American engine codes 1981-|Engine type]]</td> </tr><tr> <td>9</td> <td>0</td><td></td><td></td><td>[[Vehicle Identification Numbers (VIN codes)/Check digit |Check digit]]</td> </tr><tr> <td>10</td> <td>E</td><td></td><td></td><td>[[Vehicle Identification Numbers (VIN codes)/Model year|Model year]]</td> </tr><tr> <td>11</td> <td>9</td><td></td><td></td><td>[[#GM factories supplying North America|Factory ID]]</td> </tr><tr> <td>12</td> <td>1</td><td></td><td></td><td rowspan=6>Sequential number </tr><tr> <td>13</td> <td>2</td><td></td><td></td></tr><tr> <td>14</td> <td>3</td><td></td><td></td></tr><tr> <td>15</td> <td>7</td><td></td><td></td></tr><tr> <td>16</td> <td>6</td><td></td><td></td></tr><tr> <td>17</td> <td>2</td><td></td><td></td> </table> ====American restraint types 1981-1984==== The restraint type is specified as character four of the American GM VIN for passenger cars. {| border=1 style="margin:auto;" !VIN Code !Description |- |A||Manual Seatbelts only - No Passive Restraint |} ====Car Line & Series Code 1981-1984==== The Car Line & Series Code is specified as character five of the American GM VIN for passenger cars. {| border=1 style="margin:auto;" !List of GM platforms !Car Line & <br> Series Code !:Category:General Motors vehicles|Model |- |rowspan=19|GM A platform - rear-wheel drive |T||Chevrolet Malibu 1981 |- |W||Chevrolet Malibu Classic 1981 |- |Z||Chevrolet Monte Carlo 1981 |- |D||Pontiac LeMans 1981 |- |F||Pontiac Grand LeMans 1981 |- |J||Pontiac Grand Prix 1981 |- |K||Pontiac Grand Prix LJ 1981 |- |P||Pontiac Grand Prix Brougham 1981 |- |G||Oldsmobile Cutlass sedan, Cutlass Cruiser wagon 1981 |- |H||Oldsmobile Cutlass Cruiser ''Brougham'' wagon 1981 |- |K||Oldsmobile Cutlass Calais coupe 1981 |- |M||Oldsmobile Cutlass Supreme ''Brougham'' 1981 |- |R||Oldsmobile Cutlass Supreme coupe, Cutlass LS sedan 1981 |- |E||Buick Century wagon 1981 |- |H||Buick Century sedan, Estate wagon 1981 |- |J||Buick Regal 1981 |- |K||Buick Regal ''Sport'' 1981 |- |L||Buick Century ''Limited'' 1981 |- |M||Buick Regal ''Limited'' 1981 |- |rowspan=10|GM A platform - front-wheel drive |W||Chevrolet Celebrity 1982-1984 |- |F||Pontiac 6000 1982-1984 |- |G||Pontiac 6000 ''LE'' 1982-1984 |- |H||Pontiac 6000 ''STE'' 1983-1984 |- |G||Oldsmobile Cutlass Ciera 1982 |- |J||Oldsmobile Cutlass Ciera ''LS'' 1982-1984, Cutlass Cruiser ''LS'' 1984 |- |M||Oldsmobile Cutlass Ciera ''Brougham'' 1982-1984 |- |G||Buick Century ''T-Type'' 1983-1984 |- |H||Buick Century ''Custom'' 1982-1984 |- |L||Buick Century ''Limited'' 1982-1984 |- |rowspan=19|GM B platform |D||Chevrolet Bel Air 1981 (Canada only) |- |L||Chevrolet Impala 1981-1984 |- |N||Chevrolet Caprice Classic 1981-1984 |- |F||Pontiac Laurentian 1981 (Canada only) |- |L||Pontiac Catalina 1981, Parisienne 1984 |- |L||Pontiac Parisienne 1982-1983 (Canada only) |- |N||Pontiac Bonneville 1981 |- |N||Pontiac Parisienne 1981, Parisienne Brougham 1982-1983 (Canada only) |- |R||Pontiac Bonneville Brougham 1981 |- |T||Pontiac Parisienne Brougham 1984 |- |L||Oldsmobile Delta 88 1981-1983 |- |N||Oldsmobile Delta 88 Royale 1981-1984 |- |P||Oldsmobile Custom Cruiser 1981-1984 |- |V||Oldsmobile Delta 88 Royale Brougham LS 1984 |- |Y||Oldsmobile Delta 88 Royale Brougham 1981-1984 |- |N||Buick Le Sabre 1981, Le Sabre ''Custom'' 1982-1984 |- |P||Buick Le Sabre ''Limited'' 1981-1984 |- |R||Buick Le Sabre Estate Wagon 1981-1983 |- |V||Buick Electra Estate Wagon 1981-1984 |- |rowspan=13|GM C platform - rear-wheel drive |G||Oldsmobile 98 Regency 1984 |- |H||Oldsmobile 98 Regency Brougham 1984 |- |V||Oldsmobile 98 Luxury 1981 |- |W||Oldsmobile 98 Regency Brougham 1982-1983 |- |X||Oldsmobile 98 Regency 1981-1983 |- |R||Buick Electra Limited 1984 |- |U||Buick Electra Park Avenue 1984 |- |W||Buick Electra Park Avenue 1981-1983 |- |X||Buick Electra Limited 1981-1983 |- |B||Cadillac Fleetwood Brougham 1981-1983 |- |D||Cadillac DeVille 1981-1983 |- |M||Cadillac DeVille 1984 |- |W||Cadillac Fleetwood Brougham 1984 |- |rowspan=1|GM D platform - rear-wheel drive |F||Cadillac Fleetwood Limousine 1981-1984 |- |rowspan=4|GM E platform |Z||Oldsmobile Toronado Brougham 1981-1984 |- |Y||Buick Riviera T-Type 1981-1984 |- |Z||Buick Riviera 1981-1984 |- |L||Cadillac Eldorado 1981-1984 |- |rowspan=7|GM F platform |P||Chevrolet Camaro Sport Coupe 1981-1984 |- |S||Chevrolet Camaro Berlinetta 1981-1984 |- |S||Pontiac Firebird 1981-1984 |- |T||Pontiac Firebird ''Esprit'' 1981 |- |V||Pontiac Firebird ''Formula'' 1981 |- |W||Pontiac Firebird ''Trans Am'' 1981-1984 |- |X||Pontiac Firebird ''Trans Am'' Turbo Special Edition 1981, Firebird ''S/E'' 1982-1984 |- |rowspan=15|GM G platform - rear-wheel drive |W||Chevrolet Malibu Classic 1982, Malibu 1983 |- |Z||Chevrolet Monte Carlo 1982-1984 |- |J||Pontiac Grand Prix 1982-1984 |- |K||Pontiac Grand Prix LJ 1982-1983, Grand Prix LE 1984 |- |N||Pontiac Bonneville G 1982-1984 |- |P||Pontiac Grand Prix Brougham 1982-1984 |- |R||Pontiac Bonneville G Brougham 1982-1984 |- |S||Pontiac Bonneville G ''LE'' 1984 |- |H||Oldsmobile Cutlass Cruiser wagon 1982-1983 |- |K||Oldsmobile Cutlass Calais coupe 1982-1984 |- |M||Oldsmobile Cutlass Supreme ''Brougham'' 1982-1984 |- |R||Oldsmobile Cutlass Supreme coupe & sedan 1982-1984 |- |J||Buick Regal 1982-1984 |- |K||Buick Regal ''Sport'' 1982, Regal ''T-Type'' 1983-1984 |- |M||Buick Regal ''Limited'' 1982-1984 |- |rowspan=13|GM J platform |C||Chevrolet Cavalier 1983-1984 |- |D||Chevrolet Cavalier 2-d/4-d/wagon 1982, Cavalier CS 1983-1984 |- |E||Chevrolet Cavalier 3-door hatchback 1982, Cavalier CS 3-door hatchback 1983, Cavalier Type 10 2-d/3-d/Convertible 1984 |- |B||Pontiac J2000 1982, 2000 1983, 2000 Sunbird 1984 |- |C||Pontiac J2000 LE 1982, 2000 LE 1983, 2000 Sunbird LE Convertible 1983, 2000 Sunbird LE 1984 |- |D||Pontiac J2000 SE 1982, 2000 SE 1983, 2000 Sunbird SE 1984 |- |E||Pontiac J2000 S 1982 |- |C||Oldsmobile Firenza Base model 1982-1984, Firenza S 1982-1984 |- |D||Oldsmobile Firenza LX 1982-1984, Firenza SX 1982-1984 |- |E||Buick Skyhawk T-Type 1983-1984 |- |S||Buick Skyhawk Custom 1982-1984 |- |T||Buick Skyhawk Limited 1982-1984 |- |G||Cadillac Cimarron 1982-1984 |- |rowspan=1|GM K platform |S||Cadillac Seville 1981-1984 |- |rowspan=3|GM P platform ||E||Pontiac Fiero ''Coupe'' 1984 |- ||F||Pontiac Fiero ''SE'' 1984 |- ||M||Pontiac Fiero ''Sport coupe'' 1984 |- |rowspan=6|GM T platform - rear-wheel drive |B||Chevrolet Chevette 1981-1983, Chevette CS 1984 |- |J||Chevrolet Chevette Scooter 1981-1983, Chevette 1984 |- |B||Pontiac Acadian 1981-1984 (Canada only) |- |J||Pontiac Acadian S 1981-1982, Pontiac Acadian Scooter 1983-1984 (Canada only) |- |L||Pontiac T1000 1982, 1000 1983-1984 |- |M||Pontiac T1000 1981 |- |rowspan=10|GM X platform |H||Chevrolet Citation 2-door coupe 1982-1983, Citation II 2-door coupe 1984 |- |X||Chevrolet Citation hatchback 1981-1983, Citation II hatchback 1984 |- |T||Pontiac Phoenix SJ 1982-1983, Phoenix SE 1984 |- |Y||Pontiac Phoenix 1981-1984 |- |Z||Pontiac Phoenix LJ 1981-1983, Phoenix LE 1984 |- |B||Oldsmobile Omega 1981-1984 |- |E||Oldsmobile Omega Brougham 1981-1984 |- |B||Buick Skylark 1981-1982, Skylark Custom 1983-1984 |- |C||Buick Skylark Limited 1981-1984 |- |D||Buick Skylark Sport 1981-1982, Skylark T-Type 1983-1984 |- |rowspan=1|GM Y platform |Y||Chevrolet Corvette 1981-1982, 1984 |} ===American VIN format 1985-1986 Passenger Car=== GM has traditionally encoded the platform as the fourth character of the VIN. Other content includes an engine code and manufacturing plant. GM's VIN format is as follows: <table border=1 style="margin:auto;"> <tr> <th>Position</th> <th>Sample</th><th></th><th></th><th>Description</th> </tr><tr> <td>1</td> <td>1</td><td></td><td></td><td rowspan=3>[[#GM WMIs|World Manufacturer Identifier]]</td> </tr><tr> <td>2</td> <td>G</td><td></td><td></td></tr><tr> <td>3</td> <td>6</td><td></td><td></td></tr><tr> <td>4</td> <td>D</td><td></td><td></td><td>[[#Platform & Series Codes 1985- Passenger Car|Platform]]</td> </tr><tr> <td>5</td> <td>W</td><td></td><td></td><td>[[#Platform & Series Codes 1985- Passenger Car|Series Code]]</td> </tr><tr> <td>6</td> <td>6</td><td></td><td></td><td rowspan=2>[[#Body style codes 1981-1986|Body style]]</td> </tr><tr> <td>7</td> <td>9</td><td></td><td></td><td> </td> </tr><tr> <td>8</td> <td>Y</td><td></td><td></td><td>[[#American engine codes 1981-|Engine type]]</td> </tr><tr> <td>9</td> <td>0</td><td></td><td></td><td>[[Vehicle Identification Numbers (VIN codes)/Check digit |Check digit]]</td> </tr><tr> <td>10</td> <td>G</td><td></td><td></td><td>[[Vehicle Identification Numbers (VIN codes)/Model year|Model year]]</td> </tr><tr> <td>11</td> <td>9</td><td></td><td></td><td>[[#GM factories supplying North America|Factory ID]]</td> </tr><tr> <td>12</td> <td>1</td><td></td><td></td><td rowspan=6>Sequential number </tr><tr> <td>13</td> <td>2</td><td></td><td></td></tr><tr> <td>14</td> <td>3</td><td></td><td></td></tr><tr> <td>15</td> <td>7</td><td></td><td></td></tr><tr> <td>16</td> <td>6</td><td></td><td></td></tr><tr> <td>17</td> <td>2</td><td></td><td></td> </table> ====Body style codes 1981-1986==== The Body type is specified as characters six and seven of the American GM VIN for passenger cars from 1981-1986. {| border=1 style="margin:auto;" !VIN !Description |- |11,27,37,47,57,97||Two-Door Coupe/Sedan |- |07,08,77,87||Two-Door Hatchback |- |67||Two-Door Convertible |- |19,69||Four-Door Sedan |- |68||Four-Door Hatchback |- |23||Four-Door Limousine, 8-passenger ("Limousine") |- |33||Four-Door Limousine w/Center Partition, 7-passenger ("Formal Limousine") |- |35||Four-Door Station Wagon |} ===American VIN format 1987- Passenger Car=== GM has traditionally encoded the platform as the fourth character of the VIN. Other content includes an engine code and manufacturing plant. GM's VIN format is as follows: <table border=1 style="margin:auto;"> <tr> <th>Position</th> <th>Sample</th><th></th><th></th><th>Description</th> </tr><tr> <td>1</td> <td>1</td><td></td><td></td><td rowspan=3>[[#GM WMIs|World Manufacturer Identifier]]</td> </tr><tr> <td>2</td> <td>G</td><td></td><td></td></tr><tr> <td>3</td> <td>6</td><td></td><td></td></tr><tr> <td>4</td> <td>D</td><td></td><td></td><td>[[#Platform & Series Codes 1985- Passenger Car|Platform]]</td> </tr><tr> <td>5</td> <td>M</td><td></td><td></td><td>[[#Platform & Series Codes 1985- Passenger Car|Series Code]]</td> </tr><tr> <td>6</td> <td>5</td><td></td><td></td><td>[[#Body style codes 1987- Passenger Car|Body style]]</td> </tr><tr> <td>7</td> <td>7</td><td></td><td></td><td>[[#American restraint types 1987-|Restraint type]]</td> </tr><tr> <td>8</td> <td>N</td><td></td><td></td><td>[[#American engine codes 1981-|Engine type]]</td> </tr><tr> <td>9</td> <td>0</td><td></td><td></td><td>[[Vehicle Identification Numbers (VIN codes)/Check digit |Check digit]]</td> </tr><tr> <td>10</td> <td>3</td><td></td><td></td><td>[[Vehicle Identification Numbers (VIN codes)/Model year|Model year]]</td> </tr><tr> <td>11</td> <td>0</td><td></td><td></td><td>[[#GM factories supplying North America|Factory ID]]</td> </tr><tr> <td>12</td> <td>1</td><td></td><td></td><td rowspan=6>Sequential number </tr><tr> <td>13</td> <td>2</td><td></td><td></td></tr><tr> <td>14</td> <td>3</td><td></td><td></td></tr><tr> <td>15</td> <td>7</td><td></td><td></td></tr><tr> <td>16</td> <td>6</td><td></td><td></td></tr><tr> <td>17</td> <td>2</td><td></td><td></td> </table> ===American VIN format 1981-2009 Light Duty Truck & Multi-Purpose Passenger Vehicle=== GM's VIN format is as follows: <table border=1 style="margin:auto;"> <tr> <th>Position</th> <th>Sample</th><th></th><th></th><th>Description</th> </tr><tr> <td>1</td> <td>1</td><td></td><td></td><td rowspan=3>[[#GM WMIs|World Manufacturer Identifier]]</td> </tr><tr> <td>2</td> <td>G</td><td></td><td></td></tr><tr> <td>3</td> <td>K</td><td></td><td></td></tr><tr> <td>4</td> <td>E</td><td></td><td></td><td>[[#GVWR/Brake System 1981-2009 Light Duty Truck & Multi-Purpose Passenger Vehicle|GVWR/Brake System]]</td> </tr><tr> <td>5</td> <td>K</td><td></td><td></td><td>[[#Line & Chassis Type 1981-1999 Light Duty Truck & Multi-Purpose Passenger Vehicle|Line & Chassis Type for 1981-1999]]</td> </tr><tr> <td>5</td> <td>K</td><td></td><td></td><td>[[#Line & Chassis Type 2000-2009 Light Duty Truck & Multi-Purpose Passenger Vehicle|Line & Chassis Type for 2000-2009]]</td> </tr><tr> <td>6</td> <td>1</td><td></td><td></td><td>[[#Series 1981-1999 Light Duty Truck & Multi-Purpose Passenger Vehicle|Series]]</td> </tr><tr> <td>7</td> <td>8</td><td></td><td></td><td>[[#Body style codes 1981-2009 Light Duty Truck & Multi-Purpose Passenger Vehicle|Body type]]</td> </tr><tr> <td>8</td> <td>K</td><td></td><td></td><td>[[#Engine codes for light trucks|Engine type]]</td> </tr><tr> <td>9</td> <td>0</td><td></td><td></td><td>[[Vehicle Identification Numbers (VIN codes)/Check digit |Check digit]]</td> </tr><tr> <td>10</td> <td>N</td><td></td><td></td><td>[[Vehicle Identification Numbers (VIN codes)/Model year|Model year]]</td> </tr><tr> <td>11</td> <td>J</td><td></td><td></td><td>[[#GM factories supplying North America|Factory ID]]</td> </tr><tr> <td>12</td> <td>1</td><td></td><td></td><td rowspan=6>Sequential number </tr><tr> <td>13</td> <td>2</td><td></td><td></td></tr><tr> <td>14</td> <td>3</td><td></td><td></td></tr><tr> <td>15</td> <td>7</td><td></td><td></td></tr><tr> <td>16</td> <td>6</td><td></td><td></td></tr><tr> <td>17</td> <td>2</td><td></td><td></td> </table> ====GVWR/Brake System 1981-2009 Light Duty Truck & Multi-Purpose Passenger Vehicle==== The GVWR/Brake System is specified as character four of the American GM VIN for light trucks. {| border=1 style="margin:auto;" !VIN !GVWR Range in lbs. & Weight Class !Brake System |- |A||Class A: 0-3,000||Hydraulic |- |B||Class B: 3,001-4,000||Hydraulic |- |C||Class C: 4,001-5,000||Hydraulic |- |D||Class D: 5,001-6,000||Hydraulic |- |E||Class E: 6,001-7,000||Hydraulic |- |F||Class F: 7,001-8,000||Hydraulic |- |G||Class G: 8,001-9,000||Hydraulic |- |H||Class H: 9,001-10,000||Hydraulic |- |J||Class 3: 10,001-14,000||Hydraulic |- |K||Class 4: 14,001-16,000||Hydraulic |- |L||Class 5: 16,001-19,500||Hydraulic |} ====Line & Chassis Type 1981-1999 Light Duty Truck & Multi-Purpose Passenger Vehicle==== The Line & Chassis Type is specified as character five of the American GM VIN for light trucks. {| border=1 style="margin:auto;" !VIN !Description |- |B||Special Body Buick, Chevrolet |- |C||Chevy full-size pickups & chassis cabs 2wd (C-series) '81-'86, '88-'99,<br /> GMC full-size pickups & chassis cabs 2wd (C-series) '81-'86, Sierra 2wd (C-series) '88-'99 |- |C||Chevy C10 Blazer 2wd ('81-'82), Tahoe 4-door 2wd ('95-'99), Suburban 2wd ('81-'86, '92-'99),<br /> GMC C1500 Jimmy 2wd ('81-'82), Yukon 4-door 2wd ('95-'99), Suburban 2wd ('81-'86, '92-'99) |- |D||Military Truck 4wd |- |E||'91-'97 Geo Tracker 2wd, '98-'99 Chevrolet Tracker 2wd |- |E||'97-'98 Chevy S-10 EV |- |G||Chevy/GMC full-size vans (Chevy Van, Sportvan, Express, GMC Vandura, Rally Van, Savana) |- |H||'93-'96 Chevy G30HD/GMC G3500HD cutaway van |- |H||Cadillac chassis cutaway/special body (Based on Rwd Fleetwood '93-'96, Fwd DeVille '97-'99) |- |J||'89-'97 Geo Tracker 4wd, '98-'99 Chevrolet Tracker 4wd |- |K||Chevy full-size pickups & chassis cabs 4wd (K-series) '81-'86, '88-'99,<br /> GMC full-size pickups & chassis cabs 4wd (K-series) '81-'86, Sierra 4wd (K-series) '88-'99 |- |K||Chevy K10/K5 Blazer 4wd ('81-'86, '92-'94), Tahoe 4wd ('95-'99), Suburban 4wd ('81-'86, '92-'99),<br /> GMC K1500 Jimmy 4wd ('81-'86), Yukon 4wd ('92-'99), Suburban 4wd ('81-'86, '92-'99), '99 Cadillac Escalade 4wd |- |L||Chevy Luv 2wd '81-'82 |- |L||Chevy Astro/GMC Safari 4wd '90-'99 |- |M||Chevy Astro/GMC Safari 2wd '85-'99 |- |P||Forward Control (includes Chevrolet Step-Van/GMC Value-Van, Chevy/GMC P-Series) |- |R||Chevy Luv 4wd '81-'82 |- |R||Chevy full-size pickups & chassis cabs 2wd (R-series), Suburban 2wd '87-'91,<br /> GMC full-size pickups & chassis cabs 2wd (R-series), Suburban 2wd '87-'91 |- |S||Chevy S-10 2wd ('82-'99), S-10 Blazer 2wd ('83-'94), Blazer 2wd ('95-'99), GMC S-15 2wd ('82-'90), Sonoma 2wd ('91-'99),<br> S-15 Jimmy 2wd ('83-'91), Jimmy 2wd ('92-'99), Isuzu Hombre 2wd ('96-'99) |- |T||Chevy S-10 4wd ('83-'99), S-10 Blazer 4wd ('83-'94), Blazer 4wd ('95-'99), GMC S-15 4wd ('83-'90), Sonoma 4wd ('91-'99), Syclone 4wd ('91),<br> S-15 Jimmy 4wd ('83-'91), Jimmy 4wd ('92-'99), Typhoon 4wd ('92-93), Envoy 4wd ('98-'99), Oldsmobile Bravada 4wd ('91-'94, '96-'99),<br> Isuzu Hombre 4wd ('98-'99) |- |U||Regular length All-Purpose Vehicle ('90-'99 U-body fwd minivans) |- |V||Chevy full-size pickups & chassis cabs 4wd (V-series), V10/V1500 Blazer 4wd, Suburban 4wd '87-'91,<br /> GMC full-size pickups & chassis cabs 4wd (V-series), V1500 Jimmy 4wd, Suburban 4wd '87-'91 |- |W||'81-'87 Chevy El Camino, GMC Caballero |- |X||Extended length All-Purpose Vehicle ('97-'99 U-body fwd extended length minivans) |- |Z||Cadillac chassis cutaway/special body (Based on Rwd Fleetwood '81-'84, Fwd Fleetwood '85-'92) |} ====Line & Chassis Type 2000-2009 Light Duty Truck & Multi-Purpose Passenger Vehicle==== The Line & Chassis Type is specified as character five of the American GM VIN for light trucks. {| border=1 style="margin:auto;" !VIN !Description |- |A||Pontiac Aztek 2wd '01-'05, Buick Rendezvous 2wd '02-'07 |- |A||Chevrolet HHR '06-'09, HHR Panel '07-'09 |- |B||Pontiac Aztek Awd '01-'05, Buick Rendezvous Awd '02-'06 |- |C||Chevy full-size pickups & chassis cabs 2wd (C-series) '00, full-size chassis cabs 2wd (C3500HD) '01-'02, Silverado 2wd '00-'09, Silverado Classic 2wd '07,<br /> GMC Sierra 2wd (C-series) '00-'09, Sierra Classic 2wd '00, '07 |- |C||Chevy Tahoe 2wd ('00-'09), Suburban 2wd ('00-'09), Avalanche 2wd ('02-'09),<br /> GMC Yukon 2wd ('00-'09), Yukon XL 2wd ('00-'09), Cadillac Escalade 2wd ('02-'09), Escalade ESV 2wd ('08-'09) |- |E||Chevrolet Tracker 2wd '00-'04 |- |E||Cadillac SRX 2wd & Awd '04-'09 |- |G||Chevy/GMC full-size vans 2wd (Chevy Express, GMC Savana) '00-09 |- |H||Chevy/GMC full-size vans 4wd (Chevy Express, GMC Savana) '03-09 |- |H||Cadillac Commercial Chassis for Hearse (Based on Fwd DeVille '02-'05, DTS '06-'09) |- |H||Cadillac Professional Chassis for Limousine (Based on Fwd DeVille '00-'05, DTS '06-'07) |- |J||Chevrolet Tracker 4wd '00-'04 |- |K||Chevy full-size pickups & chassis cabs 4wd (K-series) '00, Silverado 4wd '00-'09, Silverado Classic 4wd '07,<br /> GMC Sierra 4wd (K-series) '00-'09, Sierra Classic 4wd '00, '07 |- |K||Chevy Tahoe 4wd ('00-'09), Suburban 4wd ('00-'09), Avalanche 4wd ('02-'09), GMC Yukon 4wd ('00-'09), Yukon XL 4wd ('00-'09),<br> Cadillac Escalade 4wd ('00, '02-'09), Escalade ESV 4wd ('03-'09), Escalade EXT 4wd ('02-'09) |- |K||Cadillac Professional Chassis for Limousine (Based on Fwd DTS '08-'09) |- |L||Chevy Astro/GMC Safari 4wd '00-'05 |- |L||Chevy Equinox 2wd & Awd '05-'09, Pontiac Torrent 2wd & Awd '06-'09, Saturn Vue 2wd & Awd '08-'09 |- |M||Chevy Astro/GMC Safari 2wd '00-'05 |- |N||Hummer H2 '03-'09, H2 SUT '05-'09 |- |N||Hummer H3 '06-'09, H3T '09 |- |R||GMC Acadia 2wd, Saturn Outlook 2wd '07-'09, Buick Enclave 2wd '08-'09, Chevy Traverse 2wd '09 |- |S||Chevy S-10 2wd ('00-'03), Blazer 2wd ('00-'05), GMC Sonoma 2wd ('00-'03), Jimmy 2wd ('00-'01), Isuzu Hombre 2wd ('00) |- |S||Chevy Trailblazer 2wd ('02-'09), SSR ('03-'06), GMC Envoy 2wd ('02-'09), Envoy XUV 2wd ('04-'05), Oldsmobile Bravada 2wd ('02-'04),<br> Buick Rainier 2wd ('04-'07), Isuzu Ascender 2wd ('03-'08) |- |S||Chevy Colorado 2wd ('04-'09), GMC Canyon 2wd ('04-'09), Isuzu i-series 2wd ('06-'08) |- |T||Chevy S-10 4wd ('00-'04), Blazer 4wd ('00-'05), GMC Sonoma 4wd ('00-'04), Jimmy 4wd ('00-'01, Canada only: '02-'05), Envoy 4wd ('00),<br> Oldsmobile Bravada 4wd ('00-'01), Isuzu Hombre 4wd ('00) |- |T||Chevy Trailblazer 4wd ('02-'09), GMC Envoy 4wd ('02-'09), Envoy XUV 2wd ('04-'05), Oldsmobile Bravada 4wd ('02-'04), Buick Rainier 4wd ('04-'07),<br> Isuzu Ascender 4wd ('03-'08), Saab 9-7X 4wd ('05-'09) |- |T||Chevy Colorado 4wd ('04-'09), GMC Canyon 4wd ('04-'09), Isuzu i-series 4wd ('06-'08) |- |U||Regular length All-Purpose Vehicle [Minivan] ('00-'04 Chevy Venture, Pontiac Montana) |- |U||Regular length All-Purpose Vehicle [Minivan] (Chevy Uplander [US: '06-'08, Canada only: '05-'09], Pontiac Montana SV6 [Canada only: '05-'09]) |- |V||Extended length AWD All-Purpose Vehicle [Minivan] ('02-'04 Chevy Venture, Pontiac Montana, Oldsmobile Silhouette Extended length AWD) |- |V||Extended length FWD All-Purpose Vehicle [Minivan] ('05 Chevy Venture, Pontiac Montana Extended length FWD) |- |V||Extended length FWD All-Purpose Vehicle [Minivan] (Chevy Uplander ['05-'08, Canada only: '09], Pontiac Montana SV6 ['05-'06, Canada only: '07-'09],<br> Buick Terraza ['05-'07], Saturn Relay ['05-'07]) |- |V||GMC Acadia Awd, Saturn Outlook Awd '07-'09, Buick Enclave Awd '08-'09, Chevy Traverse Awd '09 |- |X||Extended length FWD All-Purpose Vehicle [Minivan] ('00-'04 Chevy Venture, Pontiac Montana, Oldsmobile Silhouette Extended length FWD) |- |X||Extended length AWD All-Purpose Vehicle [Minivan] ('05-'06 Chevy Uplander AWD, Pontiac Montana SV6 AWD, Buick Terraza AWD, Saturn Relay AWD) |- |Z||Saturn Vue 2wd & Awd '02-'07 |} ====Series 1981-1999 Light Duty Truck & Multi-Purpose Passenger Vehicle==== The Series is specified as character six of the American GM VIN for light trucks. {| border=1 style="margin:auto;" !VIN !Description |- |1||1/2 Ton |- |2||3/4 Ton |- |3||1 Ton |- |8||1/2 Ton ('81-'87 El Camino, Caballero) |- |9||Cadillac, Buick, Chevrolet Commercial Body/Chassis |- |0||All-Purpose Vehicle ('90-'99 U-body fwd minivans) |} ====Series 2000-2009 Light Duty Truck & Multi-Purpose Passenger Vehicle==== The Series is specified as character six of the American GM VIN for light trucks. {| border=1 style="margin:auto;" !VIN !Description |- |1 (following S)||Isuzu Ascender 2wd ('03-'08) |- |1 (following T)||Isuzu Ascender 4wd ('03-'08) |- |1 (following T)||Saab 9-7X ('05-'08: All, '09: 4.2i, 5.3i) |- |2 (following T)||Saab 9-7X Aero ('09) |} ====Body style codes 1981-2009 Light Duty Truck & Multi-Purpose Passenger Vehicle==== The Body type is specified as character seven of the American GM VIN for light trucks. {| border=1 style="margin:auto;" !VIN !Description |- |0||Sedan Pickup/Pickup Delivery ('81-'87 El Camino, Caballero) |- |0||Cadillac, Buick, Chevrolet Commercial Body/Chassis |- |0||Chassis Only |- |1||Cutaway Van |- |2||Forward Control ('81-'03) (includes '93-'95 Chevy G30HD/GMC G3500HD) |- |2||Sport Utility Truck (SUT) ('04-'09 Avalanche & Escalade EXT, '04-'05 Envoy XUV, '05-'09 Hummer H2 SUT) |- |3||Four-Door Cab pickup (Crew Cab) |- |3||4-door Passenger Minivan ('97-'09 U-bodies) |- |3||4-door SUV or MPV ('06-'09 HHR) (also includes '02-'03 Avalanche & Escalade EXT) ('05-'09 Saab 9-7X) |- |4||Two-Door Cab pickup (includes '83-'87 S-10/S-15 extended cab pickups & '03-'06 Chevy SSR) |- |5||Van (Astro/Safari & full-size vans & '07-'09 HHR Panel) |- |6||Extended length 4-door SUV (Suburban, Yukon XL, Escalade ESV, Trailblazer EXT, Envoy XL, Isuzu Ascender 7-psgr.) |- |6||3-door Passenger Minivan ('90-'99 U-bodies) |- |7||Motor Home Chassis ('81-'09) |- |8||Two-Door SUV (Utility) (2-d Tracker, S-10 Blazer, S-15 Jimmy, Blazer, Jimmy, Tahoe, Yukon) |- |9||Stake (81-87) |- |9||Extended Cab pickup ('88-) |- |9||Extended length van ('90-) (Astro/Safari & full-size vans) |} ===American VIN format 2010- Light Duty Truck & Multi-Purpose Passenger Vehicle=== GM's VIN format is as follows: <table border=1 style="margin:auto;"> <tr> <th>Position</th> <th>Sample</th><th></th><th></th><th>Description</th> </tr><tr> <td>1</td> <td>1</td><td></td><td></td><td rowspan=3>[[#GM WMIs|World Manufacturer Identifier]]</td> </tr><tr> <td>2</td> <td>G</td><td></td><td></td></tr><tr> <td>3</td> <td>K</td><td></td><td></td></tr><tr> <td>4</td> <td>L</td><td></td><td></td><td>[[#GVWR/Brake System/Body Style 2010- Light Duty Truck & Multi-Purpose Passenger Vehicle|GVWR/Brake System/Body Style 2010-]]</td> </tr><tr> <td>5</td> <td>R</td><td></td><td></td><td>[[#Line & Chassis Type 2010- Light Duty Truck & Multi-Purpose Passenger Vehicle|Line & Chassis Type for 2010-]]</td> </tr><tr> <td>6</td> <td>L</td><td></td><td></td><td>[[#Series 2010- Light Duty Truck & Multi-Purpose Passenger Vehicle|Series 2010- Light Duty Truck & Multi-Purpose Passenger Vehicle]]</td> </tr><tr> <td>7</td> <td>E</td><td></td><td></td><td>[[#Restraint codes for light trucks 2010-|Restraint type]]</td> </tr><tr> <td>8</td> <td>D</td><td></td><td></td><td>[[#Engine codes for light trucks|Engine type]]</td> </tr><tr> <td>9</td> <td>0</td><td></td><td></td><td>[[Vehicle Identification Numbers (VIN codes)/Check digit |Check digit]]</td> </tr><tr> <td>10</td> <td>A</td><td></td><td></td><td>[[Vehicle Identification Numbers (VIN codes)/Model year|Model year]]</td> </tr><tr> <td>11</td> <td>J</td><td></td><td></td><td>[[#GM factories supplying North America|Factory ID]]</td> </tr><tr> <td>12</td> <td>1</td><td></td><td></td><td rowspan=6>Sequential number </tr><tr> <td>13</td> <td>2</td><td></td><td></td></tr><tr> <td>14</td> <td>3</td><td></td><td></td></tr><tr> <td>15</td> <td>7</td><td></td><td></td></tr><tr> <td>16</td> <td>6</td><td></td><td></td></tr><tr> <td>17</td> <td>2</td><td></td><td></td> </table> ====GVWR/Brake System/Body Style 2010- Light Duty Truck & Multi-Purpose Passenger Vehicle==== The GVWR/Brake System is specified as character four of the American GM VIN for light trucks. {| border=1 style="margin:auto;" !VIN !GVWR Range in lbs. & Weight Class !Brake System !Body Style |- | ||Class A: 0-3,000||Hydraulic|| |- | ||Class B: 3,001-4,000||Hydraulic|| |- |A||Class C: 4,001-5,000||Hydraulic||26: 4-door SUV or MPV ('10-'11 Chevy HHR Panel, '10-'26 Chevy Equinox, GMC Terrain, '10 Saturn Vue,<br> '12-'15 Chevy Captiva Sport, '19-'24 Cadillac XT4, '24-'26 Buick Encore GX) |- |B||Class C: 4,001-5,000||Hydraulic||46: 4-door MPV ('10-'11 Chevy HHR) |- |J||Class C: 4,001-5,000||Hydraulic||48: 4-door, 4 window Hatchback ('18-'23 Chevy Bolt EV w/Rear Seat Delete pkg. - incomplete vehicle) |- |C||Class C: 4,001-5,000||Hydraulic||03: Regular Cab pickup or Chassis Cab ('10-'12 Chevy Colorado, GMC Canyon) |- |D||Class C: 4,001-5,000||Hydraulic||43: Crew Cab pickup or Chassis Cab ('10-'12 Chevy Colorado, GMC Canyon) |- |E||Class C: 4,001-5,000||Hydraulic||53: Extended Cab pickup or Chassis Cab ('10-'12 Chevy Colorado, GMC Canyon) |- |7||Class C: 4,001-5,000||Hydraulic||75: Four-Door Wagon - High Roof Monocab (Canada only: '12-'14 Chevy Orlando) |- |M||Class C: 4,001-5,000||Hydraulic||06: 4-door SUV ('20-'23 Buick Encore GX) |- |9||Class C: 4,001-5,000||Hydraulic||56: 4-door SUV Extended ('21-'26 Chevy Trailblazer) |- |7||Class C: 4,001-5,000||Hydraulic||58: 4-door Utility Extended ('24-'26 Chevy Trax, Buick Envista) |- |C||Class C: 4,001-5,000||Hydraulic||76: 4-door SUV ('13-'22 Buick Encore, Canada only: '13-'14 Chevy Trax, US & Canada: '15-'22 Chevy Trax) |- |F||Class D: 5,001-6,000||Hydraulic||26: 4-door SUV ('10-'17 Chevy Equinox, GMC Terrain, '10 Saturn Vue, '10-'16 Cadillac SRX, '11 Saab 9-4X,<br> '12-'13 Chevy Captiva Sport, '16-'26 Buick Envision, '17 Cadillac XT5, '19-'25 Cadillac XT4) |- |H||Class D: 5,001-6,000||Hydraulic||03: Regular Cab pickup or Chassis Cab ('10 Chevy Colorado, GMC Canyon) |- |G||Class D: 5,001-6,000||Hydraulic||03: Regular Cab pickup or Chassis Cab ('11-'12 Chevy Colorado, GMC Canyon) |- |J||Class D: 5,001-6,000||Hydraulic||43: Crew Cab pickup or Chassis Cab ('10 Chevy Colorado, GMC Canyon) |- |H||Class D: 5,001-6,000||Hydraulic||43: Crew Cab pickup or Chassis Cab ('11-'12 Chevy Colorado, GMC Canyon) |- |G||Class D: 5,001-6,000||Hydraulic||43: Crew Cab pickup or Chassis Cab ('15-'24 Chevy Colorado, '15-'22 GMC Canyon) |- |K||Class D: 5,001-6,000||Hydraulic||53: Extended Cab pickup or Chassis Cab ('10 Chevy Colorado, GMC Canyon) |- |J||Class D: 5,001-6,000||Hydraulic||53: Extended Cab pickup or Chassis Cab ('11-'12 Chevy Colorado, GMC Canyon) |- |H||Class D: 5,001-6,000||Hydraulic||53: Extended Cab pickup or Chassis Cab ('15-'22 Chevy Colorado, GMC Canyon) |- |T||Class D: 5,001-6,000||Hydraulic||69: Commercial Chassis ('10 Cadillac DTS chassis for Limo/Hearse) |- |7||Class D: 5,001-6,000||Hydraulic||69: Commercial Chassis ('11 Cadillac DTS chassis for Limo/Hearse) |- |L||Class E: 6,001-7,000||Hydraulic||26: 4-door SUV ('10 Chevy Traverse, GMC Acadia, Buick Enclave, Saturn Outlook) |- |K||Class E: 6,001-7,000||Hydraulic||26: 4-door SUV ('11-'17 Chevy Traverse, Buick Enclave, '11-'23 GMC Acadia, '17 Acadia Limited,<br> '17-'26 Cadillac XT5, '19-'26 Chevy Blazer, '20-'25 Cadillac XT6, '23-'26 Cadillac Lyriq EV,<br> '24-'26 Chevy Blazer EV, '25-'26 Cadillac Optiq EV, '24-'26 Honda Prologue EV, '24 Acura ZDX EV A-Spec) |- |7||Class E: 6,001-7,000||Hydraulic||48: 4-door SUV ('24-'25 Chevy Equinox EV) |- |E||Class E: 6,001-7,000||Hydraulic||56: 4-door SUV Extended ('18-'26 Chevy Traverse, Buick Enclave, '24 Chevy Traverse Limited,<br> '24-'26 GMC Acadia |- |M||Class E: 6,001-7,000||Hydraulic||05: Cargo Van ('10 Chevy Express, GMC Savana) |- |L||Class E: 6,001-7,000||Hydraulic||05: Cargo Van ('11-'14 Chevy Express, GMC Savana) |- |M||Class E: 6,001-7,000||Hydraulic||06: 4-door SUV ('10 Chevy Tahoe, GMC Yukon, Hummer H3) |- |L||Class E: 6,001-7,000||Hydraulic||06: 4-door SUV ('11-'20 Chevy Tahoe Police Pursuit Vehicle 2wd) |- |N||Class E: 6,001-7,000||Hydraulic||36: Sport Utility Truck (SUT) ('10 Chevy Avalanche 2wd) |- |M||Class E: 6,001-7,000||Hydraulic||36: Sport Utility Truck (SUT) ('11-13 Chevy Avalanche 2wd) |- |P||Class E: 6,001-7,000||Hydraulic||03: Regular Cab pickup or Chassis Cab ('10 Chevy Silverado, GMC Sierra) |- |N||Class E: 6,001-7,000||Hydraulic||03: Regular Cab pickup or Chassis Cab ('11-'26 Chevy Silverado, GMC Sierra,<br> '22 Chevy Silverado LTD, GMC Sierra Limited) |- |R||Class E: 6,001-7,000||Hydraulic||43: Crew Cab pickup or Chassis Cab ('10 Chevy Silverado, GMC Sierra, Hummer H3T) |- |P||Class E: 6,001-7,000||Hydraulic||43: Crew Cab pickup or Chassis Cab ('11-'26 Chevy Silverado, GMC Sierra,<br> '22 Chevy Silverado LTD, GMC Sierra Limited, '16-'26 Chevy Colorado, GMC Canyon) |- |S||Class E: 6,001-7,000||Hydraulic||53: Extended Cab pickup or Chassis Cab ('10 Chevy Silverado, GMC Sierra) |- |R||Class E: 6,001-7,000||Hydraulic||53: Extended Cab pickup or Chassis Cab ('11-'26 Chevy Silverado, GMC Sierra,<br> '19 Chevy Silverado LD, GMC Sierra Limited, '22 Chevy Silverado LTD, GMC Sierra Limited,<br> '16-'22 Chevy Colorado) |- |G||Class E: 6,001-7,000||Hydraulic||69: Commercial Chassis ('10 Cadillac DTS chassis for Limo/Hearse) |- |8||Class E: 6,001-7,000||Hydraulic||69: Commercial Chassis ('11 Cadillac DTS chassis for Limo/Hearse) |- |X||Class E: 6,001-7,000||Hydraulic||69: Commercial Chassis ('13-'19 Cadillac XTS chassis for Limo/Hearse) |- |U||Class F: 7,001-8,000||Hydraulic||05: Cargo Van or Incomplete Vehicle ('10 Chevy Express, GMC Savana) |- |S||Class F: 7,001-8,000||Hydraulic||05: Cargo Van or Incomplete Vehicle ('11-'14 Chevy Express, GMC Savana) |- |U||Class F: 7,001-8,000||Hydraulic||06: Passenger Van ('10 Chevy Express, GMC Savana) |- |S||Class F: 7,001-8,000||Hydraulic||06: Passenger Van ('11-'14 Chevy Express, GMC Savana) |- |U||Class F: 7,001-8,000||Hydraulic||06: 4-door SUV ('10 Chevy Tahoe, Suburban 1500, GMC Yukon, Yukon XL 1500, Cadillac Escalade, Escalade ESV) |- |S||Class F: 7,001-8,000||Hydraulic||06: 4-door SUV ('11-'26 Chevy Tahoe, Suburban 1500, GMC Yukon, Yukon XL 1500, Cadillac Escalade, Escalade ESV) |- |V||Class F: 7,001-8,000||Hydraulic||36: Sport Utility Truck (SUT) ('10 Chevy Avalanche 4wd, Cadillac Escalade EXT 4wd) |- |T||Class F: 7,001-8,000||Hydraulic||36: Sport Utility Truck (SUT) ('11-'13 Chevy Avalanche 4wd, Cadillac Escalade EXT 4wd) |- |X||Class F: 7,001-8,000||Hydraulic||26: 4-door SUV ('24 Acura ZDX EV Type S) |- |C||Class F: 7,001-8,000||Hydraulic||56: 4-door SUV Extended ('26- Cadillac Vistiq EV) |- |W||Class F: 7,001-8,000||Hydraulic||03: Regular Cab pickup or Chassis Cab ('10 Chevy Silverado, GMC Sierra) |- |X||Class F: 7,001-8,000||Hydraulic||43: Crew Cab pickup or Chassis Cab ('10 Chevy Silverado, GMC Sierra) |- |U||Class F: 7,001-8,000||Hydraulic||43: Crew Cab pickup or Chassis Cab ('11-'26 Chevy Silverado, GMC Sierra,<br> '22 Chevy Silverado LTD, GMC Sierra Limited) |- |Y||Class F: 7,001-8,000||Hydraulic||53: Extended Cab pickup or Chassis Cab ('10 Chevy Silverado, GMC Sierra) |- |V||Class F: 7,001-8,000||Hydraulic||53: Extended Cab pickup or Chassis Cab ('11-'26 Chevy Silverado, GMC Sierra,<br> '19 Chevy Silverado LD, GMC Sierra Limited, '22 Chevy Silverado LTD, GMC Sierra Limited) |- |U||Class F: 7,001-8,000||Hydraulic||69: Commercial Chassis ('10 Cadillac DTS chassis for Limo/Hearse) |- |9||Class F: 7,001-8,000||Hydraulic||69: Commercial Chassis ('11 Cadillac DTS chassis for Limo/Hearse) |- |Z||Class G: 8,001-9,000||Hydraulic||05: Cargo Van or Incomplete Vehicle ('10 Chevy Express, GMC Savana) |- |W||Class G: 8,001-9,000||Hydraulic||05: Cargo Van or Incomplete Vehicle ('11-'26 Chevy Express, GMC Savana) |- |Z||Class G: 8,001-9,000||Hydraulic||06: Passenger Van ('10 Chevy Express, GMC Savana) |- |W||Class G: 8,001-9,000||Hydraulic||06: Passenger Van ('11-'26 Chevy Express, GMC Savana) |- |Z||Class G: 8,001-9,000||Hydraulic||06: 4-door SUV ('10 Chevy Suburban 2500, GMC Yukon XL 2500) |- |W||Class G: 8,001-9,000||Hydraulic||06: 4-door SUV ('11-'13 Chevy Suburban 2500, GMC Yukon XL 2500) |- |2||Class H: 9,001-10,000||Hydraulic||05: Cargo Van or Incomplete Vehicle ('10 Chevy Express, GMC Savana) |- |Z||Class H: 9,001-10,000||Hydraulic||05: Cargo Van or Incomplete Vehicle ('11-'26 Chevy Express, GMC Savana,<br> '23-'24 BrightDrop Zevo 600, '24 BrightDrop Zevo 400, '25-'26 Chevrolet BrightDrop 400/600) |- |2||Class H: 9,001-10,000||Hydraulic||06: Passenger Van ('10 Chevy Express, GMC Savana) |- |Z||Class H: 9,001-10,000||Hydraulic||06: Passenger Van ('11-'26 Chevy Express, GMC Savana) |- |3||Class H: 9,001-10,000||Hydraulic||03: Van Cutaway ('10 Chevy Express, GMC Savana) |- |0||Class H: 9,001-10,000||Hydraulic||03: Van Cutaway ('11-'26 Chevy Express, GMC Savana) |- |3||Class H: 9,001-10,000||Hydraulic||03: Regular Cab pickup or Chassis Cab ('10 Chevy Silverado, GMC Sierra) |- |0||Class H: 9,001-10,000||Hydraulic||03: Regular Cab pickup or Chassis Cab ('11-'26 Chevy Silverado, GMC Sierra) |- |4||Class H: 9,001-10,000||Hydraulic||43: Crew Cab pickup or Chassis Cab ('10 Chevy Silverado, GMC Sierra) |- |1||Class H: 9,001-10,000||Hydraulic||43: Crew Cab pickup or Chassis Cab ('11-'26 Chevy Silverado, GMC Sierra,<br> '24-'25 GMC Hummer EV pickup w/20 module battery pack,<br> '24-'26 Chevy Silverado EV, '25-'26 GMC Sierra EV) |- |5||Class H: 9,001-10,000||Hydraulic||53: Extended Cab pickup or Chassis Cab ('10 Chevy Silverado, GMC Sierra) |- |2||Class H: 9,001-10,000||Hydraulic||53: Extended Cab pickup or Chassis Cab ('11-'13, '15-'26 Chevy Silverado, GMC Sierra) |- |B||Class H: 9,001-10,000||Hydraulic||26: 4-door SUV ('24-'25 GMC Hummer EV SUV) |- |6||Class 3: 10,001-14,000||Hydraulic||03: Van Cutaway ('10 Chevy Express, GMC Savana) |- |3||Class 3: 10,001-14,000||Hydraulic||03: Van Cutaway ('11-'26 Chevy Express, GMC Savana) |- |6||Class 3: 10,001-14,000||Hydraulic||03: Regular Cab pickup or Chassis Cab ('10 Chevy Silverado, GMC Sierra) |- |3||Class 3: 10,001-14,000||Hydraulic||03: Regular Cab pickup or Chassis Cab ('11-'26 Chevy Silverado, GMC Sierra) |- |7||Class 3: 10,001-14,000||Hydraulic||43: Crew Cab pickup or Chassis Cab ('10 Chevy Silverado, GMC Sierra) |- |4||Class 3: 10,001-14,000||Hydraulic||43: Crew Cab pickup or Chassis Cab ('11-'26 Chevy Silverado, GMC Sierra,<br> '22-'24 GMC Hummer EV pickup w/24 module battery pack, '25 GMC Hummer EV pickup w/20 or 24 module battery pack, '26 GMC Hummer EV pickup, '24-'25 Chevy Silverado EV, GMC Sierra EV) |- |8||Class 3: 10,001-14,000||Hydraulic||53: Extended Cab pickup or Chassis Cab ('10 Chevy Silverado, GMC Sierra) |- |5||Class 3: 10,001-14,000||Hydraulic||53: Extended Cab pickup or Chassis Cab ('11-'13, '15-'18, '20-'26 Chevy Silverado, GMC Sierra) |- |8||Class 3: 10,001-14,000||Hydraulic||06: 4-door SUV ('16-'19, '24-'26 Chevy Suburban 3500HD) |- |8||Class 3: 10,001-14,000||Hydraulic||05: Cargo Van ('22 BrightDrop EV600, '23-'24 BrightDrop Zevo 600, '24 BrightDrop Zevo 400,<br> '25-'26 Chevrolet BrightDrop 400/600) |- |T||Class 3: 10,001-14,000||Hydraulic||26: 4-door SUV ('25-'26 GMC Hummer EV SUV, '25-'26 Cadillac Escalade IQ [EV]) |- |L||Class 3: 10,001-14,000||Hydraulic||56: 4-door SUV Extended ('26- Cadillac Escalade IQL [EV]) |- |9||Class 4: 14,001-16,000||Hydraulic||03: Van Cutaway ('10 Chevy Express, GMC Savana) |- |6||Class 4: 14,001-16,000||Hydraulic||03: Van Cutaway ('11-'26 Chevy Express, GMC Savana) |- | ||Class 5: 16,001-19,500||Hydraulic|| |} ====Line & Chassis Type 2010- Light Duty Truck & Multi-Purpose Passenger Vehicle==== The Line & Chassis Type is specified as character five of the American GM VIN for light trucks. {| border=1 style="margin:auto;" !VIN !Description |- |A||Chevrolet HHR ('10-'11), HHR Panel ('10-'11) |- |A||Chevy Silverado 1500 2wd ('22-'26), Silverado HD 2500/3500 2wd ('25-'26) |- |B||Chevy Blazer 2wd & Awd '19-'26 |- |C||Chevy Silverado 2wd ('10-'18), Silverado LD 1500 2wd '19, Silverado HD 2500/3500 2wd '19, GMC Sierra 2wd ('10) |- |C||Chevy Tahoe 2wd ('10-'24), Suburban 2wd ('10-'24), Avalanche 2wd ('10-'13),<br /> GMC Yukon 2wd ('10), Yukon XL 2wd ('10), Cadillac Escalade 2wd ('10), Escalade ESV 2wd ('10) |- |D||Chevy Silverado 1500 4wd ('22-'24) |- |D||Chevy Blazer EV ('24-'26), Chevy Equinox EV ('24-'26) |- |E||Cadillac Escalade IQ [EV] ('25-'26), Escalade IQL [EV] ('26-), GMC Hummer EV pickup ('26-), GMC Hummer EV SUV ('26-), GMC Sierra EV ('26-) |- |F||Chevy Bolt EV w/Rear Seat Delete pkg. - incomplete vehicle ('18-'23) |- |G||Cadillac Chassis for Limousine & for Armored Vehicle (Based on XTS '13-'19) |- |G||Cadillac Chassis for Hearse (Based on XTS '13-'19) |- |G||Chevy Express 2wd ('10-'26), GMC Savana 2wd ('10) |- |H||Chevy Express 4wd ('10-'14), GMC Savana 4wd ('10) |- |H||GMC Sierra 1500 2wd ('22-'26), Sierra HD 2500/3500 2wd ('25-'26) |- |H||Honda Prologue EV ('24-'26), Acura ZDX EV ('24) |- |J||Buick Encore 2wd & Awd ('13-'22), Chevy Trax 2wd & Awd (Canada: '13-'22, US: '15-'22) |- |J||BrightDrop EV600 ('22), BrightDrop Zevo 600 ('23-'24), BrightDrop Zevo 400 ('24), Chevrolet BrightDrop 400/600 ('25-'26) |- |K||Chevy Silverado 4wd ('10-'18), Silverado LD 1500 4wd ('19), Silverado HD 2500/3500 4wd ('19), GMC Sierra 4wd ('10) |- |K||Chevy Silverado 1500 4wd ('25-'26), Silverado HD 2500/3500 4wd ('25-'26) |- |K||Chevy Tahoe 4wd ('10-'24), Suburban 4wd ('10-'24), Suburban HD 4wd ('24-'26), Avalanche 4wd ('10-'13), GMC Yukon 4wd ('10), Yukon XL 4wd ('10),<br> Cadillac Escalade 4wd ('10), Escalade ESV 4wd ('10), Escalade EXT 4wd ('10) |- |K||Cadillac Professional Chassis for Limousine (Based on DTS '10-'11) |- |K||Cadillac Commercial Chassis for Hearse (Based on DTS '10-'11) |- |L||Chevy Equinox 2wd & Awd '10-'17, Captiva Sport 2wd '12-'15, Captiva Sport Awd '12, GMC Terrain 2wd & Awd '10-'17, Saturn Vue 2wd & Awd '10 |- |L||GMC Terrain 2wd & Awd '18-'26 |- |L||Buick Envista '24-'26, Chevy Trax '24-'26 |- |M||Buick Encore GX 2wd & Awd ('20-'26), Chevy Trailblazer 2wd & Awd ('21-'26) |- |N||Cadillac SRX 2wd & Awd '10-'16, Saab 9-4X 2011 |- |N||GMC Acadia 2wd & Awd '17-'26, Cadillac XT5 2wd & Awd '17-'26 |- |N||Hummer H3, H3T 2010 |- |P||Chevy Orlando (Canada only: '12-'14) |- |P||Cadillac XT6 2wd & Awd '20-'25 |- |P||Cadillac Lyriq EV 2wd & Awd '23-'25 |- |R||GMC Acadia 2wd '10-'16, Acadia Limited 2wd '17, Saturn Outlook 2wd '10, Buick Enclave 2wd '10-'17, Chevy Traverse 2wd '10-'17 |- |R||Buick Enclave 2wd '18-'24, Chevy Traverse 2wd '18-'23 |- |R||Buick Enclave 2wd '25-'26, Chevy Traverse 2wd '24-'26 |- |S||Chevy Traverse Limited 2wd '24 |- |S||Chevy Colorado 2wd ('10-'12, '15-'26), GMC Canyon 2wd ('10) |- |T||Chevy Colorado 4wd ('10-'12, '15-'26), GMC Canyon 4wd ('10) |- |T||Chevy Traverse Limited Awd '24 |- |U||GMC Sierra 1500 4wd ('22-'26), Sierra HD 2500/3500 4wd ('25-'26) |- |V||GMC Acadia Awd '10-'16, Acadia Limited Awd '17, Saturn Outlook Awd '10, Buick Enclave Awd '10-'17, Chevy Traverse Awd '10-'17 |- |V||Buick Enclave Awd '18-'24, Chevy Traverse Awd '18-'23 |- |V||Buick Enclave Awd '25-'26, Chevy Traverse Awd '24-'26 |- |W||Chevy Silverado 1500 2wd ('19-'21), Silverado LTD 1500 2wd ('22), Silverado HD 2500/3500 2wd ('20-'24) |- |X||Buick Envision 2wd & Awd '16-'20, Chevy Equinox 2wd & Awd '18-'26 |- |Y||Chevy Silverado 1500 4wd ('19-'21), Silverado LTD 1500 4wd ('22), Silverado HD 2500/3500 4wd ('20-'24) |- |Z||Cadillac XT4 2wd & Awd '19-'25, Buick Envision 2wd '21-'23, Buick Envision Awd '21-'26 |- |1||GMC Sierra 2wd ('11-'18), Sierra Limited 1500 2wd ('19), Sierra HD 2500/3500 2wd ('19), Yukon 2wd ('11-'26), Yukon XL 2wd ('11-'26) |- |1||GMC Canyon 2wd ('25-'26) |- |2||GMC Sierra 4wd ('11-'18), Sierra Limited 1500 4wd ('19), Sierra HD 2500/3500 4wd ('19), Yukon 4wd ('11-'26), Yukon XL 4wd ('11-'26) |- |2||GMC Canyon 4wd ('25-'26) |- |3||Cadillac Escalade 2wd ('11-'24), Escalade ESV 2wd ('11-'24) |- |3||Cadillac Optiq EV ('25-), Cadillac Vistiq EV ('26-) |- |4||Cadillac Escalade 4wd ('11-'24), Escalade ESV 4wd ('11-'24), Escalade EXT 4wd ('11-'13) |- |5||GMC Canyon 2wd ('11-'12, '15-'24) |- |5||Chevy Tahoe 2wd ('25-'26), Suburban 2wd ('25-'26) |- |6||GMC Canyon 4wd ('11-'12, '15-'24) |- |6||Chevy Tahoe 4wd ('25-'26), Suburban 4wd ('25-'26) |- |7||GMC Savana 2wd ('11-'26) |- |8||GMC Savana 4wd ('11-'14) |- |8||GMC Sierra 1500 2wd ('19-'21), Sierra Limited 1500 2wd ('22), Sierra HD 2500/3500 2wd ('20-'24) |- |8||Cadillac Escalade 2wd ('25-'26), Escalade ESV 2wd ('25-'26) |- |9||GMC Sierra 1500 4wd ('19-'21), Sierra Limited 1500 4wd ('22), Sierra HD 2500/3500 4wd ('20-'24) |- |9||Cadillac Escalade 4wd ('25-'26), Escalade ESV 4wd ('25-'26) |- |0||GMC Hummer EV pickup ('22-'25), GMC Hummer EV SUV ('24-'25), Chevy Silverado EV ('24-'26), GMC Sierra EV ('24-'25) |} ====Series 2010- Light Duty Truck & Multi-Purpose Passenger Vehicle==== The Series is specified as character six of the American GM VIN for light trucks. {| border=1 style="margin:auto;" !VIN !Description |- |P (following N)||Saab 9-4X 3.0i 2wd ('11) |- |R (following N)||Saab 9-4X 3.0i Awd ('11) |- |S (following N)||Saab 9-4X 3.0i Premium 2wd ('11) |- |T (following N)||Saab 9-4X 3.0i Premium Awd ('11) |- |U (following N)||Saab 9-4X Aero Awd ('11) |} ===Platform & Series Codes 1985- Passenger Car=== GM used a lettered system of automobile platform codes for three decades. These letters were used as the fourth position of the VIN. Though today's GM platforms use Greek characters, they are still encoded with Latin characters in the fourth position. Position five encodes the specific model and trim level of the vehicle. {| border=1 style="margin:auto;" !List of GM platforms !Platform<br>Code !Series<br>Code !:Category:General Motors vehicles|Model |- |rowspan=14|GM A platform |rowspan=14|A||W||Chevrolet Celebrity 1985-1990 |- |E||Pontiac 6000 ''SE'' 1986-1988 |- |F||Pontiac 6000 1985-1988, 6000 ''LE'' 1989-1991 |- |G||Pontiac 6000 ''LE'' 1985-1988 |- |H||Pontiac 6000 ''STE'' 1985-1989 |- |J||Pontiac 6000 ''SE'' 1989-1991 |- |G||Oldsmobile Cutlass Ciera ''S'' Sedan 1993-1994 |- |J||Oldsmobile Cutlass Ciera ''LS'' 1985, Cutlass Ciera 1986-1989 & Cutlass Cruiser 1985-1989,<br /> Cutlass Ciera ''S'' Coupe 1986-1987, Cutlass Ciera ''S'' 1990-1991 & Cutlass Cruiser ''S'' 1990-1994, Cutlass Ciera ''SL'' & Cutlass Cruiser ''SL'' 1995, Ciera ''SL'' sedan & wagon 1996 |- |L||Oldsmobile Cutlass Ciera 1990-1991, Cutlass Ciera ''S'' Sedan 1992 |- |M||Oldsmobile Cutlass Ciera ''Brougham'' 1985-1988, Cutlass Ciera ''SL'' Coupe 1986-1989, Cutlass Ciera ''SL'' Sedan 1989-1993, Cutlass Cruiser ''Brougham'' 1987-1988, Cutlass Cruiser ''SL'' 1989-1993 |- |S||Oldsmobile Cutlass Ciera ''International Series'' 1988-1990 |- |G||Buick Century ''T-Type'' 1985-1986, Century ''Special'' 1991-1996 |- |H||Buick Century ''Custom'' 1985-1995 |- |L||Buick Century ''Limited'' 1985-1993, Century Estate Wagon 1986-1989 |- |rowspan=14|GM B platform |rowspan=14|B||L||Chevrolet Impala 1985, Caprice 1986-1992, Caprice Classic 1993-1996, Impala SS 1995-96 |- |N||Chevrolet Caprice Classic 1985-1992, Caprice Classic LS 1993-1994,<br /> Caprice Classic LTZ 1991-1993, Impala SS 1994 |- |U||Chevrolet Caprice Classic Brougham/Brougham LS 1987-1990 |- |L||Pontiac Parisienne 1985-1986, Safari Wagon 1987-1989 |- |T||Pontiac Parisienne Brougham 1985-1986 |- |N||Oldsmobile Delta 88 Royale 1985 |- |P||Oldsmobile Custom Cruiser 1985-1992 |- |V||Oldsmobile Delta 88 Royale Brougham LS 1985 |- |Y||Oldsmobile Delta 88 Royale Brougham 1985 |- |N||Buick Le Sabre ''Custom'' 1985, Roadmaster sedan 1992-1996 |- |P||Buick Le Sabre ''Limited'' 1985 |- |R||Buick Le Sabre Estate Wagon 1985-1989, Estate Wagon 1990,<br /> Roadmaster Estate Wagon 1991-1996 |- |T||Buick Roadmaster ''Limited'' sedan 1992-1996 |- |V||Buick Electra Estate Wagon 1985-1989 |- |rowspan=13|GM C platform - front-wheel drive |rowspan=13|C |V||Oldsmobile Touring Sedan 1988-1990, 98 Touring Sedan 1991-1993 |- |W||Oldsmobile 98 Regency Brougham 1985-1990, 98 Regency Elite 1991-1996 |- |X||Oldsmobile 98 Regency 1985-1990, 1992-1994 |- |F||Buick Electra T-Type 1985-1990 |- |U||Buick Electra Park Avenue Ultra 1989-1990, Park Avenue Ultra 1991-1996 |- |W||Buick Electra Park Avenue 1985-1990, Park Avenue 1991-1996 |- |X||Buick Electra 1985-1986, Electra Limited 1987-1990 |- |B||1985-1992 Cadillac Fleetwood, Fleetwood D'Elegance, 1993 Cadillac Sixty Special |- |D||1985-1993 Cadillac DeVille |- |G||1991-1992 Cadillac Fleetwood Sixty Special |- |H||1985-1987 Cadillac Fleetwood Limousine |- |S||1987-1990 Cadillac Fleetwood Sixty Special |- |T||1991-1993 Cadillac DeVille Touring Sedan |- |rowspan=3|GM G platform (models formerly on C platform) |rowspan=3|C |- |U||Buick Park Avenue Ultra 1997-2005 |- |W||Buick Park Avenue 1997-2005 |- |rowspan=2|GM D platform |rowspan=2|D||W||1985-1986 Cadillac Fleetwood Brougham, 1987-1992 Cadillac Brougham |- |W||1993-1996 Cadillac Fleetwood |- |rowspan=31|GM Delta I platform |rowspan=31|A |- |A||Chevrolet Cobalt LS w/manual trans. 2010 |- |B||Chevrolet Cobalt LS w/automatic trans. 2010 |- |C||Chevrolet Cobalt 1LT w/manual trans. 2010 |- |D||Chevrolet Cobalt 1LT w/automatic trans. 2010 |- |E||Chevrolet Cobalt 2LT w/manual trans. 2010 |- |F||Chevrolet Cobalt 2LT w/automatic trans. 2010 |- |G||Chevrolet Cobalt SS Turbo 2010 |- |H||Chevrolet Cobalt (base model w/XFE) 2010 |- |K||Chevrolet Cobalt (base model) 2005, Cobalt LS 2006-2008, Cobalt LS w/man. trans. 2009 |- |L||Chevrolet Cobalt LS 2005, Cobalt LT 2006-2008, Cobalt LT w/manual trans. 2009 |- |M||Chevrolet Cobalt SS 2006-2007, Cobalt Sport 2008 |- |P||Chevrolet Cobalt SS Supercharged 2005-2007, SS Turbo 2008-2009 |- |S||Chevrolet Cobalt LS w/automatic trans. 2009 |- |T||Chevrolet Cobalt LT w/automatic trans. 2009 |- |Z||Chevrolet Cobalt LT 2005, Cobalt LTZ 2006-2007 |- |L||Pontiac G5 2007-2008, G5 w/manual trans. 2009 |- |N||Pontiac G5 GT 2007-2008, G5 GT w/manual trans. 2009 |- |S||Pontiac G5 w/automatic trans. 2009 |- |T||Pontiac G5 GT w/automatic trans. 2009 |- |F||Saturn Ion sedan Level 1 w/manual trans. 2003-2005 |- |G||Saturn Ion sedan Level 1 w/automatic trans. 2003-2005 |- |J||Saturn Ion sedan Level 2 w/automatic trans. 2003-2007 |- |K||Saturn Ion sedan Level 3 w/manual trans. 2003-2007 |- |L||Saturn Ion sedan Level 3 w/automatic trans. 2003-2007 |- |M||Saturn Ion coupe Level 2 w/manual trans. 2003-2007 |- |N||Saturn Ion coupe Level 2 w/automatic trans. 2003-2007 |- |V||Saturn Ion coupe Level 3 w/manual trans. 2003-2007 |- |W||Saturn Ion coupe Level 3 w/automatic trans. 2003-2007 |- |Y||Saturn Ion coupe Red Line 2004-2007 |- |Z||Saturn Ion sedan Level 2 w/manual trans. 2003-2007 |- |rowspan=9|GM E platform |rowspan=9|E |- |V||Oldsmobile Toronado Trofeo 1988-1992 |- |Z||Oldsmobile Toronado Brougham 1985-1986, Toronado 1987-1992 |- |C||Buick Reatta 1988-1991 |- |Y||Buick Riviera T-Type 1985-1986 |- |Z||Buick Riviera 1985-1993 |- |C||Cadillac Eldorado Collector Series 2002 |- |L||Cadillac Eldorado 1985-2002 |- |T||Cadillac Eldorado Touring Coupe 1994-2002 |- |rowspan=26|GM Epsilon I platform |rowspan=26|Z||A||Chevrolet Malibu Fleet 2010-2012 |- |B||Chevrolet Malibu LS 2010-2012 |- |C||Chevrolet Malibu 1LT 2010-2012 |- |D||Chevrolet Malibu 2LT 2010-2012 |- |E||Chevrolet Malibu LTZ 2010-2011, Malibu 1LZ 2012 |- |F||Chevrolet Malibu Hybrid 2008-2010, Malibu 3LT 2012 |- |G||Chevrolet Malibu LS 2008-2009, Malibu 2LZ 2012 |- |H||Chevrolet Malibu 1LT 2008-2009 |- |J||Chevrolet Malibu 2LT 2008-2009 |- |K||Chevrolet Malibu LTZ 2008-2009 |- |S||Chevrolet Malibu 2004-2005, Malibu LS 2006-2007, Malibu Classic LS 2008 |- |T||Chevrolet Malibu LS 2004-2005, Malibu LT 2006-2007, Malibu Classic LT 2008 |- |U||Chevrolet Malibu LT 2004-2005, Malibu LTZ 2006-2007 |- |W||Chevrolet Malibu SS 2006-2007 |- |A||Pontiac G6 Sedan 2010 |- |F||Pontiac G6 2.4L Sedan (Base model) 2006, G6 Value Leader (Base model w/1SV) 2007-2008 |- |G||Pontiac G6 3.5L Sedan (Base model) 2005-2006, G6 (Base model) 2007-2009 |- |H||Pontiac G6 GT 2005-2009 |- |J||Pontiac G6 (Base model) 2009 1/2 (Mid-Cycle Revision) |- |K||Pontiac G6 GT 2009 1/2 (Mid-Cycle Revision) |- |L||Pontiac G6 GXP 2009 1/2 (Mid-Cycle Revision) |- |M||Pontiac G6 GTP 2006-2007, G6 GXP 2008-2009 |- |R||Saturn Aura Green Line 2007-2009 |- |S||Saturn Aura XE 2007-2009 |- |V||Saturn Aura XR 2007-2008, Aura XR 2.4L 2009 |- |X||Saturn Aura XR V6 2009 |- |rowspan=6|GM F platform |rowspan=6|F||P||Chevrolet Camaro Sport Coupe 1985-2002, Convertible 1987-1992, 1994-2002 |- |S||Chevrolet Camaro Berlinetta 1985-1986 |- |S||Pontiac Firebird 1985-2002, Firebird ''Formula'' 1987-1992 |- |V||Pontiac Firebird ''Formula / Trans Am'' 1993-2002, Firebird ''Trans Am GT'' 1994 |- |W||Pontiac Firebird ''Trans Am'' 1985-1992, Firebird ''Trans Am GTA'' 1987-1992 |- |X||Pontiac Firebird ''S/E'' 1985-1986 |- |rowspan=13|GM G platform - rear-wheel drive |rowspan=13|G||Z||Chevrolet Monte Carlo 1985-1988 |- |J||Pontiac Grand Prix 1985-1987 |- |K||Pontiac Grand Prix LE 1985-1987 |- |N||Pontiac Bonneville 1985-1986 |- |P||Pontiac Grand Prix Brougham 1985-1987 |- |R||Pontiac Bonneville Brougham 1985-1986 |- |S||Pontiac Bonneville LE 1985-1986 |- |K||Oldsmobile Cutlass Salon coupe 1985-1987 |- |M||Oldsmobile Cutlass Supreme ''Brougham'' 1985-1987,<br /> Cutlass Supreme Classic ''Brougham'' 1988 |- |R||Oldsmobile Cutlass Supreme 1985-1987, Cutlass Supreme Classic 1988 |- |J||Buick Regal 1985-1987 |- |K||Buick Regal T-Type 1985-1987 |- |M||Buick Regal ''Limited'' 1985-1987 |- |rowspan=4|GM G platform - front-wheel drive |rowspan=4|G||D||1995-1999 Buick Riviera |- |R||1995-1999 Oldsmobile Aurora |- |R||2001-2002 Oldsmobile Aurora 3.5 |- |S||2001-2003 Oldsmobile Aurora 4.0 |- |rowspan=9|GM H platform |rowspan=9|H||H||Buick Le Sabre 1987 |- |P||Buick Le Sabre ''Custom'' 1986-1999 |- |R||Buick Le Sabre ''Limited'' 1986-1999 |- |C||Oldsmobile Regency 1997-1998, Eighty Eight 50th Anniversary Edition 1999 |- |N||Oldsmobile Delta 88 Royale 1986-1988, 88 Royale 1989-1995, Eighty Eight & Eighty Eight LS 1996-99 |- |Y||Oldsmobile Delta 88 Royale Brougham 1986-1988, 88 Royale Brougham 1989-91, Eighty Eight Royale LS 1992-1995, LSS 1996-1999 |- |X||Pontiac Bonneville 1987, Bonneville LE 1988-1991, Bonneville ''SE'' 1992-1999 |- |Y||Pontiac Bonneville SSE 1988-1991, Bonneville ''SSEi'' 1992-1993 |- |Z||Pontiac Bonneville LE 1987, Bonneville SE 1988-1991, Bonneville ''SSE'' 1992-1999, Bonneville ''SSEi'' 1994-1999 |- |rowspan=17|GM G platform (models formerly on H platform or their successors) |rowspan=17|H||A||Buick Lucerne ''CX'' 2010-2011 |- |B||Buick Lucerne ''CX-2'' 2010 |- |C||Buick Lucerne ''CXL'' 2010-2011 |- |D||Buick Lucerne ''CXL V6'' 2006-2009, Lucerne ''CXL Special Edition'' 2010 |- |E||Buick Lucerne ''CXS'' 2006-2008, Lucerne ''CXL-3'' 2010 |- |F||Buick Lucerne ''Super'' 2008-2009, Lucerne ''CXL-4'' 2010 |- |G||Buick Lucerne ''CXL-5'' 2010 |- |H||Buick Lucerne ''Super 1SP'' 2010 |- |J||Buick Lucerne ''CXL Premium'' 2010-2011 |- |K||Buick Lucerne ''Super 1XS'' 2010, Lucerne ''Super'' 2011 |- |P||Buick Lucerne ''CX'' 2006-2009 |- |R||Buick Lucerne ''CXL V8'' 2006-2007, Lucerne ''CXL Special Edition V8'' 2008 |- |P||Buick Le Sabre ''Custom'' 2000-2005 |- |R||Buick Le Sabre ''Limited'' 2000-2005 |- |X||Pontiac Bonneville ''SE'' 2000-2005 |- |Y||Pontiac Bonneville ''SLE'' 2000-2005 |- |Z||Pontiac Bonneville ''SSEi'' 2000-2003, Bonneville GXP 2004-2005 |- |rowspan=23|GM J platform |rowspan=23|J |- |C||Chevrolet Cavalier 1985-1994, RS Convertible 1991-1994 |- |D||Chevrolet Cavalier CS 1985-1987 |- |E||Chevrolet Cavalier Type 10 1985, RS 1986-1988,<br /> Type 10 Convertible 1985, RS Convertible 1986-1987 |- |F||Chevrolet Cavalier Z24 1986-1994, Z24 Convertible 1988-1989, 1992-1994 |- |C||Chevrolet Cavalier 1995-2005, Cavalier RS 1997-1999 |- |F||Chevrolet Cavalier LS Sedan 1995-2005, LS Coupe 2003-2005, Z24 Coupe 1995-2001,<br /> LS Convertible 1995-1997, Z24 Convertible 1998-2000 |- |H||Chevrolet Cavalier Z24 Coupe/Sedan 2002, LS Sport 2002-2005 |- |S||Chevrolet Cavalier LS Coupe 2002 |- |B||Pontiac Sunbird 1985-1989, Sunbird LE 1990-1991, Sunbird SE 1992-1993,<br /> Sunbird LE 1994 |- |C||Pontiac Sunbird LE 1985, Sunbird 1991, Sunbird LE 1992-1993 |- |D||Pontiac Sunbird SE 1985-1991, Sunbird GT 1992-1993 |- |L||Pontiac Sunbird SE 1994 |- |U||Pontiac Sunbird GT 1986-1991 |- |B||Pontiac Sunfire SE 1995-2002, Convertible 1995-2000, Sunfire 2003-2005 |- |D||Pontiac Sunfire GT 1995-2002 |- |C||Oldsmobile Firenza Base model 1985-1987, Firenza S 1985-1987, Firenza 1988 |- |D||Oldsmobile Firenza LX 1985-1987, Firenza SX 1985, Firenza LC, GT 1986-1987 |- |E||Buick Skyhawk T-Type 1985-1986 |- |S||Buick Skyhawk Custom 1985-1987, Skyhawk Sport 1986-1987, Skyhawk 1988-1989 |- |T||Buick Skyhawk Limited 1985-1987 |- |G||Cadillac Cimarron 1985-1988 |- |G, H||Toyota Cavalier (Japan only) |- |rowspan=8|GM2900 platform |rowspan=8|J||C||Saturn L-Series|2004 Saturn L300.1 |- |D||Saturn L-Series|2004 Saturn L300.2, 2005 Saturn L300 |- |L||Saturn L-Series|2004 Saturn L300.3 |- |R||Saturn L-Series|Saturn LS w/manual transmission '00/L100 w/manual transmission '01 |- |S||Saturn L-Series|Saturn LS w/automatic transmission '00/L100 w/automatic transmission '01-'02 |- |T||Saturn L-Series|Saturn LS1 w/manual transmission '00/L200 w/manual transmission '01-'03, LW200 w/manual trans. '02 |- |U||Saturn L-Series|Saturn LS1 w/automatic transmission '00/L200 w/automatic transmission '01-'03,<br> Saturn LW1 w/automatic transmission '00/LW200 w/automatic transmission '01-'03 |- |W||Saturn L-Series|Saturn LS2 '00, LW2 '00, L300 '01-'03, LW300 '01-'03 |- |rowspan=5|GM K platform |rowspan=5|K||D||Cadillac Deville 1994-1999 |- |E||Cadillac Deville D'Elegance 1997-1999 |- |F||Cadillac Deville Concours 1994-1999 |- |S||Cadillac Seville 1985-1993 / Cadillac Seville SLS 1994-1997 |- |Y||Cadillac Seville Touring Sedan / Cadillac Seville STS 1990-1997 |- |rowspan=9|GM G platform (models formerly on K platform) |rowspan=9|K||A||2010-2011 Cadillac DTS |- |D||2000-2005 Cadillac Deville, 2006-2009 Cadillac DTS, 2010-2011 DTS Luxury |- |E||2000-2005 Cadillac Deville DHS |- |F||2000-2005 Cadillac Deville DTS |- |H||2010-2011 Cadillac DTS Premium |- |P||2010-2011 Cadillac DTS Platinum |- |R||2010-2011 Cadillac DTS Livery |- |S|| 1998-2004 Cadillac Seville SLS |- |Y|| 1998-2003 Cadillac Seville STS |- |rowspan=33|GM Kappa platform |rowspan=33|M||A||Pontiac Solstice w/automatic transmission 2010 |- |B||Pontiac Solstice 2006-2007, Solstice w/manual transmission 2008-2009 |- |B||Pontiac Solstice GXP w/automatic transmission 2010 |- |C||Pontiac Solstice w/automatic transmission 2008 |- |D||Pontiac Solstice w/manual transmission 2010 |- |E||Pontiac Solstice GXP w/manual transmission 2010 |- |F||Pontiac Solstice GXP w/automatic transmission 2008 |- |G||Pontiac Solstice GXP 2007, Solstice GXP w/manual transmission 2008-2009 |- |K||Pontiac Solstice Street Edition w/manual transmission 2009 |- |N||Pontiac Solstice w/automatic transmission 2009 |- |S||Pontiac Solstice SCCA SSB Championship Edition (2.4L) 2008 |- |T||Pontiac Solstice SCCA T2 Championship Edition (2.0L Turbo) 2008 |- |T||Pontiac Solstice GXP w/automatic transmission 2009 |- |Z||Pontiac Solstice Street Edition w/automatic transmission 2009 |- |B||Saturn Sky 2007, Sky w/manual transmission 2008-2009 |- |B||Saturn Sky Redline w/automatic transmission 2010 |- |C||Saturn Sky w/automatic transmission 2008 |- |C||Saturn Sky Ruby Red (Merlot Jewel) Special Edition w/manual transmission 2009 |- |C||Saturn Sky Preferred w/automatic transmission 2010 |- |D||Saturn Sky Hydro Blue Special Edition w/manual transmission 2009 |- |E||Saturn Sky Redline w/manual transmission 2010 |- |F||Saturn Sky Redline w/automatic transmission 2008 |- |F||Saturn Sky Preferred w/manual transmission 2010 |- |G||Saturn Sky Redline 2007, Sky Redline w/manual transmission 2008-2009 |- |H||Saturn Sky Redline Ruby Red (Merlot Jewel) Special Edition w/manual transmission 2009 |- |L||Saturn Sky Redline Hydro Blue Special Edition w/manual transmission 2009 |- |N||Saturn Sky w/automatic transmission 2009 |- |P||Saturn Sky Ruby Red (Merlot Jewel) Special Edition w/automatic transmission 2009 |- |R||Saturn Sky Hydro Blue Special Edition w/automatic transmission 2009 |- |T||Saturn Sky Redline w/automatic transmission 2009 |- |V||Saturn Sky Redline Ruby Red (Merlot Jewel) Special Edition w/automatic transmission 2009 |- |X||Saturn Sky Redline Hydro Blue Special Edition w/automatic transmission 2009 |- |G||Opel GT 2007-2010, Daewoo G2X 2007-2009 |- |rowspan=8|GM L platform |rowspan=8|L |- |D||Chevrolet Corsica ''Base'' 1994-1996 |- |T||Chevrolet Corsica ''Base'' 1987-1989, Corsica ''LT'' 1990-1993 |- |V||Chevrolet Beretta ''Base'' 1987-1996 |- |W||Chevrolet Beretta "GT" 1989-1993 (RPO Z21) & Beretta ''Z26'' 1994-1996 (RPO Z04) |- |Z||Chevrolet Corsica ''LTZ'' 1989-1990 (RPO Z54) |- |Z||Chevrolet Beretta "GTZ" 1990-1993 (RPO Z04) |- |T||Pontiac Tempest (Canada only) |- |rowspan=5|GM M platform |rowspan=5|M||R||Chevrolet Sprint |- |R||Geo Metro LSi, Metro |- |R||Pontiac Firefly (Canada only) |- |S||Chevrolet Sprint ER |- |S||Geo Metro, Metro XFi |- |rowspan=32|GM N platform |rowspan=32|N |- |B||Oldsmobile Cutlass 1997, Cutlass ''GL'' 1998-1999 |- |C||Buick Skylark 4-door ''Custom'' 1987-1991 |- |D||Buick Skylark 4-door ''Limited'' 1987-1989, Skylark 4-door ''Luxury Edition'' 1990-1991 |- |D||Chevrolet Malibu 1997-2003, Chevrolet Classic 2004-2005 |- |E||Chevrolet Malibu ''LS'' 1997-2003 |- |E||Pontiac Grand Am 1985-1988, Grand Am ''LE'' 1989-1991 |- |E||Pontiac Grand Am ''SE'' 1992-2005 |- |F||Oldsmobile Calais 1985-1987, Cutlass Calais 1988, Cutlass Calais ''S'' 1989-1991 |- |F||Oldsmobile Achieva ''SL'' 1992-1994, Achieva ''SC'' 1994 |- |F||Oldsmobile Alero ''GLS'' 1999-2004 |- |F||Pontiac Grand Am ''SE1'' 2000-2004 |- |G||Oldsmobile Cutlass ''GLS'' 1997-1999 |- |G||Pontiac Grand Am 1991 |- |G||Pontiac Grand Am ''SE2'' 2000, 2003-2004 |- |J||Buick Somerset Regal 1985, Somerset ''Custom'' 1986-1987, Skylark 2-door ''Custom'' 1988-91, Skylark 4-door ''Custom'' 1986 |- |J||Buick Skylark 1992, Skylark ''Limited'' 1993-1994, Skylark ''Custom'' 1996-1998,<br /> Skylark ''Limited'' & ''Gran Sport'' 1996-1997 |- |K||Buick Somerset ''T-Type'' 1986 |- |K||Oldsmobile Cutlass Calais ''International Series'' 1988-1991 |- |K||Oldsmobile Alero ''GX'' 1999-2004 |- |L||Oldsmobile Cutlass Calais 1989-1991 |- |L||Oldsmobile Achieva ''S'' 1992-1995, Achieva ''SL'' 1996-1998, Achieva ''SC'' 1996-1997 |- |L||Oldsmobile Alero ''GL'' 1999-2004 |- |M||Buick Somerset Regal ''Limited'' 1985, Somerset ''Limited'' 1986-'87, Skylark 2-door ''Limited'' '88-'89, Skylark 2-door ''Gran Sport'' 1990-1991, Skylark 4-door ''Limited'' 1986 |- |M||Buick Skylark ''Gran Sport'' 1992-1994 |- |T||Oldsmobile Calais ''Supreme'' 1985-1987, Cutlass Calais ''SL'' 1988-1991 |- |V||Buick Skylark 1990-1991 |- |V||Buick Skylark ''Custom'' 1993-1995, ''Limited'' 1995, ''Gran Sport'' 1995 |- |V||Pontiac Grand Am ''LE'' 1985-1988 |- |V||Pontiac Grand Am ''GT1'' 2000-2005 |- |W||Pontiac Grand Am ''SE'' 1986-1991 |- |W||Pontiac Grand Am ''GT'' 1992-2005 |- |rowspan=5|GM P platform - rear-wheel drive |rowspan=5|P |- ||E||Pontiac Fiero ''Coupe'' 1985-1988 |- ||F||Pontiac Fiero ''SE'' 1985-1987 |- ||G||Pontiac Fiero ''GT'' 1985-1988 |- ||M||Pontiac Fiero ''Sport coupe'' 1985-1987 |- |rowspan=1|GM P platform - front-wheel drive |rowspan=1|P||X||General Motors EV1 1997, 1999 |- |rowspan=6|GM R platform |rowspan=6|R |- ||F||1985-1986 Chevrolet Spectrum |- ||F||1987-1988 Chevrolet Spectrum 3-door hatchback, 1989 Geo Spectrum 3-door hatchback |- ||F||1990-1993 Geo Storm |- ||G||1987-1988 Chevrolet Spectrum 4-door sedan, 1989 Geo Spectrum 4-door sedan |- ||T||1990-1993 Geo Storm GSi |- |rowspan=8|GM S platform |rowspan=8|S||K||1985-1988 Chevrolet Nova |- |K||1989-1997 Geo Prizm, 1998-2002 Chevrolet Prizm |- |L||1988 Chevrolet Nova Twin Cam, 1990-1992 Geo Prizm GSi |- |L||2003-2008 Pontiac Vibe, 2009-2010 Pontiac Vibe FWD w/manual transmission |- |M||2003-2006 Pontiac Vibe ''AWD'', 2009-2010 Pontiac Vibe AWD w/automatic transmission |- |N||2003-2006 Pontiac Vibe ''GT'', 2009-2010 Pontiac Vibe GT FWD w/manual transmission |- |P||2009-2010 Pontiac Vibe FWD w/automatic transmission |- |R||2009-2010 Pontiac Vibe GT FWD w/automatic transmission |- |rowspan=32|GM Sigma platform |rowspan=32|D||A||Cadillac CTS Base model RWD 2010-2013, CTS Coupe Base model RWD 2014 |- |B||Cadillac CTS Wagon Luxury Collection RWD 2014 |- |C||Cadillac CTS Base model AWD 2010-2013, CTS Coupe/Wagon Performance Collection RWD 2014 |- |D||Cadillac CTS Coupe/Wagon Premium Collection RWD 2014 |- |E||Cadillac CTS Luxury Collection RWD 2010-2013, CTS Coupe Base model AWD 2014 |- |F||Cadillac CTS Auto. Trans. RWD 2008-2009, CTS Luxury Collection RWD w/Navigation 2010-2013, CTS Wagon Luxury Collection AWD 2014 |- |G||Cadillac CTS Auto. Trans. AWD 2008-2009, CTS Luxury Collection AWD 2010-2013, CTS Coupe/Wagon Performance Collection AWD 2014 |- |H||Cadillac CTS Auto. Trans. AWD w/Navigation 2008-2009, CTS Luxury Collection AWD w/Navigation 2010-2013, CTS Coupe/Wagon Premium Collection AWD 2014 |- |J||Cadillac CTS Auto. Trans. RWD w/Navigation 2008-2009, CTS Performance Collection RWD 2010-2013 |- |K||Cadillac CTS Performance Collection RWD w/Navigation 2010-2013 |- |L||Cadillac CTS Performance Collection AWD 2010-2013 |- |M||Cadillac CTS V6 2003-2004, CTS 2.8L 2005-2007, CTS Man. Trans. RWD 2008-2009, CTS Performance Collection AWD w/Navigation 2010-2013 |- |N||Cadillac CTS V-Series 2004-2007, 2009 |- |P||Cadillac CTS 3.6L 2005-2007, CTS Direct Inj. V6 Man. Trans. RWD 2008-2009, CTS Premium Collection RWD w/Navigation 2010-2013 |- |R||Cadillac CTS Direct Inj. V6 Auto. Trans. RWD 2008 |- |S||Cadillac CTS Direct Inj. V6 Auto. Trans. AWD 2008-2009, CTS Premium Collection AWD w/Navigation 2010-2013 |- |T||Cadillac CTS Direct Inj. V6 Auto. Trans. AWD w/Navigation 2008-2009 |- |U||Cadillac CTS Direct Inj. V6 Auto. Trans. RWD 2009 |- |V||Cadillac CTS Direct Inj. V6 Auto. Trans. RWD w/Navigation 2008-2009, CTS sedan V-Series 2010-2014, CTS Wagon V-Series 2011-2014, CTS Coupe V-Series 2011-2015 |- |0||Cadillac CTS Sport Appearance Pkg. 2010 |- |1||Cadillac CTS Eco Luxury Pkg. 2010 |- |2||Cadillac CTS Sport Appearance Pkg. 2011 |- |A||Cadillac STS V6 AWD 2008-2009 |- |B||Cadillac STS V8 AWD 2008-2009 |- |C||Cadillac STS V8 2005-2007, STS V8 RWD 2008-2009 |- |D||Cadillac STS V6 AWD w/Navigation 2008-2009 |- |K||Cadillac STS V6 RWD w/Navigation 2008-2009 |- |L||Cadillac STS V8 AWD w/Navigation 2008-2009 |- |U||Cadillac STS (all models) 2010, STS (Base model) 2011 |- |W||Cadillac STS V6 2005-2007, STS V6 RWD 2008-2009, STS Luxury 2011 |- |X||Cadillac STS V-Series 2006-2009, STS Luxury Performance 2011 |- |Z||Cadillac STS V8 RWD w/Navigation 2008-2009 |- |rowspan=4|GM T platform - rear-wheel drive |rowspan=4|T||B|| 1985-1987 Chevrolet Chevette CS |- |B||1985-1987 Pontiac Acadian (Canada only) |- |J||1985 Pontiac Acadian Scooter (Canada only) |- |L||1985-1987 Pontiac 1000 |- |rowspan=4|GM T platform - front-wheel drive |rowspan=4|T||N|| Pontiac LeMans 1988, LeMans LE 1989-1991, LeMans SE 1992-1993 |- |R||1988-1989 Pontiac LeMans SE sedan |- |S||1988-1990 Pontiac LeMans GSE AeroCoupe |- |X||1988-1993 Pontiac LeMans VL AeroCoupe |- |rowspan=3|GM T platform - front-wheel drive |rowspan=3|A |- |R||Saturn Astra XE (US: 2008, Canada: 2008-2009) |- |T||Saturn Astra XR (US: 2008, Canada: 2008-2009) |- |rowspan=4|Daewoo T200 platform |rowspan=4|T||D||Chevrolet Aveo Special Value 2004-2008, Base model 2004, LS 2005-2011, Aveo 1LT 2009-2011 |- |G||Chevrolet Aveo LT 2005-2008, Aveo 2LT 2009-2011 |- |J||Chevrolet Aveo LS 2004 |- |D||Pontiac G3 2009 |- |rowspan=2|GM V platform - front-wheel drive |rowspan=2|V||R||1987-1992 Cadillac Allanté with standard removable hardtop |- |S||1990-1993 Cadillac Allanté |- |rowspan=2|GM V platform - rear-wheel drive |rowspan=2|V||R||1997-2001 Cadillac Catera |- |X||2004-2006 Pontiac GTO coupe |- |rowspan=49|GM W platform |rowspan=49|W |- |A||Chevrolet Impala ''LS'' 2010-2013, Impala Limited ''LS'' 2014-2016 |- |B||Chevrolet Impala ''LS'' 2006-2009, Impala ''LT'' 2010-2013, Impala Limited ''LT'' 2014-2016 |- |C||Chevrolet Impala ''LT'' 3.9L 2006-2009, Impala ''LTZ'' 2010-2013, Impala Limited ''LTZ'' 2014-2016 |- |D||Chevrolet Impala ''SS'' 2006-2009, Impala ''Police'' 2010-2013, Impala Limited ''Police'' 2014-2016 |- |E||Chevrolet Impala ''Taxi'' 2010-2012 |- |F||Chevrolet Impala 2000-2005, Impala ''LS'' Fleet (1FL) 2011-2013 |- |G||Chevrolet Impala ''LT'' Fleet (2FL) 2011-2013 |- |H||Chevrolet Impala ''LS'' 2000-2005 |- |J||Chevrolet Monte Carlo ''LS'' 2006-2007 |- |K||Chevrolet Monte Carlo ''LT'' 3.9L 2006, Monte Carlo ''LT'' 3.5L 2007 |- |L||Chevrolet Lumina 1990-2001, Lumina ''LS'' 1997-1999 |- |L||Chevrolet Monte Carlo ''SS'' 2006-2007 |- |M||Chevrolet Monte Carlo ''LT'' 3.5L 2006 |- |N||Chevrolet Lumina ''Euro'' 1990-1994, Lumina ''LS'' 1995-1996, Lumina ''LTZ'' 1997-1999 |- |N||Chevrolet Monte Carlo ''LTZ'' 2006 |- |P||Chevrolet Lumina ''Z34'' 1991-1994, Impala ''SS'' 2004-2005 |- |S||Chevrolet Impala ''Police'' 2006-2009 |- |T||Chevrolet Impala ''LT'' 3.5L 2006-2009 |- |U||Chevrolet Impala ''LTZ'' 2006-2009 |- |V||Chevrolet Impala ''50th Anniversary Edition'' 2008 |- |W||Chevrolet Monte Carlo ''LS'' 1995-2005 |- |X||Chevrolet Monte Carlo ''Z34'' 1995-1999, Monte Carlo ''SS'' 2000-2004, Monte Carlo ''LT'' 2005 |- |Z||Chevrolet Monte Carlo ''SS Supercharged'' 2004-2005 |- |C||Pontiac Grand Prix ''GXP'' 2005-2008 |- |H||Pontiac Grand Prix ''LE'' 1991-1993 |- |J||Pontiac Grand Prix 1988-1989, Grand Prix ''LE'' 1990, Grand Prix ''SE'' 1991-2000 |- |K||Pontiac Grand Prix ''LE'' 1988-1989, Grand Prix ''SE1'' 2000-2003 |- |P||Pontiac Grand Prix ''SE'' 1988-1990, Grand Prix ''GT'' 1991-1993, 1997-2003,<br /> Grand Prix ''GT1'' 2004, Grand Prix 2005-2008 |- |R||Pontiac Grand Prix ''GTP'' 1999-2005, Grand Prix ''GT'' 2006-2007 |- |S||Pontiac Grand Prix ''GT2'' 2004, Grand Prix ''GT'' 2005 |- |T||Pontiac Grand Prix ''STE'' 1990-1993 |- |H||Oldsmobile Cutlass Supreme 1988-1991, Cutlass Supreme ''S'' 1992-1994,<br /> Cutlass Supreme ''SL'' 1995-1997, Intrigue 1998, Intrigue ''GX'' 1999-2002 |- |R||Oldsmobile Cutlass Supreme ''International Series'' 1988-1993 |- |S||Oldsmobile Cutlass Supreme ''SL'' 1988-1991, Intrigue ''GL'' 1998-2002 |- |T||Oldsmobile Cutlass Supreme Convertible 1990-1995 |- |X||Oldsmobile Intrigue ''GLS'' 1998-2002 |- |B||Buick Regal ''Custom'' 1988-1996, Regal ''GS'' Coupe 1995-1996, Regal ''LS'' 1997-2004 |- |C||Buick Lacrosse ''CX'' 2005-2009 |- |D||Buick Regal ''Limited'' 1988-1996, Lacrosse ''CXL'' 2005-2009 |- |E||Buick Lacrosse ''CXS'' 2005-2008 |- |F||Buick Regal ''GS'' Coupe 1992-1994, Regal ''GS'' Sedan 1992-2004 |- |F||Buick Allure ''CX'' 2005-2009 (Canada only) |- |H||Buick Allure ''CXS'' 2005-2008 (Canada only) |- |J||Buick Allure ''CXL'' 2005-2009 (Canada only) |- |N||Buick Lacrosse ''Super'' 2008-2009 |- |P||Buick Allure ''Super'' 2008-2009 (Canada only) |- |S||Buick Century ''Custom'' 1997-2005 |- |Y||Buick Century ''Limited'' 1997-2002 |- |rowspan=3|GM X platform |rowspan=3|X||B||1985 Buick Skylark Custom |- |C||1985 Buick Skylark Limited |- |X||1985 Chevrolet Citation II |- |rowspan=39|GM Y platform |rowspan=39|Y||V||2004-2009 Cadillac XLR |- |X||2006-2009 Cadillac XLR V-Series |- |Y||1985-2008 Chevrolet Corvette (all models except '90-'95 ZR-1) |- |Z||1990-1995 Chevrolet Corvette ZR-1 |- |G||2009 Chevrolet Corvette GT1 Championship Edition (Base & Z06) |- |R||2009 Chevrolet Corvette ZR1 (after early production) |- |Y||2009 Chevrolet Corvette (Base model, Early production Z06, Early production ZR1) |- |Z||2009 Chevrolet Corvette Z06 (after early production) |- |A||2010-2013 Chevrolet Corvette Standard 1LT Man. Trans. |- |B||2010-2013 Chevrolet Corvette Preferred 2LT Man. Trans. |- |C||2010-2013 Chevrolet Corvette Premium 3LT Man. Trans. |- |D||2010-2013 Chevrolet Corvette Custom 4LT Man. Trans. |- |E||2010-2013 Chevrolet Corvette Standard 1LT Auto. Trans. |- |F||2010-2013 Chevrolet Corvette Preferred 2LT Auto. Trans. |- |G||2010-2013 Chevrolet Corvette Premium 3LT Auto. Trans. |- |H||2010-2013 Chevrolet Corvette Custom 4LT Auto. Trans. |- |J||2010-2013 Chevrolet Corvette Z06 Standard 1LZ Man. Trans. |- |K||2010-2013 Chevrolet Corvette Z06 Premium 2LZ Man. Trans. |- |L||2010-2013 Chevrolet Corvette Z06 Custom 3LZ Man. Trans. |- |M||2010-2013 Chevrolet Corvette ZR1 Standard 1ZR Man. Trans. |- |N||2010-2013 Chevrolet Corvette ZR1 Custom 3ZR Man. Trans. |- |P||2010-2013 Chevrolet Corvette Grand Sport Standard 1LT Man. Trans. |- |R||2010-2013 Chevrolet Corvette Grand Sport Preferred 2LT Man. Trans. |- |S||2010-2013 Chevrolet Corvette Grand Sport Premium 3LT Man. Trans. |- |T||2010-2013 Chevrolet Corvette Grand Sport Custom 4LT Man. Trans. |- |U||2010-2013 Chevrolet Corvette Grand Sport Standard 1LT Auto. Trans. |- |V||2010-2013 Chevrolet Corvette Grand Sport Preferred 2LT Auto. Trans. |- |W||2010-2013 Chevrolet Corvette Grand Sport Premium 3LT Auto. Trans. |- |X||2010-2013 Chevrolet Corvette Grand Sport Custom 4LT Auto. Trans. |- |Y||2013 Chevrolet Corvette 427 Convertible Collector Edition Premium 3LT Man. Trans. |- |Z||2013 Chevrolet Corvette 427 Convertible Collector Edition Custom 4LT Man. Trans. |- |1||2013 Chevrolet Corvette 60th Anniversary Edition Custom 4LT Man. Trans. |- |2||2013 Chevrolet Corvette 60th Anniversary Edition Custom 4LT Auto. Trans. |- |3||2013 Chevrolet Corvette Grand Sport 60th Anniversary Edition Custom 4LT Man. Trans. |- |4||2013 Chevrolet Corvette Grand Sport 60th Anniversary Edition Custom 4LT Auto. Trans. |- |5||2013 Chevrolet Corvette Z06 60th Anniversary Edition Custom 3LZ Man. Trans. |- |6||2013 Chevrolet Corvette ZR1 60th Anniversary Edition Custom 3ZR Man. Trans. |- |7||2013 Chevrolet Corvette 427 Convertible 60th Anniversary Edition Custom 4LT Man. Trans. |- |8||2013 Chevrolet Corvette 427 Convertible Collector Edition Preferred 2LT Man. Trans. |- |rowspan=13|GM Z platform |rowspan=13|Z |- |E||Saturn SC1 (manual transmission 2-Door) 1993-1999 |- |F||Saturn SC1 (automatic transmission 2-Door) 1993-1999, SL (manual transmission) 1991-02 |- |G||Saturn SC (manual transmission) 1991-1992, SC2 (manual transmission 2-Door) 1993-99,<br /> SL1 (manual transmission) 1991-2002, SW1 (manual transmission) 1993-1999 |- |H||Saturn SC (automatic transmission) 1991-92, SC2 (automatic transmission 2-Door) '93-'99,<br /> SL1 (automatic transmission) 1991-02, SW1 (automatic transmission LHD) '93-'99 |- |J||Saturn SL2 (manual transmission) 1991-2002, SW2 (manual transmission) 1993-2001 |- |K||Saturn SL2 (automatic transmission) 1991-2002, SW2 (automatic transmission 1993-1999) |- |M||Saturn SW1 "Postal" [SWP] (automatic transmission RHD) 1999-2001 <br>(Made for US Postal Service rural route mail carriers) |- |N||Saturn SC1 (manual transmission 3-Door) 1999-2002, SW2 (automatic transmission 2000-01) |- |P||Saturn SC1 (automatic transmission 3-Door) 1999-2002 |- |R||Saturn SC2 (manual transmission 3-Door) 1999-2002 |- |S||Saturn SL Spring Special 2002 |- |Y||Saturn SC2 (automatic transmission 3-Door) 1999-2002 |- |rowspan=3|GM Zeta platform (VE) |rowspan=3|E||C||Pontiac G8 GT |- |P||Pontiac G8 GXP |- |R||Pontiac G8 (Base model) |- |rowspan=2|GM Zeta platform (VF) |rowspan=2|F||1||2014-2017 Chevrolet SS w/automatic transmission |- |2||2015-2017 Chevrolet SS w/manual transmission |- |GM Zeta platform (WM) |M||K||2011-2013 Chevrolet Caprice PPV |- |GM Zeta platform (WN) |N||S||2014-2017 Chevrolet Caprice PPV |- |rowspan=19|GM Zeta platform (models formerly on F platform) |rowspan=19|F||A||Chevrolet Camaro ''LS'' automatic transmission 2010-2011, ''2LS'' automatic transmission 2012-2014, ''LS'' manual transmission 2015 |- |B||Chevrolet Camaro ''LT'' automatic transmission 2010-2014, ''2LS'' automatic transmission 2015 |- |C||Chevrolet Camaro ''2LT'' automatic transmission 2010-2014, ''LT'' manual transmission 2015 |- |D||Chevrolet Camaro ''LT'' automatic transmission 2015 |- |E||Chevrolet Camaro ''LS'' manual transmission 2010-2014, ''2LT'' manual transmission 2015 |- |F||Chevrolet Camaro ''LT'' manual transmission 2010-2014, ''2LT'' automatic transmission 2015 |- |G||Chevrolet Camaro ''2LT'' manual transmission 2010-2014, ''SS'' manual transmission 2015 |- |H||Chevrolet Camaro ''SS'' automatic transmission 2015 |- |J||Chevrolet Camaro ''SS'' automatic transmission 2010-2014. Note: Must have "J" in 8th position of VIN. |- |J||Chevrolet Camaro ''ZL1'' automatic transmission 2012. Note: Must have "P" in 8th position of VIN. |- |J||Chevrolet Camaro ''2SS'' manual transmission 2015 |- |K||Chevrolet Camaro ''2SS'' automatic transmission 2010-2015 |- |L||Chevrolet Camaro ''ZL1'' automatic transmission 2013-2014, ''ZL1'' manual transmission 2015 |- |M||Chevrolet Camaro ''ZL1'' automatic transmission 2015 |- |S||Chevrolet Camaro ''SS'' manual transmission 2010-2014. Note: Must have "W" in 8th position of VIN. |- |S||Chevrolet Camaro ''ZL1'' manual transmission 2012. Note: Must have "P" in 8th position of VIN. |- |S||Chevrolet Camaro ''Z/28'' manual transmission 2014. Note: Must have "E" in 8th position of VIN. |- |T||Chevrolet Camaro ''2SS'' manual transmission 2010-2014 |- |Z||Chevrolet Camaro ''ZL1'' manual transmission 2013-2014, ''Z/28'' manual transmission 2015 |- |} RHD= Right-Hand Drive ====Model Line 2010- Passenger Car (Using Vehicle Platforms introduced 2010 or later)==== The Model Line is specified as character four of the American GM VIN for Passenger Cars. {| border=1 style="margin:auto;" !VIN !Description |- |A||Cadillac ATS 2013-2019 |- |A||Cadillac CTS sedan 2014-2019, CTS V-Series sedan 2016-2019 |- |B||Chevrolet Cruze 2016-2019 |- |C||Chevrolet Spark 2013-2022, Spark EV 2014-2016 |- |D||Cadillac CT4 2020-2026 |- |D||Cadillac CT5 2020- |- |F||Chevrolet Camaro 2016-2024 |- |F||Chevrolet Bolt EV 2017-2023, Bolt EUV 2022-2023, Bolt 2027 |- |G||Buick LaCrosse 2010-2016 |- |G||Buick Regal 2011-2020, Buick Regal TourX 2018-2020 |- |J||Chevrolet Sonic 2016-2020 |- |K||Cadillac CT6 2016-2020 |- |M||Cadillac Celestiq EV 2025- |- |P||Buick Verano 2012-2017 |- |P||Chevrolet Cruze 2011-2015, Cruze Limited 2016 |- |R||Cadillac ELR 2014, 2016 |- |R||Chevrolet Volt 2011-2019 |- |W||Buick Cascada 2016-2019 |- |Y||Chevrolet Corvette 2014- |- |Z||Buick LaCrosse 2017-2019 |- |Z||Chevrolet Malibu 2016-2025 |- |1||Cadillac XTS 2013-2019 |- |1||Chevrolet Impala 2014-2020 |- |1||Chevrolet Malibu 2013-2015, Malibu Limited 2016 |- |} ===Body style codes 1987- Passenger Car=== The Body type is specified as character six of the American GM VIN for passenger cars. {| border=1 style="margin:auto;" !VIN !Description |- |1||Two-Door Coupe/Sedan |- |2||Two-Door Hatchback |- |3||Two-Door Convertible |- |4||Two-Door Wagon ('91-'92 Geo Storm Hatchback) |- |5||Four-Door Sedan |- |6||Four-Door Hatchback |- |7||Four-Door Hatchback ('89-'90 Geo Prizm hatchback) |- |8||Four-Door Station Wagon |- |9||Four-Door Station Wagon - High Roof Monocab |} ===American restraint types 1987-=== The restraint type is specified as character seven of the American GM VIN for passenger cars. {{center/top}} ====Restraint codes for passenger cars 1987-2009==== {{center/end}} {| border=1 style="margin:auto;" !VIN Code !Description |- |1||Active (Manual) belts 1987-1996 |- |2||Active (Manual) belts plus driver and passenger front airbags 1992-2005<br />(For '94-'96 Pontiac Grand Prix coupe: Passive (Automatic) belts plus driver and passenger front airbags) |- |3||Active (Manual) belts plus driver side front airbag 1988-1996 <br />(For '94 Geo Prizm: Active (Manual) belts plus driver and passenger front airbags) |- |4||Passive (Automatic) belts 1987-1996 |- |4||Active (Manual) belts plus driver and passenger front & side airbags 1997-2005 |- |4||Active (Manual) belts plus driver and passenger front & side curtain airbags 2006-2009 |- |5||Passive (Automatic) belts plus driver side front airbag 1992-1996 |- |5||Active (Manual) belts plus driver and passenger front airbags & driver-side side impact airbag 2000-2005 |- |5||Active (Manual) belts plus driver and passenger front airbags & occupant sensor 2006-2009 |- |6||Passive (Automatic) belts plus driver and passenger front airbags 1994-1996 |- |6||Active (Manual) belts plus driver and passenger front & side airbags & occupant sensor 2000-2009 |- |7||Active (Manual) belt driver & Passive (Automatic) belt passenger plus driver and passenger front airbags 1996 |- |7||Active (Manual) belts plus driver and passenger front & side airbags & rear side airbags 2000-2005 |- |7||Active (Manual) belts plus driver and passenger front & side & side curtain airbags & occupant sensor 2006-2009 |- |8||Active (Manual) belts plus driver and passenger front & side curtain airbags & occupant sensor 2006-2009 |- |9|| |} {{center/top}} ====Restraint codes for passenger cars 2010-==== {{center/end}} {| border=1 style="margin:auto;" !VIN Code !Description |- |D||Active (Manual) belts plus driver and passenger front & side airbags 2010- |- |E||Active (Manual) belts plus driver and passenger front & side & side curtain airbags 2010-2017, 2027 |- |F||Active (Manual) belts plus driver and passenger front & side curtain airbags 2010 |- |G||Active (Manual) belts plus driver and passenger front & side & rear side & side curtain airbags 2010-2017 |- |N||Active (Manual) belts plus driver and passenger front & side & front knee airbags 2016-2019 |- |R||Active (Manual) belts plus driver and passenger front & side & side curtain & front knee airbags 2012- |- |S||Active (Manual) belts plus driver and passenger front & side & rear side & side curtain & front knee airbags 2011- |- |T||Active (Manual) belts plus driver and passenger front & side & front row side curtain airbags 2011 |- |U||Active (Manual) belts plus driver and passenger front & side & front row side curtain & front knee airbags 2012-2017 |} {{center/top}} ====Restraint codes for light trucks 2010-==== {{center/end}} {| border=1 style="margin:auto;" !VIN Code !Description |- |A||Active (Manual) belts plus driver-side front airbag 2010 |- |B||Active (Manual) belts plus driver-side front airbag 2011- |- |B||Active (Manual) belts plus driver and passenger front airbags 2010 |- |C||Active (Manual) belts plus driver and passenger front airbags 2011- |- |C||Active (Manual) belts plus driver and passenger front & side airbags 2010 |- |D||Active (Manual) belts plus driver and passenger front & side airbags 2011- |- |D||Active (Manual) belts plus driver and passenger front airbags & side curtain airbags for up to 3 rows of seating 2010 |- |E||Active (Manual) belts plus driver and passenger front & side & side curtain airbags 2010- |- |F||Active (Manual) belts plus driver and passenger front airbags & side curtain airbags for up to 3 rows of seating 2011-2015 |- |F||Active (Manual) belts plus driver and passenger front & side airbags & side curtain airbags for up to 3 rows of seating 2016- |- |H||Active (Manual) belts plus driver-side front airbag & driver-side side-impact airbag & driver-side side curtain airbag 2023-2024 |- |K||Active (Manual) belts plus driver and passenger front & side & side curtain & front center airbags 2013- |- |L||Active (Manual) belts plus driver and passenger front & side & side curtain & front center & driver-side knee airbags 2017-2023 |- |M||Active (Manual) belts plus driver and passenger front & side & side curtain & front center & front knee airbags 2025- |- |R||Active (Manual) belts plus driver and passenger front & side & side curtain & front knee airbags 2017- |- |S||Active (Manual) belts plus driver and passenger front & side & rear side & side curtain & front knee airbags 2013- |- |T||Active (Manual) belts plus driver-side front airbag & driver- and passenger-side side-impact airbags & side curtain airbags 2023- |- |U||Active (Manual) belts plus driver and passenger front & side & front row side curtain & front knee airbags 2013-2019 |} ===American engine codes 1981-=== GM encodes the engine type in character 8 of the VIN. The following table outlines the various engines encoded there: ====Engine codes for passenger cars==== Warning: Issues with decoding are related to year/model combinations. Each year has a different breakdown for each code along with plants and some model/trim breakdowns over years. Entry: 1985-1988 Pontiac Fiero has a 9 engine code for the 2.8L L44 V6. Entry: 1986-1990 Cadillac Brougham, Oldsmobile 307 Cu. In. V8 vin code Y. {| border=1 style="margin:auto;" !VIN !RPO !Size !Type !Fuel !Valvetrain !Engine Family/Notes/Applications |- |A||LD5||3.8&nbsp;L||V6||2 Barrel Carburetor |2BBL||OHV||Buick V6. (231 cu. in.) '81 Chevy Camaro (CA), Pontiac Catalina, Firebird, LeMans, Buick Century,<br /> '81-'83 Chevy Malibu (CA), '81-'84 Monte Carlo, Caprice, Impala (CA), '81-'87 Pontiac Grand Prix, Oldsmobile Cutlass/Cutlass Supreme, Buick Regal, '81-'85 Oldsmobile Delta 88, Buick LeSabre,<br /> '81-'86 Pontiac Bonneville, '84 Parisienne |- |A||LG0||2.3&nbsp;L||Straight-4|I4||Fuel injection#Multi-port fuel injection|MFI||DOHC,<br /> 16 valve||Oldsmobile Quad 4 H.O. '89-'94 Pontiac Grand Am, '89-'91 Oldsmobile Cutlass Calais, '92-'94 Achieva, '90 Cutlass Supreme, '90-'94 Chevy Beretta |- |A||LH2||4.6&nbsp;L||V8||Fuel injection#Sequential Multi-port injection|SFI||DOHC,<br /> 32 valve||Cadillac Northstar V8 (For RWD) (Premium V). '04-'09 Cadillac XLR, '05-'10 Cadillac STS |- |A||LCV||2.5&nbsp;L||Straight-4|I4||Direct Injection|DI||DOHC,<br /> 16 valve||GM Ecotec engine, Gen III. VVT. '13 Chevy Malibu, '16 Malibu Limited, '16-'19 Impala,<br /> '13-'16 Cadillac ATS |- |A||LV7||1.4&nbsp;L||Straight-4|I4||Fuel injection#Multi-port fuel injection|MFI||DOHC,<br /> 16 valve||GM Small Gasoline Engine. VVT. Made in Changwon, S. Korea. '16-'22 Chevy Spark. |- |B||LG2||3.8&nbsp;L||V6||Fuel injection#Sequential Multi-port injection|SFI||OHV||Buick V6. '86 Oldsmobile 98, Toronado, Buick Electra, Riviera. |- |B||L26||4.9&nbsp;L||V8||Fuel injection#Multi-port fuel injection|MFI||OHV||Cadillac High Technology V8.<br /> '91-'93 Cadillac Eldorado, Seville, '91-'95 DeVille, '91-'92 Fleetwood, '91-'93 Sixty Special |- |B||LE5||2.4&nbsp;L||Straight-4|I4||Fuel injection#Multi-port fuel injection|MFI||DOHC,<br /> 16 valve||GM Ecotec Gen II. VVT. '06-'08 Chevy Cobalt, '06-'07 Saturn Ion, '06-'10 Pontiac G6, Solstice,<br /> '07-'08 Pontiac G5, '07-'10 Saturn Sky, '08-'09 Saturn Aura, '08-'10 Chevy Malibu |- |B||LUV||1.4L||I4 Turbo||Fuel injection#Sequential Multi-port fuel injection|SFI||DOHC,<br /> 16 valve||GM Family 0 Engine, Gen III. VVT. '12-'20 Chevy Sonic, '13-'15 Chevy Cruze, '16 Cruze Limited |- |C||L17||1.6&nbsp;L||Straight-4|I4||2 Barrel Carburetor |2BBL||SOHC,<br /> 8 valve||Isuzu G161Z engine made by GM in US. '82-'87 Chevy Chevette, Pontiac T1000/1000 |- |C||LN3||3.8&nbsp;L||V6||Fuel injection#Multi-port fuel injection|MFI||OHV||Buick V6 (3800). '88-'90 Oldsmobile 98, Toronado, Buick Electra, Riviera, Reatta, <br /> '88-'91 Buick LeSabre, Oldsmobile Delta 88/Eighty Eight, Pontiac Bonneville |- |C||L47||4.0&nbsp;L||V8||Fuel injection#Sequential Multi-port injection|SFI||DOHC,<br /> 32 valve||Oldsmobile Aurora V8 (Premium V). Oldsmobile Aurora '95-'99, Aurora 4.0 '01-'03 |- |C||LS4||5.3 L||V8||Fuel injection#Sequential Multi-port injection|SFI||OHV||Gen IV Chevrolet Small-Block V8. Aluminum Block & Heads. Active Fuel Management.<br /> Transversely mounted for FWD. '05-'08 Pontiac Grand Prix GXP, '06-'07 Chevy Monte Carlo SS,<br /> '06-'09 Chevy Impala SS, '08-'09 Buick LaCrosse Super. |- |C||LAF||2.4&nbsp;L||Straight-4|I4||Direct Injection|DI||DOHC,<br /> 16 valve||GM Ecotec engine, Gen II. VVT. Buick LaCrosse '10-'11, Regal '11. |- |C||LUJ||1.4L||I4 Turbo||Fuel injection#Sequential Multi-port fuel injection|SFI||DOHC,<br /> 16 valve||GM Family 0 Engine, Gen III. VVT. Early production engines were made in Aspern, Austria; later made in Flint, MI. '12 Chevy Cruze |- |D||LJ5||1.8&nbsp;L||Straight-4|I4||Indirect injection Diesel||SOHC,<br /> 8 valve||Isuzu 4FB1 diesel engine imported from Japan. '81-'86 Chevy Chevette |- |D||LD2||2.3&nbsp;L||Straight-4|I4||Fuel injection#Multi-port fuel injection|MFI||DOHC,<br /> 16 valve||Oldsmobile Quad 4. '88-'95 Pontiac Grand Am, '88-'91 Oldsmobile Cutlass Calais, '92-'95 Achieva,<br /> '88-'91 &'95 Buick Skylark, '90-'91 Pontiac Grand Prix, Oldsmobile Cutlass Supreme,<br /> '95 Chevy Cavalier, Pontiac Sunfire |- |D||LC3||4.4&nbsp;L||V8 Supercharged||Fuel injection#Sequential Multi-port point injection|SFI||DOHC,<br /> 32 valve||Cadillac Northstar V8 (Premium V). '06-'09 Cadillac XLR V-Series, Cadillac STS V-Series |- |E||LK9||3.0&nbsp;L||V6||2 Barrel Carburetor |2BBL||OHV||Buick V6. '82-'85 Oldsmobile Cutlass Ciera, Buick Century, '85 Oldsmobile 98, Buick Electra |- |E||LA1||3.4&nbsp;L||V6||Fuel injection#Sequential Multi-port point injection|SFI||OHV||Chevrolet 60° V6. '99-'05 Grand Am, '99-'04 Alero, '00-'05 Impala, Monte Carlo |- |E||L03||5.0&nbsp;L||V8||Fuel injection#Throttle Body injection|TBI||OHV||Gen I Chevy Small-Block V8 (305 cu. in.). '88-'92 Camaro/Firebird, '89-'93 Chevy Caprice,<br /> '91 Buick Roadmaster Estate wagon, '91-'92 Oldsmobile Custom Cruiser, Cadillac Brougham. |- |E||LXV||1.6&nbsp;L||Straight-4|I4||Fuel injection#Multi-port fuel injection|MFI||DOHC,<br /> 16 valve||Family 1 Gen 3 engine. W/VVT. '09-'11 Chevy Aveo, '09 Pontiac G3 |- |E||LS7||7.0&nbsp;L||V8||Fuel injection#Sequential Multi-port point injection|SFI||OHV||Gen IV Chevy Small-Block V8. Aluminum Block & Heads.<br /> '06-'13 Corvette Z06, '13 Corvette 427, '14-'15 Camaro Z/28 |- |E||LH7||1.6&nbsp;L||I4 Turbo||Direct injection <br /> Common-rail Diesel||DOHC,<br /> 16 valve||GM Medium Diesel engine ("Whisper Diesel"). Made by Opel in Szentgotthárd, Hungary.<br /> Aluminum Block & Heads. '17-'19 Chevy Cruze Diesel. |- |F||LV8||4.3&nbsp;L||V8||2 Barrel Carburetor |2BBL||OHV||Oldsmobile "Rocket" V8 (260 cu. in.) '81 Oldsmobile Cutlass, Delta 88. |- |F||L61||2.2&nbsp;L||Straight-4|I4||Fuel injection#Multi-port fuel injection|MFI||DOHC,<br /> 16 valve||GM Ecotec Gen I. '00-'04 Saturn L-Series, '02-'05 Chevy Cavalier, Pontiac Sunfire, Grand Am,<br /> '02-'04 Oldsmobile Alero, '03-'06 Saturn Ion, '04-'06 Chevy Malibu, '05-'06 Chevy Cobalt |- |F||L61||2.2&nbsp;L||Straight-4|I4||Fuel injection#Multi-port fuel injection|MFI||DOHC,<br /> 16 valve||GM Ecotec Gen II. '07-'08 Chevy Cobalt, Malibu, Pontiac G5, '07 Saturn Ion. |- |F||LB9||5.0&nbsp;L||V8||Tuned-port fuel injection|TPI||OHV||Gen I Chevy Small-Block V8. (305 cu. in.). '85-'92 Chevy Camaro, Pontiac Firebird. |- |G||L46||1.8&nbsp;L||I4||2 Barrel Carburetor |2BBL||OHV||Chevrolet "122" engine. '82 J-cars. |- |G||L69||5.0&nbsp;L||V8||4 Barrel Quadrajet Carburetor |4BBL||OHV||Gen I Chevy Small-Block V8 (High Output 5.0L). (305 cu. in.)<br /> '84-'86 Camaro/Firebird, '84-'88 Chevy Monte Carlo SS |- |G||LM3||2.2&nbsp;L||I4||Fuel injection#Throttle Body injection|TBI||OHV||Chevrolet "122" engine. '90-'91 Chevy Cavalier & Corsica/Beretta. |- |G||LS1||5.7&nbsp;L||V8||Fuel injection#Multi-port fuel injection|MFI||OHV||Gen III Chevy Small-Block V8. (346 cu. in.) Aluminum Block & Heads.<br /> '97-'04 Corvette, '98-'02 Camaro/Firebird, '04 Pontiac GTO |- |G||LF1||3.0L||V6||Direct Injection|DI||DOHC,<br /> 24 valve||GM High Feature V6. VVT. 2010 Buick LaCrosse, Cadillac CTS |- |G||LWE||1.8&nbsp;L||Straight-4|I4||Fuel injection#Sequential Multi-port fuel injection|SFI||DOHC,<br /> 16 valve||GM Family 1 engine, Gen III. VVT. PZEV emissions.<br /> '13-'15 Chevy Cruze, '16 Cruze Limited, '13-'18 Sonic. |- |H||LG4||5.0&nbsp;L||V8||4 Barrel Quadrajet Carburetor |4BBL||OHV||Gen I Chevy Small-Block V8. (305 cu. in.) '81-'87 F-bodies, '81-'83 Chevy Malibu, '81-'85 Impala,<br /> '81-'88 Caprice, Monte Carlo, '83-'86 Pontiac Bonneville, Parisienne, '83-'87 Grand Prix |- |H||LE4||2.0&nbsp;L||Straight-4|I4||Fuel injection#Multi-port fuel injection|MFI||SOHC,<br /> 8 valve||GM Family II engine. Made in Brazil. '92-'94 Pontiac Sunbird. |- |H||LX5||3.5&nbsp;L||V6||Fuel injection#Sequential Multi-port injection|SFI||DOHC,<br /> 24 valve||Oldsmobile "Shortstar" V6 (Premium V). Oldsmobile Intrigue '99-'02, Aurora 3.5 '01-'02. |- |H||LAP||2.2&nbsp;L||Straight-4|I4||Fuel injection#Multi-port fuel injection|MFI||DOHC,<br /> 16 valve||GM Ecotec Gen II. VVT. '09 Chevy Cobalt, Pontiac G5. |- |H||LUW||1.8&nbsp;L||Straight-4|I4||Fuel injection#Sequential Multi-port fuel injection|SFI||DOHC,<br /> 16 valve||GM Family 1 engine, Gen III. VVT. '11-'15 Chevy Cruze, '16 Cruze Limited, '12-'18 Sonic. |- |J||L39||4.4&nbsp;L||V8||2 Barrel Carburetor |2BBL||OHV||Gen I Chevy Small-Block V8 (267 cu. in.) '81-'82 Chevy Caprice, Impala, Malibu, Monte Carlo,<br /> '81 Chevy Camaro |- |J||LA5||1.8&nbsp;L||Straight-4|I4 Turbo||Fuel injection#Multi-port fuel injection|MFI||SOHC,<br /> 8 valve||GM Family II engine. Made in Brazil. '84-'86 Pontiac Sunbird, Buick Skyhawk. |- |J||LT5||5.7&nbsp;L||V8||Fuel injection#Multi-port fuel injection|MFI||DOHC,<br /> 32 valve||Based on Chevy Small-Block V8. Designed with Lotus Engineering.<br /> Made by Mercury Marine. Aluminum Block & Heads. '90-'95 Corvette ZR-1 |- |J||LG8||3.1&nbsp;L||V6||Fuel injection#Sequential Multi-port injection|SFI||OHV||Chevrolet 60° V6. Gen III. 3100. '99-'03 Chevy Malibu, '99 Oldsmobile Cutlass, '00-'01 Chevy Lumina,<br /> '00-'03 Pontiac Grand Prix SE, '00-'05 Buick Century |- |J||L99||6.2&nbsp;L||V8||Fuel injection#Sequential Multi-port injection|SFI||OHV||Gen IV Chevy Small-Block V8. VVT. With Active Fuel Management. Aluminum Block & Heads.<br /> '10-'15 Camaro SS (auto. trans.) |- |J||LTA||4.2&nbsp;L||V8 Twin Turbo||Direct injection|DI||DOHC,<br /> 32 valve||Cadillac Blackwing V8. VVT. '19-'20 Cadillac CT6 Platinum & V-series |- |K||LC3||3.8&nbsp;L||V6||2 Barrel Carburetor |2BBL||OHV||Chevrolet 90° V6 (Chevy Small-Block V8 Derived). 229 cu. in. <br /> '81-'82 Malibu, Monte Carlo, Impala, Caprice, '81 Camaro. |- |K||LC5||1.5&nbsp;L||I4||2 Barrel Carburetor |2BBL||SOHC,<br /> 8 valve||Isuzu 4XC1 engine. '85 Chevrolet Spectrum. |- |K||LT2||2.0&nbsp;L||Straight-4|I4||Fuel injection#Throttle Body injection|TBI||SOHC,<br /> 8 valve||GM Family II engine. Made in Brazil.<br /> '87-'91 Pontiac Sunbird, '87-'88 Oldsmobile Firenza, Buick Skyhawk. |- |K||LT2||2.0&nbsp;L||Straight-4|I4||Fuel injection#Throttle Body injection|TBI||SOHC,<br /> 8 valve||GM Family II engine. Made in Australia by Holden.<br /> '89-'90 Pontiac LeMans GSE Aerocoupe, '89 LeMans SE sedan |- |K||L36||3.8&nbsp;L||V6||Fuel injection#Sequential Multi-port injection|SFI||OHV||Buick V6 (3800 Series II). '95-'05: Various W-, H-, C-, & G-body models. '95-'02 Camaro/Firebird. |- |K||LZE||3.5L||V6||Fuel injection#Sequential Multi-port injection|SFI||OHV||GM High Value 60° V6. 3510cc. VVT. Flex-Fuel E85 compatible.<br /> '06-'07 Chevy Monte Carlo, '06-'11 Chevy Impala, '09-'10 Chevy Malibu, Pontiac G6 |- |K||LEA||2.4&nbsp;L||Straight-4|I4||Direct Injection|DI||DOHC,<br /> 16 valve||E85 Flex Fuel. GM Ecotec engine, Gen II. VVT. Buick Regal, Verano '12-'17 (except '13 Regal). |- |K||LSY||2.0&nbsp;L||Straight-4|I4 Turbo||Direct Injection|DI||DOHC,<br /> 16 valve||GM Ecotec engine, Gen III. Active Fuel Management. VVT. VVL.<br /> '19 Cadillac CT6, '20+ Cadillac CT4, CT5 |- |L||LM1||5.7&nbsp;L||V8||4 Barrel Carburetor |4BBL||OHV||Gen I Chevy Small-Block V8.<br> '81 Camaro Z28 (only w/auto. trans. in US), '81-'82 Impala 9C1 Police, '81 Malibu 9C1 Police |- |L||LL1||2.8&nbsp;L||V6||2 Barrel Carburetor |2BBL||OHV||Chevrolet 60° V6 H.O. (longitudinally mounted). '83-'84 Pontiac Firebird. |- |L||LN7||3.0&nbsp;L||V6||Fuel injection#Multi-port fuel injection|MFI||OHV||Buick V6. '85-'87 Pontiac Grand Am, '85-'88 Oldsmobile & Buick N-bodies,<br /> '86 Oldsmobile Delta 88, Buick LeSabre |- |L||L27||3.8&nbsp;L||V6||Fuel injection#Tuned port injection|TPI||OHV||Buick V6 (3800 Series I). '90-'95 Buick Regal, '91-'94 Oldsmobile 98, Buick Park Avenue, '91 Reatta, '91-'93 Riviera, '91-'92 Oldsmobile Toronado, '92-'95 Buick LeSabre, '92-'94 Pontiac Bonneville, Oldsmobile 88 |- |L||LNK||1.8&nbsp;L||Straight-4|I4||Fuel injection#Sequential multi-port injection|SFI||DOHC,<br /> 16 valve||Toyota 2ZZ-GE engine. VVTL-i. '03-'06 Pontiac Vibe GT |- |L||LKW||2.5&nbsp;L||Straight-4|I4||Direct Injection|DI||DOHC,<br /> 16 valve||GM Ecotec engine, Gen III. VVT. VVL. '14-'15 Chevy Malibu, Impala |- |L||L3B||2.7L||I4 Turbo||Direct Injection|DI||DOHC,<br /> 16 valve||GM L3B Tripower engine. VVT, VVL. Active Fuel Management. '20+ Cadillac CT4, CT4-V |- |M||LY9||1.0&nbsp;L||Straight-3|I3||2BBL||SOHC,<br /> 6 valve ||Suzuki G10A engine. '85 Chevrolet Sprint |- |M||LT3||2.0&nbsp;L||Straight-4|I4 Turbo||Fuel injection#Multi-port fuel injection|MFI||SOHC,<br /> 8 valve||GM Family II engine. Made in Brazil.<br /> '87-'90 Pontiac Sunbird, '87 Buick Skyhawk T-Type, '87-'89 Pontiac Grand Am SE. |- |M||L82||3.1&nbsp;L||V6||Fuel injection#Sequential Multi Port Fuel injection|SFI||OHV||Chevrolet 60° V6 (transversely mounted). Gen III. 3100. '93-'97 Oldsmobile Cutlass Supreme,<br /> '94-'98 Pontiac Grand Am, Oldsmobile Achieva, Buick Skylark, '94-'99 Pontiac Grand Prix,<br /> '94-'96 Chevy Corsica/Beretta, Oldsmobile Cutlass Ciera, Buick Regal, '94-'99 Century,<br /> '95-'99 Chevy Lumina, Monte Carlo, '97-'99 Chevy Malibu, Oldsmobile Cutlass |- |M||LY9||2.6&nbsp;L||V6||Fuel injection#Multi-port fuel injection|MFI||DOHC,<br /> 24 valve||Opel 54° V6 engine (Made in the UK). Euro-market Cadillac CTS '03-'04. |- |M||LGD||3.9L||V6||Fuel injection#Sequential Multi Port Fuel injection|SFI||OHV||E85 Flex Fuel. GM High Value 60° V6. VVT. '09-'11 Chevy Impala, Buick Lucerne |- |M||LE2||1.4&nbsp;L||Straight-4|I4 Turbo||Direct Injection|DI||DOHC,<br /> 16 valve||GM Small Gasoline Engine. VVT. '16-'19 Chevy Cruze. |- |N||LF9||5.7&nbsp;L||V8||Indirect injection Diesel||OHV||Oldsmobile Diesel V8. '81-'85 Chevy Caprice, Impala, '82-'83 Malibu, '82-'84 Monte Carlo,<br /> '81-'84 Pontiac Grand Prix, Bonneville, '81 Catalina, '83-'85 Parisienne,<br /> '81-'84 Oldsmobile 98, '81-'85 Cutlass/Cutlass Supreme, Delta 88, Custom Cruiser, Toronado,<br /> '81-'83 Buick Electra, '81-'85 LeSabre, Electra Estate wagon, Riviera, '82-'83 Regal,<br /> '81-'84 Cadillac DeVille, '81-'85 Fleetwood Brougham, Eldorado, Seville |- |N||LG7||3.3&nbsp;L||V6||Fuel injection#Multi-port fuel injection|MFI||OHV||Buick V6 (3300). '89-'93 Buick Century, Skylark, Oldsmobile Cutlass Ciera, '89-'91 Cutlass Calais,<br /> '92-'93 Achieva, Pontiac Grand Am. |- |N||LA3||3.2&nbsp;L||V6||Fuel injection#Multi-port fuel injection|MFI||DOHC,<br /> 24 valve||Opel 54° V6 engine (Made in the UK). '03-'04 Cadillac CTS |- |N||LZ4||3.5L||V6||Fuel injection#Sequential Multi-port injection|SFI||OHV||GM High Value 60° V6. 3510cc. VVT. '06-'07 Chevy Monte Carlo, '06-'10 Chevy Impala,<br /> '07-'10 Chevy Malibu, Pontiac G6, '07-'08 Saturn Aura |- |N||LFR||3.6L||V6||Fuel injection#Multi-port fuel injection|MFI||DOHC,<br /> 24 valve||(Bi-Fuel Gas/CNG). GM High Feature V6. '15-'17 Chevy Impala Bi-Fuel |- |P||LQ5||2.0&nbsp;L||I4||Fuel injection#Throttle Body injection|TBI||OHV||Chevrolet "122" engine. '83-'86 J-cars ('83-'84 for Pontiac). |- |P||LT1||5.7&nbsp;L||V8||Fuel injection#Sequential Multi-port injection|SFI||OHV||Gen II Chevy Small-Block V8. Aluminum Heads: '92-'96 Corvette, '93-'97 Camaro/Firebird.<br /> Iron Heads: '94-'96 Chevy Caprice, Impala SS, Buick Roadmaster, Cadillac Fleetwood. |- |P||LSJ||2.0&nbsp;L||SC Straight-4|I4 Supercharged||Fuel injection#Sequential central point injection|SFI||DOHC,<br /> 16 valve||GM Ecotec Gen I. Made by Opel in Kaiserslautern, Germany.<br /> '04-'07 Saturn Ion Red Line, '05-'07 Chevy Cobalt SS Supercharged. |- |P||LSA||6.2&nbsp;L||V8 Supercharged||Fuel injection#Sequential Multi-port injection|SFI||OHV||Gen IV Chevy Small-Block V8. Aluminum Block & Heads.<br /> Cadillac CTS V-Series '09-'15, Camaro ZL1 '12-'15 |- |P||LF4||3.6L||V6 Twin Turbo||Direct Injection|DI||DOHC,<br /> 24 valve||GM High Feature V6. Cadillac CT4-V Blackwing '22+ |- |R||LR8||2.5L||I4||Fuel injection#Throttle Body injection|TBI||OHV||Pontiac Iron Duke/Tech IV engine. Transversely mounted. '82-'85 Chevy Citation, Buick Skylark,<br /> '82-'84 Pontiac Phoenix, Oldsmobile Omega, '82-'90 Chevy Celebrity, '82-'91 Pontiac 6000,<br /> '82-'92 Oldsmobile Cutlass Ciera, Buick Century, '84-'88 Pontiac Fiero, '90-'92 Chevy Lumina |- |R||L81||3.0&nbsp;L||V6||Fuel injection#Multi-port fuel injection|MFI||DOHC,<br /> 24 valve||Opel 54° V6 engine (Made in the UK). '97-'01 Cadillac Catera, '00-'05 Saturn L-Series |- |R||LZ8||3.9L||V6||Fuel injection#Sequential Multi Port Fuel injection|SFI||OHV||GM High Value 60° V6. VVT. Active Fuel Management. '07 Chevy Impala |- |R||LS9||6.2&nbsp;L||V8 Supercharged||Fuel injection#Sequential Multi-port injection|SFI||OHV||Gen IV Chevy Small-Block V8. Aluminum Block & Heads. '09 Corvette ZR1. |- |R||LUK||2.4L||I4||Direct Injection|DI||DOHC,<br /> 16 valve||Mild Hybrid. GM Ecotec Gen II. VVT. '12-'16 Buick LaCrosse eAssist, Regal eAssist,<br /> '13-'14 Chevy Malibu Eco, '14 Chevy Impala Eco |- |S||LS5||4.3&nbsp;L||V8||2 Barrel Carburetor |2BBL||OHV||Pontiac V8. 265 cu. in.<br /> '81 Pontiac Bonneville, Catalina, Firebird, Grand Prix, LeMans, Buick Century, Regal. |- |S||LU5||5.0&nbsp;L||V8||Cross-Fire fuel injection|CFI||OHV||Gen I Chevy Small-Block V8. (305 cu. in.) '83 Camaro, Firebird. Dual throttle-body fuel injection. |- |S||LB8||2.8&nbsp;L||V6||Fuel injection#Multi Port Fuel injection|MPFi||OHV||Chevrolet 60° V6 (longitudinally mounted). '85-'89 Chevy Camaro, Pontiac Firebird. |- |S||L32||3.4&nbsp;L||V6||Fuel injection#Multi Port Fuel injection|MPFi||OHV||Chevrolet 60° V6 (longitudinally mounted). '93-'95 Chevy Camaro, Pontiac Firebird. |- |S||LS6||5.7&nbsp;L||V8||Fuel injection#Sequential Multi Port injection|SFI||OHV||Gen III Chevy Small-Block V8. (346 cu. in.) Aluminum Block & Heads.<br /> '01-'04 Corvette Z06, '04-'05 Cadillac CTS V-Series |- |S||LGX||3.6L||V6||Direct Injection|DI||DOHC,<br /> 24 valve||GM High Feature V6, 4th gen. VVT. Active Fuel Management. '16-'19 Cadillac ATS, CTS, '16-'20 CT6, '16-'24 Chevrolet Camaro, '17-'19 Buick LaCrosse, '18–'20 Buick Regal GS |- |T||LU8||4.9&nbsp;L||V8 Turbo||4 Barrel Carburetor |4BBL||OHV||Pontiac V8. 301 cu. in. '81 Pontiac Firebird Formula & Trans Am. |- |T||LT7||4.3&nbsp;L||V6||Indirect injection Diesel||OHV||Oldsmobile Diesel V6. FWD version for '82-'85 GM A-bodies. |- |T||LS2||4.3&nbsp;L||V6||Indirect injection Diesel||OHV||Oldsmobile Diesel V6. FWD version for '85 GM C-bodies. |- |T||LH0||3.1&nbsp;L||V6||Fuel injection#Multi Port Fuel injection|MPFi||OHV||Chevrolet 60° V6 (longitudinally mounted). '90-'92 Chevy Camaro, Pontiac Firebird. |- |T||LH0||3.1&nbsp;L||V6||Fuel injection#Multi Port Fuel injection|MPFi||OHV||Chevrolet 60° V6 (transversely mounted). Gen II. '88-'91 Pontiac 6000,<br /> '89-'93 Grand Prix, Oldsmobile Cutlass Supreme, Buick Regal, '90-'94 Chevy Cavalier, Lumina,<br /> '91-'94 Pontiac Sunbird, '90-'93 Chevy Corsica/Beretta, '90 Celebrity |- |T||LD9||2.4&nbsp;L||Straight-4|I4||Fuel injection#Sequential Multi-port injection|SFI||DOHC,<br /> 16 valve||Oldsmobile Quad 4 ("2.4 Twin Cam"). '96-'01 Pontiac Grand Am, '96-'97 Oldsmobile Achieva, Buick Skylark, '99-'01 Oldsmobile Alero, '97-'99 Chevy Malibu, '96-'02 Chevy Cavalier, Pontiac Sunfire |- |T||LP1||2.8&nbsp;L||V6||Fuel injection#Sequential Multi-port injection|SFI||DOHC,<br /> 24 valve||GM High Feature V6. '05-'07 Cadillac CTS |- |T||LS9||6.2&nbsp;L||V8 Supercharged||Fuel injection#Sequential Multi-port injection|SFI||OHV||Gen IV Chevy Small-Block V8. Aluminum Block & Heads. '10-'13 Corvette ZR1. |- |T||LFV||1.5L||I4 Turbo||Direct Injection|DI||DOHC,<br /> 16 valve||GM Small Gasoline Engine. VVT. '16-'25 Chevy Malibu. |- |U||L68||2.5L||I4||Fuel injection#Throttle Body injection|TBI||OHV||Pontiac Iron Duke/Tech IV engine. Transversely mounted. '85-'91 N-bodies |- |U||LS2||6.0&nbsp;L||V8||Fuel injection#Sequential Multi-port fuel injection|SFI||OHV||Gen IV Chevy Small-Block V8. Aluminum Block & Heads.<br /> '05-'07 Corvette, '05-'06 Pontiac GTO, '06-'07 Cadillac CTS V-Series |- |U||LE9||2.4&nbsp;L||Straight-4|I4||Fuel injection#Multi-port fuel injection|MFI||DOHC,<br /> 16 valve||GM Ecotec Gen II. E85 Flex-Fuel. 2011-12 Chevy Malibu. |- |U||LKN||1.8L||I4||Direct Injection|DI||DOHC,<br /> 16 valve||Full Hybrid. GM Medium Gasoline Engine. VVT. Made in Szentgotthárd, Hungary.<br> '16-'19 Chevy Malibu Hybrid |- |V||LT6||4.3&nbsp;L||V6||Indirect injection Diesel||OHV||Oldsmobile Diesel V6. RWD version.<br /> '82-'83 Chevy Malibu, Monte Carlo, '82-'85 Oldsmobile Cutlass Supreme, Buick Regal |- |V||LG5||3.1&nbsp;L||V6 Turbo||Fuel injection#Multi-port fuel injection|MPFI||OHV||Chevrolet 60° V6. Gen II. Intercooled. (ASC/McLaren modified).<br /> '89-'90 Pontiac Grand Prix Turbo coupe, '90 Grand Prix STE Turbo sedan |- |V||LLT||3.6L||V6||Direct Injection|DI||DOHC,<br /> 24 valve||GM High Feature V6. '08-'11 Cadillac CTS, STS, '10-'11 Chevrolet Camaro, Buick LaCrosse |- |V||LHU||2.0&nbsp;L||Straight-4|I4 Turbo||Direct Injection|DI||DOHC,<br /> 16 valve||E85 Flex Fuel (N/A on Regal GS). GM Ecotec engine, Gen II. VVT.<br /> Buick Regal '11-'13, Verano '13-'16. |- |W||L37||4.9&nbsp;L||V8||4 Barrel Carburetor |4BBL||OHV||Pontiac V8. 301 cu. in. '81 Pontiac Firebird, LeMans Safari wagon. |- |W||LB6||2.8&nbsp;L||V6||Fuel injection#Multi-port fuel injection|MFI||OHV||Gen I/II Chevrolet 60° V6 (transversely mounted). '85 Chevy Citation, Buick Skylark,<br /> '85-'89 Chevy Cavalier, Celebrity, Pontiac 6000, '85-'88 Cadillac Cimarron,<br /> '85-'87 Oldsmobile Firenza, '86-'89 Cutlass Ciera, '87-'88 Buick Century, '87-'89 Chevy Corsica/Beretta, '88-'89 Pontiac Grand Prix, Oldsmobile Cutlass Supreme, Buick Regal |- |W||L64||3.1&nbsp;L||V6||Fuel injection#Multi-port fuel injection|MFI||OHV||Flex-fuel: Gas/M85 or Gas/E85 (2 versions). Gen II Chevrolet 60° V6. '93 Chevy Lumina VFV |- |W||L99||4.3&nbsp;L||V8||Fuel injection#Sequential Multi-port injection|SFI||OHV||Gen II Chevy Small-Block V8. '94-'96 Chevy Caprice. |- |W||LS3||6.2&nbsp;L||V8||Fuel injection#Sequential Multi-port injection|SFI||OHV||Gen IV Chevy Small-Block V8. Aluminum Block & Heads.<br /> '08-'13 Corvette, '10-'15 Camaro SS (man. trans.), '09 Pontiac G8 GXP, '14-'17 Chevy SS |- |W||LGY||3.0L||V6 Twin Turbo||Direct Injection|DI||DOHC,<br /> 24 valve||GM High Feature V6, 4th gen. VVT. Active Fuel Management. '20+ Cadillac CT5, CT5-V |- |X||LE2||2.8&nbsp;L||V6||2 Barrel Carburetor |2BBL||OHV||Chevrolet 60° V6 (transversely mounted). '81-'85 Chevy Citation, Buick Skylark,<br /> '81-'84 Pontiac Phoenix, Oldsmobile Omega, '82-'86 Chevy Celebrity, Pontiac 6000,<br /> '86 Oldsmobile Cutlass Ciera, Buick Century |- |X||LQ1||3.4&nbsp;L||V6||Fuel injection#Multi-port fuel injection|MPFI||DOHC,<br /> 24 valve||Chevrolet 60° V6 ("Twin Dual Cam V6"). '91-'97 Chevy Lumina, '95-'97 Chevy Monte Carlo,<br /> '91-'96 Pontiac Grand Prix, Oldsmobile Cutlass Supreme |- |X||LNF||2.0&nbsp;L||Straight-4|I4 Turbo||Direct Injection|DI||DOHC,<br /> 16 valve||GM Ecotec engine, Gen II. VVT.<br /> '07-'10 Pontiac Solstice GXP, Saturn Sky Red Line, '08-'10 Chevy Cobalt SS Turbo. |- |X||LTG||2.0&nbsp;L||Straight-4|I4 Turbo||Direct Injection|DI||DOHC,<br /> 16 valve||GM Ecotec engine, Gen III. VVT. '13-'22 Chevy Malibu, '13-'19 Cadillac ATS, '14-'20 Buick Regal,<br /> '14-'19 Cadillac CTS, '16-'23 Chevy Camaro, '16-'18 Cadillac CT6. |- |X||LTG||2.0&nbsp;L||Straight-4|I4 Turbo||Direct Injection|DI||DOHC,<br /> 16 valve||Plug-in hybrid. GM Ecotec engine, Gen III. VVT. '17-'18 Cadillac CT6 PHEV. (VIN starts with LRE) |- |Y||LV2||5.0&nbsp;L||V8||4 Barrel Carburetor |4BBL||OHV||Oldsmobile "Rocket" V8 (307 cu. in.) '86-'90 Chevy Caprice wagon, '87 Caprice sedan (Can.),<br /> '81 Pontiac Bonneville, Catalina, '86 Parisienne, '87-'89 Safari wagon, '81-'84 Oldsmobile 98,<br /> '81-'85 Delta 88, Toronado, '81-'90 Custom Cruiser, '81 Cutlass Cruiser, '82-'87 Cutlass Supreme,<br /> '88 Cutlass Supreme Classic, '81-'84 Buick Electra, '85-'89 Electra Estate wagon,<br /> '81-'85 LeSabre, Riviera, '86-'89 LeSabre Estate wagon, '90 Estate wagon, '86-'87 Regal,<br /> '86 Cadillac Fleetwood Brougham, '87-'90 Brougham |- |Y||LD8||4.6&nbsp;L||V8||Fuel injection#Sequential Multi-port injection|SFI||DOHC,<br /> 32 valve||Cadillac Northstar V8 (Torque tuned FWD) (Premium V). '93-'02 Cadillac Eldorado,<br /> '94-'04 Cadillac Seville SLS, '94-'05 Cadillac DeVille, '06-'11 Cadillac DTS,<br /> '04-'05 Pontiac Bonneville GXP, '06-'08 Buick Lucerne |- |Y||L76||6.0&nbsp;L||V8||Fuel injection#Sequential Multi-port fuel injection|SFI||OHV||Gen IV Chevy Small-Block V8. Aluminum Block & Heads. With Active Fuel Management.<br /> '08-'09 Pontiac G8 GT. |- |Y||LF1||3.0L||V6||Direct Injection|DI||DOHC,<br /> 24 valve||GM High Feature V6. VVT. 2011 Cadillac CTS |- |Y||LF4||3.6L||V6 Twin Turbo||Direct Injection|DI||DOHC,<br /> 24 valve||GM High Feature V6. Cadillac ATS-V '16-'19 |- |Z||LH7||2.8&nbsp;L||V6||2 Barrel Carburetor |2BBL||OHV||Chevrolet 60° V6 (transversely mounted). H.O. '81-'84 Chevy Citation, '82-'84 Pontiac Phoenix, Oldsmobile Omega ES, Buick Skylark, '83-'84 Pontiac 6000 STE, '84 Chevy Celebrity |- |Z||LB4||4.3L||V6||Fuel injection#Throttle Body injection|TBI||OHV||Chevrolet 90° V6 (Chevy Small-Block V8 Derived). '85 Chevy Impala, '85-'90 Caprice,<br /> '92-'93 Caprice 9C6 taxi, '85-'88 Monte Carlo, '85-'86 Pontiac Parisienne, '86-'87 Grand Prix,<br> '86 Bonneville. |- |Z||LAT||2.4L||I4||Fuel injection#Multi-port fuel injection|MFI||DOHC,<br /> 16 valve||Mild Hybrid. GM Ecotec Gen II. VVT. '10 Chevy Malibu Hybrid |- |Z||LUZ||2.0&nbsp;L||I4 Turbo||Direct injection <br /> Common-rail Diesel||DOHC,<br /> 16 valve||GM Family B Diesel (Based on Fiat JTD engine). Made by Opel in Kaiserslautern, Germany.<br /> Iron Block, Aluminum Heads. '14-'15 Chevy Cruze Diesel. |- |1||LC1||2.8&nbsp;L||V6||2 Barrel Carburetor |2BBL||OHV||Chevrolet 60° V6 (longitudinally mounted). '82-'84 Camaro/Firebird. |- |1||LL8||2.0&nbsp;L||I4||Fuel injection#Throttle Body injection|TBI||OHV||Chevrolet "122" engine. '87-'89 Chevy/Olds/Buick J-cars & Chevy L-cars. |- |1||L67||3.8&nbsp;L||V6 Supercharged||Fuel injection#Sequential Multi-port injection|SFI||OHV||Buick V6 (3800 Supercharged Series I). '91-'95 Buick Park Avenue Ultra,<br /> '92-'95 Pontiac Bonneville, Oldsmobile 98, '95 Buick Riviera, Oldsmobile LSS |- |1||L67||3.8&nbsp;L||V6 Supercharged||Fuel injection#Sequential Multi-port injection|SFI||OHV||Buick V6 (3800 Supercharged Series II). '96-'05 Buick Park Avenue Ultra,<br /> '96-'99 Buick Riviera, Oldsmobile LSS, '96-'03 Pontiac Bonneville, '97-'03 Grand Prix,<br /> '97-'04 Buick Regal, '04-'05 Chevy Impala SS, Monte Carlo SS Supercharged |- |1||LZ9||3.9L||V6||Fuel injection#Sequential Multi-port injection|SFI||OHV||GM High Value 60° V6. VVT.<br /> '06-'07 Chevy Malibu SS, '06-'09 Pontiac G6, '06 Chevy Monte Carlo, Impala, '09-'10 Buick Lucerne |- |1||2H0||1.8&nbsp;L||Straight-4|I4||Fuel injection#Sequential Multi-port fuel injection|SFI||DOHC,<br /> 16 valve||GM Family 1 engine, Gen III. VVT. Made in Szentgotthárd, Hungary. '08 (& '09 in Canada) Saturn Astra |- |1||LE5||2.4&nbsp;L||Straight-4|I4||Fuel injection#Multi-port fuel injection|MFI||DOHC,<br /> 16 valve||GM Ecotec Gen II. VVT. '11 & some '12 Chevy Malibu w/LE5 engine. |- |2||LQ9||2.5L||I4||Fuel injection#Throttle Body injection|TBI||OHV||Pontiac Iron Duke/Tech IV engine. Longitudinally mounted. '82-'85 Camaro/Firebird. |- |2||LS3||1.0&nbsp;L||Straight-3|I3 Turbo||Fuel injection#Multi-port fuel injection|MFI||SOHC,<br /> 6 valve ||Suzuki G10T engine. '87-'88 Chevrolet Sprint Turbo |- |2||LY8||1.3&nbsp;L||Straight-4|I4||Fuel injection#Multi-port fuel injection|MFI||SOHC,<br /> 16 valve||Suzuki G13BB engine. '98-'01 Chevrolet Metro |- |2||L26||3.8&nbsp;L||V6||Fuel injection#Sequential Multi-port injection|SFI||OHV||Buick V6 (3800 Series III). '04-'08 Pontiac Grand Prix, '05-'09 Buick LaCrosse, '06-'08 Buick Lucerne |- |2||L77||6.0&nbsp;L||V8||Fuel injection#Sequential Multi-port fuel injection|SFI||OHV||Gen IV Chevy Small-Block V8. Aluminum Block & Heads. With Active Fuel Management.<br /> E85 Flex Fuel. '11-'17 Chevy Caprice PPV. |- |3||LC8||3.8&nbsp;L||V6|V6 Turbo||4 Barrel Carburetor |4BBL||OHV||Buick V6. 231 cu. in. '81-'82 Buick Regal, Riviera, '81 Chevy Monte Carlo. |- |3||LG3||3.8&nbsp;L||V6||Fuel injection#(Sequential) Multi-port injection|MFI/SFI||OHV||Buick V6. '84-'88 Oldsmobile Cutlass Ciera, Buick Century, '85 & '87 Oldsmobile 98, Buick Electra,<br /> '86-'88 Oldsmobile Delta 88, Buick LeSabre, '87 Oldsmobile Toronado, Buick Riviera,<br /> '87-'88 Pontiac Bonneville. |- |3||LW2||4.5&nbsp;L||V8||Fuel injection#Multi-port fuel injection|MFI||OHV||Cadillac High Technology V8. '90 Cadillac DeVille/Fleetwood/Sixty Special/Eldorado/Seville. |- |3||L40||2.3&nbsp;L||Straight-4|I4||Fuel injection#Multi-port fuel injection|MFI||SOHC,<br /> 8 valve||Oldsmobile Quad 4 ("Quad OHC"). '92-'94 Pontiac Grand Am, Oldsmobile Achieva, Buick Skylark |- |3||LZG||3.9L||V6||Fuel injection#Sequential Multi Port Fuel injection|SFI||OHV||E85 Flex Fuel. GM High Value 60° V6. VVT. Active Fuel Management. '08 Chevy Impala |- |3||LFX||3.6L||V6||Direct Injection|DI||DOHC,<br /> 24 valve||GM High Feature V6. VVT. E85 Flex Fuel.<br /> '12-'16 Buick LaCrosse, '12-'15 Chevrolet Camaro, Cadillac CTS, '12-'17 Chevrolet Caprice PPV,<br /> '12-'20 Chevrolet Impala, '14-'16 Chevrolet Impala Limited, '13-'15 Cadillac ATS, '13-'19 Cadillac XTS |- |3||LT6||5.5&nbsp;L||V8||Direct injection|DI||DOHC,<br /> 32 valve||Chevrolet Gemini Small-Block V8. Aluminum Block & Heads. Flat-plane crank. VVT.<br /> For mid-engine C8 Corvette Z06 '23+. |- |4||LC4||4.1&nbsp;L||V6|V6||4 Barrel Carburetor |4BBL||OHV||Buick V6. '81-'84 Buick LeSabre, Electra, Riviera, Oldsmobile Toronado, '81-'82 Cadillac DeVille, Fleetwood Brougham, Eldorado, Seville, '81-'83 Oldsmobile 98, '82-'84 Buick Regal,<br /> '82 Pontiac Grand Prix, Bonneville G |- |4||LC9||1.6&nbsp;L||Straight-4|I4||2 Barrel Carburetor |2BBL||SOHC,<br /> 8 valve||Toyota 4A-C engine. '85-'88 Chevy Nova |- |4||LN2||2.2&nbsp;L||Straight-4|I4||Fuel injection#(Sequential) Multi-port injection|MPI/SFI||OHV||Chevrolet "122" engine. '92-'02 Cavalier, '95-'02 Sunfire, '92-'96 Corsica/Beretta, '93 Lumina,<br /> '93-'96 Cutlass Ciera, Century. |- |4||L32||3.8&nbsp;L||V6 Supercharged||Fuel injection#Sequential Multi-port injection|SFI||OHV||Buick V6 (3800 Supercharged Series III). '04-'07 Pontiac Grand Prix |- |4||LUU||1.4L||I4||Fuel injection#Sequential Multi-port fuel injection|SFI||DOHC,<br /> 16 valve||GM Family 0 Engine, Gen III. VVT. ([[w:EREV|Range extender]]). Early production engines were made in Aspern, Austria; later made in Flint, MI. '11-'15 Chevy Volt, '14 & '16 Cadillac ELR. |- |4||LT2||6.2&nbsp;L||V8||Direct injection|DI||OHV||Gen V Chevy Small-Block V8. Aluminum Block & Heads. Active Fuel Management. VVT.<br /> For mid-engine C8 Corvette Stingray '20+. |- |4||LT2||6.2&nbsp;L||V8||Direct injection|DI||OHV||Full Hybrid. Gen V Chevy Small-Block V8. Aluminum Block & Heads. Active Fuel Management. VVT.<br /> For mid-engine C8 Corvette E-Ray '24+. |- |5||LW9||2.5L||I4||2 Barrel Carburetor |2BBL||OHV||Pontiac Iron Duke engine. '81 Chevy Citation, Pontiac Phoenix, Oldsmobile Omega, Buick Skylark. |- |5||LR6||4.5&nbsp;L||V8||Fuel injection#Throttle Body injection|TBI (DFI)||OHV||Cadillac High Technology V8. '88-'89 Cadillac DeVille/Fleetwood/Sixty Special/Eldorado/Seville. |- |5||LY9||1.0&nbsp;L||Straight-3|I3||2BBL||SOHC,<br /> 6 valve ||Suzuki G10A engine. '86 Chevrolet Sprint |- |5||LM9||1.0&nbsp;L||Straight-3|I3||2BBL||SOHC,<br /> 6 valve ||Suzuki G10A engine. '87-'88 Chevrolet Sprint |- |5||LW0||1.6&nbsp;L||Straight-4|I4||Fuel injection#Multi-port fuel injection|MFI||DOHC,<br /> 16 valve||Toyota 4A-GE engine. '88 Chevy Nova Twin Cam, '90-'92 Geo Prizm GSi |- |5||LW0||1.6&nbsp;L||Straight-4|I4||Fuel injection#Multi-port fuel injection|MFI||DOHC,<br /> 16 valve||Isuzu 4XE1-UW engine. '90-'91 Geo Storm GSi |- |5||LT4||5.7&nbsp;L||V8||Fuel injection#Sequential Multi-port injection|SFI||OHV||Gen II Chevy Small-Block V8. '96 Corvette (man. trans.) |- |5||LAT||2.4L||I4||Fuel injection#Multi-port fuel injection|MFI||DOHC,<br /> 16 valve||Mild Hybrid. GM Ecotec Gen II. VVT. '07-'09 Saturn Aura Green Line, '08-'09 Chevy Malibu Hybrid |- |5||LAP||2.2&nbsp;L||Straight-4|I4||Fuel injection#Multi-port fuel injection|MFI||DOHC,<br /> 16 valve||GM Ecotec Gen II. VVT. '10 Chevy Cobalt. |- |5||LFW||3.0L||V6||Direct Injection|DI||DOHC,<br /> 24 valve||GM High Feature V6. VVT. '12-'13 Cadillac CTS, '14 CTS wagon |- |5||L3A||1.5L||I4||Direct Injection|DI||DOHC,<br /> 16 valve||GM Small Gasoline Engine. VVT. ([[w:EREV|Range extender]]). '16-'19 Chevy Volt. |- |5||LWC||1.6L||I4 Turbo||Direct Injection|DI||DOHC,<br /> 16 valve||GM Medium Gasoline Engine, H.O. VVT. Made in Szentgotthárd, Hungary. '16-'19 Buick Cascada |- |5||LS6||6.7&nbsp;L||V8||Port/Direct injection||OHV||Gen VI Chevy Small-Block V8. Aluminum Block & Heads. Active Fuel Management. VVT.<br /> For mid-engine C8 Corvette Stingray, Grand Sport '27+. |- |5||LS6||6.7&nbsp;L||V8||Port/Direct injection||OHV||Full Hybrid. Gen VI Chevy Small-Block V8. Aluminum Block & Heads. Active Fuel Management. VVT.<br /> For mid-engine C8 Corvette Grand Sport X '27+. |- |6||L81||5.7&nbsp;L||V8||4 Barrel Carburetor |4BBL||OHV||Gen I Chevy Small-Block V8. '81 Corvette |- |6||LM1||5.7&nbsp;L||V8||4 Barrel Carburetor |4BBL||OHV||Gen I Chevy Small-Block V8. '83-'85 Impala 9C1 Police, '86-'88 Caprice 9C1 Police |- |6||L73||1.6&nbsp;L||Straight-4|I4||Fuel injection#Throttle Body injection|TBI||SOHC,<br /> 8 valve||GM Family 1 engine. Made in South Korea by Daewoo. '88-'93 Pontiac LeMans |- |6||LP2||1.0&nbsp;L||Straight-3|I3||Fuel injection#Throttle Body injection|TBI||SOHC,<br /> 6 valve ||Suzuki G10A engine. '89-'97 Geo Metro, '98-'00 Chevrolet Metro |- |6||L01||1.6&nbsp;L||Straight-4|I4||Fuel injection#Multi-port fuel injection|MFI||DOHC,<br /> 16 valve||Toyota 4A-FE engine. '89-'97 Geo Prizm base/LSi |- |6||L01||1.6&nbsp;L||Straight-4|I4||Fuel injection#Multi-port fuel injection|MFI||SOHC,<br /> 12 valve||Isuzu 4XE1-V engine. '90-'93 Geo Storm (base model) |- |6||L42||2.2&nbsp;L||Straight-4|I4||Fuel injection#Multi-port fuel injection|MFI||DOHC,<br /> 16 valve||GM Ecotec Gen I (Bi-Fuel Gas/CNG). '03-'04 Chevy Cavalier |- |6||L91||1.6&nbsp;L||Straight-4|I4||Fuel injection#Multi-port fuel injection|MFI||DOHC,<br /> 16 valve||E-TEC II. '04-'07 Chevy Aveo |- |6||LXT||1.6&nbsp;L||Straight-4|I4||Fuel injection#Multi-port fuel injection|MFI||DOHC,<br /> 16 valve||E-TEC II. '08 Chevy Aveo |- |6||LGW||3.0L||V6 Twin Turbo||Direct Injection|DI||DOHC,<br /> 24 valve||GM High Feature V6, 4th gen. VVT. Active Fuel Management. '16-'19 Cadillac CT6 |- |6||LT4||6.2&nbsp;L||V8 Supercharged||Direct injection|DI||OHV||Gen V Chevy Small-Block V8. Aluminum Block & Heads. With Active Fuel Management. VVT.<br /> '15-'19 Corvette Z06, '17-'24 Camaro ZL1, '16-'19 Cadillac CTS V-Series,<br /> '22+ Cadillac CT5-V Blackwing |- |7||LU5||5.0&nbsp;L||V8||Cross-Fire fuel injection|CFI||OHV||Gen I Chevy Small-Block V8. (305 cu. in.) '82 Camaro, Firebird. Dual throttle-body fuel injection. |- |7||L69||5.0&nbsp;L||V8||4 Barrel Quadrajet Carburetor |4BBL||OHV||Gen I Chevy Small-Block V8 (High Output 5.0L). (305 cu. in.). '83 F-cars, '83 Chevy Monte Carlo SS |- |7||LC5||1.5&nbsp;L||I4||2 Barrel Carburetor |2BBL||SOHC,<br /> 8 valve||Isuzu 4XC1 engine. '86-'88 Chevrolet Spectrum, '89 Geo Spectrum. |- |7||LC2||3.8&nbsp;L||V6|V6 Turbo||Fuel injection#Sequential multi-port injection|SFI||OHV||Intercooled. Buick V6. '86-'87 Buick Regal. '89 Pontiac 20th Anniversary Turbo Trans Am |- |7||LC7||4.1&nbsp;L||V8||Fuel injection#Multi-port fuel injection|MFI||OHV||Cadillac High Technology V8. '87-'88 Cadillac Allante. |- |7||L05||5.7&nbsp;L||V8||Fuel injection#Throttle Body injection|TBI||OHV||Gen I Chevy Small-Block V8. '89-'93 Chevy Caprice (police only for '89-'91),<br /> '92-'93 Buick Roadmaster, '92 Oldsmobile Custom Cruiser, '90-'92 Cadillac Brougham, '93 Fleetwood. |- |7||LL0||1.9&nbsp;L||Straight-4|I4||Fuel injection#Multi-port injection|MFI||DOHC,<br /> 16 valve||Saturn I4 engine. '91-'02 Saturn S-Series |- |7||LY7||3.6&nbsp;L||V6||Fuel injection#Sequential Multi-port injection|SFI||DOHC,<br /> 24 valve||GM High Feature V6. VVT. '04-'09 Cadillac CTS, '05-'07 STS, '05-'08 Buick LaCrosse,<br /> '07-'09 Pontiac G6, Saturn Aura, '08-'09 Pontiac G8, '08-'12 Chevy Malibu |- |7||LT1||6.2&nbsp;L||V8||Direct injection|DI||OHV||Gen V Chevy Small-Block V8. Aluminum Block & Heads. With Active Fuel Management. VVT.<br /> '14-'19 Corvette, '16-'24 Camaro SS |- |7||LT7||5.5&nbsp;L||V8 Twin Turbo||Port/Direct injection||DOHC,<br /> 32 valve||Chevrolet Gemini Small-Block V8. Aluminum Block & Heads. Flat-plane crank. VVT.<br /> For mid-engine C8 Corvette ZR1 '25+. (1,064 hp) |- |7||LT7||5.5&nbsp;L||V8 Twin Turbo||Port/Direct injection||DOHC,<br /> 32 valve||Full Hybrid. Chevrolet Gemini Small-Block V8. Aluminum Block & Heads. Flat-plane crank. VVT.<br /> For mid-engine C8 Corvette ZR1X '26+. (1,250 hp) |- |8||LV8||4.3&nbsp;L||V8||2 Barrel Carburetor |2BBL||OHV||Oldsmobile "Rocket" V8 (260 cu. in.) '82 Oldsmobile Cutlass, Delta 88. |- |8||LT8||4.1&nbsp;L||V8||Fuel injection#Throttle Body injection|TBI (DFI)||OHV||Cadillac High Technology V8. '82-'87 Cadillac DeVille, Eldorado, Seville, '82-'85 Fleetwood Brougham, '85-'87 Fleetwood, '87 Fleetwood Sixty Special. |- |8||LC8||3.8&nbsp;L||V6|V6 Turbo||4 Barrel Carburetor |4BBL||OHV||Buick V6. '83 Buick Regal, Riviera. |- |8||L83||5.7&nbsp;L||V8||Cross-Fire fuel injection|CFI||OHV||Gen I Chevy Small-Block V8. '82, '84 Corvette. Dual throttle-body fuel injection. 1st fuel injected Corvette since 1965. |- |8||L98||5.7&nbsp;L||V8||Tuned-port fuel injection|TPI||OHV||Gen I Chevy Small-Block V8. '85-'91 Corvette, '87-'92 Chevy Camaro, Pontiac Firebird. |- |8||LQ6||4.5&nbsp;L||V8||Fuel injection#Multi-port fuel injection|MFI||OHV||Cadillac High Technology V8. '89-'92 Cadillac Allante. |- |8||L24||1.9&nbsp;L||Straight-4|I4||Fuel injection#Multi-port injection|MFI||SOHC,<br /> 8 valve||Saturn I4 engine. '95-'02 Saturn S-Series |- |8||LX9||3.5&nbsp;L||V6||Fuel injection#Sequential Multi-port injection|SFI||OHV||GM High Value 60° V6. 3498cc. '04-'06 Chevy Malibu, '05-'06 Pontiac G6 |- |8||LF3||3.6L||V6 Twin Turbo||Direct Injection|DI||DOHC,<br /> 24 valve||GM High Feature V6. '14-'19 Cadillac CTS V-Sport, XTS V-Sport |- |8||LV6||1.8&nbsp;L||Straight-4|I4||Fuel injection#Multi-port fuel injection|MFI||DOHC,<br /> 16 valve||Isuzu 4XF1 engine. '92-'93 Geo Storm GSi. |- |8||LV6||1.8&nbsp;L||Straight-4|I4||Fuel injection#Multi-port fuel injection|MFI||DOHC,<br /> 16 valve||Toyota 7A-FE engine. '93-'97 Geo Prizm |- |8||LV6||1.8&nbsp;L||Straight-4|I4||Fuel injection#Multi-port fuel injection|MFI||DOHC,<br /> 16 valve||Toyota 1ZZ-FE engine. VVT-i from '00. '98-'02 Chevrolet Prizm, '03-'08 Pontiac Vibe |- |8||LAY||1.8&nbsp;L||Straight-4|I4||Fuel injection#Sequential multi-port injection|SFI||DOHC,<br /> 16 valve||Toyota 2ZR-FE engine. Dual VVT-i. '09-'10 Pontiac Vibe |- |9||L17||1.6&nbsp;L||Straight-4|I4||2 Barrel Carburetor |2BBL||SOHC,<br /> 8 valve||Isuzu G161Z engine made by GM in US. '81 Chevy Chevette, Pontiac T1000 |- |9||L62||6.0&nbsp;L||V8||Fuel injection#Throttle Body injection|TBI (DFI)||OHV||Cadillac 472-series V8 engine family. V8-6-4 cylinder deactivation.<br /> '81 Cadillacs, '82-'84 Fleetwood Limousine. |- |9||LC3||3.8&nbsp;L||V6||2 Barrel Carburetor |2BBL||OHV||Chevrolet 90° V6 (Chevy Small-Block V8 Derived). 229 cu. in. <br /> '83 Malibu, '83-'84 Monte Carlo, Impala, Caprice, '83 Pontiac Parisienne. |- |9||LG8||5.0&nbsp;L||V8||4 Barrel Carburetor |4BBL||OHV||Oldsmobile "Rocket" V8 (307 cu. in.) H.O. '83-'84 Hurst/Olds, '85-'87 Oldsmobile Cutlass 442 |- |9||LM9||3.8&nbsp;L||V6|V6 Turbo||Fuel injection#Sequential multi-port injection|SFI||OHV||Buick V6. '84-'85 Buick Regal, Riviera. |- |9||L44||2.8&nbsp;L||V6||Fuel injection#Multi-port fuel injection|MFI||OHV||Chevrolet 60° V6 (transversely mounted). H.O. '85-'88 Pontiac Fiero |- |9||LC0||1.5&nbsp;L||I4 Turbo||Fuel injection#Multi-port fuel injection|MFI||SOHC,<br /> 8 valve||Isuzu 4XC1-T engine. '87-'88 Chevrolet Spectrum Turbo |- |9||LK0||1.9&nbsp;L||Straight-4|I4||Fuel injection#Throttle Body injection|TBI||SOHC,<br /> 8 valve||Saturn I4 engine. '91-'94 Saturn S-Series |- |9||L37||4.6&nbsp;L||V8||Fuel injection#Sequential Multi-port injection|SFI||DOHC,<br /> 32 valve||Cadillac Northstar V8 (H.O. FWD) (Premium V). '93 Cadillac Allanté,<br /> '93-'02 Cadillac Eldorado Touring Coupe, '93-'04 Cadillac Seville STS, '96-'05 Cadillac DeVille,<br /> '06-'11 Cadillac DTS, '08-'11 Buick Lucerne Super |- |9||L72||1.3&nbsp;L||Straight-4|I4||Fuel injection#Throttle Body injection|TBI||SOHC,<br /> 8 valve ||Suzuki G13BA engine. '95-'97 Geo Metro |- |9||LUJ||1.4L||I4 Turbo||Fuel injection#Sequential Multi-port fuel injection|SFI||DOHC,<br /> 16 valve||GM Family 0 Engine, Gen III. VVT. Early production engines were made in Aspern, Austria; later made in Flint, MI. '11 Chevy Cruze |- |9||LL0||1.2&nbsp;L||Straight-4|I4||Fuel injection#Multi-port fuel injection|MFI||DOHC,<br /> 16 valve||Daewoo S-TEC II engine (1249 cc). VVT. Made in Changwon, S. Korea. '13-'15 Chevy Spark. |- |9||LT5||6.2&nbsp;L||V8 Supercharged||Port/Direct injection||OHV||Gen V Chevy Small-Block V8. Aluminum Block & Heads. VVT. '19 Corvette ZR1. |- |0||LH8||1.8&nbsp;L||Straight-4|I4||Fuel injection#Throttle Body injection|TBI||SOHC,<br /> 8 valve||GM Family II engine. Made in Brazil.<br /> '82-'86 Pontiac J2000/2000/Sunbird, Oldsmobile Firenza, Buick Skyhawk. |- |0||LAX||2.4&nbsp;L||Straight-4|I4||Fuel injection#Sequential multi-port injection|SFI||DOHC,<br /> 16 valve||Toyota 2AZ-FE engine. VVT-i. '09-'10 Pontiac Vibe |- |0||LE9||2.4&nbsp;L||Straight-4|I4||Fuel injection#Multi-port fuel injection|MFI||DOHC,<br /> 16 valve||GM Ecotec Gen II. E85 Flex-Fuel. 2010 Chevy Malibu. |- |0||LE5||2.4&nbsp;L||Straight-4|I4||Fuel injection#Multi-port fuel injection|MFI||DOHC,<br /> 16 valve||GM Ecotec Gen II. VVT. Most '12 Chevy Malibu w/LE5 engine. |} H.O.=High Output, CNG=Compressed Natural Gas, VVT=Variable Valve Timing, VVL=Variable Valve Lift ====Motor codes for electric passenger cars==== {| class="wikitable" |- ! VIN !! RPO !! Fuel !! Drive Wheels !! Application/Notes |- | 5 ||LN1|| Electricity || Front || '97, '99 General Motors EV1 |- | 0 ||EN0|| Electricity || Front || '14-'16 Chevrolet Spark EV |- | 0 ||EN0|| Electricity || Front || '17-'23 Chevrolet Bolt EV |- | 0 ||EN0|| Electricity || Front || '22-'23 Chevrolet Bolt EUV |- |} ====Motor codes for LFP-powered electric passenger cars==== {| class="wikitable" |- ! VIN !! Motor <br /> RPO code !! # of Motors !! Battery Pack <br /> RPO code !! Fuel !! Drive Wheels !! Application/Notes |- |- | V ||P9D (HPB)|| 1 || EJW || Electricity || Front || '27 Chevrolet Bolt |} LFP=Lithium Iron Phosphate ====Motor codes for Ultium-powered electric passenger cars==== {| class="wikitable" |- ! VIN !! Motor <br /> RPO code !! # of Motors !! Battery Module <br /> RPO code !! # of Modules !! Fuel !! Drive Wheels !! Application/Notes |- |- | 1 ||X0E|| 2 || EXN || 16 || Electricity || All || '25- Cadillac Celestiq |- | 2 ||X0E|| 2 || EHT || 16 || Electricity || All || '25- Cadillac Celestiq <br> (Battery Module RPO code EHT is Configuration B) |} ====Engine codes for light trucks==== GM encodes the engine type in character 8 of the VIN. The following table outlines the various engines encoded there: {| class="wikitable" |- ! VIN !! RPO !! Size !! Type !! Fuel !! Valvetrain !! Engine Family/Notes/Applications |- | A ||LD5|| 3.8L || V6 || Gas ||OHV||2-bbl carb. Buick V6. (231 cu. in.) '81-'84 Chevy El Camino, GMC Caballero (CA emissions). |- | A ||LR1|| 1.9L || I4 || Gas ||SOHC,<br /> 8 valve||2-bbl carb. Isuzu G200 engine imported from Japan.<br /> '82-'85 Chevy S-10/GMC S-15, '83-'85 Chevy S-10 Blazer/GMC S-15 Jimmy |- | A ||L38|| 2.5L || I4 || Gas ||OHV||TBI. Pontiac Iron Duke/Tech IV engine. '91-'93 Chevy S-10/GMC Sonoma. |- | A ||LH2|| 4.6L || V8 || Gas ||DOHC,<br /> 32 valve||Cadillac Northstar V8 (For RWD) (Premium V). '04-'09 Cadillac SRX |- | A ||L20|| 4.8L || V8 || Gas/E85 ||OHV|| Flex Fuel. SFI. Gen IV Chevrolet Small-Block V8. Iron Block/Aluminum Heads. VVT.<br /> '10-'13 GMT900 pickups, '10-'14 Express/Savana |- | A ||LCV|| 2.5L || I4 || Gas ||DOHC,<br /> 16 valve||GM Ecotec engine, Gen III. Direct Injection. VVT. '15-'22 Chevy Colorado, GMC Canyon,<br /> '17-'20 Buick Envision, '17-'21 GMC Acadia, '19-'21 Chevy Blazer |- | B ||LR2|| 2.8L || V6 || Gas ||OHV||2-bbl carb. Chevrolet 60° V6.<br /> '82-'85 Chevy S-10/GMC S-15, '83-'85 Chevy S-10 Blazer/GMC S-15 Jimmy |- | B ||LU2|| 4.3L || V6 || Gas ||OHV|| TBI. Chevrolet 90° V6 (Chevy Small-Block V8 Derived). '90-'91 Astro/Safari higher output engine option. |- | B ||L81|| 3.0L || V6 || Gas ||DOHC,<br /> 24 valve||Opel 54° V6 engine (Made in the UK). '02-'03 Saturn Vue |- | B ||L33|| 5.3L || V8 || Gas ||OHV|| Gen III Chevrolet Small-Block V8. Vortec 5300 H.O. 310hp. Aluminum Block & Heads.<br /> '05-'07 Silverado/Sierra 1500 4wd ext. cab short bed. |- | B ||LE8|| 2.2L || I4 || Gas/E85 ||DOHC,<br /> 16 valve||Flex-Fuel. GM Ecotec Gen II. VVT. '09-'10 Chevy HHR |- | B ||LC8|| 6.0L || V8 || Gas/CNG ||OHV||Bi-Fuel (Also Gas/LPG in Express/Savana). SFI. Gen IV Chevrolet Small-Block V8. Iron Block & Aluminum Heads. VVT. '11-'20 Express/Savana, '13-'19 Silverado HD/Sierra HD. |- | B ||LUV|| 1.4L ||I4 Turbo|| Gas ||DOHC,<br /> 16 valve||GM Family 0 Engine, Gen III. SFI. VVT.<br /> '13-'21 Buick Encore, '15-'21 Chevy Trax (also '13-'14 Trax in Canada) |- | C ||LH6|| 6.2L || V8 || Diesel ||OHV||Detroit Diesel V8. For sub-8,500 lb. GVWR trucks '82-'93. '82-'86 C/K pickups, '87 R/V pickups,<br /> '88-'93 C/K, Sierra pickups, '82-'91 Blazer/Jimmy, Suburban, '83-'93 full-size vans |- | C ||L34|| 2.0L || I4 || Gas ||DOHC,<br /> 16 valve||Suzuki J20A engine. MFI. '99-'03 Chevrolet Tracker |- | C ||LY2|| 4.8L || V8 || Gas ||OHV||SFI. Gen IV Chevrolet Small-Block V8. Iron Block/Aluminum Heads.<br /> '07-'09 GMT900 pickups, '07-'09 Tahoe/Yukon, '08-'09 Express/Savana |- | C ||LAF|| 2.4L || I4 || Gas ||DOHC,<br /> 16 valve||GM Ecotec engine, Gen II. Direct Injection. VVT. Chevy Equinox, GMC Terrain '11. |- | C ||L83|| 5.3L || V8 || Gas/E85 ||OHV|| Flex Fuel. Gen V Chevrolet Small-Block V8 (EcoTec3). Direct injection, VVT. Active Fuel Management<br /> '14-'19 K2XX pickups, '15-'20 K2XX SUVs. |- | C ||L2R|| 2.7L ||I4 Turbo||| Gas ||DOHC,<br /> 16 valve||GM L3B Tripower engine ("TurboMax") - Detuned version. Direct Injection. VVT, VVL. Active Fuel Management. '23-'24 Chevy Colorado. |- | D ||LE3|| 4.1L || I6 || Gas ||OHV||2-bbl carb. Chevrolet Turbo-Thrift I6.<br /> '81-'84 Chevy/GMC C/K pickups, full-size vans, '81-'82 Blazer/Jimmy |- | D ||LG6|| 3.1L || V6 || Gas ||OHV||TBI. Chevrolet 60° V6. '90-'95 U-body minivans. |- | D ||L61|| 2.2L || I4 || Gas ||DOHC,<br /> 16 valve||GM Ecotec Gen I. '02-'07 Saturn Vue, '06 Chevy HHR. |- | D ||L61|| 2.2L || I4 || Gas ||DOHC,<br /> 16 valve||GM Ecotec Gen II. '07-'08 Chevy HHR. |- | D ||LLT|| 3.6L || V6 || Gas ||DOHC,<br /> 24 valve||GM High Feature V6. Direct Injection. '09-'16 GMC Acadia, '17 GMC Acadia Limited,<br /> '09-'17 Chevrolet Traverse, Buick Enclave, '09-'10 Saturn Outlook |- | D ||LBZ|| 6.6L || V8 Turbo || Diesel ||OHV,<br /> 32 valve||Duramax 6600 V8 engine.<br /> Mid '06 Silverado HD/Sierra HD & '07 Silverado Classic HD/Sierra Classic HD |- | D ||L84|| 5.3L || V8 || Gas/E85 ||OHV|| Gen V Chevrolet Small-Block V8 (EcoTec3). Direct injection, VVT. With Dynamic Fuel Management<br /> '19+ Chevy/GMC Silverado 1500/Sierra 1500, '21+ Tahoe/Yukon, Suburban/Yukon XL. |- | E ||LN8|| 2.5L || I4 || Gas ||OHV||TBI. Pontiac Iron Duke/Tech IV engine.<br /> '85-'90 Chevy/GMC S-10/S-15, Astro/Safari Cargo Van, '85-'88 S-10 Blazer/S-15 Jimmy. |- | E ||LLR|| 3.7L || I5 || Gas ||DOHC,<br /> 20 valve||Atlas I5. SFI. VVT.<br /> '07-'12 Colorado/Canyon, '07-'08 Isuzu i-370, '07-'10 Hummer H3, '09-'10 Hummer H3T |- | E ||LA1|| 3.4L || V6 || Gas ||OHV||Chevrolet 60° V6. '96 GMT199 (U-body) minivans, '97-'05 GMT200 (U-body) minivans,<br /> '01-'05 Pontiac Aztek, '02-'05 Buick Rendezvous |- | F ||LF3|| 5.0L || V8 || Gas ||OHV|| 4-bbl carb. Gen I Chevrolet Small-Block V8. '81-'86 C/K, full-size vans, '81-'82 Blazer/Jimmy.<br /> CA emissions version of LE9 5.0 V8. |- | F ||L65|| 6.5L || V8 Turbo || Diesel ||OHV||Detroit Diesel V8. For over-8,500 lb. GVWR Chevy C/K, GMC Sierra trucks '92-'02,<br /> Chevy/GMC Suburban 1500/2500 '94-'99, over-8,500 lb. GVWR Express/Savana '96-'02 |- | F ||LNJ|| 3.4L || V6 || Gas ||OHV||Chevrolet 60° V6. Made in China by SAIC-GM. '05-'09 Chevy Equinox, '06-'09 Pontiac Torrent. |- | F ||L94|| 6.2L || V8 || Gas/E85 ||OHV||Flex-Fuel. Gen IV Chevrolet Small-Block V8. Aluminum Block & Heads. SFI. VVT. Active Fuel Management. '10-'14 GMC Yukon Denali/Yukon XL Denali, Cadillac Escalade/Escalade ESV. |- | F ||L20|| 4.8L || V8 || Gas/E85 ||OHV|| Flex Fuel. SFI. Gen IV Chevrolet Small-Block V8. Iron Block/Aluminum Heads. VVT.<br /> '15-'17 Express/Savana |- | F ||L82|| 5.3L || V8 || Gas ||OHV|| Gen V Chevrolet Small-Block V8 (EcoTec3). Direct injection, VVT. With Active Fuel Management<br /> '19-'21 Chevy Silverado 1500, GMC Sierra 1500 (T1XX). |- | G ||LG9|| 5.0L || V8 || Gas ||OHV|| 2-bbl carb. Gen I Chevrolet Small-Block V8. '81 Chevy/GMC C/K pickups, Blazer/Jimmy, full-size van |- | G ||L18|| 8.1L || V8 || Gas ||OHV||MFI. Vortec 8100. Gen VII Chevrolet Big-Block V8. '01-'02 C3500HD, '01-'06 Silverado HD/Sierra HD, '07 Silverado Classic HD/Sierra Classic HD, '01-'06 Suburban/Yukon XL 2500, '02-'06 Avalanche 2500, '01-'02 Express/Savana |- | G ||L96|| 6.0L || V8 || Gas/E85 ||OHV||Flex Fuel. SFI. Gen IV Chevrolet Small-Block V8. Iron Block & Aluminum Heads. VVT.<br /> '10-'19 Silverado HD/Sierra HD, '10-'13 Suburban 2500/Yukon XL 2500, '16-'19 Suburban 3500,<br /> '10-'20 Express/Savana. |- | G ||LSD|| 1.5L || I4 Turbo || Gas ||DOHC,<br /> 16 valve||GM Small Gasoline Engine. Direct Injection. VVT. '23+ Chevy Equinox, GMC Terrain |- | H ||LG4|| 5.0L || V8 || Gas ||OHV||4-bbl carb. Gen I Chevy Small-Block V8. (305 cu. in.) '81-'87 Chevy El Camino, GMC Caballero. |- | H ||LE9|| 5.0L || V8 || Gas ||OHV|| 4-bbl carb. Gen I Chevrolet Small-Block V8. '81-'86 C/K pickups, Blazer/Jimmy, Suburban, full-size vans |- | H ||L03|| 5.0L || V8 || Gas ||OHV|| TBI. Gen I Chevrolet Small-Block V8. '87 R/V pickups, '88-'95 C/K, Sierra pickups, '87-'95 full-size vans, '87 Blazer/Jimmy, Suburban. |- | H ||LN2|| 2.2L || I4 || Gas ||OHV||SFI. Chevrolet "122" engine. '03 Chevy S-10/GMC Sonoma |- | H ||LS2|| 6.0L || V8 || Gas ||OHV||SFI. Gen IV Chevy Small-Block V8. Chevy SSR '05-'06, Trailblazer SS '06-'09, Saab 9-7X Aero '08-'09. |- | H ||LV3|| 4.3L || V6 || Gas/E85 ||OHV||Flex Fuel. Chevrolet 90° V6 - Gen V Chevrolet Small-Block V6 (EcoTec3). Direct injection, VVT. Active Fuel Management. '14-'21 Chevy Silverado 1500/GMC Sierra 1500. |- | J ||L39|| 4.4L || V8 || Gas ||OHV||2-bbl carb. Gen I Chevy Small-Block V8 (267 cu. in.) '81-82 Chevy El Camino, GMC Caballero. |- | J ||LL4|| 6.2L || V8 || Diesel ||OHV||Detroit Diesel V8. For over-8,500 lb. GVWR trucks '82-'93. '82-'86 C/K pickups, '87-'91 R/V pickups,<br /> '88-'93 C/K, Sierra pickups, '82-'91 Blazer/Jimmy, Suburban, '83-'93 full-size vans |- | J ||L29|| 7.4L || V8 || Gas ||OHV|| MFI. Vortec 7400. Gen VI Chevrolet Big-Block V8.<br /> '96-'00 C/K, Sierra pickups, Express/Savana, '96-'99 Suburban 2500 |- | J ||LY5|| 5.3L || V8 || Gas ||OHV||SFI. Gen IV Chevrolet Small-Block V8. Active Fuel Management. Iron Block & Aluminum Heads.<br /> '07-'09 Silverado/Sierra 1500, Tahoe/Yukon, Suburban/Yukon XL 1500, Avalanche |- | J ||LZ1|| 6.0L || V8 || Gas ||OHV||2-Mode Hybrid. Gen IV Chevrolet Small-Block V8. Aluminum Block & Heads. VVT. Active Fuel Management. '10-'13 Tahoe Hybrid, Yukon Hybrid, Escalade Hybrid, Silverado Hybrid, Sierra Hybrid |- | J ||L86|| 6.2L || V8 || Gas ||OHV||Gen V Chevrolet Small-Block V8 (EcoTec3). Direct injection, VVT. Active Fuel Management. <br /> '14-18 Chevy/GMC Silverado 1500/Sierra 1500,<br /> '18-20 Chevy Tahoe Premier, '19-'20 Chevy Suburban Premier, GMC Yukon/Yukon XL SLT,<br /> '15-'20 GMC Yukon Denali/Yukon XL Denali, Cadillac Escalade/Escalade ESV. |- | K ||LC3|| 3.8L || V6 || Gas ||OHV||2-bbl carb. Chevrolet 90° V6 (Chevy Small-Block V8 Derived). 229 cu. in. <br /> '81-'82 Chevy El Camino, GMC Caballero (49-state emissions) |- | K ||L05|| 5.7L || V8 || Gas ||OHV|| TBI. Gen I Chevrolet Small-Block V8. '87 R/V pickups, '88-'95 C/K, Sierra pickups, '87-'95 full-size vans, '96 G-Classic full-size vans, '87-'94 Blazer, '95 Tahoe, '87-'91 Jimmy, '92-'95 Yukon, '87-'95 Suburban. |- | K ||LY6|| 6.0L || V8 || Gas ||OHV||SFI. Gen IV Chevrolet Small-Block V8. Iron Block & Aluminum Heads. VVT.<br /> '07-'09 Silverado HD/Sierra HD, '07-'09 Suburban 2500/Yukon XL 2500, '08-'09 Express/Savana |- | K ||LEA|| 2.4L || I4 || Gas/E85 ||DOHC,<br /> 16 valve||Flex Fuel. GM Ecotec engine, Gen II. Direct Injection. VVT. Chevy Equinox, GMC Terrain '12-'17,<br /> Chevy Captiva Sport '12-'14, Chevy Orlando '14. |- | K ||L3B|| 2.7L ||I4 Turbo||| Gas ||DOHC,<br /> 16 valve||GM L3B Tripower engine ("TurboMax"). Direct Injection. VVT, VVL. Active Fuel Management.<br /> '19+ Chevy Silverado 1500, GMC Sierra 1500, '23+ Chevy Colorado, GMC Canyon. |- | L ||LS9|| 5.7L || V8 || Gas ||OHV|| 4-bbl carb. Gen I Chevrolet Small-Block V8. For sub-8,500 lb. GVWR trucks, vans, Suburban, Blazer/Jimmy (CA) '81-'86. |- | L ||L27|| 3.8L || V6 || Gas ||OHV||Buick V6 (3800 Series I). '92-'95 U-body minivans |- | L ||LX9|| 3.5L || V6 || Gas ||OHV||GM High Value 60° V6. 3498cc. SFI. '05-'06 GMT201 minivans, '06-'07 Buick Rendezvous |- | L ||LH8|| 5.3L || V8 || Gas ||OHV||SFI. Gen IV Chevrolet Small-Block V8. Aluminum Block & Heads.<br /> '08-'09 Hummer H3 Alpha, '09 Colorado/Canyon, Hummer H3T Alpha |- | L ||LGH|| 6.6L || V8 Turbo || Diesel ||OHV,<br /> 32 valve||Duramax 6600 V8 engine. Mid '10-'16 Express/Savana, '11-'12 Silverado HD/Sierra HD chassis cabs |- | L ||L87|| 6.2L || V8 || Gas ||OHV||Gen V Chevrolet Small-Block V8 (EcoTec3). Direct injection, VVT. Dynamic Fuel Management.<br /> '19+ Chevy/GMC Silverado 1500/Sierra 1500, '21+ Tahoe/Yukon, Suburban/Yukon XL,<br /> Cadillac Escalade/Escalade ESV. |- | L ||L3T|| 1.3L || I3 Turbo || Gas ||DOHC,<br /> 12 valve||GM E-Turbo Engine. Direct Injection. VVT. '20+ Buick Encore GX, '21+ Chevy Trailblazer. |- | M ||LT9|| 5.7L || V8 || Gas ||OHV|| 4-bbl carb. Gen I Chevy Small-Block V8.<br /> For over-8,500 lb. GVWR C/K trucks, full-size vans, Suburban '81-'86, full-size van cutaway '81-'88.<br /> '88 Chevy/GMC R30/3500 Chassis Cab w/C7C (10,500 lb. GVWR),<br /> V30/3500 Chassis Cab w/C7E (11,000 lb. GVWR) |- | M ||L30|| 5.0L || V8 || Gas ||OHV||Gen 1+ Chevrolet Small-Block V8. Vortec 5000. CPI.<br /> '96-'99 Chevy C/K, GMC Sierra, '96-'02 Express/Savana |- | M ||LNF|| 2.0L || I4 Turbo || Gas ||DOHC,<br /> 16 valve||GM Ecotec engine, Gen II. Direct Injection. VVT. 2010 Chevy HHR SS. |- | M ||LH6|| 5.3L || V8 || Gas ||OHV||SFI. Gen IV Chevrolet Small-Block V8. Active Fuel Management. Aluminum Block & Heads.<br /> '05-'06 GMT370 SUVs (Trailblazer EXT/Envoy XL/Isuzu Ascender 7-psgr.), '05-'07 Buick Rainier,<br /> '05-'09 GMC Envoy Denali, Saab 9-7X, '06-'08 Chevy Trailblazer, '05 GMC Envoy XUV,<br /> '07-'09 Silverado/Sierra 1500 |- | M ||LAF|| 2.4L || I4 || Gas ||DOHC,<br /> 16 valve||GM Ecotec engine, Gen II. Direct Injection. VVT. Chevy Orlando '12. |- | M ||LE2|| 1.4L || I4 Turbo || Gas ||DOHC,<br /> 16 valve||GM Small Gasoline Engine. Direct Injection. VVT. '16-'19 & '21-'22 Buick Encore, '21-'22 Chevy Trax. |- | N ||L10|| 1.8L || I4 || Gas ||SOHC,<br /> 8 valve||2-bbl carb. Isuzu G180Z engine imported from Japan. '81-'82 Chevy LUV |- | N ||LF9|| 5.7L || V8 || Diesel ||OHV||Oldsmobile Diesel V8. '83-'84 Chevy El Camino/GMC Caballero. |- | N ||LB1|| 4.3L || V6 || Gas ||OHV|| 4-bbl carb. Chevrolet 90° V6 (Chevy Small-Block V8 Derived).<br /> '85 Astro/Safari, '85-'86 C/K pickups & full-size vans |- | N ||L19|| 7.4L || V8 || Gas ||OHV|| Mark IV Chevrolet Big-Block V8. TBI.<br /> '87-'90 R/V pickups, Suburban 2500, '88-'90 C/K, Sierra pickups, full-size vans |- | N ||L19|| 7.4L || V8 || Gas ||OHV|| Gen V Chevrolet Big-Block V8. TBI.<br /> '91 R/V pickups, '91-'95 C/K, Sierra pickups, Suburban 2500, full-size vans. '96 G-Classic full-size vans |- | N ||LZ4|| 3.5L || V6 || Gas ||OHV||GM High Value 60° V6. 3510cc. SFI. VVT. '08-'09 Saturn Vue |- | N ||LQ9|| 6.0L || V8 || Gas ||OHV|| Gen III Chevrolet Small-Block V8. Vortec 6000 H.O. or VortecMAX. Iron Block/Aluminum Heads. 345 hp.<br /> '02-'06 Cadillac Escalade, '03-'06 Cadillac Escalade ESV, '03-'06 Chevy Silverado SS, '05-'06 GMC Sierra Denali. |- | N ||LGZ|| 3.6L || V6 || Gas ||DOHC,<br /> 24 valve||GM High Feature V6, 4th gen. Direct Injection. VVT. Active Fuel Management.<br /> '17-'22 Chevy Colorado, GMC Canyon. |- | P ||L49|| 6.5L || V8 || Diesel ||OHV||Detroit Diesel V8. For sub-8,500 lb. GVWR Chevy C/K, GMC Sierra trucks & full-size vans '94-'95 |- | P ||LM4|| 5.3L || V8 || Gas ||OHV||Gen III Chevrolet Small-Block V8. Vortec 5300. 290hp. Aluminum Block & Heads.<br /> '03-'04 Chevy SSR, '03-'04 GMT370 SUVs (Trailblazer EXT/Envoy XL/Isuzu Ascender 7-psgr.),<br /> '04 Buick Rainier, GMC Envoy XUV |- | P ||LE5|| 2.4L || I4 || Gas ||DOHC,<br /> 16 valve||MFI. GM Ecotec Gen II. VVT. '06-'08 Chevy HHR, '08-'09 Saturn Vue |- | P ||LH9|| 5.3L || V8 || Gas/E85 ||OHV||Flex Fuel. SFI. Gen IV Chevrolet Small-Block V8. Aluminum Block & Heads. VVT.<br /> '10-'12 Colorado/Canyon, '10 Hummer H3 Alpha, H3T Alpha |- | P ||LV1|| 4.3L || V6 || Gas ||OHV||Chevrolet 90° V6 - Gen V Chevrolet Small-Block V6 (EcoTec3). Direct injection, VVT.<br /> '18+ Chevy Express/GMC Savana. |- | P ||LBP|| 1.2L || I3 Turbo || Gas/E85 ||DOHC,<br /> 12 valve||Flex Fuel. GM E-Turbo Engine. Direct Injection. VVT.<br /> '25+ Buick Encore GX, Chevy Trailblazer, '25- Chevy Trax, Buick Envista. |- | R ||LL2|| 2.8L || V6 || Gas ||OHV||TBI. Chevrolet 60° V6. '86-'93 Chevy S-10, GMC S-15/Sonoma,<br /> '86-'89 Chevy S-10 Blazer/GMC S-15 Jimmy |- | R ||L31|| 5.7L || V8 || Gas ||OHV||Gen 1+ Chevrolet Small-Block V8. Vortec 5700. CPI.<br /> '96-'99 Chevy C/K, GMC Sierra, '96-'99 Chevy Tahoe/GMC Yukon, Chevy/GMC Suburban, '99-'00 GMC Yukon Denali, Cadillac Escalade, '00 Chevy Tahoe Limited/Z71, '96-'02 Chevy Express/GMC Savana. |- | R ||L8B|| 5.3L || V8 || Gas ||OHV||Mild Hybrid. Gen V Chevrolet Small-Block V8 (EcoTec3). Direct injection, VVT. Active Fuel Management. '16-'18 Chevy Silverado 1500, GMC Sierra 1500. |- | S ||LQ7|| 2.2L || I4 || Diesel ||OHV||Isuzu C220 engine imported from Japan. '81-'82 Chevy LUV, '84-'85 Chevy S-10/GMC S-15 |- | S ||L56|| 6.5L || V8 Turbo || Diesel ||OHV||Detroit Diesel V8. For sub-8,500 lb. GVWR Chevy C/K, GMC Sierra trucks '94-'99,<br /> Chevy Blazer '94, Chevy Tahoe 2-d '95-'99, GMC Yukon 2-d '94-'97 |- | S ||LL8|| 4.2L || I6 || Gas ||DOHC,<br /> 24 valve||Atlas I6. SFI. VVT. '02-'09 GMT360/370 SUVs (Chevy Trailblazer, GMC Envoy, Oldsmobile Bravada, Buick Rainier, Isuzu Ascender, Saab 9-7X) |- | S ||LGX|| 3.6L || V6 || Gas ||DOHC,<br /> 24 valve||GM High Feature V6, 4th gen. Direct Injection. VVT. Active Fuel Management.<br /> '17+ Cadillac XT5, '17-'23 GMC Acadia, '19+ Chevrolet Blazer, '20-'25 Cadillac XT6. |- | S ||LK0|| 2.5L || I4 Turbo || Gas ||DOHC,<br /> 16 valve||L3B engine family. Direct Injection. VVT. '24- Chevy Traverse, GMC Acadia, '25- Buick Enclave |- | T ||L25|| 4.8L || I6 || Gas ||OHV||1-bbl carb. Chevrolet Turbo-Thrift I6. '81-'86 Chevy/GMC C/K pickups, '88 R/V pickups |- | T ||LM7|| 5.3L || V8 || Gas ||OHV|| Gen III Chevrolet Small-Block V8. Iron Block & Aluminum Heads. Vortec 5300. 270/285/295hp.<br /> '99-'07 GMT800 pickups & SUVs including '02-'05 Escalade 2wd, '03-'07 Express/Savana |- | T ||LEA|| 2.4L || I4 || Gas/E85 ||DOHC,<br /> 16 valve||Flex Fuel. GM Ecotec engine, Gen II. Direct Injection. VVT. Chevy Orlando '13. |- | T ||LM2|| 3.0L || I6 Turbo|| Diesel ||DOHC,<br /> 24 valve|| Duramax Diesel I6. Aluminum Block & Heads. '20-'22 Silverado/Sierra 1500, '21-'24 Tahoe/Suburban, Yukon/Yukon XL, Escalade/Escalade ESV. |- | U ||LS5|| 1.6L || I4 || Gas ||SOHC,<br /> 8 valve||Suzuki G16A engine. TBI. '89-'95 Geo Tracker |- | U ||LQ4|| 6.0L || V8 || Gas ||OHV|| Gen III Chevrolet Small-Block V8. Iron Block & Aluminum Heads (Iron Heads in '99-'00).<br /> '99-'06 GMT800 pickups, '00-'06 Suburban/Yukon XL 2500, '01-'06 Yukon Denali/Yukon XL Denali,<br> '06 Suburban LTZ, '03-'07 Express/Savana, '03-'07 Hummer H2. |- | U ||LE9|| 2.4L || I4 || Gas/E85 ||DOHC,<br /> 16 valve||Flex-Fuel. GM Ecotec Gen II. 2011 Chevy HHR |- | U ||LH7|| 1.6L ||I4 Turbo|| Diesel ||DOHC,<br /> 16 valve||GM Medium Diesel engine ("Whisper Diesel"). Made by Opel in Szentgotthárd, Hungary.<br /> Aluminum Block & Heads. '18-'19 Chevy Equinox & GMC Terrain Diesel. |- | V ||LR4|| 4.8L || V8 || Gas ||OHV||Gen III Chevrolet Small-Block V8. Iron Block/Aluminum Heads. '99-'06 GMT800 pickups,<br /> '00-'06 Tahoe/Yukon, '03-'07 Express/Savana |- | V ||LE9|| 2.4L || I4 || Gas/E85 ||DOHC,<br /> 16 valve||Flex-Fuel. GM Ecotec Gen II. 2009-2010 Chevy HHR |- | V ||LYX|| 1.5L || I4 Turbo || Gas ||DOHC,<br /> 16 valve||GM Small Gasoline Engine. Direct Injection. VVT. '18-'22 Chevy Equinox, GMC Terrain |- | W ||LE8|| 7.4L || V8 || Gas ||OHV|| Mark IV Chevrolet Big-Block V8. 4bbl carb. '81-'86 Chevy/GMC C/K pickups, Suburban.<br /> '88-'89 Chevy/GMC R30/3500 Chassis Cab w/C7C (10,500 lb. GVWR),<br /> V30/3500 Chassis Cab w/C7E (11,000 lb. GVWR) |- | W ||L35|| 4.3L || V6 || Gas ||OHV|| CPI. Vortec 4300 H.O. Chevrolet 90° V6 (Chevy Small-Block V8 Derived).<br /> '92-'95 Sonoma, S-10 Blazer/Jimmy, Astro/Safari, '94-'95 S-10, '92-'94 Oldsmobile Bravada |- | W ||L35|| 4.3L || V6 || Gas ||OHV|| SFI. Vortec 4300 H.O. Chevrolet 90° V6 (Chevy Small-Block V8 Derived). '96-'02 S-10/Sonoma, Blazer/Jimmy, Express/Savana, C/K, Silverado, Sierra, '96-'01 Bravada, Astro/Safari, '00 Isuzu Hombre |- | W ||LGD|| 3.9L || V6 || Gas/E85 ||OHV||Flex Fuel. GM High Value 60° V6. SFI. VVT. '07-'09 GMT201 minivans |- | W ||LAF|| 2.4L || I4 || Gas ||DOHC,<br /> 16 valve||GM Ecotec engine, Gen II. Direct Injection. VVT. Chevy Equinox, GMC Terrain '10. |- | W ||LE8|| 2.2L || I4 || Gas/E85 ||DOHC,<br /> 16 valve||Flex-Fuel. GM Ecotec Gen II. VVT. 2011 Chevy HHR. |- | W ||LFY|| 3.6L || V6 || Gas ||DOHC,<br /> 24 valve||GM High Feature V6. Direct Injection.<br> '18-'23 Chevrolet Traverse, '24 Chevrolet Traverse Limited, '18-'24 Buick Enclave. |- | X ||LF6|| 4.3L || V6 || Gas ||OHV||SFI. Vortec 4300. Chevrolet 90° V6 (Chevy Small-Block V8 Derived).<br /> '96-'99 S-10/Sonoma, '97-'99 Isuzu Hombre. |- | X ||LU3|| 4.3L || V6 || Gas ||OHV||Vortec 4300. Chevrolet 90° V6 (Chevy Small-Block V8 Derived). '03-'04 S-10/Sonoma,<br /> '03-'05 Blazer/Jimmy, '02-'05 Astro/Safari, '03-'14 Express/Savana, '03-'13 Silverado/Sierra |- | X ||LNF|| 2.0L || I4 Turbo || Gas ||DOHC,<br /> 16 valve||GM Ecotec engine, Gen II. Direct Injection. VVT. '08-'09 Chevy HHR SS. |- | X ||LTG|| 2.0L || I4 Turbo || Gas ||DOHC,<br /> 16 valve||GM Ecotec engine, Gen III. Direct Injection. VVT.<br /> '16-'20 Buick Envision, '18-'20 Chevy Equinox, GMC Terrain, '18-'19 Chevy Traverse RS |- | Y ||LQ2|| 2.0L || I4 || Gas ||OHV||2-bbl carb. Chevrolet "122" engine.<br /> '83-'84 Chevy S-10/GMC S-15, '83-'84 Chevy S-10 Blazer/GMC S-15 Jimmy |- | Y ||L57|| 6.5L || V8 || Diesel ||OHV||Detroit Diesel V8. For over-8,500 lb. GVWR full-size vans '94-'95 & '96 G-Classic full-size vans |- | Y ||L76|| 6.0L || V8 || Gas ||OHV||SFI. Gen IV Chevy Small-Block V8. Aluminum Block & Heads. VVT. With Active Fuel Management.<br /> '07-'09 Silverado/Sierra, Suburban/Yukon XL, Chevy Avalanche |- | Y ||LF1|| 3.0L || V6 || Gas ||DOHC,<br /> 24 valve||GM High Feature V6. Direct Injection. VVT.<br /> '10-'11 Cadillac SRX, '11 Saab 9-4X, '10 Chevy Equinox, GMC Terrain |- | Y ||L5P|| 6.6L || V8 Turbo || Diesel ||OHV,<br /> 32 valve||Duramax 6600 V8 engine. '17+ Silverado HD/Sierra HD. Engine updated in '24. |- | Z ||LF9|| 5.7L || V8 || Diesel ||OHV||Oldsmobile Diesel V8. '81 Chevy C10/GMC C1500 full-size pickups. |- | Z ||LB4|| 4.3L || V6 || Gas ||OHV|| TBI. Chevrolet 90° V6 (Chevy Small-Block V8 Derived). '85-'87 Chevy El Camino/GMC Caballero,<br /> '86-'94 Astro/Safari, '87 R/V pickups, '88-'95 C/K & Sierra pickups, '87-'95 full-size vans & <br /> '96 G-Classic full-size vans, '88-'95 S-10, S-15/Sonoma, '88-'94 S-10 Blazer, S-15 Jimmy,<br /> '91-'92 Oldsmobile Bravada |- | Z ||LB4|| 4.3L || V6 Turbo || Gas ||OHV|| MPI. For GMC Syclone & Typhoon. Chevrolet 90° V6 (Chevy Small-Block V8 Derived) |- | Z ||L59|| 5.3L || V8 || Gas/E85 ||OHV||Flex Fuel. Gen III Chevrolet Small-Block V8. Iron Block & Aluminum Heads. Vortec 5300. 285/295hp.<br /> '02-'07 GMT800 pickups, '02-'06 Suburban/Yukon XL, Avalanche. |- | Z ||LAT|| 2.4L || I4 || Gas ||DOHC,<br /> 16 valve||Mild Hybrid. MFI. GM Ecotec Gen II. VVT. '07-'09 Saturn Vue Green Line |- | 1 ||LZ9|| 3.9L || V6 || Gas ||OHV||GM High Value 60° V6. SFI. VVT. '06-'09 GMT201 minivans |- | 1 ||LE5|| 2.4L || I4 || Gas ||DOHC,<br /> 16 valve||MFI. GM Ecotec Gen II. VVT. '10 Saturn Vue. |- | 1 ||LB7|| 6.6L || V8 Turbo || Diesel ||OHV,<br /> 32 valve||Duramax 6600 V8 engine. First version of the Duramax V8. '01-Mid '04 Silverado HD/Sierra HD |- | 1 ||LWN|| 2.8L || I4 Turbo || Diesel ||DOHC,<br /> 16 valve||Based on VM Motori A428 engine. Made by GM Powertrain Thailand 2016-2020. Made in Brazil for '22. '16-'22 Colorado/Canyon, '17-'22 Express/Savana. |- | 2 ||LLY|| 6.6L || V8 Turbo || Diesel ||OHV,<br /> 32 valve||Duramax 6600 V8 engine. Mid '04-Mid '06 Silverado HD/Sierra HD, '06-Mid '07 Express/Savana |- | 2 ||L9H|| 6.2L || V8 || Gas/E85 ||OHV||Flex-Fuel. Gen IV Chevrolet Small-Block V8. Aluminum Block & Heads. SFI. VVT.<br /> '09-'13 Chevy Silverado 1500, GMC Sierra 1500, Sierra Denali 1500,<br /> '09 Chevy Tahoe LTZ, GMC Yukon Denali/Yukon XL Denali, Cadillac Escalade/Escalade ESV,<br> Hummer H2 |- | 2 ||LIH|| 1.2L || I3 Turbo || Gas ||DOHC,<br /> 12 valve||GM E-Turbo Engine. Direct Injection. VVT.<br /> '20-'24 Buick Encore GX, '21-'24 Chevy Trailblazer, '24 Chevy Trax, Buick Envista,<br> '25 Chevy Trax, Buick Envista (Canada only). |- | 3 ||LC9|| 5.3L || V8 || Gas/E85 ||OHV||Flex Fuel. SFI. Gen IV Chevrolet Small-Block V8. Active Fuel Management. VVT added for '10. Aluminum Block & Heads.<br /> '07-'11 Silverado/Sierra 1500, Tahoe/Yukon, Suburban/Yukon XL 1500, '07-'09 & '11 Avalanche |- | 3 ||LFX|| 3.6L || V6 || Gas ||DOHC,<br /> 24 valve||GM High Feature V6. Direct Injection. VVT. E85 Flex Fuel.<br /> '12-'16 Cadillac SRX, '13-'17 Chevrolet Equinox, GMC Terrain, '15-'16 Colorado/Canyon |- | 4 ||LN2|| 2.2L || I4 || Gas ||OHV||MFI (94-95). SFI (96-00). Chevrolet "122" engine. '94-'00 S-10/Sonoma, '96-'00 Isuzu Hombre |- | 4 ||LE8|| 2.5L || V6 || Gas ||DOHC,<br /> 24 valve||Suzuki H25A engine. MFI. '01-'04 Chevrolet Tracker |- | 4 ||L66|| 3.5L || V6 || Gas ||SOHC,<br /> 24 valve||Honda J35S1 V6. VTEC. '04-'07 Saturn Vue |- | 4 ||LMF|| 5.3L || V8 || Gas/E85 ||OHV||Flex Fuel. SFI. Gen IV Chevrolet Small-Block V8. Iron Block & Aluminum Heads. VVT.<br /> '08-'14 Express/Savana 1500 |- | 4 ||LAU|| 2.8L || V6 Turbo || Gas ||DOHC,<br /> 24 valve||GM High Feature V6. SFI. '10 Cadillac SRX |- | 4 ||LSY|| 2.0L || I4 Turbo || Gas ||DOHC,<br /> 16 valve||GM Ecotec engine, Gen III. Direct Injection. Active Fuel Management. VVT. VVL.<br /> '19-'25 Cadillac XT4, '20+ Chevy Blazer, Cadillac XT5, '20-'23 GMC Acadia,<br /> '21+ Buick Envision, '21-'25 Cadillac XT6 |- | 5 ||L43|| 2.2L || I4 || Gas/E85 ||OHV||Flex-Fuel. SFI. Chevrolet "122" engine. '00-'02 S-10/Sonoma, '00 Isuzu Hombre |- | 5 ||LFA|| 6.0L || V8 || Gas ||OHV||2-Mode Hybrid. Gen IV Chevrolet Small-Block V8. Aluminum Block & Heads. VVT. Active Fuel Management. '08-'09 Tahoe Hybrid/Yukon Hybrid, '09 Escalade Hybrid, Silverado Hybrid/Sierra Hybrid |- | 5 ||LFW|| 3.0L || V6 || Gas/E85 ||DOHC,<br /> 24 valve||Flex-Fuel. GM High Feature V6. Direct Injection. VVT. '11-'12 Chevy Equinox, GMC Terrain,<br /> '12 Chevy Captiva Sport |- | 6 ||L01|| 1.6L || I4 || Gas ||SOHC,<br /> 16 valve||Suzuki G16B engine. MFI. '94-'97 Geo Tracker, '98-'00 Chevrolet Tracker |- | 6 ||L52|| 3.5L || I5 || Gas ||DOHC,<br /> 20 valve||Atlas I5. SFI. VVT. '04-'06 Colorado/Canyon, '06 Isuzu i-350, '06 Hummer H3 |- | 6 ||LAU|| 2.8L || V6 Turbo || Gas ||DOHC,<br /> 24 valve||GM High Feature V6. SFI. '11 Cadillac SRX, Saab 9-4X |- | 6 ||LMM|| 6.6L || V8 Turbo || Diesel ||OHV,<br /> 32 valve||Duramax 6600 V8 engine. '07-'10 Silverado HD/Sierra HD (GMT900), Mid '07-Mid '10 Express/Savana |- | 7 ||LY7|| 3.6L || V6 || Gas ||DOHC,<br /> 24 valve||GM High Feature V6. '04-'06 Buick Rendezvous, '04-'09 Cadillac SRX,<br /> '07-'08 GMC Acadia, Saturn Outlook, '08 Buick Enclave, '08-'10 Saturn Vue |- | 7 ||LC9|| 5.3L || V8 || Gas/E85 ||OHV||Flex Fuel. SFI. Gen IV Chevrolet Small-Block V8. Active Fuel Management. VVT.<br /> Aluminum Block & Heads.<br /> '12-'13 Silverado/Sierra 1500, Avalanche, '12-'14 Tahoe/Yukon, Suburban/Yukon XL 1500 |- | 7 ||L8T|| 6.6L || V8 || Gas ||OHV||Gen V Chevrolet Small-Block V8. Iron Block/Aluminum Heads. Direct injection, VVT.<br /> '20+ Silverado HD/Sierra HD, '21+ Express/Savana |- | 8 ||LK5|| 2.8L || I4 || Gas ||DOHC,<br /> 16 valve||Atlas I4. SFI. VVT. '04-'06 Colorado/Canyon, '06 Isuzu i-280. |- | 8 ||L92|| 6.2L || V8 || Gas ||OHV||Gen IV Chevrolet Small-Block V8. Aluminum Block & Heads. SFI. VVT.<br /> '07-'08 GMC Sierra Denali, Yukon Denali/Yukon XL Denali, Cadillac Escalade/Escalade ESV,<br> '08 Chevy Tahoe LTZ, Hummer H2. |- | 8 ||LML|| 6.6L || V8 Turbo || Diesel ||OHV,<br /> 32 valve||Duramax 6600 V8 engine.<br /> '11-'16 Silverado HD/Sierra HD pickups, '13-'16 Silverado HD/Sierra HD chassis cabs. |- | 8 ||LZ0|| 3.0L || I6 Turbo|| Diesel ||DOHC,<br /> 24 valve|| Duramax Diesel I6. Aluminum Block & Heads.<br> '23+ Silverado/Sierra 1500, '24+ Suburban HD, '25+ Tahoe/Suburban, Yukon/Yukon XL. |- | 9 ||LC3|| 3.8L || V6 || Gas ||OHV||2-bbl carb. Chevrolet 90° V6 (Chevy Small-Block V8 Derived). 229 cu. in. <br /> '83-'84 Chevy El Camino, GMC Caballero (49-state emissions). |- | 9 ||LLV|| 2.9L || I4 || Gas ||DOHC,<br /> 16 valve||Atlas I4. SFI. VVT. '07-'12 Colorado/Canyon, '07-'08 Isuzu i-290. |- | 9 ||LT4|| 6.2L ||V8 Supercharged|| Gas ||OHV||Gen V Chevy Small-Block V8. Aluminum Block & Heads. Direct injection. VVT. Active Fuel Management. '23+ Cadillac Escalade/Escalade ESV V-Series. |- | 0 ||LMG|| 5.3L || V8 || Gas/E85 ||OHV||Flex-Fuel. SFI. Gen IV Chevrolet Small-Block V8. Active Fuel Management. VVT added for '10.<br /> Iron Block & Aluminum Heads.<br /> '07-'13 Silverado/Sierra 1500, Avalanche, '07-'14 Tahoe/Yukon, Suburban/Yukon XL 1500. |} H.O.=High Output, VVT=Variable Valve Timing, VVL=Variable Valve Lift, GVWR=Gross Vehicle Weight Rating, CNG=Compressed Natural Gas, LPG=Liquefied Petroleum Gas (Propane Autogas) ====Motor codes for electric light trucks==== {| class="wikitable" |- ! VIN !! RPO !! Fuel !! Drive Wheels !! Application/Notes |- | H ||LN1|| Electricity || Front || '97-'98 Chevrolet S-10 Electric. |- |} ====Motor codes for Ultium-powered electric light trucks==== {| class="wikitable" |- ! VIN !! Motor <br /> RPO code !! # of Motors !! Battery Module <br /> RPO code !! # of Modules !! Fuel !! Drive Wheels !! Application/Notes |- | A ||XRL|| 3 || ETN || 24 || Electricity || All || '22- GMC Hummer EV pickup 3X |- | B ||XRL|| 3 || ETI || 20 || Electricity || All || '24- GMC Hummer EV pickup 3X |- | C ||XRL|| 3 || ETJ || 20 || Electricity || All || '24- GMC Hummer EV SUV 3X |- | D ||XRJ|| 2 || ETI || 20 || Electricity || All || '24 Chevrolet Silverado EV 3WT, '25- Silverado EV 5WT, 3LT,<br> '25 Silverado EV RST (2SP), '26- Silverado EV Trail Boss (2TR),<br> '24- GMC Hummer EV pickup 2X, '25- GMC Sierra EV Denali 5SC,<br> '26- Sierra EV Elevation 3SC, AT4 4SC |- | E ||XRJ|| 2 || ETJ || 20 || Electricity || All || '24- GMC Hummer EV SUV 2X |- | G ||XRJ|| 2 || ETJ || 20 || Electricity || All || '23 BrightDrop Zevo 600 |- | H ||XRJ|| 2 || EWX || 14 || Electricity || All ||'26- Chevrolet Silverado EV 4WT, 2LT,<br> '26- GMC Sierra EV Elevation 3SB, Denali 5SB |- | J ||X0C|| 2 || EC5 || 10 || Electricity || All || '24 Chevy Blazer EV 2LT, 1RS AWD,<br> '25- Chevy Blazer EV 4LT, 3RS AWD, '24- Honda Prologue AWD |- | K ||X0D|| 1 || EC6 || 12 || Electricity || Rear || '23- Cadillac Lyriq RWD, '24-'25 Chevrolet Blazer EV 2RS RWD,<br> '24 Acura ZDX A-Spec RWD |- | L ||X0E|| 2 || EC6 || 12 || Electricity || All || '23- Cadillac Lyriq AWD, '24- Chevrolet Blazer EV PPV AWD,<br> '25- Chevrolet Blazer EV SS AWD, '26- Cadillac Vistiq AWD,<br> '24 Acura ZDX A-Spec, Type S AWD |- | L ||XRJ|| 2 || ETN || 24 || Electricity || All || '24 Chevrolet Silverado EV 4WT, RST (3SP), '25- Silverado EV 8WT,<br> '25 Silverado EV RST (3SP), '26- Silverado EV 4LT, Trail Boss (3TR),<br> '24- GMC Sierra EV Denali 5SD, '26- Sierra EV AT4 4SD,<br> '25- Cadillac Escalade IQ, '26- Cadillac Escalade IQL |- | M ||X0B|| 1 || EC5 || 10 || Electricity || Front || '24- Honda Prologue FWD, '25- Chevy Blazer EV 2LT, 1RS FWD |- | P ||X0B|| 1 || EC3 || 10 || Electricity || Front || '24- Chevrolet Equinox EV FWD |- | R ||X0C|| 2 || EC3 || 10 || Electricity || All || '24- Chevrolet Equinox EV AWD, '25 Cadillac Optiq AWD |- | Y ||XRJ|| 2 || ETC || 12 || Electricity || All || '24 BrightDrop Zevo 400, Zevo 600,<br> '25-'26 Chevrolet BrightDrop 400/600 AWD |- | Z ||XRJ|| 2 || ETJ || 20 || Electricity || All || '24 BrightDrop Zevo 400, Zevo 600,<br> '25-'26 Chevrolet BrightDrop 400/600 AWD |- | 4 ||X0E|| 2 || EC3 || 10 || Electricity || All || '26- Cadillac Optiq AWD |- | 5 ||X0D|| 1 || EC3 || 10 || Electricity || Rear|| '26- Cadillac Optiq RWD |- | 6 ||XRM|| 1 || ETC || 12 || Electricity || Front || '25-'26 Chevrolet BrightDrop 400/600 FWD |- | 7 ||XRJ|| 2 || EWU || 14 || Electricity || All || '26 Chevrolet BrightDrop 600 AWD |} SB=Standard Range, SC=Extended Range, SD=Max Range ====Engine codes for medium duty trucks 2016-==== GM encodes the engine type in character 8 of the VIN. The following table outlines the various engines encoded there: {| class="wikitable" |- ! VIN !! RPO !! Size !! Type !! Fuel !! Valvetrain !! Engine Family/Notes/Applications |- | B ||L96|| 6.0L || V8 || Gas ||OHV||SFI. Gen IV Chevrolet Small-Block V8. Iron Block & Aluminum Heads. VVT.<br /> '16-'20 Chevy LCF 3500/4500. |- | C ||LC8|| 6.0L || V8 || Gas/CNG or<br>Gas/LPG ||OHV||Bi-Fuel. SFI. Gen IV Chevrolet Small-Block V8. Iron Block & Aluminum Heads. VVT.<br /> '16-'20 Chevy LCF 3500/4500. |- | D ||L8T|| 6.6L || V8 || Gas ||OHV||Gen V Chevrolet Small-Block V8. Iron Block/Aluminum Heads. Direct injection, VVT.<br /> '21-'23 Chevy LCF 3500/4500, '24- Chevy LCF 3500HG/4500HG/5500HG/5500XG. |- | F ||LCB|| 6.7L || I6 Turbo || Diesel ||OHV,<br /> 32 valve||Cummins B Series ISB engine. '22- Chevy LCF 6500XD, '23- Chevy LCF 7500XD. |- | 6 ||I1B|| 5.2L || I4 Turbo || Diesel ||SOHC,<br /> 16 valve||Isuzu 4HK1-TC engine. '17- Chevy LCF 4500HD/XD, 5500XD, '17-'24 Chevy LCF 5500HD,<br /> '18-'21 Chevy LCF 6500XD. |- | 7 ||IZ3|| 3.0L || I4 Turbo || Diesel ||DOHC,<br /> 16 valve||Isuzu 4JJ1-TC engine. '16-'18 Chevy LCF 3500HD. |- |} ====Engine codes for AM General-built Hummer H1 2000-2006==== AM General encodes the engine type in character 4 of the VIN. {| class="wikitable" |- ! VIN !! RPO !! Size !! Type !! Fuel !! Valvetrain !! Engine Family/Notes |- | F || || 6.5L || V8 Turbo || Diesel ||OHV||Detroit Diesel V8 built by GEP (General Engine Products), a subsidiary of AM General.<br> '01-'04 Hummer H1 & '06 H1 Fleet models. |- | P ||LLY|| 6.6L || V8 Turbo || Diesel ||OHV,<br /> 32 valve||Duramax 6600 V8 engine. '06 Hummer H1 Alpha. |- | Z ||L65|| 6.5L || V8 Turbo || Diesel ||OHV||Detroit Diesel V8 built by GM. '00-'01 Hummer H1. |- |} ====Engine codes for Nissan-built vans==== Nissan encodes the engine type in character 4 of the VIN. {| class="wikitable" |- ! VIN !! RPO !! Size !! Type !! Fuel !! Valvetrain !! Engine Family/Notes |- | 3 ||L0A|| 2.0L || I4 || Gas ||DOHC,<br /> 16 valve||Nissan MR20DE engine. SFI. VVT. For the '15-'18 Chevrolet City Express. |- |} ====Engine codes for Navistar-built medium-duty trucks==== Navistar encodes the engine type in character 6 & 7 of the VIN. {| class="wikitable" |- ! VIN !! RPO !! Size !! Type !! Fuel !! Valvetrain !! Engine Family/Notes |- | PV ||L5D|| 6.6L || V8 Turbo || Diesel ||OHV,<br /> 32 valve||Duramax 6600 V8 engine. For the Chevy Silverado Medium Duty '19+. |- |} ==GM factories supplying North America== ===North American GM factories=== [[w:List_of_General_Motors_factories | List of GM Factories]] {| class="wikitable" !VIN code !Location !Notes |- |A |Lakewood Assembly (Lakewood Heights, Atlanta, Georgia) |through 1990 model year |- |A |Artisan Center (Warren, Michigan) |From 2026 model year. Cadillac CT5-V Blackwing "Curated by Cadillac" program only. |- |B |Baltimore Assembly (Baltimore, Maryland) |through 2005 model year |- |B |Reatta Craft Centre/Lansing Craft Centre (Lansing Township, Michigan) |1988-2006 model year (except GM EV1) |- |B |GM Defense-Manufacturing Customer Innovation Center (MCIC) (Concord, North Carolina) |From 2024 model year. Chevrolet Suburban HD (a.k.a. HD SUV) (for US govt. only). |- |C |South Gate Assembly (South Gate, California) |through 1982 model year |- |C |Lansing Car Assembly (Lansing, Michigan) |South assembly line 1985-2004 model year |- |D |Doraville Assembly (Doraville, Georgia) |through 2009 model year |- |E |Linden Assembly (Linden, New Jersey) |through 1991 model year |- |E |Pontiac East Assembly (Pontiac, Michigan) |1988-2009 model year |- |E |AM General Military plant (Mishawaka, Indiana) |1992-2006 Hummer H1 |- |F |Flint Truck Assembly (Flint, Michigan) |since 1953 |- |F |Fairfax II Assembly (Kansas City, Kansas) |since 1988 model year |- |G |Framingham Assembly (Framingham, Massachusetts) |through 1989 model year |- |G |Silao Assembly (Silao, Guanajuato, Mexico) |since 1995 model year |- |H |Buick City Assembly (Flint, Michigan) |through 1999 model year |- |H |AM General Commercial plant (Mishawaka, Indiana) |2003-2009 Hummer H2 |- |H |Navistar Springfield plant (Main Line) (Springfield, Ohio) |2019- Chevrolet Silverado Medium Duty (4500HD/5500HD/6500HD) |- |J |Janesville Assembly (Janesville, Wisconsin) |through 2009 model year |- |J |Lansing Delta Township Assembly (Lansing, Michigan) |since 2007 model year |- |K |Leeds Assembly (Leeds, Kansas City, Missouri) |through 1988 model year |- |K |Linden Assembly (Linden, New Jersey) |from 1994-2005 model year |- |K |Nissan plant (Cuernavaca, Morelos, Mexico) |2015-2018 Chevrolet City Express |- |L |Van Nuys Assembly (Van Nuys, California) |through 1992 model year |- |L |San Luis Potosí Assembly (San Luis Potosí, Mexico) |since 2009 model year |- |M |Lansing Car Assembly (Lansing, Michigan) |through 1984 model year, North assembly line 1985-2005 model year |- |M |Toluca Assembly (Toluca, Mexico state, Mexico) |through 2008 model year |- |N |Norwood Assembly (Norwood, Ohio) |through 1987 model year |- |N |Navistar Springfield plant (Secondary Line) (Springfield, Ohio) |2017- Chevrolet Express cutaway, GMC Savana cutaway |- |P |Pontiac Assembly (Pontiac, Michigan) |through 1988 model year |- |R |Arlington Assembly (Arlington, Texas) |since 1965 [all GM brands]. (R plant code used only by Chevrolet in 1963-64) |- |S |St. Louis Assembly (St. Louis, Missouri) |through 1987 model year |- |S |Spring Hill Manufacturing (Spring Hill, Tennessee) |2002-2007 Saturn Vue & 2009-2010 Chevrolet Traverse only |- |S |Spartan Motors/Shyft Group plant (Charlotte, Michigan) |2016- Chevrolet Low Cab Forward 3500/3500HG/4500/4500HG/5500HG/5500XG/6500XD/7500XD |- |S |Ramos Arizpe Assembly (Ramos Arizpe, Coahuila, Mexico) |since 1982 |- |T |Tarrytown Assembly (North Tarrytown, New York) |through 1996 model year |- |U |Detroit/Hamtramck Assembly (Factory Zero) <br /> (Detroit & Hamtramck, Michigan) |since 1986 model year |- |U |Artisan Center (Warren, Michigan) |From 2025 model year. Cadillac Celestiq only. |- |V |Pontiac Central Assembly (Pontiac, Michigan) |through 1991 model year |- |V |Pontiac East Assembly (Pontiac, Michigan) |through 1985 model year |- |W |Willow Run Assembly (Ypsilanti Township, Michigan) |through 1993 model year |- |X |Fairfax Assembly (Fairfax I) (Kansas City, Kansas) |through 1987 model year |- |Y |Wilmington Assembly (Wilmington, Delaware) |through 2010 model year |- |Z |Fremont Assembly (Fremont, California) |through 1982 model year |- |Z |NUMMI (Fremont, California) |1985-2010 model year |- |Z |Spring Hill Manufacturing (Spring Hill, Tennessee) |since 1991 model year (except Vue & Traverse) |- |Z |Fort Wayne Assembly (Roanoke, Indiana) |since 1988 model year |- |0 |Pontiac West Assembly (Pontiac, Michigan) |through 1994 model year |- |0 |Lansing Craft Centre (Lansing Township, Michigan) |GM EV1 only |- |0 |Lansing Grand River Assembly (Lansing, Michigan) |since 2003 model year |- |0 |Artisan Center (Warren, Michigan) |2024 Cadillac CT5-V Blackwing 20th Anniversary Edition where the final eight digits of the VIN are R0912004 through R0912024 or R0962004 through R0962024 |- |1 |Wentzville Assembly (Wentzville, Missouri) |since 1985 model year |- |1 |Oshawa Car Assembly (Oshawa, Ontario, Canada) |from 1967-1983 model year |- |1 |Oshawa Car Assembly (Line 2 a.k.a. Consolidated Line) (Oshawa, Ontario, Canada) |from 1984-2019 model year; switched to pickup trucks for 2019 model year |- |1 |Oshawa Car Assembly (Oshawa, Ontario, Canada) |Silverado pickup trucks since 2022 model year |- |1 |Oshawa Truck Assembly (Oshawa, Ontario, Canada) |through 2009 model year |- |2 |Moraine Assembly (Moraine, Ohio) |through 2009 model year |- |2 |Sainte-Thérèse Assembly (Boisbriand, Quebec, Canada) |through 2002 model year |- |3 |Detroit Truck & Bus plant (Piquette Ave., Detroit, Michigan) |through 1999 model year |- |3 |Saint-Eustache Bus Plant (Saint-Eustache, Quebec, Canada) |through 1987 model year |- |4 |Orion Assembly (Orion Township, Michigan) |since 1985 model year |- |4 |Scarborough Van Assembly (Scarborough, Ontario, Canada) |through 1993 model year |- |5 |Bowling Green Assembly (Bowling Green, Kentucky) |since 1981 model year |- |6 |Oklahoma City Assembly (Oklahoma City, Oklahoma) |through 2006 model year |- |6 |CAMI plant (Ingersoll, Ontario, Canada) |1990-2022 model year |- |7 |Lordstown Assembly (Warren, Ohio) |from 1979-2019 model year |- |8 |Shreveport Assembly (Shreveport, Louisiana) |through 2012 model year |- |9 |Detroit Assembly (Clark Street, Detroit, Michigan)<br> (Cadillac plant) |from 1979-1988 model year |- |9 |Oshawa Car Assembly (Line 1 a.k.a. Flex Line)<br> (Oshawa, Ontario, Canada) |from 1984-2020 model year |- |9 |KUKA plant (Livonia, Michigan) |2022 model year only (BrightDrop Zevo 600) |- |9 |CAMI plant (Ingersoll, Ontario, Canada) |since 2023 model year (BrightDrop Zevo/Chevrolet BrightDrop) |} ===Non-North American GM factories supplying North America=== {| class="wikitable" !VIN code !Location !Models Sourced |- |A |SAIC-GM plant: Jinqiao, Pudong district, Shanghai, China |2017-2018 Cadillac CT6 Plug-in Hybrid |- |B |Daewoo/GM Daewoo/GM Korea plant: Bupyeong, South Korea |1988-1993 Pontiac LeMans, 2004-2011 Chevrolet Aveo, 2005-2010 Pontiac Wave/G3, 2004-2006 Chevrolet <br /> Epica (Canada), 2013-2022 Chevrolet Trax, Buick Encore, 2021- Chevrolet Trailblazer, 2020- Buick Encore GX, 2024- Buick Envista |- |C |GM Daewoo/GM Korea plant: Changwon, South Korea |2003-2010 Pontiac Matiz/Matiz G2 (Mexico), 2013-2022 Chevrolet Spark, 2024- Chevrolet Trax |- |D |SAIC-GM Dongyue Motors plant: Yantai, Shandong province, China |2016- Buick Envision, 2019-2023 Chevrolet Aveo (Mexico), 2023- Chevrolet Onix (Mexico) |- |G |Opel plant: Gliwice, Poland |2016-2019 Buick Cascada |- |K |Suzuki plant: Kosai, Shizuoka prefecture, Japan |1985-1988 Chevrolet Sprint, 1989-1990 Geo Metro hatchback, 1990-1993 Geo Metro convertible, 1985-1990 Pontiac Firefly (Canada), 1991 & 1994 Pontiac Firefly convertible & sedan (Canada) |- |K |GM Daewoo/GM Korea plant: Kunsan, South Korea |2004-2007 Chevrolet Optra (Canada), 2012-2014 Chevrolet Orlando (Canada) |- |L |Holden plant: Elizabeth, South Australia, Australia |2004-2006 Pontiac GTO, 2008-2009 Pontiac G8, 2011-2017 Chevrolet Caprice PPV, 2014-2017 Chevrolet SS |- |R |Opel plant: Rüsselsheim, Germany |1997-2001 Cadillac Catera |- |T |GM India plant: Talegaon, Maharashtra, India |2017-2021 Chevrolet Spark Classic/Beat (Mexico) |- |V |SAIC-GM Wuhan plant: Wuhan, Hubei province, China |2018-2021 Chevrolet Cavalier (Mexico), 2022- Chevrolet Cavalier Turbo (Mexico) |- |W |Suzuki plant: Iwata, Shizuoka prefecture, Japan |1989-1990 Geo Tracker |- |1 |Opel plant: Rüsselsheim, Germany |2011, 2018-2020 Buick Regal |- |3 |Isuzu plant: Kawasaki, Kanagawa prefecture, Japan |1987-1998 Chevrolet/GMC W5, 1989-1996 Chevrolet/GMC W6, 1984-1996 Chevrolet/GMC W7 |- |5 |Opel plant: Antwerp, Belgium |2008-2009 Saturn Astra |- |7 |Isuzu plant: Fujisawa, Kanagawa prefecture, Japan |1988 Chevrolet Spectrum, 1988 Pontiac Sunburst (Canada), 1989 Geo Spectrum, 1990-1993 Geo Storm,<br /> 1999-2008 Chevrolet/GMC W3500, 1988-2009 Chevrolet/GMC W4, 1999-2009 Chevrolet/GMC W5,<br /> 2000-2004 Chevrolet/GMC WT5500,<br /> 2016- Chevrolet Low Cab Forward 3500HD/4500HD/4500XD/5500HD/5500XD |- |8 |Isuzu plant: Fujisawa, Kanagawa prefecture, Japan |1981-1982 Chevrolet LUV, 1985-1987 Chevrolet Spectrum, 1985-1987 Pontiac Sunburst (Canada),<br /> 1986-1987 Chevrolet/GMC W4 |} ==GM WMIs== {| class=wikitable !WMI !Marque !Country |- |1G1||rowspan=57|Chevrolet||United States |- |1G8||United States (MPV 1981-1986) |- |1GA||United States (bus [van with more than 3 rows of seats]) |- |1GB||United States (incomplete vehicle) |- |1GC||United States (truck) |- |1GN||United States (MPV 1987-) |- |1HA||United States (Express incomplete vehicle made by Navistar) |- |1HT||United States ([[w:Chevrolet Silverado#Medium duty version_(4500HD,_5500HD,_6500HD,_and_International_CV)|Silverado Medium Duty]] incomplete vehicle made by Navistar) |- |1Y1||United States (made by NUMMI) |- |2C1||Canada (car made by CAMI) |- |2CN||Canada (SUV made by CAMI - 1998-2011) |- |2G1||Canada |- |2G5||Canada (truck - Chevrolet BrightDrop '25) |- |2G8||Canada (MPV 1981-1986) |- |2GA||Canada (bus [van with more than 3 rows of seats]) |- |2GB||Canada (incomplete vehicle) |- |2GC||Canada (truck - includes Chevrolet BrightDrop '26) |- |2GN||Canada (MPV 1987-) |- |3G1||Mexico |- |3GC||Mexico (truck) |- |3GN||Mexico (MPV) |- |3N6||Mexico (Truck - City Express made by Nissan) |- |4G1||United States (made by Genasys L.C.) |- |4KB||United States (W-Series incomplete vehicle made by GM - through 2009) |- |4W1||United States (MPV - Chevrolet Suburban HD made for US govt. in Concord, NC) |- |54D||United States (incomplete vehicle made by Spartan Motors/The Shyft Group) |- |6G1||Australia (2011-2013 Caprice PPV) |- |6G3||Australia (2014-2017 Caprice PPV & SS performance sedan) |- |ADM||South Africa |- |J81||Japan (car made by Isuzu) |- |J8B||Japan (incomplete vehicle made by Isuzu - through 2009) |- |J8Z||Japan (LUV pickup made by Isuzu) |- |JAL||Japan (incomplete vehicle made by Isuzu - 2016+) |- |JG1||Japan (car made by Suzuki) |- |KL1||South Korea (car) |- |KL7||South Korea (MPV - 2012+) |- |KL8||South Korea (Spark) |- |LSF||China (S-10 Max made by SAIC-Maxus - Mexico only) |- |LSG||China (SAIC-GM) |- |LSH||China (Express Max made by SAIC-Maxus - Mexico only) |- |LZW||China (SAIC-GM-Wuling) |- |MA6||India |- |MJB||Indonesia (GM Indonesia) |- |MK3||Indonesia (SGMW Motor Indonesia) |- |MMM||Thailand |- |XUF||Russia (GM Russia - St. Petersburg plant) |- |XUU||Russia (Chevrolet Korea models made by Avtotor in Kaliningrad) |- |XWB||Uzbekistan (GM Uzbekistan, UzAuto Motors) |- |XWF||Russia (Chevrolet Tahoe & Trailblazer [GMT360] made by Avtotor in Kaliningrad) |- |X9L||Russia (GM-AvtoVAZ) |- |8AG||Argentina |- |8GG||Chile |- |8LD||Ecuador |- |8Z1||Venezuela |- |9BG||Brazil |- |93C||Brazil |- |9GC||Colombia |- |J81||rowspan=6|Geo||Japan (car made by Isuzu) |- |JG1||Japan (car made by Suzuki) |- |JGC||Japan (SUV made by Suzuki) |- |1Y1||United States (car made by NUMMI) |- |2C1||Canada (car made by CAMI) |- |2CN||Canada (SUV made by CAMI - 1990-1997) |- |KLA||rowspan=3|GM Daewoo/<br />GM Korea||South Korea (Bupyeong & Kunsan plants) |- |KLY||South Korea (Changwon plant) |- |5GD||United States (G2X) |- |1G2||rowspan=12|Pontiac||United States |- |1G5||United States (incomplete vehicle - for '89-'90 Turbo Grand Prix by ASC/McLaren) |- |1GM||United States (MPV) |- |2CK||Canada (2006-2009 Torrent made by CAMI) |- |2G2||Canada |- |2G7||Canada (US market 1983 Pontiac Parisienne) |- |3G2||Mexico |- |3G7||Mexico (MPV: 2001-2005 Aztek) |- |4G2||United States (made by Genasys L.C.) |- |5Y2||United States (made by NUMMI) |- |6G2||Australia |- |KL2||South Korea (made by Daewoo/GM Daewoo) |- |1G7||rowspan=6|Pontiac<br />(Canada only)||United States |- |2C7||Canada (car made by CAMI) |- |2CG||Canada (SUV made by CAMI) |- |2G7||Canada |- |J87||Japan (car made by Isuzu) |- |JG7||Japan (car made by Suzuki) |- |KL7||Passport<br />(Canada only)||South Korea (car made by Daewoo) |- |J87||rowspan=3|Asüna<br />(Canada only)||Japan (car made by Isuzu) |- |KL7||South Korea (car made by Daewoo) |- |2CG||Canada (SUV made by CAMI) |- |1G3||rowspan=3|Oldsmobile||United States |- |1GH||United States (MPV/SUV) |- |2G3||Canada |- |1G4||rowspan=9|Buick||United States |- |2G4||Canada |- |3G4||Mexico |- |3G5||Mexico (MPV) |- |4GL||United States (incomplete vehicle) |- |5GA||United States (MPV) |- |KL4||South Korea (MPV) |- |LRB||China (SAIC-GM) |- |W04||Germany & Poland |- |KLA||Alpheon||South Korea (2011-2015) |- |1G6||rowspan=10|Cadillac||United States |- |1GE||United States (incomplete vehicle) |- |1GY||United States (SUV) |- |2G6||Canada |- |2GE||Canada (incomplete vehicle) |- |3GY||Mexico (SUV) |- |LRE||China (SAIC-GM) |- |W06||Germany |- |XWF||Russia (made by Avtotor in Kaliningrad) |- |YSC||Sweden |- |1G8||rowspan=4|Saturn||United States |- |3GS||Mexico (SUV) |- |5GZ||United States (MPV/SUV) |- |W08||Belgium |- |1G0||rowspan=22|GMC||United States (bus 1981-1986) |- |1G5||United States (MPV 1981-1986) |- |1GD||United States (incomplete vehicle) |- |1GJ||United States (bus 1987-) |- |1GK||United States (MPV 1987-) |- |1GT||United States (truck) |- |2CK||Canada (1990-1991 Tracker made by CAMI - Canada only) |- |2CT||Canada (2010-2011 Terrain made by CAMI) |- |2G0||Canada (bus [van with more than 3 rows of seats] 1981-1986) |- |2G5||Canada (MPV 1981-1986) |- |2GD||Canada (incomplete vehicle) |- |2GH||Canada (transit bus) |- |2GJ||Canada (bus [van with more than 3 rows of seats] 1987-) |- |2GK||Canada (MPV 1987-) |- |2GT||Canada (truck) |- |3GK||Mexico (SUV) |- |3GT||Mexico (truck) |- |4KD||United States (W-Series incomplete vehicle made by GM - through 2009) |- |7GZ||United States (incomplete vehicle made by Navistar) |- |J8D||Japan (incomplete vehicle made by Isuzu - through 2009) |- |JGT||Japan (SUV made by Suzuki - Canada only) |- |KL6||South Korea (Middle East market Terrain '08-'10) |- |4GD||WhiteGMC||United States (1988-1989 Brigadier made by GM) |- |137||rowspan=6|Hummer||United States (H1 made by AM General) |- |5GN||United States (H3T) |- |5GR||United States (H2 made by AM General) |- |5GT||United States (H3) |- |ADM||South Africa (H3) |- |XWF||Russia (H2 & H3 made by Avtotor in Kaliningrad) |- |4G5||General Motors||United States (EV1) |- |2G5||rowspan=2|BrightDrop||Canada (Truck 2023-2024) |- |5G5||United States (Truck made by Kuka AG - 2022 only) |- |5G2||rowspan=2|Cruise||United States (car) (Cruise AV) |- |5G3||United States (MPV) (Cruise Origin AV) |- |YS3||rowspan=4|Saab||Sweden |- |JF4||Japan (9-2X made by Subaru) |- |3G0||Mexico (9-4X) |- |5S3||United States (9-7X) |- |W0L||rowspan=19|Opel/Vauxhall||Germany & the rest of Europe (2017 and earlier) |- |W0V||Germany & the rest of Europe (2018 and later) & Opel Ampera-e Mid-2017 - 2019 |- |W0L||when plant code is H: Thailand (Zafira A) |- |W0L||when plant code is 0: South Korea (Antara) or B: South Korea (Antara, Mokka A, Mokka X [A]) |- |W0L||when plant code is C: South Korea (Opel Karl/Vauxhall Viva) |- |W0V||when plant code is B: South Korea (Mokka X [A]) or C: South Korea (Opel Karl/Vauxhall Viva) |- |SCC||UK (Opel Lotus Omega made by Lotus) |- |SED||UK (made by IBC Vehicles) |- |TW8||Portugal |- |VF1||France (Arena made by Renault) |- |VN1||France (Movano A made by Renault at SOVAB plant in Batilly, France) |- |VSX||Spain |- |XUF||Russia (Opel made by GM Russia - St. Petersburg plant) |- |XWF||Russia (Opel made by Avtotor in Kaliningrad) |- |1G0||United States (Opel GT, Opel/Vauxhall Ampera, Opel Ampera-e Early - Mid-2017) |- |4GD||United States (Sintra) |- |ADM||South Africa |- |JAA||Japan (Opel Campo made by Isuzu) |- |JAC||Japan (Monterey made by Isuzu) |- |SKA||rowspan=4|Vauxhall Motors||UK |- |SCC||UK (Vauxhall Lotus Carlton made by Lotus) |- |6G1||Australia (Vauxhall Monaro & VXR8 made by Holden) |- |JAA||Japan (Vauxhall Brava made by Isuzu) |- |SKF||rowspan=2|Bedford Vehicles||UK |- |JAA||Japan (Bedford Brava made by Isuzu) |- |6G1||rowspan=18|Holden||Australia (2003-2017) |- |6H8||Australia (1989-2002) |- |JAA||Japan (Rodeo pickup [TF] made by Isuzu) |- |JAC||Japan (Jackaroo/Monterey made by Isuzu) |- |JSA||Japan (YG Cruze made by Suzuki) |- |KL3||South Korea |- |MMM||Thailand ('09-'11 Colorado pickup [RC] made by GM Thailand) |- |MMU||Thailand ('13-'20 Colorado pickup [RG], '13-'16 Colorado 7, '17-'20 Trailblazer made by GM Thailand) |- |MPA||Thailand ('04-'08 Rodeo pickup [RA] made by Isuzu Thailand) |- |SED||UK (1st gen. Frontera made by IBC Vehicles) |- |W0L||Germany & the rest of Europe (2017 and earlier) |- |W0L||when plant code is H: Thailand (Zafira A) |- |W0V||Germany & the rest of Europe (2018-2020) |- |1GH||United States (Acadia) |- |3G0||Mexico (Equinox) |- |3GM||Mexico (Suburban) |- |4S2||United States (2nd gen. Frontera made by [[w:Subaru Isuzu Automotive|SIA]]) |- |5G8||United States (Volt) |- |1GG||rowspan=4|Isuzu||United States (Truck - Hombre & i-Series made by GM) |- |4GT||United States (H-Series & T-Series incomplete vehicle made by GM - through 2009) |- |4KL||United States (N-Series incomplete vehicle made by GM - through 2009) |- |4NU||United States (MPV/SUV - Ascender made by GM) |- |W0L||Subaru||Thailand [plant code H] (Traviq made by GM Thailand for export to Japan) |- |4G3||Toyota||United States (Cavalier made by GM for export to Japan) |- |3GP||Honda||Mexico (MPV/SUV: 2024- Prologue made by GM) |- |4W5||Acura||United States (MPV/SUV: 2024 ZDX EV made by GM) |} {{BookCat}} lbh1kw7t69ntx184k2b3b8n3siqpqi3 4654485 4654436 2026-07-14T20:12:55Z JustTheFacts33 3434282 /* Series 1981-1999 Light Duty Truck & Multi-Purpose Passenger Vehicle */ 4654485 wikitext text/x-wiki {{Vehicle Identification Numbers (VIN codes)/Warning}}{{clear}} It is the tenth digit that gives you the model year for GM. I've been working at a Chevy dealer for years running codes/vins. For example (my examples only apply to 2001-2015 gm vehicles) Remember 10th digit from the beginning, (left to right). 2001... 1, 2002...2, 2003...3, etc., 2009...9. After 2009, the tenth digit was given a letter 2010... A, 2011...B, 2012...C, 2013...D, 2014...E, 2015...F, Etc... We have another 20 years worth of letters. Thanks for reading. You can always check your model year by looking in your drivers side door jamb and it will give you model year. If it was assembled in July or later, the model year is probably a year later than the calendar year of the manufacturing date listed. ==American GM== ===American VIN format 1981-1984 Passenger Car=== GM's VIN format is as follows: <table border=1 style="margin:auto;"> <tr> <th>Position</th> <th>Sample</th><th></th><th></th><th>Description</th> </tr><tr> <td>1</td> <td>1</td><td></td><td></td><td rowspan=3>[[#GM WMIs|World Manufacturer Identifier]]</td> </tr><tr> <td>2</td> <td>G</td><td></td><td></td></tr><tr> <td>3</td> <td>6</td><td></td><td></td></tr><tr> <td>4</td> <td>A</td><td></td><td></td><td>[[#American restraint types 1981-1984|Restraint type]]</td> </tr><tr> <td>5</td> <td>M</td><td></td><td></td><td>[[#Car Line & Series Code 1981-1984|Car Line & Series Code]]</td> </tr><tr> <td>6</td> <td>4</td><td></td><td></td><td rowspan=2>[[#Body style codes 1981-1986|Body style]]</td> </tr><tr> <td>7</td> <td>7</td><td></td><td></td><td> </td> </tr><tr> <td>8</td> <td>8</td><td></td><td></td><td>[[#American engine codes 1981-|Engine type]]</td> </tr><tr> <td>9</td> <td>0</td><td></td><td></td><td>[[Vehicle Identification Numbers (VIN codes)/Check digit |Check digit]]</td> </tr><tr> <td>10</td> <td>E</td><td></td><td></td><td>[[Vehicle Identification Numbers (VIN codes)/Model year|Model year]]</td> </tr><tr> <td>11</td> <td>9</td><td></td><td></td><td>[[#GM factories supplying North America|Factory ID]]</td> </tr><tr> <td>12</td> <td>1</td><td></td><td></td><td rowspan=6>Sequential number </tr><tr> <td>13</td> <td>2</td><td></td><td></td></tr><tr> <td>14</td> <td>3</td><td></td><td></td></tr><tr> <td>15</td> <td>7</td><td></td><td></td></tr><tr> <td>16</td> <td>6</td><td></td><td></td></tr><tr> <td>17</td> <td>2</td><td></td><td></td> </table> ====American restraint types 1981-1984==== The restraint type is specified as character four of the American GM VIN for passenger cars. {| border=1 style="margin:auto;" !VIN Code !Description |- |A||Manual Seatbelts only - No Passive Restraint |} ====Car Line & Series Code 1981-1984==== The Car Line & Series Code is specified as character five of the American GM VIN for passenger cars. {| border=1 style="margin:auto;" !List of GM platforms !Car Line & <br> Series Code !:Category:General Motors vehicles|Model |- |rowspan=19|GM A platform - rear-wheel drive |T||Chevrolet Malibu 1981 |- |W||Chevrolet Malibu Classic 1981 |- |Z||Chevrolet Monte Carlo 1981 |- |D||Pontiac LeMans 1981 |- |F||Pontiac Grand LeMans 1981 |- |J||Pontiac Grand Prix 1981 |- |K||Pontiac Grand Prix LJ 1981 |- |P||Pontiac Grand Prix Brougham 1981 |- |G||Oldsmobile Cutlass sedan, Cutlass Cruiser wagon 1981 |- |H||Oldsmobile Cutlass Cruiser ''Brougham'' wagon 1981 |- |K||Oldsmobile Cutlass Calais coupe 1981 |- |M||Oldsmobile Cutlass Supreme ''Brougham'' 1981 |- |R||Oldsmobile Cutlass Supreme coupe, Cutlass LS sedan 1981 |- |E||Buick Century wagon 1981 |- |H||Buick Century sedan, Estate wagon 1981 |- |J||Buick Regal 1981 |- |K||Buick Regal ''Sport'' 1981 |- |L||Buick Century ''Limited'' 1981 |- |M||Buick Regal ''Limited'' 1981 |- |rowspan=10|GM A platform - front-wheel drive |W||Chevrolet Celebrity 1982-1984 |- |F||Pontiac 6000 1982-1984 |- |G||Pontiac 6000 ''LE'' 1982-1984 |- |H||Pontiac 6000 ''STE'' 1983-1984 |- |G||Oldsmobile Cutlass Ciera 1982 |- |J||Oldsmobile Cutlass Ciera ''LS'' 1982-1984, Cutlass Cruiser ''LS'' 1984 |- |M||Oldsmobile Cutlass Ciera ''Brougham'' 1982-1984 |- |G||Buick Century ''T-Type'' 1983-1984 |- |H||Buick Century ''Custom'' 1982-1984 |- |L||Buick Century ''Limited'' 1982-1984 |- |rowspan=19|GM B platform |D||Chevrolet Bel Air 1981 (Canada only) |- |L||Chevrolet Impala 1981-1984 |- |N||Chevrolet Caprice Classic 1981-1984 |- |F||Pontiac Laurentian 1981 (Canada only) |- |L||Pontiac Catalina 1981, Parisienne 1984 |- |L||Pontiac Parisienne 1982-1983 (Canada only) |- |N||Pontiac Bonneville 1981 |- |N||Pontiac Parisienne 1981, Parisienne Brougham 1982-1983 (Canada only) |- |R||Pontiac Bonneville Brougham 1981 |- |T||Pontiac Parisienne Brougham 1984 |- |L||Oldsmobile Delta 88 1981-1983 |- |N||Oldsmobile Delta 88 Royale 1981-1984 |- |P||Oldsmobile Custom Cruiser 1981-1984 |- |V||Oldsmobile Delta 88 Royale Brougham LS 1984 |- |Y||Oldsmobile Delta 88 Royale Brougham 1981-1984 |- |N||Buick Le Sabre 1981, Le Sabre ''Custom'' 1982-1984 |- |P||Buick Le Sabre ''Limited'' 1981-1984 |- |R||Buick Le Sabre Estate Wagon 1981-1983 |- |V||Buick Electra Estate Wagon 1981-1984 |- |rowspan=13|GM C platform - rear-wheel drive |G||Oldsmobile 98 Regency 1984 |- |H||Oldsmobile 98 Regency Brougham 1984 |- |V||Oldsmobile 98 Luxury 1981 |- |W||Oldsmobile 98 Regency Brougham 1982-1983 |- |X||Oldsmobile 98 Regency 1981-1983 |- |R||Buick Electra Limited 1984 |- |U||Buick Electra Park Avenue 1984 |- |W||Buick Electra Park Avenue 1981-1983 |- |X||Buick Electra Limited 1981-1983 |- |B||Cadillac Fleetwood Brougham 1981-1983 |- |D||Cadillac DeVille 1981-1983 |- |M||Cadillac DeVille 1984 |- |W||Cadillac Fleetwood Brougham 1984 |- |rowspan=1|GM D platform - rear-wheel drive |F||Cadillac Fleetwood Limousine 1981-1984 |- |rowspan=4|GM E platform |Z||Oldsmobile Toronado Brougham 1981-1984 |- |Y||Buick Riviera T-Type 1981-1984 |- |Z||Buick Riviera 1981-1984 |- |L||Cadillac Eldorado 1981-1984 |- |rowspan=7|GM F platform |P||Chevrolet Camaro Sport Coupe 1981-1984 |- |S||Chevrolet Camaro Berlinetta 1981-1984 |- |S||Pontiac Firebird 1981-1984 |- |T||Pontiac Firebird ''Esprit'' 1981 |- |V||Pontiac Firebird ''Formula'' 1981 |- |W||Pontiac Firebird ''Trans Am'' 1981-1984 |- |X||Pontiac Firebird ''Trans Am'' Turbo Special Edition 1981, Firebird ''S/E'' 1982-1984 |- |rowspan=15|GM G platform - rear-wheel drive |W||Chevrolet Malibu Classic 1982, Malibu 1983 |- |Z||Chevrolet Monte Carlo 1982-1984 |- |J||Pontiac Grand Prix 1982-1984 |- |K||Pontiac Grand Prix LJ 1982-1983, Grand Prix LE 1984 |- |N||Pontiac Bonneville G 1982-1984 |- |P||Pontiac Grand Prix Brougham 1982-1984 |- |R||Pontiac Bonneville G Brougham 1982-1984 |- |S||Pontiac Bonneville G ''LE'' 1984 |- |H||Oldsmobile Cutlass Cruiser wagon 1982-1983 |- |K||Oldsmobile Cutlass Calais coupe 1982-1984 |- |M||Oldsmobile Cutlass Supreme ''Brougham'' 1982-1984 |- |R||Oldsmobile Cutlass Supreme coupe & sedan 1982-1984 |- |J||Buick Regal 1982-1984 |- |K||Buick Regal ''Sport'' 1982, Regal ''T-Type'' 1983-1984 |- |M||Buick Regal ''Limited'' 1982-1984 |- |rowspan=13|GM J platform |C||Chevrolet Cavalier 1983-1984 |- |D||Chevrolet Cavalier 2-d/4-d/wagon 1982, Cavalier CS 1983-1984 |- |E||Chevrolet Cavalier 3-door hatchback 1982, Cavalier CS 3-door hatchback 1983, Cavalier Type 10 2-d/3-d/Convertible 1984 |- |B||Pontiac J2000 1982, 2000 1983, 2000 Sunbird 1984 |- |C||Pontiac J2000 LE 1982, 2000 LE 1983, 2000 Sunbird LE Convertible 1983, 2000 Sunbird LE 1984 |- |D||Pontiac J2000 SE 1982, 2000 SE 1983, 2000 Sunbird SE 1984 |- |E||Pontiac J2000 S 1982 |- |C||Oldsmobile Firenza Base model 1982-1984, Firenza S 1982-1984 |- |D||Oldsmobile Firenza LX 1982-1984, Firenza SX 1982-1984 |- |E||Buick Skyhawk T-Type 1983-1984 |- |S||Buick Skyhawk Custom 1982-1984 |- |T||Buick Skyhawk Limited 1982-1984 |- |G||Cadillac Cimarron 1982-1984 |- |rowspan=1|GM K platform |S||Cadillac Seville 1981-1984 |- |rowspan=3|GM P platform ||E||Pontiac Fiero ''Coupe'' 1984 |- ||F||Pontiac Fiero ''SE'' 1984 |- ||M||Pontiac Fiero ''Sport coupe'' 1984 |- |rowspan=6|GM T platform - rear-wheel drive |B||Chevrolet Chevette 1981-1983, Chevette CS 1984 |- |J||Chevrolet Chevette Scooter 1981-1983, Chevette 1984 |- |B||Pontiac Acadian 1981-1984 (Canada only) |- |J||Pontiac Acadian S 1981-1982, Pontiac Acadian Scooter 1983-1984 (Canada only) |- |L||Pontiac T1000 1982, 1000 1983-1984 |- |M||Pontiac T1000 1981 |- |rowspan=10|GM X platform |H||Chevrolet Citation 2-door coupe 1982-1983, Citation II 2-door coupe 1984 |- |X||Chevrolet Citation hatchback 1981-1983, Citation II hatchback 1984 |- |T||Pontiac Phoenix SJ 1982-1983, Phoenix SE 1984 |- |Y||Pontiac Phoenix 1981-1984 |- |Z||Pontiac Phoenix LJ 1981-1983, Phoenix LE 1984 |- |B||Oldsmobile Omega 1981-1984 |- |E||Oldsmobile Omega Brougham 1981-1984 |- |B||Buick Skylark 1981-1982, Skylark Custom 1983-1984 |- |C||Buick Skylark Limited 1981-1984 |- |D||Buick Skylark Sport 1981-1982, Skylark T-Type 1983-1984 |- |rowspan=1|GM Y platform |Y||Chevrolet Corvette 1981-1982, 1984 |} ===American VIN format 1985-1986 Passenger Car=== GM has traditionally encoded the platform as the fourth character of the VIN. Other content includes an engine code and manufacturing plant. GM's VIN format is as follows: <table border=1 style="margin:auto;"> <tr> <th>Position</th> <th>Sample</th><th></th><th></th><th>Description</th> </tr><tr> <td>1</td> <td>1</td><td></td><td></td><td rowspan=3>[[#GM WMIs|World Manufacturer Identifier]]</td> </tr><tr> <td>2</td> <td>G</td><td></td><td></td></tr><tr> <td>3</td> <td>6</td><td></td><td></td></tr><tr> <td>4</td> <td>D</td><td></td><td></td><td>[[#Platform & Series Codes 1985- Passenger Car|Platform]]</td> </tr><tr> <td>5</td> <td>W</td><td></td><td></td><td>[[#Platform & Series Codes 1985- Passenger Car|Series Code]]</td> </tr><tr> <td>6</td> <td>6</td><td></td><td></td><td rowspan=2>[[#Body style codes 1981-1986|Body style]]</td> </tr><tr> <td>7</td> <td>9</td><td></td><td></td><td> </td> </tr><tr> <td>8</td> <td>Y</td><td></td><td></td><td>[[#American engine codes 1981-|Engine type]]</td> </tr><tr> <td>9</td> <td>0</td><td></td><td></td><td>[[Vehicle Identification Numbers (VIN codes)/Check digit |Check digit]]</td> </tr><tr> <td>10</td> <td>G</td><td></td><td></td><td>[[Vehicle Identification Numbers (VIN codes)/Model year|Model year]]</td> </tr><tr> <td>11</td> <td>9</td><td></td><td></td><td>[[#GM factories supplying North America|Factory ID]]</td> </tr><tr> <td>12</td> <td>1</td><td></td><td></td><td rowspan=6>Sequential number </tr><tr> <td>13</td> <td>2</td><td></td><td></td></tr><tr> <td>14</td> <td>3</td><td></td><td></td></tr><tr> <td>15</td> <td>7</td><td></td><td></td></tr><tr> <td>16</td> <td>6</td><td></td><td></td></tr><tr> <td>17</td> <td>2</td><td></td><td></td> </table> ====Body style codes 1981-1986==== The Body type is specified as characters six and seven of the American GM VIN for passenger cars from 1981-1986. {| border=1 style="margin:auto;" !VIN !Description |- |11,27,37,47,57,97||Two-Door Coupe/Sedan |- |07,08,77,87||Two-Door Hatchback |- |67||Two-Door Convertible |- |19,69||Four-Door Sedan |- |68||Four-Door Hatchback |- |23||Four-Door Limousine, 8-passenger ("Limousine") |- |33||Four-Door Limousine w/Center Partition, 7-passenger ("Formal Limousine") |- |35||Four-Door Station Wagon |} ===American VIN format 1987- Passenger Car=== GM has traditionally encoded the platform as the fourth character of the VIN. Other content includes an engine code and manufacturing plant. GM's VIN format is as follows: <table border=1 style="margin:auto;"> <tr> <th>Position</th> <th>Sample</th><th></th><th></th><th>Description</th> </tr><tr> <td>1</td> <td>1</td><td></td><td></td><td rowspan=3>[[#GM WMIs|World Manufacturer Identifier]]</td> </tr><tr> <td>2</td> <td>G</td><td></td><td></td></tr><tr> <td>3</td> <td>6</td><td></td><td></td></tr><tr> <td>4</td> <td>D</td><td></td><td></td><td>[[#Platform & Series Codes 1985- Passenger Car|Platform]]</td> </tr><tr> <td>5</td> <td>M</td><td></td><td></td><td>[[#Platform & Series Codes 1985- Passenger Car|Series Code]]</td> </tr><tr> <td>6</td> <td>5</td><td></td><td></td><td>[[#Body style codes 1987- Passenger Car|Body style]]</td> </tr><tr> <td>7</td> <td>7</td><td></td><td></td><td>[[#American restraint types 1987-|Restraint type]]</td> </tr><tr> <td>8</td> <td>N</td><td></td><td></td><td>[[#American engine codes 1981-|Engine type]]</td> </tr><tr> <td>9</td> <td>0</td><td></td><td></td><td>[[Vehicle Identification Numbers (VIN codes)/Check digit |Check digit]]</td> </tr><tr> <td>10</td> <td>3</td><td></td><td></td><td>[[Vehicle Identification Numbers (VIN codes)/Model year|Model year]]</td> </tr><tr> <td>11</td> <td>0</td><td></td><td></td><td>[[#GM factories supplying North America|Factory ID]]</td> </tr><tr> <td>12</td> <td>1</td><td></td><td></td><td rowspan=6>Sequential number </tr><tr> <td>13</td> <td>2</td><td></td><td></td></tr><tr> <td>14</td> <td>3</td><td></td><td></td></tr><tr> <td>15</td> <td>7</td><td></td><td></td></tr><tr> <td>16</td> <td>6</td><td></td><td></td></tr><tr> <td>17</td> <td>2</td><td></td><td></td> </table> ===American VIN format 1981-2009 Light Duty Truck & Multi-Purpose Passenger Vehicle=== GM's VIN format is as follows: <table border=1 style="margin:auto;"> <tr> <th>Position</th> <th>Sample</th><th></th><th></th><th>Description</th> </tr><tr> <td>1</td> <td>1</td><td></td><td></td><td rowspan=3>[[#GM WMIs|World Manufacturer Identifier]]</td> </tr><tr> <td>2</td> <td>G</td><td></td><td></td></tr><tr> <td>3</td> <td>K</td><td></td><td></td></tr><tr> <td>4</td> <td>E</td><td></td><td></td><td>[[#GVWR/Brake System 1981-2009 Light Duty Truck & Multi-Purpose Passenger Vehicle|GVWR/Brake System]]</td> </tr><tr> <td>5</td> <td>K</td><td></td><td></td><td>[[#Line & Chassis Type 1981-1999 Light Duty Truck & Multi-Purpose Passenger Vehicle|Line & Chassis Type for 1981-1999]]</td> </tr><tr> <td>5</td> <td>K</td><td></td><td></td><td>[[#Line & Chassis Type 2000-2009 Light Duty Truck & Multi-Purpose Passenger Vehicle|Line & Chassis Type for 2000-2009]]</td> </tr><tr> <td>6</td> <td>1</td><td></td><td></td><td>[[#Series 1981-1999 Light Duty Truck & Multi-Purpose Passenger Vehicle|Series]]</td> </tr><tr> <td>7</td> <td>8</td><td></td><td></td><td>[[#Body style codes 1981-2009 Light Duty Truck & Multi-Purpose Passenger Vehicle|Body type]]</td> </tr><tr> <td>8</td> <td>K</td><td></td><td></td><td>[[#Engine codes for light trucks|Engine type]]</td> </tr><tr> <td>9</td> <td>0</td><td></td><td></td><td>[[Vehicle Identification Numbers (VIN codes)/Check digit |Check digit]]</td> </tr><tr> <td>10</td> <td>N</td><td></td><td></td><td>[[Vehicle Identification Numbers (VIN codes)/Model year|Model year]]</td> </tr><tr> <td>11</td> <td>J</td><td></td><td></td><td>[[#GM factories supplying North America|Factory ID]]</td> </tr><tr> <td>12</td> <td>1</td><td></td><td></td><td rowspan=6>Sequential number </tr><tr> <td>13</td> <td>2</td><td></td><td></td></tr><tr> <td>14</td> <td>3</td><td></td><td></td></tr><tr> <td>15</td> <td>7</td><td></td><td></td></tr><tr> <td>16</td> <td>6</td><td></td><td></td></tr><tr> <td>17</td> <td>2</td><td></td><td></td> </table> ====GVWR/Brake System 1981-2009 Light Duty Truck & Multi-Purpose Passenger Vehicle==== The GVWR/Brake System is specified as character four of the American GM VIN for light trucks. {| border=1 style="margin:auto;" !VIN !GVWR Range in lbs. & Weight Class !Brake System |- |A||Class A: 0-3,000||Hydraulic |- |B||Class B: 3,001-4,000||Hydraulic |- |C||Class C: 4,001-5,000||Hydraulic |- |D||Class D: 5,001-6,000||Hydraulic |- |E||Class E: 6,001-7,000||Hydraulic |- |F||Class F: 7,001-8,000||Hydraulic |- |G||Class G: 8,001-9,000||Hydraulic |- |H||Class H: 9,001-10,000||Hydraulic |- |J||Class 3: 10,001-14,000||Hydraulic |- |K||Class 4: 14,001-16,000||Hydraulic |- |L||Class 5: 16,001-19,500||Hydraulic |} ====Line & Chassis Type 1981-1999 Light Duty Truck & Multi-Purpose Passenger Vehicle==== The Line & Chassis Type is specified as character five of the American GM VIN for light trucks. {| border=1 style="margin:auto;" !VIN !Description |- |B||Special Body Buick, Chevrolet |- |C||Chevy full-size pickups & chassis cabs 2wd (C-series) '81-'86, '88-'99,<br /> GMC full-size pickups & chassis cabs 2wd (C-series) '81-'86, Sierra 2wd (C-series) '88-'99 |- |C||Chevy C10 Blazer 2wd ('81-'82), Tahoe 4-door 2wd ('95-'99), Suburban 2wd ('81-'86, '92-'99),<br /> GMC C1500 Jimmy 2wd ('81-'82), Yukon 4-door 2wd ('95-'99), Suburban 2wd ('81-'86, '92-'99) |- |D||Military Truck 4wd |- |E||'91-'97 Geo Tracker 2wd, '98-'99 Chevrolet Tracker 2wd |- |E||'97-'98 Chevy S-10 EV |- |G||Chevy/GMC full-size vans (Chevy Van, Sportvan, Express, GMC Vandura, Rally Van, Savana) |- |H||'93-'96 Chevy G30HD/GMC G3500HD cutaway van |- |H||Cadillac chassis cutaway/special body (Based on Rwd Fleetwood '93-'96, Fwd DeVille '97-'99) |- |J||'89-'97 Geo Tracker 4wd, '98-'99 Chevrolet Tracker 4wd |- |K||Chevy full-size pickups & chassis cabs 4wd (K-series) '81-'86, '88-'99,<br /> GMC full-size pickups & chassis cabs 4wd (K-series) '81-'86, Sierra 4wd (K-series) '88-'99 |- |K||Chevy K10/K5 Blazer 4wd ('81-'86, '92-'94), Tahoe 4wd ('95-'99), Suburban 4wd ('81-'86, '92-'99),<br /> GMC K1500 Jimmy 4wd ('81-'86), Yukon 4wd ('92-'99), Suburban 4wd ('81-'86, '92-'99), '99 Cadillac Escalade 4wd |- |L||Chevy Luv 2wd '81-'82 |- |L||Chevy Astro/GMC Safari 4wd '90-'99 |- |M||Chevy Astro/GMC Safari 2wd '85-'99 |- |P||Forward Control (includes Chevrolet Step-Van/GMC Value-Van, Chevy/GMC P-Series) |- |R||Chevy Luv 4wd '81-'82 |- |R||Chevy full-size pickups & chassis cabs 2wd (R-series), Suburban 2wd '87-'91,<br /> GMC full-size pickups & chassis cabs 2wd (R-series), Suburban 2wd '87-'91 |- |S||Chevy S-10 2wd ('82-'99), S-10 Blazer 2wd ('83-'94), Blazer 2wd ('95-'99), GMC S-15 2wd ('82-'90), Sonoma 2wd ('91-'99),<br> S-15 Jimmy 2wd ('83-'91), Jimmy 2wd ('92-'99), Isuzu Hombre 2wd ('96-'99) |- |T||Chevy S-10 4wd ('83-'99), S-10 Blazer 4wd ('83-'94), Blazer 4wd ('95-'99), GMC S-15 4wd ('83-'90), Sonoma 4wd ('91-'99), Syclone 4wd ('91),<br> S-15 Jimmy 4wd ('83-'91), Jimmy 4wd ('92-'99), Typhoon 4wd ('92-93), Envoy 4wd ('98-'99), Oldsmobile Bravada 4wd ('91-'94, '96-'99),<br> Isuzu Hombre 4wd ('98-'99) |- |U||Regular length All-Purpose Vehicle ('90-'99 U-body fwd minivans) |- |V||Chevy full-size pickups & chassis cabs 4wd (V-series), V10/V1500 Blazer 4wd, Suburban 4wd '87-'91,<br /> GMC full-size pickups & chassis cabs 4wd (V-series), V1500 Jimmy 4wd, Suburban 4wd '87-'91 |- |W||'81-'87 Chevy El Camino, GMC Caballero |- |X||Extended length All-Purpose Vehicle ('97-'99 U-body fwd extended length minivans) |- |Z||Cadillac chassis cutaway/special body (Based on Rwd Fleetwood '81-'84, Fwd Fleetwood '85-'92) |} ====Line & Chassis Type 2000-2009 Light Duty Truck & Multi-Purpose Passenger Vehicle==== The Line & Chassis Type is specified as character five of the American GM VIN for light trucks. {| border=1 style="margin:auto;" !VIN !Description |- |A||Pontiac Aztek 2wd '01-'05, Buick Rendezvous 2wd '02-'07 |- |A||Chevrolet HHR '06-'09, HHR Panel '07-'09 |- |B||Pontiac Aztek Awd '01-'05, Buick Rendezvous Awd '02-'06 |- |C||Chevy full-size pickups & chassis cabs 2wd (C-series) '00, full-size chassis cabs 2wd (C3500HD) '01-'02, Silverado 2wd '00-'09, Silverado Classic 2wd '07,<br /> GMC Sierra 2wd (C-series) '00-'09, Sierra Classic 2wd '00, '07 |- |C||Chevy Tahoe 2wd ('00-'09), Suburban 2wd ('00-'09), Avalanche 2wd ('02-'09),<br /> GMC Yukon 2wd ('00-'09), Yukon XL 2wd ('00-'09), Cadillac Escalade 2wd ('02-'09), Escalade ESV 2wd ('08-'09) |- |E||Chevrolet Tracker 2wd '00-'04 |- |E||Cadillac SRX 2wd & Awd '04-'09 |- |G||Chevy/GMC full-size vans 2wd (Chevy Express, GMC Savana) '00-09 |- |H||Chevy/GMC full-size vans 4wd (Chevy Express, GMC Savana) '03-09 |- |H||Cadillac Commercial Chassis for Hearse (Based on Fwd DeVille '02-'05, DTS '06-'09) |- |H||Cadillac Professional Chassis for Limousine (Based on Fwd DeVille '00-'05, DTS '06-'07) |- |J||Chevrolet Tracker 4wd '00-'04 |- |K||Chevy full-size pickups & chassis cabs 4wd (K-series) '00, Silverado 4wd '00-'09, Silverado Classic 4wd '07,<br /> GMC Sierra 4wd (K-series) '00-'09, Sierra Classic 4wd '00, '07 |- |K||Chevy Tahoe 4wd ('00-'09), Suburban 4wd ('00-'09), Avalanche 4wd ('02-'09), GMC Yukon 4wd ('00-'09), Yukon XL 4wd ('00-'09),<br> Cadillac Escalade 4wd ('00, '02-'09), Escalade ESV 4wd ('03-'09), Escalade EXT 4wd ('02-'09) |- |K||Cadillac Professional Chassis for Limousine (Based on Fwd DTS '08-'09) |- |L||Chevy Astro/GMC Safari 4wd '00-'05 |- |L||Chevy Equinox 2wd & Awd '05-'09, Pontiac Torrent 2wd & Awd '06-'09, Saturn Vue 2wd & Awd '08-'09 |- |M||Chevy Astro/GMC Safari 2wd '00-'05 |- |N||Hummer H2 '03-'09, H2 SUT '05-'09 |- |N||Hummer H3 '06-'09, H3T '09 |- |R||GMC Acadia 2wd, Saturn Outlook 2wd '07-'09, Buick Enclave 2wd '08-'09, Chevy Traverse 2wd '09 |- |S||Chevy S-10 2wd ('00-'03), Blazer 2wd ('00-'05), GMC Sonoma 2wd ('00-'03), Jimmy 2wd ('00-'01), Isuzu Hombre 2wd ('00) |- |S||Chevy Trailblazer 2wd ('02-'09), SSR ('03-'06), GMC Envoy 2wd ('02-'09), Envoy XUV 2wd ('04-'05), Oldsmobile Bravada 2wd ('02-'04),<br> Buick Rainier 2wd ('04-'07), Isuzu Ascender 2wd ('03-'08) |- |S||Chevy Colorado 2wd ('04-'09), GMC Canyon 2wd ('04-'09), Isuzu i-series 2wd ('06-'08) |- |T||Chevy S-10 4wd ('00-'04), Blazer 4wd ('00-'05), GMC Sonoma 4wd ('00-'04), Jimmy 4wd ('00-'01, Canada only: '02-'05), Envoy 4wd ('00),<br> Oldsmobile Bravada 4wd ('00-'01), Isuzu Hombre 4wd ('00) |- |T||Chevy Trailblazer 4wd ('02-'09), GMC Envoy 4wd ('02-'09), Envoy XUV 2wd ('04-'05), Oldsmobile Bravada 4wd ('02-'04), Buick Rainier 4wd ('04-'07),<br> Isuzu Ascender 4wd ('03-'08), Saab 9-7X 4wd ('05-'09) |- |T||Chevy Colorado 4wd ('04-'09), GMC Canyon 4wd ('04-'09), Isuzu i-series 4wd ('06-'08) |- |U||Regular length All-Purpose Vehicle [Minivan] ('00-'04 Chevy Venture, Pontiac Montana) |- |U||Regular length All-Purpose Vehicle [Minivan] (Chevy Uplander [US: '06-'08, Canada only: '05-'09], Pontiac Montana SV6 [Canada only: '05-'09]) |- |V||Extended length AWD All-Purpose Vehicle [Minivan] ('02-'04 Chevy Venture, Pontiac Montana, Oldsmobile Silhouette Extended length AWD) |- |V||Extended length FWD All-Purpose Vehicle [Minivan] ('05 Chevy Venture, Pontiac Montana Extended length FWD) |- |V||Extended length FWD All-Purpose Vehicle [Minivan] (Chevy Uplander ['05-'08, Canada only: '09], Pontiac Montana SV6 ['05-'06, Canada only: '07-'09],<br> Buick Terraza ['05-'07], Saturn Relay ['05-'07]) |- |V||GMC Acadia Awd, Saturn Outlook Awd '07-'09, Buick Enclave Awd '08-'09, Chevy Traverse Awd '09 |- |X||Extended length FWD All-Purpose Vehicle [Minivan] ('00-'04 Chevy Venture, Pontiac Montana, Oldsmobile Silhouette Extended length FWD) |- |X||Extended length AWD All-Purpose Vehicle [Minivan] ('05-'06 Chevy Uplander AWD, Pontiac Montana SV6 AWD, Buick Terraza AWD, Saturn Relay AWD) |- |Z||Saturn Vue 2wd & Awd '02-'07 |} ====Series 1981-1999 Light Duty Truck & Multi-Purpose Passenger Vehicle==== The Series is specified as character six of the American GM VIN for light trucks. {| border=1 style="margin:auto;" !VIN !Description |- |1||1/2 Ton (includes '96-'99 Isuzu Hombre) |- |2||3/4 Ton |- |3||1 Ton |- |8||1/2 Ton ('81-'87 El Camino, Caballero) |- |9||Cadillac, Buick, Chevrolet Commercial Body/Chassis |- |0||All-Purpose Vehicle ('90-'99 U-body fwd minivans) |} ====Series 2000-2009 Light Duty Truck & Multi-Purpose Passenger Vehicle==== The Series is specified as character six of the American GM VIN for light trucks. {| border=1 style="margin:auto;" !VIN !Description |- |1 (following S)||Isuzu Ascender 2wd ('03-'08) |- |1 (following T)||Isuzu Ascender 4wd ('03-'08) |- |1 (following T)||Saab 9-7X ('05-'08: All, '09: 4.2i, 5.3i) |- |2 (following T)||Saab 9-7X Aero ('09) |} ====Body style codes 1981-2009 Light Duty Truck & Multi-Purpose Passenger Vehicle==== The Body type is specified as character seven of the American GM VIN for light trucks. {| border=1 style="margin:auto;" !VIN !Description |- |0||Sedan Pickup/Pickup Delivery ('81-'87 El Camino, Caballero) |- |0||Cadillac, Buick, Chevrolet Commercial Body/Chassis |- |0||Chassis Only |- |1||Cutaway Van |- |2||Forward Control ('81-'03) (includes '93-'95 Chevy G30HD/GMC G3500HD) |- |2||Sport Utility Truck (SUT) ('04-'09 Avalanche & Escalade EXT, '04-'05 Envoy XUV, '05-'09 Hummer H2 SUT) |- |3||Four-Door Cab pickup (Crew Cab) |- |3||4-door Passenger Minivan ('97-'09 U-bodies) |- |3||4-door SUV or MPV ('06-'09 HHR) (also includes '02-'03 Avalanche & Escalade EXT) ('05-'09 Saab 9-7X) |- |4||Two-Door Cab pickup (includes '83-'87 S-10/S-15 extended cab pickups & '03-'06 Chevy SSR) |- |5||Van (Astro/Safari & full-size vans & '07-'09 HHR Panel) |- |6||Extended length 4-door SUV (Suburban, Yukon XL, Escalade ESV, Trailblazer EXT, Envoy XL, Isuzu Ascender 7-psgr.) |- |6||3-door Passenger Minivan ('90-'99 U-bodies) |- |7||Motor Home Chassis ('81-'09) |- |8||Two-Door SUV (Utility) (2-d Tracker, S-10 Blazer, S-15 Jimmy, Blazer, Jimmy, Tahoe, Yukon) |- |9||Stake (81-87) |- |9||Extended Cab pickup ('88-) |- |9||Extended length van ('90-) (Astro/Safari & full-size vans) |} ===American VIN format 2010- Light Duty Truck & Multi-Purpose Passenger Vehicle=== GM's VIN format is as follows: <table border=1 style="margin:auto;"> <tr> <th>Position</th> <th>Sample</th><th></th><th></th><th>Description</th> </tr><tr> <td>1</td> <td>1</td><td></td><td></td><td rowspan=3>[[#GM WMIs|World Manufacturer Identifier]]</td> </tr><tr> <td>2</td> <td>G</td><td></td><td></td></tr><tr> <td>3</td> <td>K</td><td></td><td></td></tr><tr> <td>4</td> <td>L</td><td></td><td></td><td>[[#GVWR/Brake System/Body Style 2010- Light Duty Truck & Multi-Purpose Passenger Vehicle|GVWR/Brake System/Body Style 2010-]]</td> </tr><tr> <td>5</td> <td>R</td><td></td><td></td><td>[[#Line & Chassis Type 2010- Light Duty Truck & Multi-Purpose Passenger Vehicle|Line & Chassis Type for 2010-]]</td> </tr><tr> <td>6</td> <td>L</td><td></td><td></td><td>[[#Series 2010- Light Duty Truck & Multi-Purpose Passenger Vehicle|Series 2010- Light Duty Truck & Multi-Purpose Passenger Vehicle]]</td> </tr><tr> <td>7</td> <td>E</td><td></td><td></td><td>[[#Restraint codes for light trucks 2010-|Restraint type]]</td> </tr><tr> <td>8</td> <td>D</td><td></td><td></td><td>[[#Engine codes for light trucks|Engine type]]</td> </tr><tr> <td>9</td> <td>0</td><td></td><td></td><td>[[Vehicle Identification Numbers (VIN codes)/Check digit |Check digit]]</td> </tr><tr> <td>10</td> <td>A</td><td></td><td></td><td>[[Vehicle Identification Numbers (VIN codes)/Model year|Model year]]</td> </tr><tr> <td>11</td> <td>J</td><td></td><td></td><td>[[#GM factories supplying North America|Factory ID]]</td> </tr><tr> <td>12</td> <td>1</td><td></td><td></td><td rowspan=6>Sequential number </tr><tr> <td>13</td> <td>2</td><td></td><td></td></tr><tr> <td>14</td> <td>3</td><td></td><td></td></tr><tr> <td>15</td> <td>7</td><td></td><td></td></tr><tr> <td>16</td> <td>6</td><td></td><td></td></tr><tr> <td>17</td> <td>2</td><td></td><td></td> </table> ====GVWR/Brake System/Body Style 2010- Light Duty Truck & Multi-Purpose Passenger Vehicle==== The GVWR/Brake System is specified as character four of the American GM VIN for light trucks. {| border=1 style="margin:auto;" !VIN !GVWR Range in lbs. & Weight Class !Brake System !Body Style |- | ||Class A: 0-3,000||Hydraulic|| |- | ||Class B: 3,001-4,000||Hydraulic|| |- |A||Class C: 4,001-5,000||Hydraulic||26: 4-door SUV or MPV ('10-'11 Chevy HHR Panel, '10-'26 Chevy Equinox, GMC Terrain, '10 Saturn Vue,<br> '12-'15 Chevy Captiva Sport, '19-'24 Cadillac XT4, '24-'26 Buick Encore GX) |- |B||Class C: 4,001-5,000||Hydraulic||46: 4-door MPV ('10-'11 Chevy HHR) |- |J||Class C: 4,001-5,000||Hydraulic||48: 4-door, 4 window Hatchback ('18-'23 Chevy Bolt EV w/Rear Seat Delete pkg. - incomplete vehicle) |- |C||Class C: 4,001-5,000||Hydraulic||03: Regular Cab pickup or Chassis Cab ('10-'12 Chevy Colorado, GMC Canyon) |- |D||Class C: 4,001-5,000||Hydraulic||43: Crew Cab pickup or Chassis Cab ('10-'12 Chevy Colorado, GMC Canyon) |- |E||Class C: 4,001-5,000||Hydraulic||53: Extended Cab pickup or Chassis Cab ('10-'12 Chevy Colorado, GMC Canyon) |- |7||Class C: 4,001-5,000||Hydraulic||75: Four-Door Wagon - High Roof Monocab (Canada only: '12-'14 Chevy Orlando) |- |M||Class C: 4,001-5,000||Hydraulic||06: 4-door SUV ('20-'23 Buick Encore GX) |- |9||Class C: 4,001-5,000||Hydraulic||56: 4-door SUV Extended ('21-'26 Chevy Trailblazer) |- |7||Class C: 4,001-5,000||Hydraulic||58: 4-door Utility Extended ('24-'26 Chevy Trax, Buick Envista) |- |C||Class C: 4,001-5,000||Hydraulic||76: 4-door SUV ('13-'22 Buick Encore, Canada only: '13-'14 Chevy Trax, US & Canada: '15-'22 Chevy Trax) |- |F||Class D: 5,001-6,000||Hydraulic||26: 4-door SUV ('10-'17 Chevy Equinox, GMC Terrain, '10 Saturn Vue, '10-'16 Cadillac SRX, '11 Saab 9-4X,<br> '12-'13 Chevy Captiva Sport, '16-'26 Buick Envision, '17 Cadillac XT5, '19-'25 Cadillac XT4) |- |H||Class D: 5,001-6,000||Hydraulic||03: Regular Cab pickup or Chassis Cab ('10 Chevy Colorado, GMC Canyon) |- |G||Class D: 5,001-6,000||Hydraulic||03: Regular Cab pickup or Chassis Cab ('11-'12 Chevy Colorado, GMC Canyon) |- |J||Class D: 5,001-6,000||Hydraulic||43: Crew Cab pickup or Chassis Cab ('10 Chevy Colorado, GMC Canyon) |- |H||Class D: 5,001-6,000||Hydraulic||43: Crew Cab pickup or Chassis Cab ('11-'12 Chevy Colorado, GMC Canyon) |- |G||Class D: 5,001-6,000||Hydraulic||43: Crew Cab pickup or Chassis Cab ('15-'24 Chevy Colorado, '15-'22 GMC Canyon) |- |K||Class D: 5,001-6,000||Hydraulic||53: Extended Cab pickup or Chassis Cab ('10 Chevy Colorado, GMC Canyon) |- |J||Class D: 5,001-6,000||Hydraulic||53: Extended Cab pickup or Chassis Cab ('11-'12 Chevy Colorado, GMC Canyon) |- |H||Class D: 5,001-6,000||Hydraulic||53: Extended Cab pickup or Chassis Cab ('15-'22 Chevy Colorado, GMC Canyon) |- |T||Class D: 5,001-6,000||Hydraulic||69: Commercial Chassis ('10 Cadillac DTS chassis for Limo/Hearse) |- |7||Class D: 5,001-6,000||Hydraulic||69: Commercial Chassis ('11 Cadillac DTS chassis for Limo/Hearse) |- |L||Class E: 6,001-7,000||Hydraulic||26: 4-door SUV ('10 Chevy Traverse, GMC Acadia, Buick Enclave, Saturn Outlook) |- |K||Class E: 6,001-7,000||Hydraulic||26: 4-door SUV ('11-'17 Chevy Traverse, Buick Enclave, '11-'23 GMC Acadia, '17 Acadia Limited,<br> '17-'26 Cadillac XT5, '19-'26 Chevy Blazer, '20-'25 Cadillac XT6, '23-'26 Cadillac Lyriq EV,<br> '24-'26 Chevy Blazer EV, '25-'26 Cadillac Optiq EV, '24-'26 Honda Prologue EV, '24 Acura ZDX EV A-Spec) |- |7||Class E: 6,001-7,000||Hydraulic||48: 4-door SUV ('24-'25 Chevy Equinox EV) |- |E||Class E: 6,001-7,000||Hydraulic||56: 4-door SUV Extended ('18-'26 Chevy Traverse, Buick Enclave, '24 Chevy Traverse Limited,<br> '24-'26 GMC Acadia |- |M||Class E: 6,001-7,000||Hydraulic||05: Cargo Van ('10 Chevy Express, GMC Savana) |- |L||Class E: 6,001-7,000||Hydraulic||05: Cargo Van ('11-'14 Chevy Express, GMC Savana) |- |M||Class E: 6,001-7,000||Hydraulic||06: 4-door SUV ('10 Chevy Tahoe, GMC Yukon, Hummer H3) |- |L||Class E: 6,001-7,000||Hydraulic||06: 4-door SUV ('11-'20 Chevy Tahoe Police Pursuit Vehicle 2wd) |- |N||Class E: 6,001-7,000||Hydraulic||36: Sport Utility Truck (SUT) ('10 Chevy Avalanche 2wd) |- |M||Class E: 6,001-7,000||Hydraulic||36: Sport Utility Truck (SUT) ('11-13 Chevy Avalanche 2wd) |- |P||Class E: 6,001-7,000||Hydraulic||03: Regular Cab pickup or Chassis Cab ('10 Chevy Silverado, GMC Sierra) |- |N||Class E: 6,001-7,000||Hydraulic||03: Regular Cab pickup or Chassis Cab ('11-'26 Chevy Silverado, GMC Sierra,<br> '22 Chevy Silverado LTD, GMC Sierra Limited) |- |R||Class E: 6,001-7,000||Hydraulic||43: Crew Cab pickup or Chassis Cab ('10 Chevy Silverado, GMC Sierra, Hummer H3T) |- |P||Class E: 6,001-7,000||Hydraulic||43: Crew Cab pickup or Chassis Cab ('11-'26 Chevy Silverado, GMC Sierra,<br> '22 Chevy Silverado LTD, GMC Sierra Limited, '16-'26 Chevy Colorado, GMC Canyon) |- |S||Class E: 6,001-7,000||Hydraulic||53: Extended Cab pickup or Chassis Cab ('10 Chevy Silverado, GMC Sierra) |- |R||Class E: 6,001-7,000||Hydraulic||53: Extended Cab pickup or Chassis Cab ('11-'26 Chevy Silverado, GMC Sierra,<br> '19 Chevy Silverado LD, GMC Sierra Limited, '22 Chevy Silverado LTD, GMC Sierra Limited,<br> '16-'22 Chevy Colorado) |- |G||Class E: 6,001-7,000||Hydraulic||69: Commercial Chassis ('10 Cadillac DTS chassis for Limo/Hearse) |- |8||Class E: 6,001-7,000||Hydraulic||69: Commercial Chassis ('11 Cadillac DTS chassis for Limo/Hearse) |- |X||Class E: 6,001-7,000||Hydraulic||69: Commercial Chassis ('13-'19 Cadillac XTS chassis for Limo/Hearse) |- |U||Class F: 7,001-8,000||Hydraulic||05: Cargo Van or Incomplete Vehicle ('10 Chevy Express, GMC Savana) |- |S||Class F: 7,001-8,000||Hydraulic||05: Cargo Van or Incomplete Vehicle ('11-'14 Chevy Express, GMC Savana) |- |U||Class F: 7,001-8,000||Hydraulic||06: Passenger Van ('10 Chevy Express, GMC Savana) |- |S||Class F: 7,001-8,000||Hydraulic||06: Passenger Van ('11-'14 Chevy Express, GMC Savana) |- |U||Class F: 7,001-8,000||Hydraulic||06: 4-door SUV ('10 Chevy Tahoe, Suburban 1500, GMC Yukon, Yukon XL 1500, Cadillac Escalade, Escalade ESV) |- |S||Class F: 7,001-8,000||Hydraulic||06: 4-door SUV ('11-'26 Chevy Tahoe, Suburban 1500, GMC Yukon, Yukon XL 1500, Cadillac Escalade, Escalade ESV) |- |V||Class F: 7,001-8,000||Hydraulic||36: Sport Utility Truck (SUT) ('10 Chevy Avalanche 4wd, Cadillac Escalade EXT 4wd) |- |T||Class F: 7,001-8,000||Hydraulic||36: Sport Utility Truck (SUT) ('11-'13 Chevy Avalanche 4wd, Cadillac Escalade EXT 4wd) |- |X||Class F: 7,001-8,000||Hydraulic||26: 4-door SUV ('24 Acura ZDX EV Type S) |- |C||Class F: 7,001-8,000||Hydraulic||56: 4-door SUV Extended ('26- Cadillac Vistiq EV) |- |W||Class F: 7,001-8,000||Hydraulic||03: Regular Cab pickup or Chassis Cab ('10 Chevy Silverado, GMC Sierra) |- |X||Class F: 7,001-8,000||Hydraulic||43: Crew Cab pickup or Chassis Cab ('10 Chevy Silverado, GMC Sierra) |- |U||Class F: 7,001-8,000||Hydraulic||43: Crew Cab pickup or Chassis Cab ('11-'26 Chevy Silverado, GMC Sierra,<br> '22 Chevy Silverado LTD, GMC Sierra Limited) |- |Y||Class F: 7,001-8,000||Hydraulic||53: Extended Cab pickup or Chassis Cab ('10 Chevy Silverado, GMC Sierra) |- |V||Class F: 7,001-8,000||Hydraulic||53: Extended Cab pickup or Chassis Cab ('11-'26 Chevy Silverado, GMC Sierra,<br> '19 Chevy Silverado LD, GMC Sierra Limited, '22 Chevy Silverado LTD, GMC Sierra Limited) |- |U||Class F: 7,001-8,000||Hydraulic||69: Commercial Chassis ('10 Cadillac DTS chassis for Limo/Hearse) |- |9||Class F: 7,001-8,000||Hydraulic||69: Commercial Chassis ('11 Cadillac DTS chassis for Limo/Hearse) |- |Z||Class G: 8,001-9,000||Hydraulic||05: Cargo Van or Incomplete Vehicle ('10 Chevy Express, GMC Savana) |- |W||Class G: 8,001-9,000||Hydraulic||05: Cargo Van or Incomplete Vehicle ('11-'26 Chevy Express, GMC Savana) |- |Z||Class G: 8,001-9,000||Hydraulic||06: Passenger Van ('10 Chevy Express, GMC Savana) |- |W||Class G: 8,001-9,000||Hydraulic||06: Passenger Van ('11-'26 Chevy Express, GMC Savana) |- |Z||Class G: 8,001-9,000||Hydraulic||06: 4-door SUV ('10 Chevy Suburban 2500, GMC Yukon XL 2500) |- |W||Class G: 8,001-9,000||Hydraulic||06: 4-door SUV ('11-'13 Chevy Suburban 2500, GMC Yukon XL 2500) |- |2||Class H: 9,001-10,000||Hydraulic||05: Cargo Van or Incomplete Vehicle ('10 Chevy Express, GMC Savana) |- |Z||Class H: 9,001-10,000||Hydraulic||05: Cargo Van or Incomplete Vehicle ('11-'26 Chevy Express, GMC Savana,<br> '23-'24 BrightDrop Zevo 600, '24 BrightDrop Zevo 400, '25-'26 Chevrolet BrightDrop 400/600) |- |2||Class H: 9,001-10,000||Hydraulic||06: Passenger Van ('10 Chevy Express, GMC Savana) |- |Z||Class H: 9,001-10,000||Hydraulic||06: Passenger Van ('11-'26 Chevy Express, GMC Savana) |- |3||Class H: 9,001-10,000||Hydraulic||03: Van Cutaway ('10 Chevy Express, GMC Savana) |- |0||Class H: 9,001-10,000||Hydraulic||03: Van Cutaway ('11-'26 Chevy Express, GMC Savana) |- |3||Class H: 9,001-10,000||Hydraulic||03: Regular Cab pickup or Chassis Cab ('10 Chevy Silverado, GMC Sierra) |- |0||Class H: 9,001-10,000||Hydraulic||03: Regular Cab pickup or Chassis Cab ('11-'26 Chevy Silverado, GMC Sierra) |- |4||Class H: 9,001-10,000||Hydraulic||43: Crew Cab pickup or Chassis Cab ('10 Chevy Silverado, GMC Sierra) |- |1||Class H: 9,001-10,000||Hydraulic||43: Crew Cab pickup or Chassis Cab ('11-'26 Chevy Silverado, GMC Sierra,<br> '24-'25 GMC Hummer EV pickup w/20 module battery pack,<br> '24-'26 Chevy Silverado EV, '25-'26 GMC Sierra EV) |- |5||Class H: 9,001-10,000||Hydraulic||53: Extended Cab pickup or Chassis Cab ('10 Chevy Silverado, GMC Sierra) |- |2||Class H: 9,001-10,000||Hydraulic||53: Extended Cab pickup or Chassis Cab ('11-'13, '15-'26 Chevy Silverado, GMC Sierra) |- |B||Class H: 9,001-10,000||Hydraulic||26: 4-door SUV ('24-'25 GMC Hummer EV SUV) |- |6||Class 3: 10,001-14,000||Hydraulic||03: Van Cutaway ('10 Chevy Express, GMC Savana) |- |3||Class 3: 10,001-14,000||Hydraulic||03: Van Cutaway ('11-'26 Chevy Express, GMC Savana) |- |6||Class 3: 10,001-14,000||Hydraulic||03: Regular Cab pickup or Chassis Cab ('10 Chevy Silverado, GMC Sierra) |- |3||Class 3: 10,001-14,000||Hydraulic||03: Regular Cab pickup or Chassis Cab ('11-'26 Chevy Silverado, GMC Sierra) |- |7||Class 3: 10,001-14,000||Hydraulic||43: Crew Cab pickup or Chassis Cab ('10 Chevy Silverado, GMC Sierra) |- |4||Class 3: 10,001-14,000||Hydraulic||43: Crew Cab pickup or Chassis Cab ('11-'26 Chevy Silverado, GMC Sierra,<br> '22-'24 GMC Hummer EV pickup w/24 module battery pack, '25 GMC Hummer EV pickup w/20 or 24 module battery pack, '26 GMC Hummer EV pickup, '24-'25 Chevy Silverado EV, GMC Sierra EV) |- |8||Class 3: 10,001-14,000||Hydraulic||53: Extended Cab pickup or Chassis Cab ('10 Chevy Silverado, GMC Sierra) |- |5||Class 3: 10,001-14,000||Hydraulic||53: Extended Cab pickup or Chassis Cab ('11-'13, '15-'18, '20-'26 Chevy Silverado, GMC Sierra) |- |8||Class 3: 10,001-14,000||Hydraulic||06: 4-door SUV ('16-'19, '24-'26 Chevy Suburban 3500HD) |- |8||Class 3: 10,001-14,000||Hydraulic||05: Cargo Van ('22 BrightDrop EV600, '23-'24 BrightDrop Zevo 600, '24 BrightDrop Zevo 400,<br> '25-'26 Chevrolet BrightDrop 400/600) |- |T||Class 3: 10,001-14,000||Hydraulic||26: 4-door SUV ('25-'26 GMC Hummer EV SUV, '25-'26 Cadillac Escalade IQ [EV]) |- |L||Class 3: 10,001-14,000||Hydraulic||56: 4-door SUV Extended ('26- Cadillac Escalade IQL [EV]) |- |9||Class 4: 14,001-16,000||Hydraulic||03: Van Cutaway ('10 Chevy Express, GMC Savana) |- |6||Class 4: 14,001-16,000||Hydraulic||03: Van Cutaway ('11-'26 Chevy Express, GMC Savana) |- | ||Class 5: 16,001-19,500||Hydraulic|| |} ====Line & Chassis Type 2010- Light Duty Truck & Multi-Purpose Passenger Vehicle==== The Line & Chassis Type is specified as character five of the American GM VIN for light trucks. {| border=1 style="margin:auto;" !VIN !Description |- |A||Chevrolet HHR ('10-'11), HHR Panel ('10-'11) |- |A||Chevy Silverado 1500 2wd ('22-'26), Silverado HD 2500/3500 2wd ('25-'26) |- |B||Chevy Blazer 2wd & Awd '19-'26 |- |C||Chevy Silverado 2wd ('10-'18), Silverado LD 1500 2wd '19, Silverado HD 2500/3500 2wd '19, GMC Sierra 2wd ('10) |- |C||Chevy Tahoe 2wd ('10-'24), Suburban 2wd ('10-'24), Avalanche 2wd ('10-'13),<br /> GMC Yukon 2wd ('10), Yukon XL 2wd ('10), Cadillac Escalade 2wd ('10), Escalade ESV 2wd ('10) |- |D||Chevy Silverado 1500 4wd ('22-'24) |- |D||Chevy Blazer EV ('24-'26), Chevy Equinox EV ('24-'26) |- |E||Cadillac Escalade IQ [EV] ('25-'26), Escalade IQL [EV] ('26-), GMC Hummer EV pickup ('26-), GMC Hummer EV SUV ('26-), GMC Sierra EV ('26-) |- |F||Chevy Bolt EV w/Rear Seat Delete pkg. - incomplete vehicle ('18-'23) |- |G||Cadillac Chassis for Limousine & for Armored Vehicle (Based on XTS '13-'19) |- |G||Cadillac Chassis for Hearse (Based on XTS '13-'19) |- |G||Chevy Express 2wd ('10-'26), GMC Savana 2wd ('10) |- |H||Chevy Express 4wd ('10-'14), GMC Savana 4wd ('10) |- |H||GMC Sierra 1500 2wd ('22-'26), Sierra HD 2500/3500 2wd ('25-'26) |- |H||Honda Prologue EV ('24-'26), Acura ZDX EV ('24) |- |J||Buick Encore 2wd & Awd ('13-'22), Chevy Trax 2wd & Awd (Canada: '13-'22, US: '15-'22) |- |J||BrightDrop EV600 ('22), BrightDrop Zevo 600 ('23-'24), BrightDrop Zevo 400 ('24), Chevrolet BrightDrop 400/600 ('25-'26) |- |K||Chevy Silverado 4wd ('10-'18), Silverado LD 1500 4wd ('19), Silverado HD 2500/3500 4wd ('19), GMC Sierra 4wd ('10) |- |K||Chevy Silverado 1500 4wd ('25-'26), Silverado HD 2500/3500 4wd ('25-'26) |- |K||Chevy Tahoe 4wd ('10-'24), Suburban 4wd ('10-'24), Suburban HD 4wd ('24-'26), Avalanche 4wd ('10-'13), GMC Yukon 4wd ('10), Yukon XL 4wd ('10),<br> Cadillac Escalade 4wd ('10), Escalade ESV 4wd ('10), Escalade EXT 4wd ('10) |- |K||Cadillac Professional Chassis for Limousine (Based on DTS '10-'11) |- |K||Cadillac Commercial Chassis for Hearse (Based on DTS '10-'11) |- |L||Chevy Equinox 2wd & Awd '10-'17, Captiva Sport 2wd '12-'15, Captiva Sport Awd '12, GMC Terrain 2wd & Awd '10-'17, Saturn Vue 2wd & Awd '10 |- |L||GMC Terrain 2wd & Awd '18-'26 |- |L||Buick Envista '24-'26, Chevy Trax '24-'26 |- |M||Buick Encore GX 2wd & Awd ('20-'26), Chevy Trailblazer 2wd & Awd ('21-'26) |- |N||Cadillac SRX 2wd & Awd '10-'16, Saab 9-4X 2011 |- |N||GMC Acadia 2wd & Awd '17-'26, Cadillac XT5 2wd & Awd '17-'26 |- |N||Hummer H3, H3T 2010 |- |P||Chevy Orlando (Canada only: '12-'14) |- |P||Cadillac XT6 2wd & Awd '20-'25 |- |P||Cadillac Lyriq EV 2wd & Awd '23-'25 |- |R||GMC Acadia 2wd '10-'16, Acadia Limited 2wd '17, Saturn Outlook 2wd '10, Buick Enclave 2wd '10-'17, Chevy Traverse 2wd '10-'17 |- |R||Buick Enclave 2wd '18-'24, Chevy Traverse 2wd '18-'23 |- |R||Buick Enclave 2wd '25-'26, Chevy Traverse 2wd '24-'26 |- |S||Chevy Traverse Limited 2wd '24 |- |S||Chevy Colorado 2wd ('10-'12, '15-'26), GMC Canyon 2wd ('10) |- |T||Chevy Colorado 4wd ('10-'12, '15-'26), GMC Canyon 4wd ('10) |- |T||Chevy Traverse Limited Awd '24 |- |U||GMC Sierra 1500 4wd ('22-'26), Sierra HD 2500/3500 4wd ('25-'26) |- |V||GMC Acadia Awd '10-'16, Acadia Limited Awd '17, Saturn Outlook Awd '10, Buick Enclave Awd '10-'17, Chevy Traverse Awd '10-'17 |- |V||Buick Enclave Awd '18-'24, Chevy Traverse Awd '18-'23 |- |V||Buick Enclave Awd '25-'26, Chevy Traverse Awd '24-'26 |- |W||Chevy Silverado 1500 2wd ('19-'21), Silverado LTD 1500 2wd ('22), Silverado HD 2500/3500 2wd ('20-'24) |- |X||Buick Envision 2wd & Awd '16-'20, Chevy Equinox 2wd & Awd '18-'26 |- |Y||Chevy Silverado 1500 4wd ('19-'21), Silverado LTD 1500 4wd ('22), Silverado HD 2500/3500 4wd ('20-'24) |- |Z||Cadillac XT4 2wd & Awd '19-'25, Buick Envision 2wd '21-'23, Buick Envision Awd '21-'26 |- |1||GMC Sierra 2wd ('11-'18), Sierra Limited 1500 2wd ('19), Sierra HD 2500/3500 2wd ('19), Yukon 2wd ('11-'26), Yukon XL 2wd ('11-'26) |- |1||GMC Canyon 2wd ('25-'26) |- |2||GMC Sierra 4wd ('11-'18), Sierra Limited 1500 4wd ('19), Sierra HD 2500/3500 4wd ('19), Yukon 4wd ('11-'26), Yukon XL 4wd ('11-'26) |- |2||GMC Canyon 4wd ('25-'26) |- |3||Cadillac Escalade 2wd ('11-'24), Escalade ESV 2wd ('11-'24) |- |3||Cadillac Optiq EV ('25-), Cadillac Vistiq EV ('26-) |- |4||Cadillac Escalade 4wd ('11-'24), Escalade ESV 4wd ('11-'24), Escalade EXT 4wd ('11-'13) |- |5||GMC Canyon 2wd ('11-'12, '15-'24) |- |5||Chevy Tahoe 2wd ('25-'26), Suburban 2wd ('25-'26) |- |6||GMC Canyon 4wd ('11-'12, '15-'24) |- |6||Chevy Tahoe 4wd ('25-'26), Suburban 4wd ('25-'26) |- |7||GMC Savana 2wd ('11-'26) |- |8||GMC Savana 4wd ('11-'14) |- |8||GMC Sierra 1500 2wd ('19-'21), Sierra Limited 1500 2wd ('22), Sierra HD 2500/3500 2wd ('20-'24) |- |8||Cadillac Escalade 2wd ('25-'26), Escalade ESV 2wd ('25-'26) |- |9||GMC Sierra 1500 4wd ('19-'21), Sierra Limited 1500 4wd ('22), Sierra HD 2500/3500 4wd ('20-'24) |- |9||Cadillac Escalade 4wd ('25-'26), Escalade ESV 4wd ('25-'26) |- |0||GMC Hummer EV pickup ('22-'25), GMC Hummer EV SUV ('24-'25), Chevy Silverado EV ('24-'26), GMC Sierra EV ('24-'25) |} ====Series 2010- Light Duty Truck & Multi-Purpose Passenger Vehicle==== The Series is specified as character six of the American GM VIN for light trucks. {| border=1 style="margin:auto;" !VIN !Description |- |P (following N)||Saab 9-4X 3.0i 2wd ('11) |- |R (following N)||Saab 9-4X 3.0i Awd ('11) |- |S (following N)||Saab 9-4X 3.0i Premium 2wd ('11) |- |T (following N)||Saab 9-4X 3.0i Premium Awd ('11) |- |U (following N)||Saab 9-4X Aero Awd ('11) |} ===Platform & Series Codes 1985- Passenger Car=== GM used a lettered system of automobile platform codes for three decades. These letters were used as the fourth position of the VIN. Though today's GM platforms use Greek characters, they are still encoded with Latin characters in the fourth position. Position five encodes the specific model and trim level of the vehicle. {| border=1 style="margin:auto;" !List of GM platforms !Platform<br>Code !Series<br>Code !:Category:General Motors vehicles|Model |- |rowspan=14|GM A platform |rowspan=14|A||W||Chevrolet Celebrity 1985-1990 |- |E||Pontiac 6000 ''SE'' 1986-1988 |- |F||Pontiac 6000 1985-1988, 6000 ''LE'' 1989-1991 |- |G||Pontiac 6000 ''LE'' 1985-1988 |- |H||Pontiac 6000 ''STE'' 1985-1989 |- |J||Pontiac 6000 ''SE'' 1989-1991 |- |G||Oldsmobile Cutlass Ciera ''S'' Sedan 1993-1994 |- |J||Oldsmobile Cutlass Ciera ''LS'' 1985, Cutlass Ciera 1986-1989 & Cutlass Cruiser 1985-1989,<br /> Cutlass Ciera ''S'' Coupe 1986-1987, Cutlass Ciera ''S'' 1990-1991 & Cutlass Cruiser ''S'' 1990-1994, Cutlass Ciera ''SL'' & Cutlass Cruiser ''SL'' 1995, Ciera ''SL'' sedan & wagon 1996 |- |L||Oldsmobile Cutlass Ciera 1990-1991, Cutlass Ciera ''S'' Sedan 1992 |- |M||Oldsmobile Cutlass Ciera ''Brougham'' 1985-1988, Cutlass Ciera ''SL'' Coupe 1986-1989, Cutlass Ciera ''SL'' Sedan 1989-1993, Cutlass Cruiser ''Brougham'' 1987-1988, Cutlass Cruiser ''SL'' 1989-1993 |- |S||Oldsmobile Cutlass Ciera ''International Series'' 1988-1990 |- |G||Buick Century ''T-Type'' 1985-1986, Century ''Special'' 1991-1996 |- |H||Buick Century ''Custom'' 1985-1995 |- |L||Buick Century ''Limited'' 1985-1993, Century Estate Wagon 1986-1989 |- |rowspan=14|GM B platform |rowspan=14|B||L||Chevrolet Impala 1985, Caprice 1986-1992, Caprice Classic 1993-1996, Impala SS 1995-96 |- |N||Chevrolet Caprice Classic 1985-1992, Caprice Classic LS 1993-1994,<br /> Caprice Classic LTZ 1991-1993, Impala SS 1994 |- |U||Chevrolet Caprice Classic Brougham/Brougham LS 1987-1990 |- |L||Pontiac Parisienne 1985-1986, Safari Wagon 1987-1989 |- |T||Pontiac Parisienne Brougham 1985-1986 |- |N||Oldsmobile Delta 88 Royale 1985 |- |P||Oldsmobile Custom Cruiser 1985-1992 |- |V||Oldsmobile Delta 88 Royale Brougham LS 1985 |- |Y||Oldsmobile Delta 88 Royale Brougham 1985 |- |N||Buick Le Sabre ''Custom'' 1985, Roadmaster sedan 1992-1996 |- |P||Buick Le Sabre ''Limited'' 1985 |- |R||Buick Le Sabre Estate Wagon 1985-1989, Estate Wagon 1990,<br /> Roadmaster Estate Wagon 1991-1996 |- |T||Buick Roadmaster ''Limited'' sedan 1992-1996 |- |V||Buick Electra Estate Wagon 1985-1989 |- |rowspan=13|GM C platform - front-wheel drive |rowspan=13|C |V||Oldsmobile Touring Sedan 1988-1990, 98 Touring Sedan 1991-1993 |- |W||Oldsmobile 98 Regency Brougham 1985-1990, 98 Regency Elite 1991-1996 |- |X||Oldsmobile 98 Regency 1985-1990, 1992-1994 |- |F||Buick Electra T-Type 1985-1990 |- |U||Buick Electra Park Avenue Ultra 1989-1990, Park Avenue Ultra 1991-1996 |- |W||Buick Electra Park Avenue 1985-1990, Park Avenue 1991-1996 |- |X||Buick Electra 1985-1986, Electra Limited 1987-1990 |- |B||1985-1992 Cadillac Fleetwood, Fleetwood D'Elegance, 1993 Cadillac Sixty Special |- |D||1985-1993 Cadillac DeVille |- |G||1991-1992 Cadillac Fleetwood Sixty Special |- |H||1985-1987 Cadillac Fleetwood Limousine |- |S||1987-1990 Cadillac Fleetwood Sixty Special |- |T||1991-1993 Cadillac DeVille Touring Sedan |- |rowspan=3|GM G platform (models formerly on C platform) |rowspan=3|C |- |U||Buick Park Avenue Ultra 1997-2005 |- |W||Buick Park Avenue 1997-2005 |- |rowspan=2|GM D platform |rowspan=2|D||W||1985-1986 Cadillac Fleetwood Brougham, 1987-1992 Cadillac Brougham |- |W||1993-1996 Cadillac Fleetwood |- |rowspan=31|GM Delta I platform |rowspan=31|A |- |A||Chevrolet Cobalt LS w/manual trans. 2010 |- |B||Chevrolet Cobalt LS w/automatic trans. 2010 |- |C||Chevrolet Cobalt 1LT w/manual trans. 2010 |- |D||Chevrolet Cobalt 1LT w/automatic trans. 2010 |- |E||Chevrolet Cobalt 2LT w/manual trans. 2010 |- |F||Chevrolet Cobalt 2LT w/automatic trans. 2010 |- |G||Chevrolet Cobalt SS Turbo 2010 |- |H||Chevrolet Cobalt (base model w/XFE) 2010 |- |K||Chevrolet Cobalt (base model) 2005, Cobalt LS 2006-2008, Cobalt LS w/man. trans. 2009 |- |L||Chevrolet Cobalt LS 2005, Cobalt LT 2006-2008, Cobalt LT w/manual trans. 2009 |- |M||Chevrolet Cobalt SS 2006-2007, Cobalt Sport 2008 |- |P||Chevrolet Cobalt SS Supercharged 2005-2007, SS Turbo 2008-2009 |- |S||Chevrolet Cobalt LS w/automatic trans. 2009 |- |T||Chevrolet Cobalt LT w/automatic trans. 2009 |- |Z||Chevrolet Cobalt LT 2005, Cobalt LTZ 2006-2007 |- |L||Pontiac G5 2007-2008, G5 w/manual trans. 2009 |- |N||Pontiac G5 GT 2007-2008, G5 GT w/manual trans. 2009 |- |S||Pontiac G5 w/automatic trans. 2009 |- |T||Pontiac G5 GT w/automatic trans. 2009 |- |F||Saturn Ion sedan Level 1 w/manual trans. 2003-2005 |- |G||Saturn Ion sedan Level 1 w/automatic trans. 2003-2005 |- |J||Saturn Ion sedan Level 2 w/automatic trans. 2003-2007 |- |K||Saturn Ion sedan Level 3 w/manual trans. 2003-2007 |- |L||Saturn Ion sedan Level 3 w/automatic trans. 2003-2007 |- |M||Saturn Ion coupe Level 2 w/manual trans. 2003-2007 |- |N||Saturn Ion coupe Level 2 w/automatic trans. 2003-2007 |- |V||Saturn Ion coupe Level 3 w/manual trans. 2003-2007 |- |W||Saturn Ion coupe Level 3 w/automatic trans. 2003-2007 |- |Y||Saturn Ion coupe Red Line 2004-2007 |- |Z||Saturn Ion sedan Level 2 w/manual trans. 2003-2007 |- |rowspan=9|GM E platform |rowspan=9|E |- |V||Oldsmobile Toronado Trofeo 1988-1992 |- |Z||Oldsmobile Toronado Brougham 1985-1986, Toronado 1987-1992 |- |C||Buick Reatta 1988-1991 |- |Y||Buick Riviera T-Type 1985-1986 |- |Z||Buick Riviera 1985-1993 |- |C||Cadillac Eldorado Collector Series 2002 |- |L||Cadillac Eldorado 1985-2002 |- |T||Cadillac Eldorado Touring Coupe 1994-2002 |- |rowspan=26|GM Epsilon I platform |rowspan=26|Z||A||Chevrolet Malibu Fleet 2010-2012 |- |B||Chevrolet Malibu LS 2010-2012 |- |C||Chevrolet Malibu 1LT 2010-2012 |- |D||Chevrolet Malibu 2LT 2010-2012 |- |E||Chevrolet Malibu LTZ 2010-2011, Malibu 1LZ 2012 |- |F||Chevrolet Malibu Hybrid 2008-2010, Malibu 3LT 2012 |- |G||Chevrolet Malibu LS 2008-2009, Malibu 2LZ 2012 |- |H||Chevrolet Malibu 1LT 2008-2009 |- |J||Chevrolet Malibu 2LT 2008-2009 |- |K||Chevrolet Malibu LTZ 2008-2009 |- |S||Chevrolet Malibu 2004-2005, Malibu LS 2006-2007, Malibu Classic LS 2008 |- |T||Chevrolet Malibu LS 2004-2005, Malibu LT 2006-2007, Malibu Classic LT 2008 |- |U||Chevrolet Malibu LT 2004-2005, Malibu LTZ 2006-2007 |- |W||Chevrolet Malibu SS 2006-2007 |- |A||Pontiac G6 Sedan 2010 |- |F||Pontiac G6 2.4L Sedan (Base model) 2006, G6 Value Leader (Base model w/1SV) 2007-2008 |- |G||Pontiac G6 3.5L Sedan (Base model) 2005-2006, G6 (Base model) 2007-2009 |- |H||Pontiac G6 GT 2005-2009 |- |J||Pontiac G6 (Base model) 2009 1/2 (Mid-Cycle Revision) |- |K||Pontiac G6 GT 2009 1/2 (Mid-Cycle Revision) |- |L||Pontiac G6 GXP 2009 1/2 (Mid-Cycle Revision) |- |M||Pontiac G6 GTP 2006-2007, G6 GXP 2008-2009 |- |R||Saturn Aura Green Line 2007-2009 |- |S||Saturn Aura XE 2007-2009 |- |V||Saturn Aura XR 2007-2008, Aura XR 2.4L 2009 |- |X||Saturn Aura XR V6 2009 |- |rowspan=6|GM F platform |rowspan=6|F||P||Chevrolet Camaro Sport Coupe 1985-2002, Convertible 1987-1992, 1994-2002 |- |S||Chevrolet Camaro Berlinetta 1985-1986 |- |S||Pontiac Firebird 1985-2002, Firebird ''Formula'' 1987-1992 |- |V||Pontiac Firebird ''Formula / Trans Am'' 1993-2002, Firebird ''Trans Am GT'' 1994 |- |W||Pontiac Firebird ''Trans Am'' 1985-1992, Firebird ''Trans Am GTA'' 1987-1992 |- |X||Pontiac Firebird ''S/E'' 1985-1986 |- |rowspan=13|GM G platform - rear-wheel drive |rowspan=13|G||Z||Chevrolet Monte Carlo 1985-1988 |- |J||Pontiac Grand Prix 1985-1987 |- |K||Pontiac Grand Prix LE 1985-1987 |- |N||Pontiac Bonneville 1985-1986 |- |P||Pontiac Grand Prix Brougham 1985-1987 |- |R||Pontiac Bonneville Brougham 1985-1986 |- |S||Pontiac Bonneville LE 1985-1986 |- |K||Oldsmobile Cutlass Salon coupe 1985-1987 |- |M||Oldsmobile Cutlass Supreme ''Brougham'' 1985-1987,<br /> Cutlass Supreme Classic ''Brougham'' 1988 |- |R||Oldsmobile Cutlass Supreme 1985-1987, Cutlass Supreme Classic 1988 |- |J||Buick Regal 1985-1987 |- |K||Buick Regal T-Type 1985-1987 |- |M||Buick Regal ''Limited'' 1985-1987 |- |rowspan=4|GM G platform - front-wheel drive |rowspan=4|G||D||1995-1999 Buick Riviera |- |R||1995-1999 Oldsmobile Aurora |- |R||2001-2002 Oldsmobile Aurora 3.5 |- |S||2001-2003 Oldsmobile Aurora 4.0 |- |rowspan=9|GM H platform |rowspan=9|H||H||Buick Le Sabre 1987 |- |P||Buick Le Sabre ''Custom'' 1986-1999 |- |R||Buick Le Sabre ''Limited'' 1986-1999 |- |C||Oldsmobile Regency 1997-1998, Eighty Eight 50th Anniversary Edition 1999 |- |N||Oldsmobile Delta 88 Royale 1986-1988, 88 Royale 1989-1995, Eighty Eight & Eighty Eight LS 1996-99 |- |Y||Oldsmobile Delta 88 Royale Brougham 1986-1988, 88 Royale Brougham 1989-91, Eighty Eight Royale LS 1992-1995, LSS 1996-1999 |- |X||Pontiac Bonneville 1987, Bonneville LE 1988-1991, Bonneville ''SE'' 1992-1999 |- |Y||Pontiac Bonneville SSE 1988-1991, Bonneville ''SSEi'' 1992-1993 |- |Z||Pontiac Bonneville LE 1987, Bonneville SE 1988-1991, Bonneville ''SSE'' 1992-1999, Bonneville ''SSEi'' 1994-1999 |- |rowspan=17|GM G platform (models formerly on H platform or their successors) |rowspan=17|H||A||Buick Lucerne ''CX'' 2010-2011 |- |B||Buick Lucerne ''CX-2'' 2010 |- |C||Buick Lucerne ''CXL'' 2010-2011 |- |D||Buick Lucerne ''CXL V6'' 2006-2009, Lucerne ''CXL Special Edition'' 2010 |- |E||Buick Lucerne ''CXS'' 2006-2008, Lucerne ''CXL-3'' 2010 |- |F||Buick Lucerne ''Super'' 2008-2009, Lucerne ''CXL-4'' 2010 |- |G||Buick Lucerne ''CXL-5'' 2010 |- |H||Buick Lucerne ''Super 1SP'' 2010 |- |J||Buick Lucerne ''CXL Premium'' 2010-2011 |- |K||Buick Lucerne ''Super 1XS'' 2010, Lucerne ''Super'' 2011 |- |P||Buick Lucerne ''CX'' 2006-2009 |- |R||Buick Lucerne ''CXL V8'' 2006-2007, Lucerne ''CXL Special Edition V8'' 2008 |- |P||Buick Le Sabre ''Custom'' 2000-2005 |- |R||Buick Le Sabre ''Limited'' 2000-2005 |- |X||Pontiac Bonneville ''SE'' 2000-2005 |- |Y||Pontiac Bonneville ''SLE'' 2000-2005 |- |Z||Pontiac Bonneville ''SSEi'' 2000-2003, Bonneville GXP 2004-2005 |- |rowspan=23|GM J platform |rowspan=23|J |- |C||Chevrolet Cavalier 1985-1994, RS Convertible 1991-1994 |- |D||Chevrolet Cavalier CS 1985-1987 |- |E||Chevrolet Cavalier Type 10 1985, RS 1986-1988,<br /> Type 10 Convertible 1985, RS Convertible 1986-1987 |- |F||Chevrolet Cavalier Z24 1986-1994, Z24 Convertible 1988-1989, 1992-1994 |- |C||Chevrolet Cavalier 1995-2005, Cavalier RS 1997-1999 |- |F||Chevrolet Cavalier LS Sedan 1995-2005, LS Coupe 2003-2005, Z24 Coupe 1995-2001,<br /> LS Convertible 1995-1997, Z24 Convertible 1998-2000 |- |H||Chevrolet Cavalier Z24 Coupe/Sedan 2002, LS Sport 2002-2005 |- |S||Chevrolet Cavalier LS Coupe 2002 |- |B||Pontiac Sunbird 1985-1989, Sunbird LE 1990-1991, Sunbird SE 1992-1993,<br /> Sunbird LE 1994 |- |C||Pontiac Sunbird LE 1985, Sunbird 1991, Sunbird LE 1992-1993 |- |D||Pontiac Sunbird SE 1985-1991, Sunbird GT 1992-1993 |- |L||Pontiac Sunbird SE 1994 |- |U||Pontiac Sunbird GT 1986-1991 |- |B||Pontiac Sunfire SE 1995-2002, Convertible 1995-2000, Sunfire 2003-2005 |- |D||Pontiac Sunfire GT 1995-2002 |- |C||Oldsmobile Firenza Base model 1985-1987, Firenza S 1985-1987, Firenza 1988 |- |D||Oldsmobile Firenza LX 1985-1987, Firenza SX 1985, Firenza LC, GT 1986-1987 |- |E||Buick Skyhawk T-Type 1985-1986 |- |S||Buick Skyhawk Custom 1985-1987, Skyhawk Sport 1986-1987, Skyhawk 1988-1989 |- |T||Buick Skyhawk Limited 1985-1987 |- |G||Cadillac Cimarron 1985-1988 |- |G, H||Toyota Cavalier (Japan only) |- |rowspan=8|GM2900 platform |rowspan=8|J||C||Saturn L-Series|2004 Saturn L300.1 |- |D||Saturn L-Series|2004 Saturn L300.2, 2005 Saturn L300 |- |L||Saturn L-Series|2004 Saturn L300.3 |- |R||Saturn L-Series|Saturn LS w/manual transmission '00/L100 w/manual transmission '01 |- |S||Saturn L-Series|Saturn LS w/automatic transmission '00/L100 w/automatic transmission '01-'02 |- |T||Saturn L-Series|Saturn LS1 w/manual transmission '00/L200 w/manual transmission '01-'03, LW200 w/manual trans. '02 |- |U||Saturn L-Series|Saturn LS1 w/automatic transmission '00/L200 w/automatic transmission '01-'03,<br> Saturn LW1 w/automatic transmission '00/LW200 w/automatic transmission '01-'03 |- |W||Saturn L-Series|Saturn LS2 '00, LW2 '00, L300 '01-'03, LW300 '01-'03 |- |rowspan=5|GM K platform |rowspan=5|K||D||Cadillac Deville 1994-1999 |- |E||Cadillac Deville D'Elegance 1997-1999 |- |F||Cadillac Deville Concours 1994-1999 |- |S||Cadillac Seville 1985-1993 / Cadillac Seville SLS 1994-1997 |- |Y||Cadillac Seville Touring Sedan / Cadillac Seville STS 1990-1997 |- |rowspan=9|GM G platform (models formerly on K platform) |rowspan=9|K||A||2010-2011 Cadillac DTS |- |D||2000-2005 Cadillac Deville, 2006-2009 Cadillac DTS, 2010-2011 DTS Luxury |- |E||2000-2005 Cadillac Deville DHS |- |F||2000-2005 Cadillac Deville DTS |- |H||2010-2011 Cadillac DTS Premium |- |P||2010-2011 Cadillac DTS Platinum |- |R||2010-2011 Cadillac DTS Livery |- |S|| 1998-2004 Cadillac Seville SLS |- |Y|| 1998-2003 Cadillac Seville STS |- |rowspan=33|GM Kappa platform |rowspan=33|M||A||Pontiac Solstice w/automatic transmission 2010 |- |B||Pontiac Solstice 2006-2007, Solstice w/manual transmission 2008-2009 |- |B||Pontiac Solstice GXP w/automatic transmission 2010 |- |C||Pontiac Solstice w/automatic transmission 2008 |- |D||Pontiac Solstice w/manual transmission 2010 |- |E||Pontiac Solstice GXP w/manual transmission 2010 |- |F||Pontiac Solstice GXP w/automatic transmission 2008 |- |G||Pontiac Solstice GXP 2007, Solstice GXP w/manual transmission 2008-2009 |- |K||Pontiac Solstice Street Edition w/manual transmission 2009 |- |N||Pontiac Solstice w/automatic transmission 2009 |- |S||Pontiac Solstice SCCA SSB Championship Edition (2.4L) 2008 |- |T||Pontiac Solstice SCCA T2 Championship Edition (2.0L Turbo) 2008 |- |T||Pontiac Solstice GXP w/automatic transmission 2009 |- |Z||Pontiac Solstice Street Edition w/automatic transmission 2009 |- |B||Saturn Sky 2007, Sky w/manual transmission 2008-2009 |- |B||Saturn Sky Redline w/automatic transmission 2010 |- |C||Saturn Sky w/automatic transmission 2008 |- |C||Saturn Sky Ruby Red (Merlot Jewel) Special Edition w/manual transmission 2009 |- |C||Saturn Sky Preferred w/automatic transmission 2010 |- |D||Saturn Sky Hydro Blue Special Edition w/manual transmission 2009 |- |E||Saturn Sky Redline w/manual transmission 2010 |- |F||Saturn Sky Redline w/automatic transmission 2008 |- |F||Saturn Sky Preferred w/manual transmission 2010 |- |G||Saturn Sky Redline 2007, Sky Redline w/manual transmission 2008-2009 |- |H||Saturn Sky Redline Ruby Red (Merlot Jewel) Special Edition w/manual transmission 2009 |- |L||Saturn Sky Redline Hydro Blue Special Edition w/manual transmission 2009 |- |N||Saturn Sky w/automatic transmission 2009 |- |P||Saturn Sky Ruby Red (Merlot Jewel) Special Edition w/automatic transmission 2009 |- |R||Saturn Sky Hydro Blue Special Edition w/automatic transmission 2009 |- |T||Saturn Sky Redline w/automatic transmission 2009 |- |V||Saturn Sky Redline Ruby Red (Merlot Jewel) Special Edition w/automatic transmission 2009 |- |X||Saturn Sky Redline Hydro Blue Special Edition w/automatic transmission 2009 |- |G||Opel GT 2007-2010, Daewoo G2X 2007-2009 |- |rowspan=8|GM L platform |rowspan=8|L |- |D||Chevrolet Corsica ''Base'' 1994-1996 |- |T||Chevrolet Corsica ''Base'' 1987-1989, Corsica ''LT'' 1990-1993 |- |V||Chevrolet Beretta ''Base'' 1987-1996 |- |W||Chevrolet Beretta "GT" 1989-1993 (RPO Z21) & Beretta ''Z26'' 1994-1996 (RPO Z04) |- |Z||Chevrolet Corsica ''LTZ'' 1989-1990 (RPO Z54) |- |Z||Chevrolet Beretta "GTZ" 1990-1993 (RPO Z04) |- |T||Pontiac Tempest (Canada only) |- |rowspan=5|GM M platform |rowspan=5|M||R||Chevrolet Sprint |- |R||Geo Metro LSi, Metro |- |R||Pontiac Firefly (Canada only) |- |S||Chevrolet Sprint ER |- |S||Geo Metro, Metro XFi |- |rowspan=32|GM N platform |rowspan=32|N |- |B||Oldsmobile Cutlass 1997, Cutlass ''GL'' 1998-1999 |- |C||Buick Skylark 4-door ''Custom'' 1987-1991 |- |D||Buick Skylark 4-door ''Limited'' 1987-1989, Skylark 4-door ''Luxury Edition'' 1990-1991 |- |D||Chevrolet Malibu 1997-2003, Chevrolet Classic 2004-2005 |- |E||Chevrolet Malibu ''LS'' 1997-2003 |- |E||Pontiac Grand Am 1985-1988, Grand Am ''LE'' 1989-1991 |- |E||Pontiac Grand Am ''SE'' 1992-2005 |- |F||Oldsmobile Calais 1985-1987, Cutlass Calais 1988, Cutlass Calais ''S'' 1989-1991 |- |F||Oldsmobile Achieva ''SL'' 1992-1994, Achieva ''SC'' 1994 |- |F||Oldsmobile Alero ''GLS'' 1999-2004 |- |F||Pontiac Grand Am ''SE1'' 2000-2004 |- |G||Oldsmobile Cutlass ''GLS'' 1997-1999 |- |G||Pontiac Grand Am 1991 |- |G||Pontiac Grand Am ''SE2'' 2000, 2003-2004 |- |J||Buick Somerset Regal 1985, Somerset ''Custom'' 1986-1987, Skylark 2-door ''Custom'' 1988-91, Skylark 4-door ''Custom'' 1986 |- |J||Buick Skylark 1992, Skylark ''Limited'' 1993-1994, Skylark ''Custom'' 1996-1998,<br /> Skylark ''Limited'' & ''Gran Sport'' 1996-1997 |- |K||Buick Somerset ''T-Type'' 1986 |- |K||Oldsmobile Cutlass Calais ''International Series'' 1988-1991 |- |K||Oldsmobile Alero ''GX'' 1999-2004 |- |L||Oldsmobile Cutlass Calais 1989-1991 |- |L||Oldsmobile Achieva ''S'' 1992-1995, Achieva ''SL'' 1996-1998, Achieva ''SC'' 1996-1997 |- |L||Oldsmobile Alero ''GL'' 1999-2004 |- |M||Buick Somerset Regal ''Limited'' 1985, Somerset ''Limited'' 1986-'87, Skylark 2-door ''Limited'' '88-'89, Skylark 2-door ''Gran Sport'' 1990-1991, Skylark 4-door ''Limited'' 1986 |- |M||Buick Skylark ''Gran Sport'' 1992-1994 |- |T||Oldsmobile Calais ''Supreme'' 1985-1987, Cutlass Calais ''SL'' 1988-1991 |- |V||Buick Skylark 1990-1991 |- |V||Buick Skylark ''Custom'' 1993-1995, ''Limited'' 1995, ''Gran Sport'' 1995 |- |V||Pontiac Grand Am ''LE'' 1985-1988 |- |V||Pontiac Grand Am ''GT1'' 2000-2005 |- |W||Pontiac Grand Am ''SE'' 1986-1991 |- |W||Pontiac Grand Am ''GT'' 1992-2005 |- |rowspan=5|GM P platform - rear-wheel drive |rowspan=5|P |- ||E||Pontiac Fiero ''Coupe'' 1985-1988 |- ||F||Pontiac Fiero ''SE'' 1985-1987 |- ||G||Pontiac Fiero ''GT'' 1985-1988 |- ||M||Pontiac Fiero ''Sport coupe'' 1985-1987 |- |rowspan=1|GM P platform - front-wheel drive |rowspan=1|P||X||General Motors EV1 1997, 1999 |- |rowspan=6|GM R platform |rowspan=6|R |- ||F||1985-1986 Chevrolet Spectrum |- ||F||1987-1988 Chevrolet Spectrum 3-door hatchback, 1989 Geo Spectrum 3-door hatchback |- ||F||1990-1993 Geo Storm |- ||G||1987-1988 Chevrolet Spectrum 4-door sedan, 1989 Geo Spectrum 4-door sedan |- ||T||1990-1993 Geo Storm GSi |- |rowspan=8|GM S platform |rowspan=8|S||K||1985-1988 Chevrolet Nova |- |K||1989-1997 Geo Prizm, 1998-2002 Chevrolet Prizm |- |L||1988 Chevrolet Nova Twin Cam, 1990-1992 Geo Prizm GSi |- |L||2003-2008 Pontiac Vibe, 2009-2010 Pontiac Vibe FWD w/manual transmission |- |M||2003-2006 Pontiac Vibe ''AWD'', 2009-2010 Pontiac Vibe AWD w/automatic transmission |- |N||2003-2006 Pontiac Vibe ''GT'', 2009-2010 Pontiac Vibe GT FWD w/manual transmission |- |P||2009-2010 Pontiac Vibe FWD w/automatic transmission |- |R||2009-2010 Pontiac Vibe GT FWD w/automatic transmission |- |rowspan=32|GM Sigma platform |rowspan=32|D||A||Cadillac CTS Base model RWD 2010-2013, CTS Coupe Base model RWD 2014 |- |B||Cadillac CTS Wagon Luxury Collection RWD 2014 |- |C||Cadillac CTS Base model AWD 2010-2013, CTS Coupe/Wagon Performance Collection RWD 2014 |- |D||Cadillac CTS Coupe/Wagon Premium Collection RWD 2014 |- |E||Cadillac CTS Luxury Collection RWD 2010-2013, CTS Coupe Base model AWD 2014 |- |F||Cadillac CTS Auto. Trans. RWD 2008-2009, CTS Luxury Collection RWD w/Navigation 2010-2013, CTS Wagon Luxury Collection AWD 2014 |- |G||Cadillac CTS Auto. Trans. AWD 2008-2009, CTS Luxury Collection AWD 2010-2013, CTS Coupe/Wagon Performance Collection AWD 2014 |- |H||Cadillac CTS Auto. Trans. AWD w/Navigation 2008-2009, CTS Luxury Collection AWD w/Navigation 2010-2013, CTS Coupe/Wagon Premium Collection AWD 2014 |- |J||Cadillac CTS Auto. Trans. RWD w/Navigation 2008-2009, CTS Performance Collection RWD 2010-2013 |- |K||Cadillac CTS Performance Collection RWD w/Navigation 2010-2013 |- |L||Cadillac CTS Performance Collection AWD 2010-2013 |- |M||Cadillac CTS V6 2003-2004, CTS 2.8L 2005-2007, CTS Man. Trans. RWD 2008-2009, CTS Performance Collection AWD w/Navigation 2010-2013 |- |N||Cadillac CTS V-Series 2004-2007, 2009 |- |P||Cadillac CTS 3.6L 2005-2007, CTS Direct Inj. V6 Man. Trans. RWD 2008-2009, CTS Premium Collection RWD w/Navigation 2010-2013 |- |R||Cadillac CTS Direct Inj. V6 Auto. Trans. RWD 2008 |- |S||Cadillac CTS Direct Inj. V6 Auto. Trans. AWD 2008-2009, CTS Premium Collection AWD w/Navigation 2010-2013 |- |T||Cadillac CTS Direct Inj. V6 Auto. Trans. AWD w/Navigation 2008-2009 |- |U||Cadillac CTS Direct Inj. V6 Auto. Trans. RWD 2009 |- |V||Cadillac CTS Direct Inj. V6 Auto. Trans. RWD w/Navigation 2008-2009, CTS sedan V-Series 2010-2014, CTS Wagon V-Series 2011-2014, CTS Coupe V-Series 2011-2015 |- |0||Cadillac CTS Sport Appearance Pkg. 2010 |- |1||Cadillac CTS Eco Luxury Pkg. 2010 |- |2||Cadillac CTS Sport Appearance Pkg. 2011 |- |A||Cadillac STS V6 AWD 2008-2009 |- |B||Cadillac STS V8 AWD 2008-2009 |- |C||Cadillac STS V8 2005-2007, STS V8 RWD 2008-2009 |- |D||Cadillac STS V6 AWD w/Navigation 2008-2009 |- |K||Cadillac STS V6 RWD w/Navigation 2008-2009 |- |L||Cadillac STS V8 AWD w/Navigation 2008-2009 |- |U||Cadillac STS (all models) 2010, STS (Base model) 2011 |- |W||Cadillac STS V6 2005-2007, STS V6 RWD 2008-2009, STS Luxury 2011 |- |X||Cadillac STS V-Series 2006-2009, STS Luxury Performance 2011 |- |Z||Cadillac STS V8 RWD w/Navigation 2008-2009 |- |rowspan=4|GM T platform - rear-wheel drive |rowspan=4|T||B|| 1985-1987 Chevrolet Chevette CS |- |B||1985-1987 Pontiac Acadian (Canada only) |- |J||1985 Pontiac Acadian Scooter (Canada only) |- |L||1985-1987 Pontiac 1000 |- |rowspan=4|GM T platform - front-wheel drive |rowspan=4|T||N|| Pontiac LeMans 1988, LeMans LE 1989-1991, LeMans SE 1992-1993 |- |R||1988-1989 Pontiac LeMans SE sedan |- |S||1988-1990 Pontiac LeMans GSE AeroCoupe |- |X||1988-1993 Pontiac LeMans VL AeroCoupe |- |rowspan=3|GM T platform - front-wheel drive |rowspan=3|A |- |R||Saturn Astra XE (US: 2008, Canada: 2008-2009) |- |T||Saturn Astra XR (US: 2008, Canada: 2008-2009) |- |rowspan=4|Daewoo T200 platform |rowspan=4|T||D||Chevrolet Aveo Special Value 2004-2008, Base model 2004, LS 2005-2011, Aveo 1LT 2009-2011 |- |G||Chevrolet Aveo LT 2005-2008, Aveo 2LT 2009-2011 |- |J||Chevrolet Aveo LS 2004 |- |D||Pontiac G3 2009 |- |rowspan=2|GM V platform - front-wheel drive |rowspan=2|V||R||1987-1992 Cadillac Allanté with standard removable hardtop |- |S||1990-1993 Cadillac Allanté |- |rowspan=2|GM V platform - rear-wheel drive |rowspan=2|V||R||1997-2001 Cadillac Catera |- |X||2004-2006 Pontiac GTO coupe |- |rowspan=49|GM W platform |rowspan=49|W |- |A||Chevrolet Impala ''LS'' 2010-2013, Impala Limited ''LS'' 2014-2016 |- |B||Chevrolet Impala ''LS'' 2006-2009, Impala ''LT'' 2010-2013, Impala Limited ''LT'' 2014-2016 |- |C||Chevrolet Impala ''LT'' 3.9L 2006-2009, Impala ''LTZ'' 2010-2013, Impala Limited ''LTZ'' 2014-2016 |- |D||Chevrolet Impala ''SS'' 2006-2009, Impala ''Police'' 2010-2013, Impala Limited ''Police'' 2014-2016 |- |E||Chevrolet Impala ''Taxi'' 2010-2012 |- |F||Chevrolet Impala 2000-2005, Impala ''LS'' Fleet (1FL) 2011-2013 |- |G||Chevrolet Impala ''LT'' Fleet (2FL) 2011-2013 |- |H||Chevrolet Impala ''LS'' 2000-2005 |- |J||Chevrolet Monte Carlo ''LS'' 2006-2007 |- |K||Chevrolet Monte Carlo ''LT'' 3.9L 2006, Monte Carlo ''LT'' 3.5L 2007 |- |L||Chevrolet Lumina 1990-2001, Lumina ''LS'' 1997-1999 |- |L||Chevrolet Monte Carlo ''SS'' 2006-2007 |- |M||Chevrolet Monte Carlo ''LT'' 3.5L 2006 |- |N||Chevrolet Lumina ''Euro'' 1990-1994, Lumina ''LS'' 1995-1996, Lumina ''LTZ'' 1997-1999 |- |N||Chevrolet Monte Carlo ''LTZ'' 2006 |- |P||Chevrolet Lumina ''Z34'' 1991-1994, Impala ''SS'' 2004-2005 |- |S||Chevrolet Impala ''Police'' 2006-2009 |- |T||Chevrolet Impala ''LT'' 3.5L 2006-2009 |- |U||Chevrolet Impala ''LTZ'' 2006-2009 |- |V||Chevrolet Impala ''50th Anniversary Edition'' 2008 |- |W||Chevrolet Monte Carlo ''LS'' 1995-2005 |- |X||Chevrolet Monte Carlo ''Z34'' 1995-1999, Monte Carlo ''SS'' 2000-2004, Monte Carlo ''LT'' 2005 |- |Z||Chevrolet Monte Carlo ''SS Supercharged'' 2004-2005 |- |C||Pontiac Grand Prix ''GXP'' 2005-2008 |- |H||Pontiac Grand Prix ''LE'' 1991-1993 |- |J||Pontiac Grand Prix 1988-1989, Grand Prix ''LE'' 1990, Grand Prix ''SE'' 1991-2000 |- |K||Pontiac Grand Prix ''LE'' 1988-1989, Grand Prix ''SE1'' 2000-2003 |- |P||Pontiac Grand Prix ''SE'' 1988-1990, Grand Prix ''GT'' 1991-1993, 1997-2003,<br /> Grand Prix ''GT1'' 2004, Grand Prix 2005-2008 |- |R||Pontiac Grand Prix ''GTP'' 1999-2005, Grand Prix ''GT'' 2006-2007 |- |S||Pontiac Grand Prix ''GT2'' 2004, Grand Prix ''GT'' 2005 |- |T||Pontiac Grand Prix ''STE'' 1990-1993 |- |H||Oldsmobile Cutlass Supreme 1988-1991, Cutlass Supreme ''S'' 1992-1994,<br /> Cutlass Supreme ''SL'' 1995-1997, Intrigue 1998, Intrigue ''GX'' 1999-2002 |- |R||Oldsmobile Cutlass Supreme ''International Series'' 1988-1993 |- |S||Oldsmobile Cutlass Supreme ''SL'' 1988-1991, Intrigue ''GL'' 1998-2002 |- |T||Oldsmobile Cutlass Supreme Convertible 1990-1995 |- |X||Oldsmobile Intrigue ''GLS'' 1998-2002 |- |B||Buick Regal ''Custom'' 1988-1996, Regal ''GS'' Coupe 1995-1996, Regal ''LS'' 1997-2004 |- |C||Buick Lacrosse ''CX'' 2005-2009 |- |D||Buick Regal ''Limited'' 1988-1996, Lacrosse ''CXL'' 2005-2009 |- |E||Buick Lacrosse ''CXS'' 2005-2008 |- |F||Buick Regal ''GS'' Coupe 1992-1994, Regal ''GS'' Sedan 1992-2004 |- |F||Buick Allure ''CX'' 2005-2009 (Canada only) |- |H||Buick Allure ''CXS'' 2005-2008 (Canada only) |- |J||Buick Allure ''CXL'' 2005-2009 (Canada only) |- |N||Buick Lacrosse ''Super'' 2008-2009 |- |P||Buick Allure ''Super'' 2008-2009 (Canada only) |- |S||Buick Century ''Custom'' 1997-2005 |- |Y||Buick Century ''Limited'' 1997-2002 |- |rowspan=3|GM X platform |rowspan=3|X||B||1985 Buick Skylark Custom |- |C||1985 Buick Skylark Limited |- |X||1985 Chevrolet Citation II |- |rowspan=39|GM Y platform |rowspan=39|Y||V||2004-2009 Cadillac XLR |- |X||2006-2009 Cadillac XLR V-Series |- |Y||1985-2008 Chevrolet Corvette (all models except '90-'95 ZR-1) |- |Z||1990-1995 Chevrolet Corvette ZR-1 |- |G||2009 Chevrolet Corvette GT1 Championship Edition (Base & Z06) |- |R||2009 Chevrolet Corvette ZR1 (after early production) |- |Y||2009 Chevrolet Corvette (Base model, Early production Z06, Early production ZR1) |- |Z||2009 Chevrolet Corvette Z06 (after early production) |- |A||2010-2013 Chevrolet Corvette Standard 1LT Man. Trans. |- |B||2010-2013 Chevrolet Corvette Preferred 2LT Man. Trans. |- |C||2010-2013 Chevrolet Corvette Premium 3LT Man. Trans. |- |D||2010-2013 Chevrolet Corvette Custom 4LT Man. Trans. |- |E||2010-2013 Chevrolet Corvette Standard 1LT Auto. Trans. |- |F||2010-2013 Chevrolet Corvette Preferred 2LT Auto. Trans. |- |G||2010-2013 Chevrolet Corvette Premium 3LT Auto. Trans. |- |H||2010-2013 Chevrolet Corvette Custom 4LT Auto. Trans. |- |J||2010-2013 Chevrolet Corvette Z06 Standard 1LZ Man. Trans. |- |K||2010-2013 Chevrolet Corvette Z06 Premium 2LZ Man. Trans. |- |L||2010-2013 Chevrolet Corvette Z06 Custom 3LZ Man. Trans. |- |M||2010-2013 Chevrolet Corvette ZR1 Standard 1ZR Man. Trans. |- |N||2010-2013 Chevrolet Corvette ZR1 Custom 3ZR Man. Trans. |- |P||2010-2013 Chevrolet Corvette Grand Sport Standard 1LT Man. Trans. |- |R||2010-2013 Chevrolet Corvette Grand Sport Preferred 2LT Man. Trans. |- |S||2010-2013 Chevrolet Corvette Grand Sport Premium 3LT Man. Trans. |- |T||2010-2013 Chevrolet Corvette Grand Sport Custom 4LT Man. Trans. |- |U||2010-2013 Chevrolet Corvette Grand Sport Standard 1LT Auto. Trans. |- |V||2010-2013 Chevrolet Corvette Grand Sport Preferred 2LT Auto. Trans. |- |W||2010-2013 Chevrolet Corvette Grand Sport Premium 3LT Auto. Trans. |- |X||2010-2013 Chevrolet Corvette Grand Sport Custom 4LT Auto. Trans. |- |Y||2013 Chevrolet Corvette 427 Convertible Collector Edition Premium 3LT Man. Trans. |- |Z||2013 Chevrolet Corvette 427 Convertible Collector Edition Custom 4LT Man. Trans. |- |1||2013 Chevrolet Corvette 60th Anniversary Edition Custom 4LT Man. Trans. |- |2||2013 Chevrolet Corvette 60th Anniversary Edition Custom 4LT Auto. Trans. |- |3||2013 Chevrolet Corvette Grand Sport 60th Anniversary Edition Custom 4LT Man. Trans. |- |4||2013 Chevrolet Corvette Grand Sport 60th Anniversary Edition Custom 4LT Auto. Trans. |- |5||2013 Chevrolet Corvette Z06 60th Anniversary Edition Custom 3LZ Man. Trans. |- |6||2013 Chevrolet Corvette ZR1 60th Anniversary Edition Custom 3ZR Man. Trans. |- |7||2013 Chevrolet Corvette 427 Convertible 60th Anniversary Edition Custom 4LT Man. Trans. |- |8||2013 Chevrolet Corvette 427 Convertible Collector Edition Preferred 2LT Man. Trans. |- |rowspan=13|GM Z platform |rowspan=13|Z |- |E||Saturn SC1 (manual transmission 2-Door) 1993-1999 |- |F||Saturn SC1 (automatic transmission 2-Door) 1993-1999, SL (manual transmission) 1991-02 |- |G||Saturn SC (manual transmission) 1991-1992, SC2 (manual transmission 2-Door) 1993-99,<br /> SL1 (manual transmission) 1991-2002, SW1 (manual transmission) 1993-1999 |- |H||Saturn SC (automatic transmission) 1991-92, SC2 (automatic transmission 2-Door) '93-'99,<br /> SL1 (automatic transmission) 1991-02, SW1 (automatic transmission LHD) '93-'99 |- |J||Saturn SL2 (manual transmission) 1991-2002, SW2 (manual transmission) 1993-2001 |- |K||Saturn SL2 (automatic transmission) 1991-2002, SW2 (automatic transmission 1993-1999) |- |M||Saturn SW1 "Postal" [SWP] (automatic transmission RHD) 1999-2001 <br>(Made for US Postal Service rural route mail carriers) |- |N||Saturn SC1 (manual transmission 3-Door) 1999-2002, SW2 (automatic transmission 2000-01) |- |P||Saturn SC1 (automatic transmission 3-Door) 1999-2002 |- |R||Saturn SC2 (manual transmission 3-Door) 1999-2002 |- |S||Saturn SL Spring Special 2002 |- |Y||Saturn SC2 (automatic transmission 3-Door) 1999-2002 |- |rowspan=3|GM Zeta platform (VE) |rowspan=3|E||C||Pontiac G8 GT |- |P||Pontiac G8 GXP |- |R||Pontiac G8 (Base model) |- |rowspan=2|GM Zeta platform (VF) |rowspan=2|F||1||2014-2017 Chevrolet SS w/automatic transmission |- |2||2015-2017 Chevrolet SS w/manual transmission |- |GM Zeta platform (WM) |M||K||2011-2013 Chevrolet Caprice PPV |- |GM Zeta platform (WN) |N||S||2014-2017 Chevrolet Caprice PPV |- |rowspan=19|GM Zeta platform (models formerly on F platform) |rowspan=19|F||A||Chevrolet Camaro ''LS'' automatic transmission 2010-2011, ''2LS'' automatic transmission 2012-2014, ''LS'' manual transmission 2015 |- |B||Chevrolet Camaro ''LT'' automatic transmission 2010-2014, ''2LS'' automatic transmission 2015 |- |C||Chevrolet Camaro ''2LT'' automatic transmission 2010-2014, ''LT'' manual transmission 2015 |- |D||Chevrolet Camaro ''LT'' automatic transmission 2015 |- |E||Chevrolet Camaro ''LS'' manual transmission 2010-2014, ''2LT'' manual transmission 2015 |- |F||Chevrolet Camaro ''LT'' manual transmission 2010-2014, ''2LT'' automatic transmission 2015 |- |G||Chevrolet Camaro ''2LT'' manual transmission 2010-2014, ''SS'' manual transmission 2015 |- |H||Chevrolet Camaro ''SS'' automatic transmission 2015 |- |J||Chevrolet Camaro ''SS'' automatic transmission 2010-2014. Note: Must have "J" in 8th position of VIN. |- |J||Chevrolet Camaro ''ZL1'' automatic transmission 2012. Note: Must have "P" in 8th position of VIN. |- |J||Chevrolet Camaro ''2SS'' manual transmission 2015 |- |K||Chevrolet Camaro ''2SS'' automatic transmission 2010-2015 |- |L||Chevrolet Camaro ''ZL1'' automatic transmission 2013-2014, ''ZL1'' manual transmission 2015 |- |M||Chevrolet Camaro ''ZL1'' automatic transmission 2015 |- |S||Chevrolet Camaro ''SS'' manual transmission 2010-2014. Note: Must have "W" in 8th position of VIN. |- |S||Chevrolet Camaro ''ZL1'' manual transmission 2012. Note: Must have "P" in 8th position of VIN. |- |S||Chevrolet Camaro ''Z/28'' manual transmission 2014. Note: Must have "E" in 8th position of VIN. |- |T||Chevrolet Camaro ''2SS'' manual transmission 2010-2014 |- |Z||Chevrolet Camaro ''ZL1'' manual transmission 2013-2014, ''Z/28'' manual transmission 2015 |- |} RHD= Right-Hand Drive ====Model Line 2010- Passenger Car (Using Vehicle Platforms introduced 2010 or later)==== The Model Line is specified as character four of the American GM VIN for Passenger Cars. {| border=1 style="margin:auto;" !VIN !Description |- |A||Cadillac ATS 2013-2019 |- |A||Cadillac CTS sedan 2014-2019, CTS V-Series sedan 2016-2019 |- |B||Chevrolet Cruze 2016-2019 |- |C||Chevrolet Spark 2013-2022, Spark EV 2014-2016 |- |D||Cadillac CT4 2020-2026 |- |D||Cadillac CT5 2020- |- |F||Chevrolet Camaro 2016-2024 |- |F||Chevrolet Bolt EV 2017-2023, Bolt EUV 2022-2023, Bolt 2027 |- |G||Buick LaCrosse 2010-2016 |- |G||Buick Regal 2011-2020, Buick Regal TourX 2018-2020 |- |J||Chevrolet Sonic 2016-2020 |- |K||Cadillac CT6 2016-2020 |- |M||Cadillac Celestiq EV 2025- |- |P||Buick Verano 2012-2017 |- |P||Chevrolet Cruze 2011-2015, Cruze Limited 2016 |- |R||Cadillac ELR 2014, 2016 |- |R||Chevrolet Volt 2011-2019 |- |W||Buick Cascada 2016-2019 |- |Y||Chevrolet Corvette 2014- |- |Z||Buick LaCrosse 2017-2019 |- |Z||Chevrolet Malibu 2016-2025 |- |1||Cadillac XTS 2013-2019 |- |1||Chevrolet Impala 2014-2020 |- |1||Chevrolet Malibu 2013-2015, Malibu Limited 2016 |- |} ===Body style codes 1987- Passenger Car=== The Body type is specified as character six of the American GM VIN for passenger cars. {| border=1 style="margin:auto;" !VIN !Description |- |1||Two-Door Coupe/Sedan |- |2||Two-Door Hatchback |- |3||Two-Door Convertible |- |4||Two-Door Wagon ('91-'92 Geo Storm Hatchback) |- |5||Four-Door Sedan |- |6||Four-Door Hatchback |- |7||Four-Door Hatchback ('89-'90 Geo Prizm hatchback) |- |8||Four-Door Station Wagon |- |9||Four-Door Station Wagon - High Roof Monocab |} ===American restraint types 1987-=== The restraint type is specified as character seven of the American GM VIN for passenger cars. {{center/top}} ====Restraint codes for passenger cars 1987-2009==== {{center/end}} {| border=1 style="margin:auto;" !VIN Code !Description |- |1||Active (Manual) belts 1987-1996 |- |2||Active (Manual) belts plus driver and passenger front airbags 1992-2005<br />(For '94-'96 Pontiac Grand Prix coupe: Passive (Automatic) belts plus driver and passenger front airbags) |- |3||Active (Manual) belts plus driver side front airbag 1988-1996 <br />(For '94 Geo Prizm: Active (Manual) belts plus driver and passenger front airbags) |- |4||Passive (Automatic) belts 1987-1996 |- |4||Active (Manual) belts plus driver and passenger front & side airbags 1997-2005 |- |4||Active (Manual) belts plus driver and passenger front & side curtain airbags 2006-2009 |- |5||Passive (Automatic) belts plus driver side front airbag 1992-1996 |- |5||Active (Manual) belts plus driver and passenger front airbags & driver-side side impact airbag 2000-2005 |- |5||Active (Manual) belts plus driver and passenger front airbags & occupant sensor 2006-2009 |- |6||Passive (Automatic) belts plus driver and passenger front airbags 1994-1996 |- |6||Active (Manual) belts plus driver and passenger front & side airbags & occupant sensor 2000-2009 |- |7||Active (Manual) belt driver & Passive (Automatic) belt passenger plus driver and passenger front airbags 1996 |- |7||Active (Manual) belts plus driver and passenger front & side airbags & rear side airbags 2000-2005 |- |7||Active (Manual) belts plus driver and passenger front & side & side curtain airbags & occupant sensor 2006-2009 |- |8||Active (Manual) belts plus driver and passenger front & side curtain airbags & occupant sensor 2006-2009 |- |9|| |} {{center/top}} ====Restraint codes for passenger cars 2010-==== {{center/end}} {| border=1 style="margin:auto;" !VIN Code !Description |- |D||Active (Manual) belts plus driver and passenger front & side airbags 2010- |- |E||Active (Manual) belts plus driver and passenger front & side & side curtain airbags 2010-2017, 2027 |- |F||Active (Manual) belts plus driver and passenger front & side curtain airbags 2010 |- |G||Active (Manual) belts plus driver and passenger front & side & rear side & side curtain airbags 2010-2017 |- |N||Active (Manual) belts plus driver and passenger front & side & front knee airbags 2016-2019 |- |R||Active (Manual) belts plus driver and passenger front & side & side curtain & front knee airbags 2012- |- |S||Active (Manual) belts plus driver and passenger front & side & rear side & side curtain & front knee airbags 2011- |- |T||Active (Manual) belts plus driver and passenger front & side & front row side curtain airbags 2011 |- |U||Active (Manual) belts plus driver and passenger front & side & front row side curtain & front knee airbags 2012-2017 |} {{center/top}} ====Restraint codes for light trucks 2010-==== {{center/end}} {| border=1 style="margin:auto;" !VIN Code !Description |- |A||Active (Manual) belts plus driver-side front airbag 2010 |- |B||Active (Manual) belts plus driver-side front airbag 2011- |- |B||Active (Manual) belts plus driver and passenger front airbags 2010 |- |C||Active (Manual) belts plus driver and passenger front airbags 2011- |- |C||Active (Manual) belts plus driver and passenger front & side airbags 2010 |- |D||Active (Manual) belts plus driver and passenger front & side airbags 2011- |- |D||Active (Manual) belts plus driver and passenger front airbags & side curtain airbags for up to 3 rows of seating 2010 |- |E||Active (Manual) belts plus driver and passenger front & side & side curtain airbags 2010- |- |F||Active (Manual) belts plus driver and passenger front airbags & side curtain airbags for up to 3 rows of seating 2011-2015 |- |F||Active (Manual) belts plus driver and passenger front & side airbags & side curtain airbags for up to 3 rows of seating 2016- |- |H||Active (Manual) belts plus driver-side front airbag & driver-side side-impact airbag & driver-side side curtain airbag 2023-2024 |- |K||Active (Manual) belts plus driver and passenger front & side & side curtain & front center airbags 2013- |- |L||Active (Manual) belts plus driver and passenger front & side & side curtain & front center & driver-side knee airbags 2017-2023 |- |M||Active (Manual) belts plus driver and passenger front & side & side curtain & front center & front knee airbags 2025- |- |R||Active (Manual) belts plus driver and passenger front & side & side curtain & front knee airbags 2017- |- |S||Active (Manual) belts plus driver and passenger front & side & rear side & side curtain & front knee airbags 2013- |- |T||Active (Manual) belts plus driver-side front airbag & driver- and passenger-side side-impact airbags & side curtain airbags 2023- |- |U||Active (Manual) belts plus driver and passenger front & side & front row side curtain & front knee airbags 2013-2019 |} ===American engine codes 1981-=== GM encodes the engine type in character 8 of the VIN. The following table outlines the various engines encoded there: ====Engine codes for passenger cars==== Warning: Issues with decoding are related to year/model combinations. Each year has a different breakdown for each code along with plants and some model/trim breakdowns over years. Entry: 1985-1988 Pontiac Fiero has a 9 engine code for the 2.8L L44 V6. Entry: 1986-1990 Cadillac Brougham, Oldsmobile 307 Cu. In. V8 vin code Y. {| border=1 style="margin:auto;" !VIN !RPO !Size !Type !Fuel !Valvetrain !Engine Family/Notes/Applications |- |A||LD5||3.8&nbsp;L||V6||2 Barrel Carburetor |2BBL||OHV||Buick V6. (231 cu. in.) '81 Chevy Camaro (CA), Pontiac Catalina, Firebird, LeMans, Buick Century,<br /> '81-'83 Chevy Malibu (CA), '81-'84 Monte Carlo, Caprice, Impala (CA), '81-'87 Pontiac Grand Prix, Oldsmobile Cutlass/Cutlass Supreme, Buick Regal, '81-'85 Oldsmobile Delta 88, Buick LeSabre,<br /> '81-'86 Pontiac Bonneville, '84 Parisienne |- |A||LG0||2.3&nbsp;L||Straight-4|I4||Fuel injection#Multi-port fuel injection|MFI||DOHC,<br /> 16 valve||Oldsmobile Quad 4 H.O. '89-'94 Pontiac Grand Am, '89-'91 Oldsmobile Cutlass Calais, '92-'94 Achieva, '90 Cutlass Supreme, '90-'94 Chevy Beretta |- |A||LH2||4.6&nbsp;L||V8||Fuel injection#Sequential Multi-port injection|SFI||DOHC,<br /> 32 valve||Cadillac Northstar V8 (For RWD) (Premium V). '04-'09 Cadillac XLR, '05-'10 Cadillac STS |- |A||LCV||2.5&nbsp;L||Straight-4|I4||Direct Injection|DI||DOHC,<br /> 16 valve||GM Ecotec engine, Gen III. VVT. '13 Chevy Malibu, '16 Malibu Limited, '16-'19 Impala,<br /> '13-'16 Cadillac ATS |- |A||LV7||1.4&nbsp;L||Straight-4|I4||Fuel injection#Multi-port fuel injection|MFI||DOHC,<br /> 16 valve||GM Small Gasoline Engine. VVT. Made in Changwon, S. Korea. '16-'22 Chevy Spark. |- |B||LG2||3.8&nbsp;L||V6||Fuel injection#Sequential Multi-port injection|SFI||OHV||Buick V6. '86 Oldsmobile 98, Toronado, Buick Electra, Riviera. |- |B||L26||4.9&nbsp;L||V8||Fuel injection#Multi-port fuel injection|MFI||OHV||Cadillac High Technology V8.<br /> '91-'93 Cadillac Eldorado, Seville, '91-'95 DeVille, '91-'92 Fleetwood, '91-'93 Sixty Special |- |B||LE5||2.4&nbsp;L||Straight-4|I4||Fuel injection#Multi-port fuel injection|MFI||DOHC,<br /> 16 valve||GM Ecotec Gen II. VVT. '06-'08 Chevy Cobalt, '06-'07 Saturn Ion, '06-'10 Pontiac G6, Solstice,<br /> '07-'08 Pontiac G5, '07-'10 Saturn Sky, '08-'09 Saturn Aura, '08-'10 Chevy Malibu |- |B||LUV||1.4L||I4 Turbo||Fuel injection#Sequential Multi-port fuel injection|SFI||DOHC,<br /> 16 valve||GM Family 0 Engine, Gen III. VVT. '12-'20 Chevy Sonic, '13-'15 Chevy Cruze, '16 Cruze Limited |- |C||L17||1.6&nbsp;L||Straight-4|I4||2 Barrel Carburetor |2BBL||SOHC,<br /> 8 valve||Isuzu G161Z engine made by GM in US. '82-'87 Chevy Chevette, Pontiac T1000/1000 |- |C||LN3||3.8&nbsp;L||V6||Fuel injection#Multi-port fuel injection|MFI||OHV||Buick V6 (3800). '88-'90 Oldsmobile 98, Toronado, Buick Electra, Riviera, Reatta, <br /> '88-'91 Buick LeSabre, Oldsmobile Delta 88/Eighty Eight, Pontiac Bonneville |- |C||L47||4.0&nbsp;L||V8||Fuel injection#Sequential Multi-port injection|SFI||DOHC,<br /> 32 valve||Oldsmobile Aurora V8 (Premium V). Oldsmobile Aurora '95-'99, Aurora 4.0 '01-'03 |- |C||LS4||5.3 L||V8||Fuel injection#Sequential Multi-port injection|SFI||OHV||Gen IV Chevrolet Small-Block V8. Aluminum Block & Heads. Active Fuel Management.<br /> Transversely mounted for FWD. '05-'08 Pontiac Grand Prix GXP, '06-'07 Chevy Monte Carlo SS,<br /> '06-'09 Chevy Impala SS, '08-'09 Buick LaCrosse Super. |- |C||LAF||2.4&nbsp;L||Straight-4|I4||Direct Injection|DI||DOHC,<br /> 16 valve||GM Ecotec engine, Gen II. VVT. Buick LaCrosse '10-'11, Regal '11. |- |C||LUJ||1.4L||I4 Turbo||Fuel injection#Sequential Multi-port fuel injection|SFI||DOHC,<br /> 16 valve||GM Family 0 Engine, Gen III. VVT. Early production engines were made in Aspern, Austria; later made in Flint, MI. '12 Chevy Cruze |- |D||LJ5||1.8&nbsp;L||Straight-4|I4||Indirect injection Diesel||SOHC,<br /> 8 valve||Isuzu 4FB1 diesel engine imported from Japan. '81-'86 Chevy Chevette |- |D||LD2||2.3&nbsp;L||Straight-4|I4||Fuel injection#Multi-port fuel injection|MFI||DOHC,<br /> 16 valve||Oldsmobile Quad 4. '88-'95 Pontiac Grand Am, '88-'91 Oldsmobile Cutlass Calais, '92-'95 Achieva,<br /> '88-'91 &'95 Buick Skylark, '90-'91 Pontiac Grand Prix, Oldsmobile Cutlass Supreme,<br /> '95 Chevy Cavalier, Pontiac Sunfire |- |D||LC3||4.4&nbsp;L||V8 Supercharged||Fuel injection#Sequential Multi-port point injection|SFI||DOHC,<br /> 32 valve||Cadillac Northstar V8 (Premium V). '06-'09 Cadillac XLR V-Series, Cadillac STS V-Series |- |E||LK9||3.0&nbsp;L||V6||2 Barrel Carburetor |2BBL||OHV||Buick V6. '82-'85 Oldsmobile Cutlass Ciera, Buick Century, '85 Oldsmobile 98, Buick Electra |- |E||LA1||3.4&nbsp;L||V6||Fuel injection#Sequential Multi-port point injection|SFI||OHV||Chevrolet 60° V6. '99-'05 Grand Am, '99-'04 Alero, '00-'05 Impala, Monte Carlo |- |E||L03||5.0&nbsp;L||V8||Fuel injection#Throttle Body injection|TBI||OHV||Gen I Chevy Small-Block V8 (305 cu. in.). '88-'92 Camaro/Firebird, '89-'93 Chevy Caprice,<br /> '91 Buick Roadmaster Estate wagon, '91-'92 Oldsmobile Custom Cruiser, Cadillac Brougham. |- |E||LXV||1.6&nbsp;L||Straight-4|I4||Fuel injection#Multi-port fuel injection|MFI||DOHC,<br /> 16 valve||Family 1 Gen 3 engine. W/VVT. '09-'11 Chevy Aveo, '09 Pontiac G3 |- |E||LS7||7.0&nbsp;L||V8||Fuel injection#Sequential Multi-port point injection|SFI||OHV||Gen IV Chevy Small-Block V8. Aluminum Block & Heads.<br /> '06-'13 Corvette Z06, '13 Corvette 427, '14-'15 Camaro Z/28 |- |E||LH7||1.6&nbsp;L||I4 Turbo||Direct injection <br /> Common-rail Diesel||DOHC,<br /> 16 valve||GM Medium Diesel engine ("Whisper Diesel"). Made by Opel in Szentgotthárd, Hungary.<br /> Aluminum Block & Heads. '17-'19 Chevy Cruze Diesel. |- |F||LV8||4.3&nbsp;L||V8||2 Barrel Carburetor |2BBL||OHV||Oldsmobile "Rocket" V8 (260 cu. in.) '81 Oldsmobile Cutlass, Delta 88. |- |F||L61||2.2&nbsp;L||Straight-4|I4||Fuel injection#Multi-port fuel injection|MFI||DOHC,<br /> 16 valve||GM Ecotec Gen I. '00-'04 Saturn L-Series, '02-'05 Chevy Cavalier, Pontiac Sunfire, Grand Am,<br /> '02-'04 Oldsmobile Alero, '03-'06 Saturn Ion, '04-'06 Chevy Malibu, '05-'06 Chevy Cobalt |- |F||L61||2.2&nbsp;L||Straight-4|I4||Fuel injection#Multi-port fuel injection|MFI||DOHC,<br /> 16 valve||GM Ecotec Gen II. '07-'08 Chevy Cobalt, Malibu, Pontiac G5, '07 Saturn Ion. |- |F||LB9||5.0&nbsp;L||V8||Tuned-port fuel injection|TPI||OHV||Gen I Chevy Small-Block V8. (305 cu. in.). '85-'92 Chevy Camaro, Pontiac Firebird. |- |G||L46||1.8&nbsp;L||I4||2 Barrel Carburetor |2BBL||OHV||Chevrolet "122" engine. '82 J-cars. |- |G||L69||5.0&nbsp;L||V8||4 Barrel Quadrajet Carburetor |4BBL||OHV||Gen I Chevy Small-Block V8 (High Output 5.0L). (305 cu. in.)<br /> '84-'86 Camaro/Firebird, '84-'88 Chevy Monte Carlo SS |- |G||LM3||2.2&nbsp;L||I4||Fuel injection#Throttle Body injection|TBI||OHV||Chevrolet "122" engine. '90-'91 Chevy Cavalier & Corsica/Beretta. |- |G||LS1||5.7&nbsp;L||V8||Fuel injection#Multi-port fuel injection|MFI||OHV||Gen III Chevy Small-Block V8. (346 cu. in.) Aluminum Block & Heads.<br /> '97-'04 Corvette, '98-'02 Camaro/Firebird, '04 Pontiac GTO |- |G||LF1||3.0L||V6||Direct Injection|DI||DOHC,<br /> 24 valve||GM High Feature V6. VVT. 2010 Buick LaCrosse, Cadillac CTS |- |G||LWE||1.8&nbsp;L||Straight-4|I4||Fuel injection#Sequential Multi-port fuel injection|SFI||DOHC,<br /> 16 valve||GM Family 1 engine, Gen III. VVT. PZEV emissions.<br /> '13-'15 Chevy Cruze, '16 Cruze Limited, '13-'18 Sonic. |- |H||LG4||5.0&nbsp;L||V8||4 Barrel Quadrajet Carburetor |4BBL||OHV||Gen I Chevy Small-Block V8. (305 cu. in.) '81-'87 F-bodies, '81-'83 Chevy Malibu, '81-'85 Impala,<br /> '81-'88 Caprice, Monte Carlo, '83-'86 Pontiac Bonneville, Parisienne, '83-'87 Grand Prix |- |H||LE4||2.0&nbsp;L||Straight-4|I4||Fuel injection#Multi-port fuel injection|MFI||SOHC,<br /> 8 valve||GM Family II engine. Made in Brazil. '92-'94 Pontiac Sunbird. |- |H||LX5||3.5&nbsp;L||V6||Fuel injection#Sequential Multi-port injection|SFI||DOHC,<br /> 24 valve||Oldsmobile "Shortstar" V6 (Premium V). Oldsmobile Intrigue '99-'02, Aurora 3.5 '01-'02. |- |H||LAP||2.2&nbsp;L||Straight-4|I4||Fuel injection#Multi-port fuel injection|MFI||DOHC,<br /> 16 valve||GM Ecotec Gen II. VVT. '09 Chevy Cobalt, Pontiac G5. |- |H||LUW||1.8&nbsp;L||Straight-4|I4||Fuel injection#Sequential Multi-port fuel injection|SFI||DOHC,<br /> 16 valve||GM Family 1 engine, Gen III. VVT. '11-'15 Chevy Cruze, '16 Cruze Limited, '12-'18 Sonic. |- |J||L39||4.4&nbsp;L||V8||2 Barrel Carburetor |2BBL||OHV||Gen I Chevy Small-Block V8 (267 cu. in.) '81-'82 Chevy Caprice, Impala, Malibu, Monte Carlo,<br /> '81 Chevy Camaro |- |J||LA5||1.8&nbsp;L||Straight-4|I4 Turbo||Fuel injection#Multi-port fuel injection|MFI||SOHC,<br /> 8 valve||GM Family II engine. Made in Brazil. '84-'86 Pontiac Sunbird, Buick Skyhawk. |- |J||LT5||5.7&nbsp;L||V8||Fuel injection#Multi-port fuel injection|MFI||DOHC,<br /> 32 valve||Based on Chevy Small-Block V8. Designed with Lotus Engineering.<br /> Made by Mercury Marine. Aluminum Block & Heads. '90-'95 Corvette ZR-1 |- |J||LG8||3.1&nbsp;L||V6||Fuel injection#Sequential Multi-port injection|SFI||OHV||Chevrolet 60° V6. Gen III. 3100. '99-'03 Chevy Malibu, '99 Oldsmobile Cutlass, '00-'01 Chevy Lumina,<br /> '00-'03 Pontiac Grand Prix SE, '00-'05 Buick Century |- |J||L99||6.2&nbsp;L||V8||Fuel injection#Sequential Multi-port injection|SFI||OHV||Gen IV Chevy Small-Block V8. VVT. With Active Fuel Management. Aluminum Block & Heads.<br /> '10-'15 Camaro SS (auto. trans.) |- |J||LTA||4.2&nbsp;L||V8 Twin Turbo||Direct injection|DI||DOHC,<br /> 32 valve||Cadillac Blackwing V8. VVT. '19-'20 Cadillac CT6 Platinum & V-series |- |K||LC3||3.8&nbsp;L||V6||2 Barrel Carburetor |2BBL||OHV||Chevrolet 90° V6 (Chevy Small-Block V8 Derived). 229 cu. in. <br /> '81-'82 Malibu, Monte Carlo, Impala, Caprice, '81 Camaro. |- |K||LC5||1.5&nbsp;L||I4||2 Barrel Carburetor |2BBL||SOHC,<br /> 8 valve||Isuzu 4XC1 engine. '85 Chevrolet Spectrum. |- |K||LT2||2.0&nbsp;L||Straight-4|I4||Fuel injection#Throttle Body injection|TBI||SOHC,<br /> 8 valve||GM Family II engine. Made in Brazil.<br /> '87-'91 Pontiac Sunbird, '87-'88 Oldsmobile Firenza, Buick Skyhawk. |- |K||LT2||2.0&nbsp;L||Straight-4|I4||Fuel injection#Throttle Body injection|TBI||SOHC,<br /> 8 valve||GM Family II engine. Made in Australia by Holden.<br /> '89-'90 Pontiac LeMans GSE Aerocoupe, '89 LeMans SE sedan |- |K||L36||3.8&nbsp;L||V6||Fuel injection#Sequential Multi-port injection|SFI||OHV||Buick V6 (3800 Series II). '95-'05: Various W-, H-, C-, & G-body models. '95-'02 Camaro/Firebird. |- |K||LZE||3.5L||V6||Fuel injection#Sequential Multi-port injection|SFI||OHV||GM High Value 60° V6. 3510cc. VVT. Flex-Fuel E85 compatible.<br /> '06-'07 Chevy Monte Carlo, '06-'11 Chevy Impala, '09-'10 Chevy Malibu, Pontiac G6 |- |K||LEA||2.4&nbsp;L||Straight-4|I4||Direct Injection|DI||DOHC,<br /> 16 valve||E85 Flex Fuel. GM Ecotec engine, Gen II. VVT. Buick Regal, Verano '12-'17 (except '13 Regal). |- |K||LSY||2.0&nbsp;L||Straight-4|I4 Turbo||Direct Injection|DI||DOHC,<br /> 16 valve||GM Ecotec engine, Gen III. Active Fuel Management. VVT. VVL.<br /> '19 Cadillac CT6, '20+ Cadillac CT4, CT5 |- |L||LM1||5.7&nbsp;L||V8||4 Barrel Carburetor |4BBL||OHV||Gen I Chevy Small-Block V8.<br> '81 Camaro Z28 (only w/auto. trans. in US), '81-'82 Impala 9C1 Police, '81 Malibu 9C1 Police |- |L||LL1||2.8&nbsp;L||V6||2 Barrel Carburetor |2BBL||OHV||Chevrolet 60° V6 H.O. (longitudinally mounted). '83-'84 Pontiac Firebird. |- |L||LN7||3.0&nbsp;L||V6||Fuel injection#Multi-port fuel injection|MFI||OHV||Buick V6. '85-'87 Pontiac Grand Am, '85-'88 Oldsmobile & Buick N-bodies,<br /> '86 Oldsmobile Delta 88, Buick LeSabre |- |L||L27||3.8&nbsp;L||V6||Fuel injection#Tuned port injection|TPI||OHV||Buick V6 (3800 Series I). '90-'95 Buick Regal, '91-'94 Oldsmobile 98, Buick Park Avenue, '91 Reatta, '91-'93 Riviera, '91-'92 Oldsmobile Toronado, '92-'95 Buick LeSabre, '92-'94 Pontiac Bonneville, Oldsmobile 88 |- |L||LNK||1.8&nbsp;L||Straight-4|I4||Fuel injection#Sequential multi-port injection|SFI||DOHC,<br /> 16 valve||Toyota 2ZZ-GE engine. VVTL-i. '03-'06 Pontiac Vibe GT |- |L||LKW||2.5&nbsp;L||Straight-4|I4||Direct Injection|DI||DOHC,<br /> 16 valve||GM Ecotec engine, Gen III. VVT. VVL. '14-'15 Chevy Malibu, Impala |- |L||L3B||2.7L||I4 Turbo||Direct Injection|DI||DOHC,<br /> 16 valve||GM L3B Tripower engine. VVT, VVL. Active Fuel Management. '20+ Cadillac CT4, CT4-V |- |M||LY9||1.0&nbsp;L||Straight-3|I3||2BBL||SOHC,<br /> 6 valve ||Suzuki G10A engine. '85 Chevrolet Sprint |- |M||LT3||2.0&nbsp;L||Straight-4|I4 Turbo||Fuel injection#Multi-port fuel injection|MFI||SOHC,<br /> 8 valve||GM Family II engine. Made in Brazil.<br /> '87-'90 Pontiac Sunbird, '87 Buick Skyhawk T-Type, '87-'89 Pontiac Grand Am SE. |- |M||L82||3.1&nbsp;L||V6||Fuel injection#Sequential Multi Port Fuel injection|SFI||OHV||Chevrolet 60° V6 (transversely mounted). Gen III. 3100. '93-'97 Oldsmobile Cutlass Supreme,<br /> '94-'98 Pontiac Grand Am, Oldsmobile Achieva, Buick Skylark, '94-'99 Pontiac Grand Prix,<br /> '94-'96 Chevy Corsica/Beretta, Oldsmobile Cutlass Ciera, Buick Regal, '94-'99 Century,<br /> '95-'99 Chevy Lumina, Monte Carlo, '97-'99 Chevy Malibu, Oldsmobile Cutlass |- |M||LY9||2.6&nbsp;L||V6||Fuel injection#Multi-port fuel injection|MFI||DOHC,<br /> 24 valve||Opel 54° V6 engine (Made in the UK). Euro-market Cadillac CTS '03-'04. |- |M||LGD||3.9L||V6||Fuel injection#Sequential Multi Port Fuel injection|SFI||OHV||E85 Flex Fuel. GM High Value 60° V6. VVT. '09-'11 Chevy Impala, Buick Lucerne |- |M||LE2||1.4&nbsp;L||Straight-4|I4 Turbo||Direct Injection|DI||DOHC,<br /> 16 valve||GM Small Gasoline Engine. VVT. '16-'19 Chevy Cruze. |- |N||LF9||5.7&nbsp;L||V8||Indirect injection Diesel||OHV||Oldsmobile Diesel V8. '81-'85 Chevy Caprice, Impala, '82-'83 Malibu, '82-'84 Monte Carlo,<br /> '81-'84 Pontiac Grand Prix, Bonneville, '81 Catalina, '83-'85 Parisienne,<br /> '81-'84 Oldsmobile 98, '81-'85 Cutlass/Cutlass Supreme, Delta 88, Custom Cruiser, Toronado,<br /> '81-'83 Buick Electra, '81-'85 LeSabre, Electra Estate wagon, Riviera, '82-'83 Regal,<br /> '81-'84 Cadillac DeVille, '81-'85 Fleetwood Brougham, Eldorado, Seville |- |N||LG7||3.3&nbsp;L||V6||Fuel injection#Multi-port fuel injection|MFI||OHV||Buick V6 (3300). '89-'93 Buick Century, Skylark, Oldsmobile Cutlass Ciera, '89-'91 Cutlass Calais,<br /> '92-'93 Achieva, Pontiac Grand Am. |- |N||LA3||3.2&nbsp;L||V6||Fuel injection#Multi-port fuel injection|MFI||DOHC,<br /> 24 valve||Opel 54° V6 engine (Made in the UK). '03-'04 Cadillac CTS |- |N||LZ4||3.5L||V6||Fuel injection#Sequential Multi-port injection|SFI||OHV||GM High Value 60° V6. 3510cc. VVT. '06-'07 Chevy Monte Carlo, '06-'10 Chevy Impala,<br /> '07-'10 Chevy Malibu, Pontiac G6, '07-'08 Saturn Aura |- |N||LFR||3.6L||V6||Fuel injection#Multi-port fuel injection|MFI||DOHC,<br /> 24 valve||(Bi-Fuel Gas/CNG). GM High Feature V6. '15-'17 Chevy Impala Bi-Fuel |- |P||LQ5||2.0&nbsp;L||I4||Fuel injection#Throttle Body injection|TBI||OHV||Chevrolet "122" engine. '83-'86 J-cars ('83-'84 for Pontiac). |- |P||LT1||5.7&nbsp;L||V8||Fuel injection#Sequential Multi-port injection|SFI||OHV||Gen II Chevy Small-Block V8. Aluminum Heads: '92-'96 Corvette, '93-'97 Camaro/Firebird.<br /> Iron Heads: '94-'96 Chevy Caprice, Impala SS, Buick Roadmaster, Cadillac Fleetwood. |- |P||LSJ||2.0&nbsp;L||SC Straight-4|I4 Supercharged||Fuel injection#Sequential central point injection|SFI||DOHC,<br /> 16 valve||GM Ecotec Gen I. Made by Opel in Kaiserslautern, Germany.<br /> '04-'07 Saturn Ion Red Line, '05-'07 Chevy Cobalt SS Supercharged. |- |P||LSA||6.2&nbsp;L||V8 Supercharged||Fuel injection#Sequential Multi-port injection|SFI||OHV||Gen IV Chevy Small-Block V8. Aluminum Block & Heads.<br /> Cadillac CTS V-Series '09-'15, Camaro ZL1 '12-'15 |- |P||LF4||3.6L||V6 Twin Turbo||Direct Injection|DI||DOHC,<br /> 24 valve||GM High Feature V6. Cadillac CT4-V Blackwing '22+ |- |R||LR8||2.5L||I4||Fuel injection#Throttle Body injection|TBI||OHV||Pontiac Iron Duke/Tech IV engine. Transversely mounted. '82-'85 Chevy Citation, Buick Skylark,<br /> '82-'84 Pontiac Phoenix, Oldsmobile Omega, '82-'90 Chevy Celebrity, '82-'91 Pontiac 6000,<br /> '82-'92 Oldsmobile Cutlass Ciera, Buick Century, '84-'88 Pontiac Fiero, '90-'92 Chevy Lumina |- |R||L81||3.0&nbsp;L||V6||Fuel injection#Multi-port fuel injection|MFI||DOHC,<br /> 24 valve||Opel 54° V6 engine (Made in the UK). '97-'01 Cadillac Catera, '00-'05 Saturn L-Series |- |R||LZ8||3.9L||V6||Fuel injection#Sequential Multi Port Fuel injection|SFI||OHV||GM High Value 60° V6. VVT. Active Fuel Management. '07 Chevy Impala |- |R||LS9||6.2&nbsp;L||V8 Supercharged||Fuel injection#Sequential Multi-port injection|SFI||OHV||Gen IV Chevy Small-Block V8. Aluminum Block & Heads. '09 Corvette ZR1. |- |R||LUK||2.4L||I4||Direct Injection|DI||DOHC,<br /> 16 valve||Mild Hybrid. GM Ecotec Gen II. VVT. '12-'16 Buick LaCrosse eAssist, Regal eAssist,<br /> '13-'14 Chevy Malibu Eco, '14 Chevy Impala Eco |- |S||LS5||4.3&nbsp;L||V8||2 Barrel Carburetor |2BBL||OHV||Pontiac V8. 265 cu. in.<br /> '81 Pontiac Bonneville, Catalina, Firebird, Grand Prix, LeMans, Buick Century, Regal. |- |S||LU5||5.0&nbsp;L||V8||Cross-Fire fuel injection|CFI||OHV||Gen I Chevy Small-Block V8. (305 cu. in.) '83 Camaro, Firebird. Dual throttle-body fuel injection. |- |S||LB8||2.8&nbsp;L||V6||Fuel injection#Multi Port Fuel injection|MPFi||OHV||Chevrolet 60° V6 (longitudinally mounted). '85-'89 Chevy Camaro, Pontiac Firebird. |- |S||L32||3.4&nbsp;L||V6||Fuel injection#Multi Port Fuel injection|MPFi||OHV||Chevrolet 60° V6 (longitudinally mounted). '93-'95 Chevy Camaro, Pontiac Firebird. |- |S||LS6||5.7&nbsp;L||V8||Fuel injection#Sequential Multi Port injection|SFI||OHV||Gen III Chevy Small-Block V8. (346 cu. in.) Aluminum Block & Heads.<br /> '01-'04 Corvette Z06, '04-'05 Cadillac CTS V-Series |- |S||LGX||3.6L||V6||Direct Injection|DI||DOHC,<br /> 24 valve||GM High Feature V6, 4th gen. VVT. Active Fuel Management. '16-'19 Cadillac ATS, CTS, '16-'20 CT6, '16-'24 Chevrolet Camaro, '17-'19 Buick LaCrosse, '18–'20 Buick Regal GS |- |T||LU8||4.9&nbsp;L||V8 Turbo||4 Barrel Carburetor |4BBL||OHV||Pontiac V8. 301 cu. in. '81 Pontiac Firebird Formula & Trans Am. |- |T||LT7||4.3&nbsp;L||V6||Indirect injection Diesel||OHV||Oldsmobile Diesel V6. FWD version for '82-'85 GM A-bodies. |- |T||LS2||4.3&nbsp;L||V6||Indirect injection Diesel||OHV||Oldsmobile Diesel V6. FWD version for '85 GM C-bodies. |- |T||LH0||3.1&nbsp;L||V6||Fuel injection#Multi Port Fuel injection|MPFi||OHV||Chevrolet 60° V6 (longitudinally mounted). '90-'92 Chevy Camaro, Pontiac Firebird. |- |T||LH0||3.1&nbsp;L||V6||Fuel injection#Multi Port Fuel injection|MPFi||OHV||Chevrolet 60° V6 (transversely mounted). Gen II. '88-'91 Pontiac 6000,<br /> '89-'93 Grand Prix, Oldsmobile Cutlass Supreme, Buick Regal, '90-'94 Chevy Cavalier, Lumina,<br /> '91-'94 Pontiac Sunbird, '90-'93 Chevy Corsica/Beretta, '90 Celebrity |- |T||LD9||2.4&nbsp;L||Straight-4|I4||Fuel injection#Sequential Multi-port injection|SFI||DOHC,<br /> 16 valve||Oldsmobile Quad 4 ("2.4 Twin Cam"). '96-'01 Pontiac Grand Am, '96-'97 Oldsmobile Achieva, Buick Skylark, '99-'01 Oldsmobile Alero, '97-'99 Chevy Malibu, '96-'02 Chevy Cavalier, Pontiac Sunfire |- |T||LP1||2.8&nbsp;L||V6||Fuel injection#Sequential Multi-port injection|SFI||DOHC,<br /> 24 valve||GM High Feature V6. '05-'07 Cadillac CTS |- |T||LS9||6.2&nbsp;L||V8 Supercharged||Fuel injection#Sequential Multi-port injection|SFI||OHV||Gen IV Chevy Small-Block V8. Aluminum Block & Heads. '10-'13 Corvette ZR1. |- |T||LFV||1.5L||I4 Turbo||Direct Injection|DI||DOHC,<br /> 16 valve||GM Small Gasoline Engine. VVT. '16-'25 Chevy Malibu. |- |U||L68||2.5L||I4||Fuel injection#Throttle Body injection|TBI||OHV||Pontiac Iron Duke/Tech IV engine. Transversely mounted. '85-'91 N-bodies |- |U||LS2||6.0&nbsp;L||V8||Fuel injection#Sequential Multi-port fuel injection|SFI||OHV||Gen IV Chevy Small-Block V8. Aluminum Block & Heads.<br /> '05-'07 Corvette, '05-'06 Pontiac GTO, '06-'07 Cadillac CTS V-Series |- |U||LE9||2.4&nbsp;L||Straight-4|I4||Fuel injection#Multi-port fuel injection|MFI||DOHC,<br /> 16 valve||GM Ecotec Gen II. E85 Flex-Fuel. 2011-12 Chevy Malibu. |- |U||LKN||1.8L||I4||Direct Injection|DI||DOHC,<br /> 16 valve||Full Hybrid. GM Medium Gasoline Engine. VVT. Made in Szentgotthárd, Hungary.<br> '16-'19 Chevy Malibu Hybrid |- |V||LT6||4.3&nbsp;L||V6||Indirect injection Diesel||OHV||Oldsmobile Diesel V6. RWD version.<br /> '82-'83 Chevy Malibu, Monte Carlo, '82-'85 Oldsmobile Cutlass Supreme, Buick Regal |- |V||LG5||3.1&nbsp;L||V6 Turbo||Fuel injection#Multi-port fuel injection|MPFI||OHV||Chevrolet 60° V6. Gen II. Intercooled. (ASC/McLaren modified).<br /> '89-'90 Pontiac Grand Prix Turbo coupe, '90 Grand Prix STE Turbo sedan |- |V||LLT||3.6L||V6||Direct Injection|DI||DOHC,<br /> 24 valve||GM High Feature V6. '08-'11 Cadillac CTS, STS, '10-'11 Chevrolet Camaro, Buick LaCrosse |- |V||LHU||2.0&nbsp;L||Straight-4|I4 Turbo||Direct Injection|DI||DOHC,<br /> 16 valve||E85 Flex Fuel (N/A on Regal GS). GM Ecotec engine, Gen II. VVT.<br /> Buick Regal '11-'13, Verano '13-'16. |- |W||L37||4.9&nbsp;L||V8||4 Barrel Carburetor |4BBL||OHV||Pontiac V8. 301 cu. in. '81 Pontiac Firebird, LeMans Safari wagon. |- |W||LB6||2.8&nbsp;L||V6||Fuel injection#Multi-port fuel injection|MFI||OHV||Gen I/II Chevrolet 60° V6 (transversely mounted). '85 Chevy Citation, Buick Skylark,<br /> '85-'89 Chevy Cavalier, Celebrity, Pontiac 6000, '85-'88 Cadillac Cimarron,<br /> '85-'87 Oldsmobile Firenza, '86-'89 Cutlass Ciera, '87-'88 Buick Century, '87-'89 Chevy Corsica/Beretta, '88-'89 Pontiac Grand Prix, Oldsmobile Cutlass Supreme, Buick Regal |- |W||L64||3.1&nbsp;L||V6||Fuel injection#Multi-port fuel injection|MFI||OHV||Flex-fuel: Gas/M85 or Gas/E85 (2 versions). Gen II Chevrolet 60° V6. '93 Chevy Lumina VFV |- |W||L99||4.3&nbsp;L||V8||Fuel injection#Sequential Multi-port injection|SFI||OHV||Gen II Chevy Small-Block V8. '94-'96 Chevy Caprice. |- |W||LS3||6.2&nbsp;L||V8||Fuel injection#Sequential Multi-port injection|SFI||OHV||Gen IV Chevy Small-Block V8. Aluminum Block & Heads.<br /> '08-'13 Corvette, '10-'15 Camaro SS (man. trans.), '09 Pontiac G8 GXP, '14-'17 Chevy SS |- |W||LGY||3.0L||V6 Twin Turbo||Direct Injection|DI||DOHC,<br /> 24 valve||GM High Feature V6, 4th gen. VVT. Active Fuel Management. '20+ Cadillac CT5, CT5-V |- |X||LE2||2.8&nbsp;L||V6||2 Barrel Carburetor |2BBL||OHV||Chevrolet 60° V6 (transversely mounted). '81-'85 Chevy Citation, Buick Skylark,<br /> '81-'84 Pontiac Phoenix, Oldsmobile Omega, '82-'86 Chevy Celebrity, Pontiac 6000,<br /> '86 Oldsmobile Cutlass Ciera, Buick Century |- |X||LQ1||3.4&nbsp;L||V6||Fuel injection#Multi-port fuel injection|MPFI||DOHC,<br /> 24 valve||Chevrolet 60° V6 ("Twin Dual Cam V6"). '91-'97 Chevy Lumina, '95-'97 Chevy Monte Carlo,<br /> '91-'96 Pontiac Grand Prix, Oldsmobile Cutlass Supreme |- |X||LNF||2.0&nbsp;L||Straight-4|I4 Turbo||Direct Injection|DI||DOHC,<br /> 16 valve||GM Ecotec engine, Gen II. VVT.<br /> '07-'10 Pontiac Solstice GXP, Saturn Sky Red Line, '08-'10 Chevy Cobalt SS Turbo. |- |X||LTG||2.0&nbsp;L||Straight-4|I4 Turbo||Direct Injection|DI||DOHC,<br /> 16 valve||GM Ecotec engine, Gen III. VVT. '13-'22 Chevy Malibu, '13-'19 Cadillac ATS, '14-'20 Buick Regal,<br /> '14-'19 Cadillac CTS, '16-'23 Chevy Camaro, '16-'18 Cadillac CT6. |- |X||LTG||2.0&nbsp;L||Straight-4|I4 Turbo||Direct Injection|DI||DOHC,<br /> 16 valve||Plug-in hybrid. GM Ecotec engine, Gen III. VVT. '17-'18 Cadillac CT6 PHEV. (VIN starts with LRE) |- |Y||LV2||5.0&nbsp;L||V8||4 Barrel Carburetor |4BBL||OHV||Oldsmobile "Rocket" V8 (307 cu. in.) '86-'90 Chevy Caprice wagon, '87 Caprice sedan (Can.),<br /> '81 Pontiac Bonneville, Catalina, '86 Parisienne, '87-'89 Safari wagon, '81-'84 Oldsmobile 98,<br /> '81-'85 Delta 88, Toronado, '81-'90 Custom Cruiser, '81 Cutlass Cruiser, '82-'87 Cutlass Supreme,<br /> '88 Cutlass Supreme Classic, '81-'84 Buick Electra, '85-'89 Electra Estate wagon,<br /> '81-'85 LeSabre, Riviera, '86-'89 LeSabre Estate wagon, '90 Estate wagon, '86-'87 Regal,<br /> '86 Cadillac Fleetwood Brougham, '87-'90 Brougham |- |Y||LD8||4.6&nbsp;L||V8||Fuel injection#Sequential Multi-port injection|SFI||DOHC,<br /> 32 valve||Cadillac Northstar V8 (Torque tuned FWD) (Premium V). '93-'02 Cadillac Eldorado,<br /> '94-'04 Cadillac Seville SLS, '94-'05 Cadillac DeVille, '06-'11 Cadillac DTS,<br /> '04-'05 Pontiac Bonneville GXP, '06-'08 Buick Lucerne |- |Y||L76||6.0&nbsp;L||V8||Fuel injection#Sequential Multi-port fuel injection|SFI||OHV||Gen IV Chevy Small-Block V8. Aluminum Block & Heads. With Active Fuel Management.<br /> '08-'09 Pontiac G8 GT. |- |Y||LF1||3.0L||V6||Direct Injection|DI||DOHC,<br /> 24 valve||GM High Feature V6. VVT. 2011 Cadillac CTS |- |Y||LF4||3.6L||V6 Twin Turbo||Direct Injection|DI||DOHC,<br /> 24 valve||GM High Feature V6. Cadillac ATS-V '16-'19 |- |Z||LH7||2.8&nbsp;L||V6||2 Barrel Carburetor |2BBL||OHV||Chevrolet 60° V6 (transversely mounted). H.O. '81-'84 Chevy Citation, '82-'84 Pontiac Phoenix, Oldsmobile Omega ES, Buick Skylark, '83-'84 Pontiac 6000 STE, '84 Chevy Celebrity |- |Z||LB4||4.3L||V6||Fuel injection#Throttle Body injection|TBI||OHV||Chevrolet 90° V6 (Chevy Small-Block V8 Derived). '85 Chevy Impala, '85-'90 Caprice,<br /> '92-'93 Caprice 9C6 taxi, '85-'88 Monte Carlo, '85-'86 Pontiac Parisienne, '86-'87 Grand Prix,<br> '86 Bonneville. |- |Z||LAT||2.4L||I4||Fuel injection#Multi-port fuel injection|MFI||DOHC,<br /> 16 valve||Mild Hybrid. GM Ecotec Gen II. VVT. '10 Chevy Malibu Hybrid |- |Z||LUZ||2.0&nbsp;L||I4 Turbo||Direct injection <br /> Common-rail Diesel||DOHC,<br /> 16 valve||GM Family B Diesel (Based on Fiat JTD engine). Made by Opel in Kaiserslautern, Germany.<br /> Iron Block, Aluminum Heads. '14-'15 Chevy Cruze Diesel. |- |1||LC1||2.8&nbsp;L||V6||2 Barrel Carburetor |2BBL||OHV||Chevrolet 60° V6 (longitudinally mounted). '82-'84 Camaro/Firebird. |- |1||LL8||2.0&nbsp;L||I4||Fuel injection#Throttle Body injection|TBI||OHV||Chevrolet "122" engine. '87-'89 Chevy/Olds/Buick J-cars & Chevy L-cars. |- |1||L67||3.8&nbsp;L||V6 Supercharged||Fuel injection#Sequential Multi-port injection|SFI||OHV||Buick V6 (3800 Supercharged Series I). '91-'95 Buick Park Avenue Ultra,<br /> '92-'95 Pontiac Bonneville, Oldsmobile 98, '95 Buick Riviera, Oldsmobile LSS |- |1||L67||3.8&nbsp;L||V6 Supercharged||Fuel injection#Sequential Multi-port injection|SFI||OHV||Buick V6 (3800 Supercharged Series II). '96-'05 Buick Park Avenue Ultra,<br /> '96-'99 Buick Riviera, Oldsmobile LSS, '96-'03 Pontiac Bonneville, '97-'03 Grand Prix,<br /> '97-'04 Buick Regal, '04-'05 Chevy Impala SS, Monte Carlo SS Supercharged |- |1||LZ9||3.9L||V6||Fuel injection#Sequential Multi-port injection|SFI||OHV||GM High Value 60° V6. VVT.<br /> '06-'07 Chevy Malibu SS, '06-'09 Pontiac G6, '06 Chevy Monte Carlo, Impala, '09-'10 Buick Lucerne |- |1||2H0||1.8&nbsp;L||Straight-4|I4||Fuel injection#Sequential Multi-port fuel injection|SFI||DOHC,<br /> 16 valve||GM Family 1 engine, Gen III. VVT. Made in Szentgotthárd, Hungary. '08 (& '09 in Canada) Saturn Astra |- |1||LE5||2.4&nbsp;L||Straight-4|I4||Fuel injection#Multi-port fuel injection|MFI||DOHC,<br /> 16 valve||GM Ecotec Gen II. VVT. '11 & some '12 Chevy Malibu w/LE5 engine. |- |2||LQ9||2.5L||I4||Fuel injection#Throttle Body injection|TBI||OHV||Pontiac Iron Duke/Tech IV engine. Longitudinally mounted. '82-'85 Camaro/Firebird. |- |2||LS3||1.0&nbsp;L||Straight-3|I3 Turbo||Fuel injection#Multi-port fuel injection|MFI||SOHC,<br /> 6 valve ||Suzuki G10T engine. '87-'88 Chevrolet Sprint Turbo |- |2||LY8||1.3&nbsp;L||Straight-4|I4||Fuel injection#Multi-port fuel injection|MFI||SOHC,<br /> 16 valve||Suzuki G13BB engine. '98-'01 Chevrolet Metro |- |2||L26||3.8&nbsp;L||V6||Fuel injection#Sequential Multi-port injection|SFI||OHV||Buick V6 (3800 Series III). '04-'08 Pontiac Grand Prix, '05-'09 Buick LaCrosse, '06-'08 Buick Lucerne |- |2||L77||6.0&nbsp;L||V8||Fuel injection#Sequential Multi-port fuel injection|SFI||OHV||Gen IV Chevy Small-Block V8. Aluminum Block & Heads. With Active Fuel Management.<br /> E85 Flex Fuel. '11-'17 Chevy Caprice PPV. |- |3||LC8||3.8&nbsp;L||V6|V6 Turbo||4 Barrel Carburetor |4BBL||OHV||Buick V6. 231 cu. in. '81-'82 Buick Regal, Riviera, '81 Chevy Monte Carlo. |- |3||LG3||3.8&nbsp;L||V6||Fuel injection#(Sequential) Multi-port injection|MFI/SFI||OHV||Buick V6. '84-'88 Oldsmobile Cutlass Ciera, Buick Century, '85 & '87 Oldsmobile 98, Buick Electra,<br /> '86-'88 Oldsmobile Delta 88, Buick LeSabre, '87 Oldsmobile Toronado, Buick Riviera,<br /> '87-'88 Pontiac Bonneville. |- |3||LW2||4.5&nbsp;L||V8||Fuel injection#Multi-port fuel injection|MFI||OHV||Cadillac High Technology V8. '90 Cadillac DeVille/Fleetwood/Sixty Special/Eldorado/Seville. |- |3||L40||2.3&nbsp;L||Straight-4|I4||Fuel injection#Multi-port fuel injection|MFI||SOHC,<br /> 8 valve||Oldsmobile Quad 4 ("Quad OHC"). '92-'94 Pontiac Grand Am, Oldsmobile Achieva, Buick Skylark |- |3||LZG||3.9L||V6||Fuel injection#Sequential Multi Port Fuel injection|SFI||OHV||E85 Flex Fuel. GM High Value 60° V6. VVT. Active Fuel Management. '08 Chevy Impala |- |3||LFX||3.6L||V6||Direct Injection|DI||DOHC,<br /> 24 valve||GM High Feature V6. VVT. E85 Flex Fuel.<br /> '12-'16 Buick LaCrosse, '12-'15 Chevrolet Camaro, Cadillac CTS, '12-'17 Chevrolet Caprice PPV,<br /> '12-'20 Chevrolet Impala, '14-'16 Chevrolet Impala Limited, '13-'15 Cadillac ATS, '13-'19 Cadillac XTS |- |3||LT6||5.5&nbsp;L||V8||Direct injection|DI||DOHC,<br /> 32 valve||Chevrolet Gemini Small-Block V8. Aluminum Block & Heads. Flat-plane crank. VVT.<br /> For mid-engine C8 Corvette Z06 '23+. |- |4||LC4||4.1&nbsp;L||V6|V6||4 Barrel Carburetor |4BBL||OHV||Buick V6. '81-'84 Buick LeSabre, Electra, Riviera, Oldsmobile Toronado, '81-'82 Cadillac DeVille, Fleetwood Brougham, Eldorado, Seville, '81-'83 Oldsmobile 98, '82-'84 Buick Regal,<br /> '82 Pontiac Grand Prix, Bonneville G |- |4||LC9||1.6&nbsp;L||Straight-4|I4||2 Barrel Carburetor |2BBL||SOHC,<br /> 8 valve||Toyota 4A-C engine. '85-'88 Chevy Nova |- |4||LN2||2.2&nbsp;L||Straight-4|I4||Fuel injection#(Sequential) Multi-port injection|MPI/SFI||OHV||Chevrolet "122" engine. '92-'02 Cavalier, '95-'02 Sunfire, '92-'96 Corsica/Beretta, '93 Lumina,<br /> '93-'96 Cutlass Ciera, Century. |- |4||L32||3.8&nbsp;L||V6 Supercharged||Fuel injection#Sequential Multi-port injection|SFI||OHV||Buick V6 (3800 Supercharged Series III). '04-'07 Pontiac Grand Prix |- |4||LUU||1.4L||I4||Fuel injection#Sequential Multi-port fuel injection|SFI||DOHC,<br /> 16 valve||GM Family 0 Engine, Gen III. VVT. ([[w:EREV|Range extender]]). Early production engines were made in Aspern, Austria; later made in Flint, MI. '11-'15 Chevy Volt, '14 & '16 Cadillac ELR. |- |4||LT2||6.2&nbsp;L||V8||Direct injection|DI||OHV||Gen V Chevy Small-Block V8. Aluminum Block & Heads. Active Fuel Management. VVT.<br /> For mid-engine C8 Corvette Stingray '20+. |- |4||LT2||6.2&nbsp;L||V8||Direct injection|DI||OHV||Full Hybrid. Gen V Chevy Small-Block V8. Aluminum Block & Heads. Active Fuel Management. VVT.<br /> For mid-engine C8 Corvette E-Ray '24+. |- |5||LW9||2.5L||I4||2 Barrel Carburetor |2BBL||OHV||Pontiac Iron Duke engine. '81 Chevy Citation, Pontiac Phoenix, Oldsmobile Omega, Buick Skylark. |- |5||LR6||4.5&nbsp;L||V8||Fuel injection#Throttle Body injection|TBI (DFI)||OHV||Cadillac High Technology V8. '88-'89 Cadillac DeVille/Fleetwood/Sixty Special/Eldorado/Seville. |- |5||LY9||1.0&nbsp;L||Straight-3|I3||2BBL||SOHC,<br /> 6 valve ||Suzuki G10A engine. '86 Chevrolet Sprint |- |5||LM9||1.0&nbsp;L||Straight-3|I3||2BBL||SOHC,<br /> 6 valve ||Suzuki G10A engine. '87-'88 Chevrolet Sprint |- |5||LW0||1.6&nbsp;L||Straight-4|I4||Fuel injection#Multi-port fuel injection|MFI||DOHC,<br /> 16 valve||Toyota 4A-GE engine. '88 Chevy Nova Twin Cam, '90-'92 Geo Prizm GSi |- |5||LW0||1.6&nbsp;L||Straight-4|I4||Fuel injection#Multi-port fuel injection|MFI||DOHC,<br /> 16 valve||Isuzu 4XE1-UW engine. '90-'91 Geo Storm GSi |- |5||LT4||5.7&nbsp;L||V8||Fuel injection#Sequential Multi-port injection|SFI||OHV||Gen II Chevy Small-Block V8. '96 Corvette (man. trans.) |- |5||LAT||2.4L||I4||Fuel injection#Multi-port fuel injection|MFI||DOHC,<br /> 16 valve||Mild Hybrid. GM Ecotec Gen II. VVT. '07-'09 Saturn Aura Green Line, '08-'09 Chevy Malibu Hybrid |- |5||LAP||2.2&nbsp;L||Straight-4|I4||Fuel injection#Multi-port fuel injection|MFI||DOHC,<br /> 16 valve||GM Ecotec Gen II. VVT. '10 Chevy Cobalt. |- |5||LFW||3.0L||V6||Direct Injection|DI||DOHC,<br /> 24 valve||GM High Feature V6. VVT. '12-'13 Cadillac CTS, '14 CTS wagon |- |5||L3A||1.5L||I4||Direct Injection|DI||DOHC,<br /> 16 valve||GM Small Gasoline Engine. VVT. ([[w:EREV|Range extender]]). '16-'19 Chevy Volt. |- |5||LWC||1.6L||I4 Turbo||Direct Injection|DI||DOHC,<br /> 16 valve||GM Medium Gasoline Engine, H.O. VVT. Made in Szentgotthárd, Hungary. '16-'19 Buick Cascada |- |5||LS6||6.7&nbsp;L||V8||Port/Direct injection||OHV||Gen VI Chevy Small-Block V8. Aluminum Block & Heads. Active Fuel Management. VVT.<br /> For mid-engine C8 Corvette Stingray, Grand Sport '27+. |- |5||LS6||6.7&nbsp;L||V8||Port/Direct injection||OHV||Full Hybrid. Gen VI Chevy Small-Block V8. Aluminum Block & Heads. Active Fuel Management. VVT.<br /> For mid-engine C8 Corvette Grand Sport X '27+. |- |6||L81||5.7&nbsp;L||V8||4 Barrel Carburetor |4BBL||OHV||Gen I Chevy Small-Block V8. '81 Corvette |- |6||LM1||5.7&nbsp;L||V8||4 Barrel Carburetor |4BBL||OHV||Gen I Chevy Small-Block V8. '83-'85 Impala 9C1 Police, '86-'88 Caprice 9C1 Police |- |6||L73||1.6&nbsp;L||Straight-4|I4||Fuel injection#Throttle Body injection|TBI||SOHC,<br /> 8 valve||GM Family 1 engine. Made in South Korea by Daewoo. '88-'93 Pontiac LeMans |- |6||LP2||1.0&nbsp;L||Straight-3|I3||Fuel injection#Throttle Body injection|TBI||SOHC,<br /> 6 valve ||Suzuki G10A engine. '89-'97 Geo Metro, '98-'00 Chevrolet Metro |- |6||L01||1.6&nbsp;L||Straight-4|I4||Fuel injection#Multi-port fuel injection|MFI||DOHC,<br /> 16 valve||Toyota 4A-FE engine. '89-'97 Geo Prizm base/LSi |- |6||L01||1.6&nbsp;L||Straight-4|I4||Fuel injection#Multi-port fuel injection|MFI||SOHC,<br /> 12 valve||Isuzu 4XE1-V engine. '90-'93 Geo Storm (base model) |- |6||L42||2.2&nbsp;L||Straight-4|I4||Fuel injection#Multi-port fuel injection|MFI||DOHC,<br /> 16 valve||GM Ecotec Gen I (Bi-Fuel Gas/CNG). '03-'04 Chevy Cavalier |- |6||L91||1.6&nbsp;L||Straight-4|I4||Fuel injection#Multi-port fuel injection|MFI||DOHC,<br /> 16 valve||E-TEC II. '04-'07 Chevy Aveo |- |6||LXT||1.6&nbsp;L||Straight-4|I4||Fuel injection#Multi-port fuel injection|MFI||DOHC,<br /> 16 valve||E-TEC II. '08 Chevy Aveo |- |6||LGW||3.0L||V6 Twin Turbo||Direct Injection|DI||DOHC,<br /> 24 valve||GM High Feature V6, 4th gen. VVT. Active Fuel Management. '16-'19 Cadillac CT6 |- |6||LT4||6.2&nbsp;L||V8 Supercharged||Direct injection|DI||OHV||Gen V Chevy Small-Block V8. Aluminum Block & Heads. With Active Fuel Management. VVT.<br /> '15-'19 Corvette Z06, '17-'24 Camaro ZL1, '16-'19 Cadillac CTS V-Series,<br /> '22+ Cadillac CT5-V Blackwing |- |7||LU5||5.0&nbsp;L||V8||Cross-Fire fuel injection|CFI||OHV||Gen I Chevy Small-Block V8. (305 cu. in.) '82 Camaro, Firebird. Dual throttle-body fuel injection. |- |7||L69||5.0&nbsp;L||V8||4 Barrel Quadrajet Carburetor |4BBL||OHV||Gen I Chevy Small-Block V8 (High Output 5.0L). (305 cu. in.). '83 F-cars, '83 Chevy Monte Carlo SS |- |7||LC5||1.5&nbsp;L||I4||2 Barrel Carburetor |2BBL||SOHC,<br /> 8 valve||Isuzu 4XC1 engine. '86-'88 Chevrolet Spectrum, '89 Geo Spectrum. |- |7||LC2||3.8&nbsp;L||V6|V6 Turbo||Fuel injection#Sequential multi-port injection|SFI||OHV||Intercooled. Buick V6. '86-'87 Buick Regal. '89 Pontiac 20th Anniversary Turbo Trans Am |- |7||LC7||4.1&nbsp;L||V8||Fuel injection#Multi-port fuel injection|MFI||OHV||Cadillac High Technology V8. '87-'88 Cadillac Allante. |- |7||L05||5.7&nbsp;L||V8||Fuel injection#Throttle Body injection|TBI||OHV||Gen I Chevy Small-Block V8. '89-'93 Chevy Caprice (police only for '89-'91),<br /> '92-'93 Buick Roadmaster, '92 Oldsmobile Custom Cruiser, '90-'92 Cadillac Brougham, '93 Fleetwood. |- |7||LL0||1.9&nbsp;L||Straight-4|I4||Fuel injection#Multi-port injection|MFI||DOHC,<br /> 16 valve||Saturn I4 engine. '91-'02 Saturn S-Series |- |7||LY7||3.6&nbsp;L||V6||Fuel injection#Sequential Multi-port injection|SFI||DOHC,<br /> 24 valve||GM High Feature V6. VVT. '04-'09 Cadillac CTS, '05-'07 STS, '05-'08 Buick LaCrosse,<br /> '07-'09 Pontiac G6, Saturn Aura, '08-'09 Pontiac G8, '08-'12 Chevy Malibu |- |7||LT1||6.2&nbsp;L||V8||Direct injection|DI||OHV||Gen V Chevy Small-Block V8. Aluminum Block & Heads. With Active Fuel Management. VVT.<br /> '14-'19 Corvette, '16-'24 Camaro SS |- |7||LT7||5.5&nbsp;L||V8 Twin Turbo||Port/Direct injection||DOHC,<br /> 32 valve||Chevrolet Gemini Small-Block V8. Aluminum Block & Heads. Flat-plane crank. VVT.<br /> For mid-engine C8 Corvette ZR1 '25+. (1,064 hp) |- |7||LT7||5.5&nbsp;L||V8 Twin Turbo||Port/Direct injection||DOHC,<br /> 32 valve||Full Hybrid. Chevrolet Gemini Small-Block V8. Aluminum Block & Heads. Flat-plane crank. VVT.<br /> For mid-engine C8 Corvette ZR1X '26+. (1,250 hp) |- |8||LV8||4.3&nbsp;L||V8||2 Barrel Carburetor |2BBL||OHV||Oldsmobile "Rocket" V8 (260 cu. in.) '82 Oldsmobile Cutlass, Delta 88. |- |8||LT8||4.1&nbsp;L||V8||Fuel injection#Throttle Body injection|TBI (DFI)||OHV||Cadillac High Technology V8. '82-'87 Cadillac DeVille, Eldorado, Seville, '82-'85 Fleetwood Brougham, '85-'87 Fleetwood, '87 Fleetwood Sixty Special. |- |8||LC8||3.8&nbsp;L||V6|V6 Turbo||4 Barrel Carburetor |4BBL||OHV||Buick V6. '83 Buick Regal, Riviera. |- |8||L83||5.7&nbsp;L||V8||Cross-Fire fuel injection|CFI||OHV||Gen I Chevy Small-Block V8. '82, '84 Corvette. Dual throttle-body fuel injection. 1st fuel injected Corvette since 1965. |- |8||L98||5.7&nbsp;L||V8||Tuned-port fuel injection|TPI||OHV||Gen I Chevy Small-Block V8. '85-'91 Corvette, '87-'92 Chevy Camaro, Pontiac Firebird. |- |8||LQ6||4.5&nbsp;L||V8||Fuel injection#Multi-port fuel injection|MFI||OHV||Cadillac High Technology V8. '89-'92 Cadillac Allante. |- |8||L24||1.9&nbsp;L||Straight-4|I4||Fuel injection#Multi-port injection|MFI||SOHC,<br /> 8 valve||Saturn I4 engine. '95-'02 Saturn S-Series |- |8||LX9||3.5&nbsp;L||V6||Fuel injection#Sequential Multi-port injection|SFI||OHV||GM High Value 60° V6. 3498cc. '04-'06 Chevy Malibu, '05-'06 Pontiac G6 |- |8||LF3||3.6L||V6 Twin Turbo||Direct Injection|DI||DOHC,<br /> 24 valve||GM High Feature V6. '14-'19 Cadillac CTS V-Sport, XTS V-Sport |- |8||LV6||1.8&nbsp;L||Straight-4|I4||Fuel injection#Multi-port fuel injection|MFI||DOHC,<br /> 16 valve||Isuzu 4XF1 engine. '92-'93 Geo Storm GSi. |- |8||LV6||1.8&nbsp;L||Straight-4|I4||Fuel injection#Multi-port fuel injection|MFI||DOHC,<br /> 16 valve||Toyota 7A-FE engine. '93-'97 Geo Prizm |- |8||LV6||1.8&nbsp;L||Straight-4|I4||Fuel injection#Multi-port fuel injection|MFI||DOHC,<br /> 16 valve||Toyota 1ZZ-FE engine. VVT-i from '00. '98-'02 Chevrolet Prizm, '03-'08 Pontiac Vibe |- |8||LAY||1.8&nbsp;L||Straight-4|I4||Fuel injection#Sequential multi-port injection|SFI||DOHC,<br /> 16 valve||Toyota 2ZR-FE engine. Dual VVT-i. '09-'10 Pontiac Vibe |- |9||L17||1.6&nbsp;L||Straight-4|I4||2 Barrel Carburetor |2BBL||SOHC,<br /> 8 valve||Isuzu G161Z engine made by GM in US. '81 Chevy Chevette, Pontiac T1000 |- |9||L62||6.0&nbsp;L||V8||Fuel injection#Throttle Body injection|TBI (DFI)||OHV||Cadillac 472-series V8 engine family. V8-6-4 cylinder deactivation.<br /> '81 Cadillacs, '82-'84 Fleetwood Limousine. |- |9||LC3||3.8&nbsp;L||V6||2 Barrel Carburetor |2BBL||OHV||Chevrolet 90° V6 (Chevy Small-Block V8 Derived). 229 cu. in. <br /> '83 Malibu, '83-'84 Monte Carlo, Impala, Caprice, '83 Pontiac Parisienne. |- |9||LG8||5.0&nbsp;L||V8||4 Barrel Carburetor |4BBL||OHV||Oldsmobile "Rocket" V8 (307 cu. in.) H.O. '83-'84 Hurst/Olds, '85-'87 Oldsmobile Cutlass 442 |- |9||LM9||3.8&nbsp;L||V6|V6 Turbo||Fuel injection#Sequential multi-port injection|SFI||OHV||Buick V6. '84-'85 Buick Regal, Riviera. |- |9||L44||2.8&nbsp;L||V6||Fuel injection#Multi-port fuel injection|MFI||OHV||Chevrolet 60° V6 (transversely mounted). H.O. '85-'88 Pontiac Fiero |- |9||LC0||1.5&nbsp;L||I4 Turbo||Fuel injection#Multi-port fuel injection|MFI||SOHC,<br /> 8 valve||Isuzu 4XC1-T engine. '87-'88 Chevrolet Spectrum Turbo |- |9||LK0||1.9&nbsp;L||Straight-4|I4||Fuel injection#Throttle Body injection|TBI||SOHC,<br /> 8 valve||Saturn I4 engine. '91-'94 Saturn S-Series |- |9||L37||4.6&nbsp;L||V8||Fuel injection#Sequential Multi-port injection|SFI||DOHC,<br /> 32 valve||Cadillac Northstar V8 (H.O. FWD) (Premium V). '93 Cadillac Allanté,<br /> '93-'02 Cadillac Eldorado Touring Coupe, '93-'04 Cadillac Seville STS, '96-'05 Cadillac DeVille,<br /> '06-'11 Cadillac DTS, '08-'11 Buick Lucerne Super |- |9||L72||1.3&nbsp;L||Straight-4|I4||Fuel injection#Throttle Body injection|TBI||SOHC,<br /> 8 valve ||Suzuki G13BA engine. '95-'97 Geo Metro |- |9||LUJ||1.4L||I4 Turbo||Fuel injection#Sequential Multi-port fuel injection|SFI||DOHC,<br /> 16 valve||GM Family 0 Engine, Gen III. VVT. Early production engines were made in Aspern, Austria; later made in Flint, MI. '11 Chevy Cruze |- |9||LL0||1.2&nbsp;L||Straight-4|I4||Fuel injection#Multi-port fuel injection|MFI||DOHC,<br /> 16 valve||Daewoo S-TEC II engine (1249 cc). VVT. Made in Changwon, S. Korea. '13-'15 Chevy Spark. |- |9||LT5||6.2&nbsp;L||V8 Supercharged||Port/Direct injection||OHV||Gen V Chevy Small-Block V8. Aluminum Block & Heads. VVT. '19 Corvette ZR1. |- |0||LH8||1.8&nbsp;L||Straight-4|I4||Fuel injection#Throttle Body injection|TBI||SOHC,<br /> 8 valve||GM Family II engine. Made in Brazil.<br /> '82-'86 Pontiac J2000/2000/Sunbird, Oldsmobile Firenza, Buick Skyhawk. |- |0||LAX||2.4&nbsp;L||Straight-4|I4||Fuel injection#Sequential multi-port injection|SFI||DOHC,<br /> 16 valve||Toyota 2AZ-FE engine. VVT-i. '09-'10 Pontiac Vibe |- |0||LE9||2.4&nbsp;L||Straight-4|I4||Fuel injection#Multi-port fuel injection|MFI||DOHC,<br /> 16 valve||GM Ecotec Gen II. E85 Flex-Fuel. 2010 Chevy Malibu. |- |0||LE5||2.4&nbsp;L||Straight-4|I4||Fuel injection#Multi-port fuel injection|MFI||DOHC,<br /> 16 valve||GM Ecotec Gen II. VVT. Most '12 Chevy Malibu w/LE5 engine. |} H.O.=High Output, CNG=Compressed Natural Gas, VVT=Variable Valve Timing, VVL=Variable Valve Lift ====Motor codes for electric passenger cars==== {| class="wikitable" |- ! VIN !! RPO !! Fuel !! Drive Wheels !! Application/Notes |- | 5 ||LN1|| Electricity || Front || '97, '99 General Motors EV1 |- | 0 ||EN0|| Electricity || Front || '14-'16 Chevrolet Spark EV |- | 0 ||EN0|| Electricity || Front || '17-'23 Chevrolet Bolt EV |- | 0 ||EN0|| Electricity || Front || '22-'23 Chevrolet Bolt EUV |- |} ====Motor codes for LFP-powered electric passenger cars==== {| class="wikitable" |- ! VIN !! Motor <br /> RPO code !! # of Motors !! Battery Pack <br /> RPO code !! Fuel !! Drive Wheels !! Application/Notes |- |- | V ||P9D (HPB)|| 1 || EJW || Electricity || Front || '27 Chevrolet Bolt |} LFP=Lithium Iron Phosphate ====Motor codes for Ultium-powered electric passenger cars==== {| class="wikitable" |- ! VIN !! Motor <br /> RPO code !! # of Motors !! Battery Module <br /> RPO code !! # of Modules !! Fuel !! Drive Wheels !! Application/Notes |- |- | 1 ||X0E|| 2 || EXN || 16 || Electricity || All || '25- Cadillac Celestiq |- | 2 ||X0E|| 2 || EHT || 16 || Electricity || All || '25- Cadillac Celestiq <br> (Battery Module RPO code EHT is Configuration B) |} ====Engine codes for light trucks==== GM encodes the engine type in character 8 of the VIN. The following table outlines the various engines encoded there: {| class="wikitable" |- ! VIN !! RPO !! Size !! Type !! Fuel !! Valvetrain !! Engine Family/Notes/Applications |- | A ||LD5|| 3.8L || V6 || Gas ||OHV||2-bbl carb. Buick V6. (231 cu. in.) '81-'84 Chevy El Camino, GMC Caballero (CA emissions). |- | A ||LR1|| 1.9L || I4 || Gas ||SOHC,<br /> 8 valve||2-bbl carb. Isuzu G200 engine imported from Japan.<br /> '82-'85 Chevy S-10/GMC S-15, '83-'85 Chevy S-10 Blazer/GMC S-15 Jimmy |- | A ||L38|| 2.5L || I4 || Gas ||OHV||TBI. Pontiac Iron Duke/Tech IV engine. '91-'93 Chevy S-10/GMC Sonoma. |- | A ||LH2|| 4.6L || V8 || Gas ||DOHC,<br /> 32 valve||Cadillac Northstar V8 (For RWD) (Premium V). '04-'09 Cadillac SRX |- | A ||L20|| 4.8L || V8 || Gas/E85 ||OHV|| Flex Fuel. SFI. Gen IV Chevrolet Small-Block V8. Iron Block/Aluminum Heads. VVT.<br /> '10-'13 GMT900 pickups, '10-'14 Express/Savana |- | A ||LCV|| 2.5L || I4 || Gas ||DOHC,<br /> 16 valve||GM Ecotec engine, Gen III. Direct Injection. VVT. '15-'22 Chevy Colorado, GMC Canyon,<br /> '17-'20 Buick Envision, '17-'21 GMC Acadia, '19-'21 Chevy Blazer |- | B ||LR2|| 2.8L || V6 || Gas ||OHV||2-bbl carb. Chevrolet 60° V6.<br /> '82-'85 Chevy S-10/GMC S-15, '83-'85 Chevy S-10 Blazer/GMC S-15 Jimmy |- | B ||LU2|| 4.3L || V6 || Gas ||OHV|| TBI. Chevrolet 90° V6 (Chevy Small-Block V8 Derived). '90-'91 Astro/Safari higher output engine option. |- | B ||L81|| 3.0L || V6 || Gas ||DOHC,<br /> 24 valve||Opel 54° V6 engine (Made in the UK). '02-'03 Saturn Vue |- | B ||L33|| 5.3L || V8 || Gas ||OHV|| Gen III Chevrolet Small-Block V8. Vortec 5300 H.O. 310hp. Aluminum Block & Heads.<br /> '05-'07 Silverado/Sierra 1500 4wd ext. cab short bed. |- | B ||LE8|| 2.2L || I4 || Gas/E85 ||DOHC,<br /> 16 valve||Flex-Fuel. GM Ecotec Gen II. VVT. '09-'10 Chevy HHR |- | B ||LC8|| 6.0L || V8 || Gas/CNG ||OHV||Bi-Fuel (Also Gas/LPG in Express/Savana). SFI. Gen IV Chevrolet Small-Block V8. Iron Block & Aluminum Heads. VVT. '11-'20 Express/Savana, '13-'19 Silverado HD/Sierra HD. |- | B ||LUV|| 1.4L ||I4 Turbo|| Gas ||DOHC,<br /> 16 valve||GM Family 0 Engine, Gen III. SFI. VVT.<br /> '13-'21 Buick Encore, '15-'21 Chevy Trax (also '13-'14 Trax in Canada) |- | C ||LH6|| 6.2L || V8 || Diesel ||OHV||Detroit Diesel V8. For sub-8,500 lb. GVWR trucks '82-'93. '82-'86 C/K pickups, '87 R/V pickups,<br /> '88-'93 C/K, Sierra pickups, '82-'91 Blazer/Jimmy, Suburban, '83-'93 full-size vans |- | C ||L34|| 2.0L || I4 || Gas ||DOHC,<br /> 16 valve||Suzuki J20A engine. MFI. '99-'03 Chevrolet Tracker |- | C ||LY2|| 4.8L || V8 || Gas ||OHV||SFI. Gen IV Chevrolet Small-Block V8. Iron Block/Aluminum Heads.<br /> '07-'09 GMT900 pickups, '07-'09 Tahoe/Yukon, '08-'09 Express/Savana |- | C ||LAF|| 2.4L || I4 || Gas ||DOHC,<br /> 16 valve||GM Ecotec engine, Gen II. Direct Injection. VVT. Chevy Equinox, GMC Terrain '11. |- | C ||L83|| 5.3L || V8 || Gas/E85 ||OHV|| Flex Fuel. Gen V Chevrolet Small-Block V8 (EcoTec3). Direct injection, VVT. Active Fuel Management<br /> '14-'19 K2XX pickups, '15-'20 K2XX SUVs. |- | C ||L2R|| 2.7L ||I4 Turbo||| Gas ||DOHC,<br /> 16 valve||GM L3B Tripower engine ("TurboMax") - Detuned version. Direct Injection. VVT, VVL. Active Fuel Management. '23-'24 Chevy Colorado. |- | D ||LE3|| 4.1L || I6 || Gas ||OHV||2-bbl carb. Chevrolet Turbo-Thrift I6.<br /> '81-'84 Chevy/GMC C/K pickups, full-size vans, '81-'82 Blazer/Jimmy |- | D ||LG6|| 3.1L || V6 || Gas ||OHV||TBI. Chevrolet 60° V6. '90-'95 U-body minivans. |- | D ||L61|| 2.2L || I4 || Gas ||DOHC,<br /> 16 valve||GM Ecotec Gen I. '02-'07 Saturn Vue, '06 Chevy HHR. |- | D ||L61|| 2.2L || I4 || Gas ||DOHC,<br /> 16 valve||GM Ecotec Gen II. '07-'08 Chevy HHR. |- | D ||LLT|| 3.6L || V6 || Gas ||DOHC,<br /> 24 valve||GM High Feature V6. Direct Injection. '09-'16 GMC Acadia, '17 GMC Acadia Limited,<br /> '09-'17 Chevrolet Traverse, Buick Enclave, '09-'10 Saturn Outlook |- | D ||LBZ|| 6.6L || V8 Turbo || Diesel ||OHV,<br /> 32 valve||Duramax 6600 V8 engine.<br /> Mid '06 Silverado HD/Sierra HD & '07 Silverado Classic HD/Sierra Classic HD |- | D ||L84|| 5.3L || V8 || Gas/E85 ||OHV|| Gen V Chevrolet Small-Block V8 (EcoTec3). Direct injection, VVT. With Dynamic Fuel Management<br /> '19+ Chevy/GMC Silverado 1500/Sierra 1500, '21+ Tahoe/Yukon, Suburban/Yukon XL. |- | E ||LN8|| 2.5L || I4 || Gas ||OHV||TBI. Pontiac Iron Duke/Tech IV engine.<br /> '85-'90 Chevy/GMC S-10/S-15, Astro/Safari Cargo Van, '85-'88 S-10 Blazer/S-15 Jimmy. |- | E ||LLR|| 3.7L || I5 || Gas ||DOHC,<br /> 20 valve||Atlas I5. SFI. VVT.<br /> '07-'12 Colorado/Canyon, '07-'08 Isuzu i-370, '07-'10 Hummer H3, '09-'10 Hummer H3T |- | E ||LA1|| 3.4L || V6 || Gas ||OHV||Chevrolet 60° V6. '96 GMT199 (U-body) minivans, '97-'05 GMT200 (U-body) minivans,<br /> '01-'05 Pontiac Aztek, '02-'05 Buick Rendezvous |- | F ||LF3|| 5.0L || V8 || Gas ||OHV|| 4-bbl carb. Gen I Chevrolet Small-Block V8. '81-'86 C/K, full-size vans, '81-'82 Blazer/Jimmy.<br /> CA emissions version of LE9 5.0 V8. |- | F ||L65|| 6.5L || V8 Turbo || Diesel ||OHV||Detroit Diesel V8. For over-8,500 lb. GVWR Chevy C/K, GMC Sierra trucks '92-'02,<br /> Chevy/GMC Suburban 1500/2500 '94-'99, over-8,500 lb. GVWR Express/Savana '96-'02 |- | F ||LNJ|| 3.4L || V6 || Gas ||OHV||Chevrolet 60° V6. Made in China by SAIC-GM. '05-'09 Chevy Equinox, '06-'09 Pontiac Torrent. |- | F ||L94|| 6.2L || V8 || Gas/E85 ||OHV||Flex-Fuel. Gen IV Chevrolet Small-Block V8. Aluminum Block & Heads. SFI. VVT. Active Fuel Management. '10-'14 GMC Yukon Denali/Yukon XL Denali, Cadillac Escalade/Escalade ESV. |- | F ||L20|| 4.8L || V8 || Gas/E85 ||OHV|| Flex Fuel. SFI. Gen IV Chevrolet Small-Block V8. Iron Block/Aluminum Heads. VVT.<br /> '15-'17 Express/Savana |- | F ||L82|| 5.3L || V8 || Gas ||OHV|| Gen V Chevrolet Small-Block V8 (EcoTec3). Direct injection, VVT. With Active Fuel Management<br /> '19-'21 Chevy Silverado 1500, GMC Sierra 1500 (T1XX). |- | G ||LG9|| 5.0L || V8 || Gas ||OHV|| 2-bbl carb. Gen I Chevrolet Small-Block V8. '81 Chevy/GMC C/K pickups, Blazer/Jimmy, full-size van |- | G ||L18|| 8.1L || V8 || Gas ||OHV||MFI. Vortec 8100. Gen VII Chevrolet Big-Block V8. '01-'02 C3500HD, '01-'06 Silverado HD/Sierra HD, '07 Silverado Classic HD/Sierra Classic HD, '01-'06 Suburban/Yukon XL 2500, '02-'06 Avalanche 2500, '01-'02 Express/Savana |- | G ||L96|| 6.0L || V8 || Gas/E85 ||OHV||Flex Fuel. SFI. Gen IV Chevrolet Small-Block V8. Iron Block & Aluminum Heads. VVT.<br /> '10-'19 Silverado HD/Sierra HD, '10-'13 Suburban 2500/Yukon XL 2500, '16-'19 Suburban 3500,<br /> '10-'20 Express/Savana. |- | G ||LSD|| 1.5L || I4 Turbo || Gas ||DOHC,<br /> 16 valve||GM Small Gasoline Engine. Direct Injection. VVT. '23+ Chevy Equinox, GMC Terrain |- | H ||LG4|| 5.0L || V8 || Gas ||OHV||4-bbl carb. Gen I Chevy Small-Block V8. (305 cu. in.) '81-'87 Chevy El Camino, GMC Caballero. |- | H ||LE9|| 5.0L || V8 || Gas ||OHV|| 4-bbl carb. Gen I Chevrolet Small-Block V8. '81-'86 C/K pickups, Blazer/Jimmy, Suburban, full-size vans |- | H ||L03|| 5.0L || V8 || Gas ||OHV|| TBI. Gen I Chevrolet Small-Block V8. '87 R/V pickups, '88-'95 C/K, Sierra pickups, '87-'95 full-size vans, '87 Blazer/Jimmy, Suburban. |- | H ||LN2|| 2.2L || I4 || Gas ||OHV||SFI. Chevrolet "122" engine. '03 Chevy S-10/GMC Sonoma |- | H ||LS2|| 6.0L || V8 || Gas ||OHV||SFI. Gen IV Chevy Small-Block V8. Chevy SSR '05-'06, Trailblazer SS '06-'09, Saab 9-7X Aero '08-'09. |- | H ||LV3|| 4.3L || V6 || Gas/E85 ||OHV||Flex Fuel. Chevrolet 90° V6 - Gen V Chevrolet Small-Block V6 (EcoTec3). Direct injection, VVT. Active Fuel Management. '14-'21 Chevy Silverado 1500/GMC Sierra 1500. |- | J ||L39|| 4.4L || V8 || Gas ||OHV||2-bbl carb. Gen I Chevy Small-Block V8 (267 cu. in.) '81-82 Chevy El Camino, GMC Caballero. |- | J ||LL4|| 6.2L || V8 || Diesel ||OHV||Detroit Diesel V8. For over-8,500 lb. GVWR trucks '82-'93. '82-'86 C/K pickups, '87-'91 R/V pickups,<br /> '88-'93 C/K, Sierra pickups, '82-'91 Blazer/Jimmy, Suburban, '83-'93 full-size vans |- | J ||L29|| 7.4L || V8 || Gas ||OHV|| MFI. Vortec 7400. Gen VI Chevrolet Big-Block V8.<br /> '96-'00 C/K, Sierra pickups, Express/Savana, '96-'99 Suburban 2500 |- | J ||LY5|| 5.3L || V8 || Gas ||OHV||SFI. Gen IV Chevrolet Small-Block V8. Active Fuel Management. Iron Block & Aluminum Heads.<br /> '07-'09 Silverado/Sierra 1500, Tahoe/Yukon, Suburban/Yukon XL 1500, Avalanche |- | J ||LZ1|| 6.0L || V8 || Gas ||OHV||2-Mode Hybrid. Gen IV Chevrolet Small-Block V8. Aluminum Block & Heads. VVT. Active Fuel Management. '10-'13 Tahoe Hybrid, Yukon Hybrid, Escalade Hybrid, Silverado Hybrid, Sierra Hybrid |- | J ||L86|| 6.2L || V8 || Gas ||OHV||Gen V Chevrolet Small-Block V8 (EcoTec3). Direct injection, VVT. Active Fuel Management. <br /> '14-18 Chevy/GMC Silverado 1500/Sierra 1500,<br /> '18-20 Chevy Tahoe Premier, '19-'20 Chevy Suburban Premier, GMC Yukon/Yukon XL SLT,<br /> '15-'20 GMC Yukon Denali/Yukon XL Denali, Cadillac Escalade/Escalade ESV. |- | K ||LC3|| 3.8L || V6 || Gas ||OHV||2-bbl carb. Chevrolet 90° V6 (Chevy Small-Block V8 Derived). 229 cu. in. <br /> '81-'82 Chevy El Camino, GMC Caballero (49-state emissions) |- | K ||L05|| 5.7L || V8 || Gas ||OHV|| TBI. Gen I Chevrolet Small-Block V8. '87 R/V pickups, '88-'95 C/K, Sierra pickups, '87-'95 full-size vans, '96 G-Classic full-size vans, '87-'94 Blazer, '95 Tahoe, '87-'91 Jimmy, '92-'95 Yukon, '87-'95 Suburban. |- | K ||LY6|| 6.0L || V8 || Gas ||OHV||SFI. Gen IV Chevrolet Small-Block V8. Iron Block & Aluminum Heads. VVT.<br /> '07-'09 Silverado HD/Sierra HD, '07-'09 Suburban 2500/Yukon XL 2500, '08-'09 Express/Savana |- | K ||LEA|| 2.4L || I4 || Gas/E85 ||DOHC,<br /> 16 valve||Flex Fuel. GM Ecotec engine, Gen II. Direct Injection. VVT. Chevy Equinox, GMC Terrain '12-'17,<br /> Chevy Captiva Sport '12-'14, Chevy Orlando '14. |- | K ||L3B|| 2.7L ||I4 Turbo||| Gas ||DOHC,<br /> 16 valve||GM L3B Tripower engine ("TurboMax"). Direct Injection. VVT, VVL. Active Fuel Management.<br /> '19+ Chevy Silverado 1500, GMC Sierra 1500, '23+ Chevy Colorado, GMC Canyon. |- | L ||LS9|| 5.7L || V8 || Gas ||OHV|| 4-bbl carb. Gen I Chevrolet Small-Block V8. For sub-8,500 lb. GVWR trucks, vans, Suburban, Blazer/Jimmy (CA) '81-'86. |- | L ||L27|| 3.8L || V6 || Gas ||OHV||Buick V6 (3800 Series I). '92-'95 U-body minivans |- | L ||LX9|| 3.5L || V6 || Gas ||OHV||GM High Value 60° V6. 3498cc. SFI. '05-'06 GMT201 minivans, '06-'07 Buick Rendezvous |- | L ||LH8|| 5.3L || V8 || Gas ||OHV||SFI. Gen IV Chevrolet Small-Block V8. Aluminum Block & Heads.<br /> '08-'09 Hummer H3 Alpha, '09 Colorado/Canyon, Hummer H3T Alpha |- | L ||LGH|| 6.6L || V8 Turbo || Diesel ||OHV,<br /> 32 valve||Duramax 6600 V8 engine. Mid '10-'16 Express/Savana, '11-'12 Silverado HD/Sierra HD chassis cabs |- | L ||L87|| 6.2L || V8 || Gas ||OHV||Gen V Chevrolet Small-Block V8 (EcoTec3). Direct injection, VVT. Dynamic Fuel Management.<br /> '19+ Chevy/GMC Silverado 1500/Sierra 1500, '21+ Tahoe/Yukon, Suburban/Yukon XL,<br /> Cadillac Escalade/Escalade ESV. |- | L ||L3T|| 1.3L || I3 Turbo || Gas ||DOHC,<br /> 12 valve||GM E-Turbo Engine. Direct Injection. VVT. '20+ Buick Encore GX, '21+ Chevy Trailblazer. |- | M ||LT9|| 5.7L || V8 || Gas ||OHV|| 4-bbl carb. Gen I Chevy Small-Block V8.<br /> For over-8,500 lb. GVWR C/K trucks, full-size vans, Suburban '81-'86, full-size van cutaway '81-'88.<br /> '88 Chevy/GMC R30/3500 Chassis Cab w/C7C (10,500 lb. GVWR),<br /> V30/3500 Chassis Cab w/C7E (11,000 lb. GVWR) |- | M ||L30|| 5.0L || V8 || Gas ||OHV||Gen 1+ Chevrolet Small-Block V8. Vortec 5000. CPI.<br /> '96-'99 Chevy C/K, GMC Sierra, '96-'02 Express/Savana |- | M ||LNF|| 2.0L || I4 Turbo || Gas ||DOHC,<br /> 16 valve||GM Ecotec engine, Gen II. Direct Injection. VVT. 2010 Chevy HHR SS. |- | M ||LH6|| 5.3L || V8 || Gas ||OHV||SFI. Gen IV Chevrolet Small-Block V8. Active Fuel Management. Aluminum Block & Heads.<br /> '05-'06 GMT370 SUVs (Trailblazer EXT/Envoy XL/Isuzu Ascender 7-psgr.), '05-'07 Buick Rainier,<br /> '05-'09 GMC Envoy Denali, Saab 9-7X, '06-'08 Chevy Trailblazer, '05 GMC Envoy XUV,<br /> '07-'09 Silverado/Sierra 1500 |- | M ||LAF|| 2.4L || I4 || Gas ||DOHC,<br /> 16 valve||GM Ecotec engine, Gen II. Direct Injection. VVT. Chevy Orlando '12. |- | M ||LE2|| 1.4L || I4 Turbo || Gas ||DOHC,<br /> 16 valve||GM Small Gasoline Engine. Direct Injection. VVT. '16-'19 & '21-'22 Buick Encore, '21-'22 Chevy Trax. |- | N ||L10|| 1.8L || I4 || Gas ||SOHC,<br /> 8 valve||2-bbl carb. Isuzu G180Z engine imported from Japan. '81-'82 Chevy LUV |- | N ||LF9|| 5.7L || V8 || Diesel ||OHV||Oldsmobile Diesel V8. '83-'84 Chevy El Camino/GMC Caballero. |- | N ||LB1|| 4.3L || V6 || Gas ||OHV|| 4-bbl carb. Chevrolet 90° V6 (Chevy Small-Block V8 Derived).<br /> '85 Astro/Safari, '85-'86 C/K pickups & full-size vans |- | N ||L19|| 7.4L || V8 || Gas ||OHV|| Mark IV Chevrolet Big-Block V8. TBI.<br /> '87-'90 R/V pickups, Suburban 2500, '88-'90 C/K, Sierra pickups, full-size vans |- | N ||L19|| 7.4L || V8 || Gas ||OHV|| Gen V Chevrolet Big-Block V8. TBI.<br /> '91 R/V pickups, '91-'95 C/K, Sierra pickups, Suburban 2500, full-size vans. '96 G-Classic full-size vans |- | N ||LZ4|| 3.5L || V6 || Gas ||OHV||GM High Value 60° V6. 3510cc. SFI. VVT. '08-'09 Saturn Vue |- | N ||LQ9|| 6.0L || V8 || Gas ||OHV|| Gen III Chevrolet Small-Block V8. Vortec 6000 H.O. or VortecMAX. Iron Block/Aluminum Heads. 345 hp.<br /> '02-'06 Cadillac Escalade, '03-'06 Cadillac Escalade ESV, '03-'06 Chevy Silverado SS, '05-'06 GMC Sierra Denali. |- | N ||LGZ|| 3.6L || V6 || Gas ||DOHC,<br /> 24 valve||GM High Feature V6, 4th gen. Direct Injection. VVT. Active Fuel Management.<br /> '17-'22 Chevy Colorado, GMC Canyon. |- | P ||L49|| 6.5L || V8 || Diesel ||OHV||Detroit Diesel V8. For sub-8,500 lb. GVWR Chevy C/K, GMC Sierra trucks & full-size vans '94-'95 |- | P ||LM4|| 5.3L || V8 || Gas ||OHV||Gen III Chevrolet Small-Block V8. Vortec 5300. 290hp. Aluminum Block & Heads.<br /> '03-'04 Chevy SSR, '03-'04 GMT370 SUVs (Trailblazer EXT/Envoy XL/Isuzu Ascender 7-psgr.),<br /> '04 Buick Rainier, GMC Envoy XUV |- | P ||LE5|| 2.4L || I4 || Gas ||DOHC,<br /> 16 valve||MFI. GM Ecotec Gen II. VVT. '06-'08 Chevy HHR, '08-'09 Saturn Vue |- | P ||LH9|| 5.3L || V8 || Gas/E85 ||OHV||Flex Fuel. SFI. Gen IV Chevrolet Small-Block V8. Aluminum Block & Heads. VVT.<br /> '10-'12 Colorado/Canyon, '10 Hummer H3 Alpha, H3T Alpha |- | P ||LV1|| 4.3L || V6 || Gas ||OHV||Chevrolet 90° V6 - Gen V Chevrolet Small-Block V6 (EcoTec3). Direct injection, VVT.<br /> '18+ Chevy Express/GMC Savana. |- | P ||LBP|| 1.2L || I3 Turbo || Gas/E85 ||DOHC,<br /> 12 valve||Flex Fuel. GM E-Turbo Engine. Direct Injection. VVT.<br /> '25+ Buick Encore GX, Chevy Trailblazer, '25- Chevy Trax, Buick Envista. |- | R ||LL2|| 2.8L || V6 || Gas ||OHV||TBI. Chevrolet 60° V6. '86-'93 Chevy S-10, GMC S-15/Sonoma,<br /> '86-'89 Chevy S-10 Blazer/GMC S-15 Jimmy |- | R ||L31|| 5.7L || V8 || Gas ||OHV||Gen 1+ Chevrolet Small-Block V8. Vortec 5700. CPI.<br /> '96-'99 Chevy C/K, GMC Sierra, '96-'99 Chevy Tahoe/GMC Yukon, Chevy/GMC Suburban, '99-'00 GMC Yukon Denali, Cadillac Escalade, '00 Chevy Tahoe Limited/Z71, '96-'02 Chevy Express/GMC Savana. |- | R ||L8B|| 5.3L || V8 || Gas ||OHV||Mild Hybrid. Gen V Chevrolet Small-Block V8 (EcoTec3). Direct injection, VVT. Active Fuel Management. '16-'18 Chevy Silverado 1500, GMC Sierra 1500. |- | S ||LQ7|| 2.2L || I4 || Diesel ||OHV||Isuzu C220 engine imported from Japan. '81-'82 Chevy LUV, '84-'85 Chevy S-10/GMC S-15 |- | S ||L56|| 6.5L || V8 Turbo || Diesel ||OHV||Detroit Diesel V8. For sub-8,500 lb. GVWR Chevy C/K, GMC Sierra trucks '94-'99,<br /> Chevy Blazer '94, Chevy Tahoe 2-d '95-'99, GMC Yukon 2-d '94-'97 |- | S ||LL8|| 4.2L || I6 || Gas ||DOHC,<br /> 24 valve||Atlas I6. SFI. VVT. '02-'09 GMT360/370 SUVs (Chevy Trailblazer, GMC Envoy, Oldsmobile Bravada, Buick Rainier, Isuzu Ascender, Saab 9-7X) |- | S ||LGX|| 3.6L || V6 || Gas ||DOHC,<br /> 24 valve||GM High Feature V6, 4th gen. Direct Injection. VVT. Active Fuel Management.<br /> '17+ Cadillac XT5, '17-'23 GMC Acadia, '19+ Chevrolet Blazer, '20-'25 Cadillac XT6. |- | S ||LK0|| 2.5L || I4 Turbo || Gas ||DOHC,<br /> 16 valve||L3B engine family. Direct Injection. VVT. '24- Chevy Traverse, GMC Acadia, '25- Buick Enclave |- | T ||L25|| 4.8L || I6 || Gas ||OHV||1-bbl carb. Chevrolet Turbo-Thrift I6. '81-'86 Chevy/GMC C/K pickups, '88 R/V pickups |- | T ||LM7|| 5.3L || V8 || Gas ||OHV|| Gen III Chevrolet Small-Block V8. Iron Block & Aluminum Heads. Vortec 5300. 270/285/295hp.<br /> '99-'07 GMT800 pickups & SUVs including '02-'05 Escalade 2wd, '03-'07 Express/Savana |- | T ||LEA|| 2.4L || I4 || Gas/E85 ||DOHC,<br /> 16 valve||Flex Fuel. GM Ecotec engine, Gen II. Direct Injection. VVT. Chevy Orlando '13. |- | T ||LM2|| 3.0L || I6 Turbo|| Diesel ||DOHC,<br /> 24 valve|| Duramax Diesel I6. Aluminum Block & Heads. '20-'22 Silverado/Sierra 1500, '21-'24 Tahoe/Suburban, Yukon/Yukon XL, Escalade/Escalade ESV. |- | U ||LS5|| 1.6L || I4 || Gas ||SOHC,<br /> 8 valve||Suzuki G16A engine. TBI. '89-'95 Geo Tracker |- | U ||LQ4|| 6.0L || V8 || Gas ||OHV|| Gen III Chevrolet Small-Block V8. Iron Block & Aluminum Heads (Iron Heads in '99-'00).<br /> '99-'06 GMT800 pickups, '00-'06 Suburban/Yukon XL 2500, '01-'06 Yukon Denali/Yukon XL Denali,<br> '06 Suburban LTZ, '03-'07 Express/Savana, '03-'07 Hummer H2. |- | U ||LE9|| 2.4L || I4 || Gas/E85 ||DOHC,<br /> 16 valve||Flex-Fuel. GM Ecotec Gen II. 2011 Chevy HHR |- | U ||LH7|| 1.6L ||I4 Turbo|| Diesel ||DOHC,<br /> 16 valve||GM Medium Diesel engine ("Whisper Diesel"). Made by Opel in Szentgotthárd, Hungary.<br /> Aluminum Block & Heads. '18-'19 Chevy Equinox & GMC Terrain Diesel. |- | V ||LR4|| 4.8L || V8 || Gas ||OHV||Gen III Chevrolet Small-Block V8. Iron Block/Aluminum Heads. '99-'06 GMT800 pickups,<br /> '00-'06 Tahoe/Yukon, '03-'07 Express/Savana |- | V ||LE9|| 2.4L || I4 || Gas/E85 ||DOHC,<br /> 16 valve||Flex-Fuel. GM Ecotec Gen II. 2009-2010 Chevy HHR |- | V ||LYX|| 1.5L || I4 Turbo || Gas ||DOHC,<br /> 16 valve||GM Small Gasoline Engine. Direct Injection. VVT. '18-'22 Chevy Equinox, GMC Terrain |- | W ||LE8|| 7.4L || V8 || Gas ||OHV|| Mark IV Chevrolet Big-Block V8. 4bbl carb. '81-'86 Chevy/GMC C/K pickups, Suburban.<br /> '88-'89 Chevy/GMC R30/3500 Chassis Cab w/C7C (10,500 lb. GVWR),<br /> V30/3500 Chassis Cab w/C7E (11,000 lb. GVWR) |- | W ||L35|| 4.3L || V6 || Gas ||OHV|| CPI. Vortec 4300 H.O. Chevrolet 90° V6 (Chevy Small-Block V8 Derived).<br /> '92-'95 Sonoma, S-10 Blazer/Jimmy, Astro/Safari, '94-'95 S-10, '92-'94 Oldsmobile Bravada |- | W ||L35|| 4.3L || V6 || Gas ||OHV|| SFI. Vortec 4300 H.O. Chevrolet 90° V6 (Chevy Small-Block V8 Derived). '96-'02 S-10/Sonoma, Blazer/Jimmy, Express/Savana, C/K, Silverado, Sierra, '96-'01 Bravada, Astro/Safari, '00 Isuzu Hombre |- | W ||LGD|| 3.9L || V6 || Gas/E85 ||OHV||Flex Fuel. GM High Value 60° V6. SFI. VVT. '07-'09 GMT201 minivans |- | W ||LAF|| 2.4L || I4 || Gas ||DOHC,<br /> 16 valve||GM Ecotec engine, Gen II. Direct Injection. VVT. Chevy Equinox, GMC Terrain '10. |- | W ||LE8|| 2.2L || I4 || Gas/E85 ||DOHC,<br /> 16 valve||Flex-Fuel. GM Ecotec Gen II. VVT. 2011 Chevy HHR. |- | W ||LFY|| 3.6L || V6 || Gas ||DOHC,<br /> 24 valve||GM High Feature V6. Direct Injection.<br> '18-'23 Chevrolet Traverse, '24 Chevrolet Traverse Limited, '18-'24 Buick Enclave. |- | X ||LF6|| 4.3L || V6 || Gas ||OHV||SFI. Vortec 4300. Chevrolet 90° V6 (Chevy Small-Block V8 Derived).<br /> '96-'99 S-10/Sonoma, '97-'99 Isuzu Hombre. |- | X ||LU3|| 4.3L || V6 || Gas ||OHV||Vortec 4300. Chevrolet 90° V6 (Chevy Small-Block V8 Derived). '03-'04 S-10/Sonoma,<br /> '03-'05 Blazer/Jimmy, '02-'05 Astro/Safari, '03-'14 Express/Savana, '03-'13 Silverado/Sierra |- | X ||LNF|| 2.0L || I4 Turbo || Gas ||DOHC,<br /> 16 valve||GM Ecotec engine, Gen II. Direct Injection. VVT. '08-'09 Chevy HHR SS. |- | X ||LTG|| 2.0L || I4 Turbo || Gas ||DOHC,<br /> 16 valve||GM Ecotec engine, Gen III. Direct Injection. VVT.<br /> '16-'20 Buick Envision, '18-'20 Chevy Equinox, GMC Terrain, '18-'19 Chevy Traverse RS |- | Y ||LQ2|| 2.0L || I4 || Gas ||OHV||2-bbl carb. Chevrolet "122" engine.<br /> '83-'84 Chevy S-10/GMC S-15, '83-'84 Chevy S-10 Blazer/GMC S-15 Jimmy |- | Y ||L57|| 6.5L || V8 || Diesel ||OHV||Detroit Diesel V8. For over-8,500 lb. GVWR full-size vans '94-'95 & '96 G-Classic full-size vans |- | Y ||L76|| 6.0L || V8 || Gas ||OHV||SFI. Gen IV Chevy Small-Block V8. Aluminum Block & Heads. VVT. With Active Fuel Management.<br /> '07-'09 Silverado/Sierra, Suburban/Yukon XL, Chevy Avalanche |- | Y ||LF1|| 3.0L || V6 || Gas ||DOHC,<br /> 24 valve||GM High Feature V6. Direct Injection. VVT.<br /> '10-'11 Cadillac SRX, '11 Saab 9-4X, '10 Chevy Equinox, GMC Terrain |- | Y ||L5P|| 6.6L || V8 Turbo || Diesel ||OHV,<br /> 32 valve||Duramax 6600 V8 engine. '17+ Silverado HD/Sierra HD. Engine updated in '24. |- | Z ||LF9|| 5.7L || V8 || Diesel ||OHV||Oldsmobile Diesel V8. '81 Chevy C10/GMC C1500 full-size pickups. |- | Z ||LB4|| 4.3L || V6 || Gas ||OHV|| TBI. Chevrolet 90° V6 (Chevy Small-Block V8 Derived). '85-'87 Chevy El Camino/GMC Caballero,<br /> '86-'94 Astro/Safari, '87 R/V pickups, '88-'95 C/K & Sierra pickups, '87-'95 full-size vans & <br /> '96 G-Classic full-size vans, '88-'95 S-10, S-15/Sonoma, '88-'94 S-10 Blazer, S-15 Jimmy,<br /> '91-'92 Oldsmobile Bravada |- | Z ||LB4|| 4.3L || V6 Turbo || Gas ||OHV|| MPI. For GMC Syclone & Typhoon. Chevrolet 90° V6 (Chevy Small-Block V8 Derived) |- | Z ||L59|| 5.3L || V8 || Gas/E85 ||OHV||Flex Fuel. Gen III Chevrolet Small-Block V8. Iron Block & Aluminum Heads. Vortec 5300. 285/295hp.<br /> '02-'07 GMT800 pickups, '02-'06 Suburban/Yukon XL, Avalanche. |- | Z ||LAT|| 2.4L || I4 || Gas ||DOHC,<br /> 16 valve||Mild Hybrid. MFI. GM Ecotec Gen II. VVT. '07-'09 Saturn Vue Green Line |- | 1 ||LZ9|| 3.9L || V6 || Gas ||OHV||GM High Value 60° V6. SFI. VVT. '06-'09 GMT201 minivans |- | 1 ||LE5|| 2.4L || I4 || Gas ||DOHC,<br /> 16 valve||MFI. GM Ecotec Gen II. VVT. '10 Saturn Vue. |- | 1 ||LB7|| 6.6L || V8 Turbo || Diesel ||OHV,<br /> 32 valve||Duramax 6600 V8 engine. First version of the Duramax V8. '01-Mid '04 Silverado HD/Sierra HD |- | 1 ||LWN|| 2.8L || I4 Turbo || Diesel ||DOHC,<br /> 16 valve||Based on VM Motori A428 engine. Made by GM Powertrain Thailand 2016-2020. Made in Brazil for '22. '16-'22 Colorado/Canyon, '17-'22 Express/Savana. |- | 2 ||LLY|| 6.6L || V8 Turbo || Diesel ||OHV,<br /> 32 valve||Duramax 6600 V8 engine. Mid '04-Mid '06 Silverado HD/Sierra HD, '06-Mid '07 Express/Savana |- | 2 ||L9H|| 6.2L || V8 || Gas/E85 ||OHV||Flex-Fuel. Gen IV Chevrolet Small-Block V8. Aluminum Block & Heads. SFI. VVT.<br /> '09-'13 Chevy Silverado 1500, GMC Sierra 1500, Sierra Denali 1500,<br /> '09 Chevy Tahoe LTZ, GMC Yukon Denali/Yukon XL Denali, Cadillac Escalade/Escalade ESV,<br> Hummer H2 |- | 2 ||LIH|| 1.2L || I3 Turbo || Gas ||DOHC,<br /> 12 valve||GM E-Turbo Engine. Direct Injection. VVT.<br /> '20-'24 Buick Encore GX, '21-'24 Chevy Trailblazer, '24 Chevy Trax, Buick Envista,<br> '25 Chevy Trax, Buick Envista (Canada only). |- | 3 ||LC9|| 5.3L || V8 || Gas/E85 ||OHV||Flex Fuel. SFI. Gen IV Chevrolet Small-Block V8. Active Fuel Management. VVT added for '10. Aluminum Block & Heads.<br /> '07-'11 Silverado/Sierra 1500, Tahoe/Yukon, Suburban/Yukon XL 1500, '07-'09 & '11 Avalanche |- | 3 ||LFX|| 3.6L || V6 || Gas ||DOHC,<br /> 24 valve||GM High Feature V6. Direct Injection. VVT. E85 Flex Fuel.<br /> '12-'16 Cadillac SRX, '13-'17 Chevrolet Equinox, GMC Terrain, '15-'16 Colorado/Canyon |- | 4 ||LN2|| 2.2L || I4 || Gas ||OHV||MFI (94-95). SFI (96-00). Chevrolet "122" engine. '94-'00 S-10/Sonoma, '96-'00 Isuzu Hombre |- | 4 ||LE8|| 2.5L || V6 || Gas ||DOHC,<br /> 24 valve||Suzuki H25A engine. MFI. '01-'04 Chevrolet Tracker |- | 4 ||L66|| 3.5L || V6 || Gas ||SOHC,<br /> 24 valve||Honda J35S1 V6. VTEC. '04-'07 Saturn Vue |- | 4 ||LMF|| 5.3L || V8 || Gas/E85 ||OHV||Flex Fuel. SFI. Gen IV Chevrolet Small-Block V8. Iron Block & Aluminum Heads. VVT.<br /> '08-'14 Express/Savana 1500 |- | 4 ||LAU|| 2.8L || V6 Turbo || Gas ||DOHC,<br /> 24 valve||GM High Feature V6. SFI. '10 Cadillac SRX |- | 4 ||LSY|| 2.0L || I4 Turbo || Gas ||DOHC,<br /> 16 valve||GM Ecotec engine, Gen III. Direct Injection. Active Fuel Management. VVT. VVL.<br /> '19-'25 Cadillac XT4, '20+ Chevy Blazer, Cadillac XT5, '20-'23 GMC Acadia,<br /> '21+ Buick Envision, '21-'25 Cadillac XT6 |- | 5 ||L43|| 2.2L || I4 || Gas/E85 ||OHV||Flex-Fuel. SFI. Chevrolet "122" engine. '00-'02 S-10/Sonoma, '00 Isuzu Hombre |- | 5 ||LFA|| 6.0L || V8 || Gas ||OHV||2-Mode Hybrid. Gen IV Chevrolet Small-Block V8. Aluminum Block & Heads. VVT. Active Fuel Management. '08-'09 Tahoe Hybrid/Yukon Hybrid, '09 Escalade Hybrid, Silverado Hybrid/Sierra Hybrid |- | 5 ||LFW|| 3.0L || V6 || Gas/E85 ||DOHC,<br /> 24 valve||Flex-Fuel. GM High Feature V6. Direct Injection. VVT. '11-'12 Chevy Equinox, GMC Terrain,<br /> '12 Chevy Captiva Sport |- | 6 ||L01|| 1.6L || I4 || Gas ||SOHC,<br /> 16 valve||Suzuki G16B engine. MFI. '94-'97 Geo Tracker, '98-'00 Chevrolet Tracker |- | 6 ||L52|| 3.5L || I5 || Gas ||DOHC,<br /> 20 valve||Atlas I5. SFI. VVT. '04-'06 Colorado/Canyon, '06 Isuzu i-350, '06 Hummer H3 |- | 6 ||LAU|| 2.8L || V6 Turbo || Gas ||DOHC,<br /> 24 valve||GM High Feature V6. SFI. '11 Cadillac SRX, Saab 9-4X |- | 6 ||LMM|| 6.6L || V8 Turbo || Diesel ||OHV,<br /> 32 valve||Duramax 6600 V8 engine. '07-'10 Silverado HD/Sierra HD (GMT900), Mid '07-Mid '10 Express/Savana |- | 7 ||LY7|| 3.6L || V6 || Gas ||DOHC,<br /> 24 valve||GM High Feature V6. '04-'06 Buick Rendezvous, '04-'09 Cadillac SRX,<br /> '07-'08 GMC Acadia, Saturn Outlook, '08 Buick Enclave, '08-'10 Saturn Vue |- | 7 ||LC9|| 5.3L || V8 || Gas/E85 ||OHV||Flex Fuel. SFI. Gen IV Chevrolet Small-Block V8. Active Fuel Management. VVT.<br /> Aluminum Block & Heads.<br /> '12-'13 Silverado/Sierra 1500, Avalanche, '12-'14 Tahoe/Yukon, Suburban/Yukon XL 1500 |- | 7 ||L8T|| 6.6L || V8 || Gas ||OHV||Gen V Chevrolet Small-Block V8. Iron Block/Aluminum Heads. Direct injection, VVT.<br /> '20+ Silverado HD/Sierra HD, '21+ Express/Savana |- | 8 ||LK5|| 2.8L || I4 || Gas ||DOHC,<br /> 16 valve||Atlas I4. SFI. VVT. '04-'06 Colorado/Canyon, '06 Isuzu i-280. |- | 8 ||L92|| 6.2L || V8 || Gas ||OHV||Gen IV Chevrolet Small-Block V8. Aluminum Block & Heads. SFI. VVT.<br /> '07-'08 GMC Sierra Denali, Yukon Denali/Yukon XL Denali, Cadillac Escalade/Escalade ESV,<br> '08 Chevy Tahoe LTZ, Hummer H2. |- | 8 ||LML|| 6.6L || V8 Turbo || Diesel ||OHV,<br /> 32 valve||Duramax 6600 V8 engine.<br /> '11-'16 Silverado HD/Sierra HD pickups, '13-'16 Silverado HD/Sierra HD chassis cabs. |- | 8 ||LZ0|| 3.0L || I6 Turbo|| Diesel ||DOHC,<br /> 24 valve|| Duramax Diesel I6. Aluminum Block & Heads.<br> '23+ Silverado/Sierra 1500, '24+ Suburban HD, '25+ Tahoe/Suburban, Yukon/Yukon XL. |- | 9 ||LC3|| 3.8L || V6 || Gas ||OHV||2-bbl carb. Chevrolet 90° V6 (Chevy Small-Block V8 Derived). 229 cu. in. <br /> '83-'84 Chevy El Camino, GMC Caballero (49-state emissions). |- | 9 ||LLV|| 2.9L || I4 || Gas ||DOHC,<br /> 16 valve||Atlas I4. SFI. VVT. '07-'12 Colorado/Canyon, '07-'08 Isuzu i-290. |- | 9 ||LT4|| 6.2L ||V8 Supercharged|| Gas ||OHV||Gen V Chevy Small-Block V8. Aluminum Block & Heads. Direct injection. VVT. Active Fuel Management. '23+ Cadillac Escalade/Escalade ESV V-Series. |- | 0 ||LMG|| 5.3L || V8 || Gas/E85 ||OHV||Flex-Fuel. SFI. Gen IV Chevrolet Small-Block V8. Active Fuel Management. VVT added for '10.<br /> Iron Block & Aluminum Heads.<br /> '07-'13 Silverado/Sierra 1500, Avalanche, '07-'14 Tahoe/Yukon, Suburban/Yukon XL 1500. |} H.O.=High Output, VVT=Variable Valve Timing, VVL=Variable Valve Lift, GVWR=Gross Vehicle Weight Rating, CNG=Compressed Natural Gas, LPG=Liquefied Petroleum Gas (Propane Autogas) ====Motor codes for electric light trucks==== {| class="wikitable" |- ! VIN !! RPO !! Fuel !! Drive Wheels !! Application/Notes |- | H ||LN1|| Electricity || Front || '97-'98 Chevrolet S-10 Electric. |- |} ====Motor codes for Ultium-powered electric light trucks==== {| class="wikitable" |- ! VIN !! Motor <br /> RPO code !! # of Motors !! Battery Module <br /> RPO code !! # of Modules !! Fuel !! Drive Wheels !! Application/Notes |- | A ||XRL|| 3 || ETN || 24 || Electricity || All || '22- GMC Hummer EV pickup 3X |- | B ||XRL|| 3 || ETI || 20 || Electricity || All || '24- GMC Hummer EV pickup 3X |- | C ||XRL|| 3 || ETJ || 20 || Electricity || All || '24- GMC Hummer EV SUV 3X |- | D ||XRJ|| 2 || ETI || 20 || Electricity || All || '24 Chevrolet Silverado EV 3WT, '25- Silverado EV 5WT, 3LT,<br> '25 Silverado EV RST (2SP), '26- Silverado EV Trail Boss (2TR),<br> '24- GMC Hummer EV pickup 2X, '25- GMC Sierra EV Denali 5SC,<br> '26- Sierra EV Elevation 3SC, AT4 4SC |- | E ||XRJ|| 2 || ETJ || 20 || Electricity || All || '24- GMC Hummer EV SUV 2X |- | G ||XRJ|| 2 || ETJ || 20 || Electricity || All || '23 BrightDrop Zevo 600 |- | H ||XRJ|| 2 || EWX || 14 || Electricity || All ||'26- Chevrolet Silverado EV 4WT, 2LT,<br> '26- GMC Sierra EV Elevation 3SB, Denali 5SB |- | J ||X0C|| 2 || EC5 || 10 || Electricity || All || '24 Chevy Blazer EV 2LT, 1RS AWD,<br> '25- Chevy Blazer EV 4LT, 3RS AWD, '24- Honda Prologue AWD |- | K ||X0D|| 1 || EC6 || 12 || Electricity || Rear || '23- Cadillac Lyriq RWD, '24-'25 Chevrolet Blazer EV 2RS RWD,<br> '24 Acura ZDX A-Spec RWD |- | L ||X0E|| 2 || EC6 || 12 || Electricity || All || '23- Cadillac Lyriq AWD, '24- Chevrolet Blazer EV PPV AWD,<br> '25- Chevrolet Blazer EV SS AWD, '26- Cadillac Vistiq AWD,<br> '24 Acura ZDX A-Spec, Type S AWD |- | L ||XRJ|| 2 || ETN || 24 || Electricity || All || '24 Chevrolet Silverado EV 4WT, RST (3SP), '25- Silverado EV 8WT,<br> '25 Silverado EV RST (3SP), '26- Silverado EV 4LT, Trail Boss (3TR),<br> '24- GMC Sierra EV Denali 5SD, '26- Sierra EV AT4 4SD,<br> '25- Cadillac Escalade IQ, '26- Cadillac Escalade IQL |- | M ||X0B|| 1 || EC5 || 10 || Electricity || Front || '24- Honda Prologue FWD, '25- Chevy Blazer EV 2LT, 1RS FWD |- | P ||X0B|| 1 || EC3 || 10 || Electricity || Front || '24- Chevrolet Equinox EV FWD |- | R ||X0C|| 2 || EC3 || 10 || Electricity || All || '24- Chevrolet Equinox EV AWD, '25 Cadillac Optiq AWD |- | Y ||XRJ|| 2 || ETC || 12 || Electricity || All || '24 BrightDrop Zevo 400, Zevo 600,<br> '25-'26 Chevrolet BrightDrop 400/600 AWD |- | Z ||XRJ|| 2 || ETJ || 20 || Electricity || All || '24 BrightDrop Zevo 400, Zevo 600,<br> '25-'26 Chevrolet BrightDrop 400/600 AWD |- | 4 ||X0E|| 2 || EC3 || 10 || Electricity || All || '26- Cadillac Optiq AWD |- | 5 ||X0D|| 1 || EC3 || 10 || Electricity || Rear|| '26- Cadillac Optiq RWD |- | 6 ||XRM|| 1 || ETC || 12 || Electricity || Front || '25-'26 Chevrolet BrightDrop 400/600 FWD |- | 7 ||XRJ|| 2 || EWU || 14 || Electricity || All || '26 Chevrolet BrightDrop 600 AWD |} SB=Standard Range, SC=Extended Range, SD=Max Range ====Engine codes for medium duty trucks 2016-==== GM encodes the engine type in character 8 of the VIN. The following table outlines the various engines encoded there: {| class="wikitable" |- ! VIN !! RPO !! Size !! Type !! Fuel !! Valvetrain !! Engine Family/Notes/Applications |- | B ||L96|| 6.0L || V8 || Gas ||OHV||SFI. Gen IV Chevrolet Small-Block V8. Iron Block & Aluminum Heads. VVT.<br /> '16-'20 Chevy LCF 3500/4500. |- | C ||LC8|| 6.0L || V8 || Gas/CNG or<br>Gas/LPG ||OHV||Bi-Fuel. SFI. Gen IV Chevrolet Small-Block V8. Iron Block & Aluminum Heads. VVT.<br /> '16-'20 Chevy LCF 3500/4500. |- | D ||L8T|| 6.6L || V8 || Gas ||OHV||Gen V Chevrolet Small-Block V8. Iron Block/Aluminum Heads. Direct injection, VVT.<br /> '21-'23 Chevy LCF 3500/4500, '24- Chevy LCF 3500HG/4500HG/5500HG/5500XG. |- | F ||LCB|| 6.7L || I6 Turbo || Diesel ||OHV,<br /> 32 valve||Cummins B Series ISB engine. '22- Chevy LCF 6500XD, '23- Chevy LCF 7500XD. |- | 6 ||I1B|| 5.2L || I4 Turbo || Diesel ||SOHC,<br /> 16 valve||Isuzu 4HK1-TC engine. '17- Chevy LCF 4500HD/XD, 5500XD, '17-'24 Chevy LCF 5500HD,<br /> '18-'21 Chevy LCF 6500XD. |- | 7 ||IZ3|| 3.0L || I4 Turbo || Diesel ||DOHC,<br /> 16 valve||Isuzu 4JJ1-TC engine. '16-'18 Chevy LCF 3500HD. |- |} ====Engine codes for AM General-built Hummer H1 2000-2006==== AM General encodes the engine type in character 4 of the VIN. {| class="wikitable" |- ! VIN !! RPO !! Size !! Type !! Fuel !! Valvetrain !! Engine Family/Notes |- | F || || 6.5L || V8 Turbo || Diesel ||OHV||Detroit Diesel V8 built by GEP (General Engine Products), a subsidiary of AM General.<br> '01-'04 Hummer H1 & '06 H1 Fleet models. |- | P ||LLY|| 6.6L || V8 Turbo || Diesel ||OHV,<br /> 32 valve||Duramax 6600 V8 engine. '06 Hummer H1 Alpha. |- | Z ||L65|| 6.5L || V8 Turbo || Diesel ||OHV||Detroit Diesel V8 built by GM. '00-'01 Hummer H1. |- |} ====Engine codes for Nissan-built vans==== Nissan encodes the engine type in character 4 of the VIN. {| class="wikitable" |- ! VIN !! RPO !! Size !! Type !! Fuel !! Valvetrain !! Engine Family/Notes |- | 3 ||L0A|| 2.0L || I4 || Gas ||DOHC,<br /> 16 valve||Nissan MR20DE engine. SFI. VVT. For the '15-'18 Chevrolet City Express. |- |} ====Engine codes for Navistar-built medium-duty trucks==== Navistar encodes the engine type in character 6 & 7 of the VIN. {| class="wikitable" |- ! VIN !! RPO !! Size !! Type !! Fuel !! Valvetrain !! Engine Family/Notes |- | PV ||L5D|| 6.6L || V8 Turbo || Diesel ||OHV,<br /> 32 valve||Duramax 6600 V8 engine. For the Chevy Silverado Medium Duty '19+. |- |} ==GM factories supplying North America== ===North American GM factories=== [[w:List_of_General_Motors_factories | List of GM Factories]] {| class="wikitable" !VIN code !Location !Notes |- |A |Lakewood Assembly (Lakewood Heights, Atlanta, Georgia) |through 1990 model year |- |A |Artisan Center (Warren, Michigan) |From 2026 model year. Cadillac CT5-V Blackwing "Curated by Cadillac" program only. |- |B |Baltimore Assembly (Baltimore, Maryland) |through 2005 model year |- |B |Reatta Craft Centre/Lansing Craft Centre (Lansing Township, Michigan) |1988-2006 model year (except GM EV1) |- |B |GM Defense-Manufacturing Customer Innovation Center (MCIC) (Concord, North Carolina) |From 2024 model year. Chevrolet Suburban HD (a.k.a. HD SUV) (for US govt. only). |- |C |South Gate Assembly (South Gate, California) |through 1982 model year |- |C |Lansing Car Assembly (Lansing, Michigan) |South assembly line 1985-2004 model year |- |D |Doraville Assembly (Doraville, Georgia) |through 2009 model year |- |E |Linden Assembly (Linden, New Jersey) |through 1991 model year |- |E |Pontiac East Assembly (Pontiac, Michigan) |1988-2009 model year |- |E |AM General Military plant (Mishawaka, Indiana) |1992-2006 Hummer H1 |- |F |Flint Truck Assembly (Flint, Michigan) |since 1953 |- |F |Fairfax II Assembly (Kansas City, Kansas) |since 1988 model year |- |G |Framingham Assembly (Framingham, Massachusetts) |through 1989 model year |- |G |Silao Assembly (Silao, Guanajuato, Mexico) |since 1995 model year |- |H |Buick City Assembly (Flint, Michigan) |through 1999 model year |- |H |AM General Commercial plant (Mishawaka, Indiana) |2003-2009 Hummer H2 |- |H |Navistar Springfield plant (Main Line) (Springfield, Ohio) |2019- Chevrolet Silverado Medium Duty (4500HD/5500HD/6500HD) |- |J |Janesville Assembly (Janesville, Wisconsin) |through 2009 model year |- |J |Lansing Delta Township Assembly (Lansing, Michigan) |since 2007 model year |- |K |Leeds Assembly (Leeds, Kansas City, Missouri) |through 1988 model year |- |K |Linden Assembly (Linden, New Jersey) |from 1994-2005 model year |- |K |Nissan plant (Cuernavaca, Morelos, Mexico) |2015-2018 Chevrolet City Express |- |L |Van Nuys Assembly (Van Nuys, California) |through 1992 model year |- |L |San Luis Potosí Assembly (San Luis Potosí, Mexico) |since 2009 model year |- |M |Lansing Car Assembly (Lansing, Michigan) |through 1984 model year, North assembly line 1985-2005 model year |- |M |Toluca Assembly (Toluca, Mexico state, Mexico) |through 2008 model year |- |N |Norwood Assembly (Norwood, Ohio) |through 1987 model year |- |N |Navistar Springfield plant (Secondary Line) (Springfield, Ohio) |2017- Chevrolet Express cutaway, GMC Savana cutaway |- |P |Pontiac Assembly (Pontiac, Michigan) |through 1988 model year |- |R |Arlington Assembly (Arlington, Texas) |since 1965 [all GM brands]. (R plant code used only by Chevrolet in 1963-64) |- |S |St. Louis Assembly (St. Louis, Missouri) |through 1987 model year |- |S |Spring Hill Manufacturing (Spring Hill, Tennessee) |2002-2007 Saturn Vue & 2009-2010 Chevrolet Traverse only |- |S |Spartan Motors/Shyft Group plant (Charlotte, Michigan) |2016- Chevrolet Low Cab Forward 3500/3500HG/4500/4500HG/5500HG/5500XG/6500XD/7500XD |- |S |Ramos Arizpe Assembly (Ramos Arizpe, Coahuila, Mexico) |since 1982 |- |T |Tarrytown Assembly (North Tarrytown, New York) |through 1996 model year |- |U |Detroit/Hamtramck Assembly (Factory Zero) <br /> (Detroit & Hamtramck, Michigan) |since 1986 model year |- |U |Artisan Center (Warren, Michigan) |From 2025 model year. Cadillac Celestiq only. |- |V |Pontiac Central Assembly (Pontiac, Michigan) |through 1991 model year |- |V |Pontiac East Assembly (Pontiac, Michigan) |through 1985 model year |- |W |Willow Run Assembly (Ypsilanti Township, Michigan) |through 1993 model year |- |X |Fairfax Assembly (Fairfax I) (Kansas City, Kansas) |through 1987 model year |- |Y |Wilmington Assembly (Wilmington, Delaware) |through 2010 model year |- |Z |Fremont Assembly (Fremont, California) |through 1982 model year |- |Z |NUMMI (Fremont, California) |1985-2010 model year |- |Z |Spring Hill Manufacturing (Spring Hill, Tennessee) |since 1991 model year (except Vue & Traverse) |- |Z |Fort Wayne Assembly (Roanoke, Indiana) |since 1988 model year |- |0 |Pontiac West Assembly (Pontiac, Michigan) |through 1994 model year |- |0 |Lansing Craft Centre (Lansing Township, Michigan) |GM EV1 only |- |0 |Lansing Grand River Assembly (Lansing, Michigan) |since 2003 model year |- |0 |Artisan Center (Warren, Michigan) |2024 Cadillac CT5-V Blackwing 20th Anniversary Edition where the final eight digits of the VIN are R0912004 through R0912024 or R0962004 through R0962024 |- |1 |Wentzville Assembly (Wentzville, Missouri) |since 1985 model year |- |1 |Oshawa Car Assembly (Oshawa, Ontario, Canada) |from 1967-1983 model year |- |1 |Oshawa Car Assembly (Line 2 a.k.a. Consolidated Line) (Oshawa, Ontario, Canada) |from 1984-2019 model year; switched to pickup trucks for 2019 model year |- |1 |Oshawa Car Assembly (Oshawa, Ontario, Canada) |Silverado pickup trucks since 2022 model year |- |1 |Oshawa Truck Assembly (Oshawa, Ontario, Canada) |through 2009 model year |- |2 |Moraine Assembly (Moraine, Ohio) |through 2009 model year |- |2 |Sainte-Thérèse Assembly (Boisbriand, Quebec, Canada) |through 2002 model year |- |3 |Detroit Truck & Bus plant (Piquette Ave., Detroit, Michigan) |through 1999 model year |- |3 |Saint-Eustache Bus Plant (Saint-Eustache, Quebec, Canada) |through 1987 model year |- |4 |Orion Assembly (Orion Township, Michigan) |since 1985 model year |- |4 |Scarborough Van Assembly (Scarborough, Ontario, Canada) |through 1993 model year |- |5 |Bowling Green Assembly (Bowling Green, Kentucky) |since 1981 model year |- |6 |Oklahoma City Assembly (Oklahoma City, Oklahoma) |through 2006 model year |- |6 |CAMI plant (Ingersoll, Ontario, Canada) |1990-2022 model year |- |7 |Lordstown Assembly (Warren, Ohio) |from 1979-2019 model year |- |8 |Shreveport Assembly (Shreveport, Louisiana) |through 2012 model year |- |9 |Detroit Assembly (Clark Street, Detroit, Michigan)<br> (Cadillac plant) |from 1979-1988 model year |- |9 |Oshawa Car Assembly (Line 1 a.k.a. Flex Line)<br> (Oshawa, Ontario, Canada) |from 1984-2020 model year |- |9 |KUKA plant (Livonia, Michigan) |2022 model year only (BrightDrop Zevo 600) |- |9 |CAMI plant (Ingersoll, Ontario, Canada) |since 2023 model year (BrightDrop Zevo/Chevrolet BrightDrop) |} ===Non-North American GM factories supplying North America=== {| class="wikitable" !VIN code !Location !Models Sourced |- |A |SAIC-GM plant: Jinqiao, Pudong district, Shanghai, China |2017-2018 Cadillac CT6 Plug-in Hybrid |- |B |Daewoo/GM Daewoo/GM Korea plant: Bupyeong, South Korea |1988-1993 Pontiac LeMans, 2004-2011 Chevrolet Aveo, 2005-2010 Pontiac Wave/G3, 2004-2006 Chevrolet <br /> Epica (Canada), 2013-2022 Chevrolet Trax, Buick Encore, 2021- Chevrolet Trailblazer, 2020- Buick Encore GX, 2024- Buick Envista |- |C |GM Daewoo/GM Korea plant: Changwon, South Korea |2003-2010 Pontiac Matiz/Matiz G2 (Mexico), 2013-2022 Chevrolet Spark, 2024- Chevrolet Trax |- |D |SAIC-GM Dongyue Motors plant: Yantai, Shandong province, China |2016- Buick Envision, 2019-2023 Chevrolet Aveo (Mexico), 2023- Chevrolet Onix (Mexico) |- |G |Opel plant: Gliwice, Poland |2016-2019 Buick Cascada |- |K |Suzuki plant: Kosai, Shizuoka prefecture, Japan |1985-1988 Chevrolet Sprint, 1989-1990 Geo Metro hatchback, 1990-1993 Geo Metro convertible, 1985-1990 Pontiac Firefly (Canada), 1991 & 1994 Pontiac Firefly convertible & sedan (Canada) |- |K |GM Daewoo/GM Korea plant: Kunsan, South Korea |2004-2007 Chevrolet Optra (Canada), 2012-2014 Chevrolet Orlando (Canada) |- |L |Holden plant: Elizabeth, South Australia, Australia |2004-2006 Pontiac GTO, 2008-2009 Pontiac G8, 2011-2017 Chevrolet Caprice PPV, 2014-2017 Chevrolet SS |- |R |Opel plant: Rüsselsheim, Germany |1997-2001 Cadillac Catera |- |T |GM India plant: Talegaon, Maharashtra, India |2017-2021 Chevrolet Spark Classic/Beat (Mexico) |- |V |SAIC-GM Wuhan plant: Wuhan, Hubei province, China |2018-2021 Chevrolet Cavalier (Mexico), 2022- Chevrolet Cavalier Turbo (Mexico) |- |W |Suzuki plant: Iwata, Shizuoka prefecture, Japan |1989-1990 Geo Tracker |- |1 |Opel plant: Rüsselsheim, Germany |2011, 2018-2020 Buick Regal |- |3 |Isuzu plant: Kawasaki, Kanagawa prefecture, Japan |1987-1998 Chevrolet/GMC W5, 1989-1996 Chevrolet/GMC W6, 1984-1996 Chevrolet/GMC W7 |- |5 |Opel plant: Antwerp, Belgium |2008-2009 Saturn Astra |- |7 |Isuzu plant: Fujisawa, Kanagawa prefecture, Japan |1988 Chevrolet Spectrum, 1988 Pontiac Sunburst (Canada), 1989 Geo Spectrum, 1990-1993 Geo Storm,<br /> 1999-2008 Chevrolet/GMC W3500, 1988-2009 Chevrolet/GMC W4, 1999-2009 Chevrolet/GMC W5,<br /> 2000-2004 Chevrolet/GMC WT5500,<br /> 2016- Chevrolet Low Cab Forward 3500HD/4500HD/4500XD/5500HD/5500XD |- |8 |Isuzu plant: Fujisawa, Kanagawa prefecture, Japan |1981-1982 Chevrolet LUV, 1985-1987 Chevrolet Spectrum, 1985-1987 Pontiac Sunburst (Canada),<br /> 1986-1987 Chevrolet/GMC W4 |} ==GM WMIs== {| class=wikitable !WMI !Marque !Country |- |1G1||rowspan=57|Chevrolet||United States |- |1G8||United States (MPV 1981-1986) |- |1GA||United States (bus [van with more than 3 rows of seats]) |- |1GB||United States (incomplete vehicle) |- |1GC||United States (truck) |- |1GN||United States (MPV 1987-) |- |1HA||United States (Express incomplete vehicle made by Navistar) |- |1HT||United States ([[w:Chevrolet Silverado#Medium duty version_(4500HD,_5500HD,_6500HD,_and_International_CV)|Silverado Medium Duty]] incomplete vehicle made by Navistar) |- |1Y1||United States (made by NUMMI) |- |2C1||Canada (car made by CAMI) |- |2CN||Canada (SUV made by CAMI - 1998-2011) |- |2G1||Canada |- |2G5||Canada (truck - Chevrolet BrightDrop '25) |- |2G8||Canada (MPV 1981-1986) |- |2GA||Canada (bus [van with more than 3 rows of seats]) |- |2GB||Canada (incomplete vehicle) |- |2GC||Canada (truck - includes Chevrolet BrightDrop '26) |- |2GN||Canada (MPV 1987-) |- |3G1||Mexico |- |3GC||Mexico (truck) |- |3GN||Mexico (MPV) |- |3N6||Mexico (Truck - City Express made by Nissan) |- |4G1||United States (made by Genasys L.C.) |- |4KB||United States (W-Series incomplete vehicle made by GM - through 2009) |- |4W1||United States (MPV - Chevrolet Suburban HD made for US govt. in Concord, NC) |- |54D||United States (incomplete vehicle made by Spartan Motors/The Shyft Group) |- |6G1||Australia (2011-2013 Caprice PPV) |- |6G3||Australia (2014-2017 Caprice PPV & SS performance sedan) |- |ADM||South Africa |- |J81||Japan (car made by Isuzu) |- |J8B||Japan (incomplete vehicle made by Isuzu - through 2009) |- |J8Z||Japan (LUV pickup made by Isuzu) |- |JAL||Japan (incomplete vehicle made by Isuzu - 2016+) |- |JG1||Japan (car made by Suzuki) |- |KL1||South Korea (car) |- |KL7||South Korea (MPV - 2012+) |- |KL8||South Korea (Spark) |- |LSF||China (S-10 Max made by SAIC-Maxus - Mexico only) |- |LSG||China (SAIC-GM) |- |LSH||China (Express Max made by SAIC-Maxus - Mexico only) |- |LZW||China (SAIC-GM-Wuling) |- |MA6||India |- |MJB||Indonesia (GM Indonesia) |- |MK3||Indonesia (SGMW Motor Indonesia) |- |MMM||Thailand |- |XUF||Russia (GM Russia - St. Petersburg plant) |- |XUU||Russia (Chevrolet Korea models made by Avtotor in Kaliningrad) |- |XWB||Uzbekistan (GM Uzbekistan, UzAuto Motors) |- |XWF||Russia (Chevrolet Tahoe & Trailblazer [GMT360] made by Avtotor in Kaliningrad) |- |X9L||Russia (GM-AvtoVAZ) |- |8AG||Argentina |- |8GG||Chile |- |8LD||Ecuador |- |8Z1||Venezuela |- |9BG||Brazil |- |93C||Brazil |- |9GC||Colombia |- |J81||rowspan=6|Geo||Japan (car made by Isuzu) |- |JG1||Japan (car made by Suzuki) |- |JGC||Japan (SUV made by Suzuki) |- |1Y1||United States (car made by NUMMI) |- |2C1||Canada (car made by CAMI) |- |2CN||Canada (SUV made by CAMI - 1990-1997) |- |KLA||rowspan=3|GM Daewoo/<br />GM Korea||South Korea (Bupyeong & Kunsan plants) |- |KLY||South Korea (Changwon plant) |- |5GD||United States (G2X) |- |1G2||rowspan=12|Pontiac||United States |- |1G5||United States (incomplete vehicle - for '89-'90 Turbo Grand Prix by ASC/McLaren) |- |1GM||United States (MPV) |- |2CK||Canada (2006-2009 Torrent made by CAMI) |- |2G2||Canada |- |2G7||Canada (US market 1983 Pontiac Parisienne) |- |3G2||Mexico |- |3G7||Mexico (MPV: 2001-2005 Aztek) |- |4G2||United States (made by Genasys L.C.) |- |5Y2||United States (made by NUMMI) |- |6G2||Australia |- |KL2||South Korea (made by Daewoo/GM Daewoo) |- |1G7||rowspan=6|Pontiac<br />(Canada only)||United States |- |2C7||Canada (car made by CAMI) |- |2CG||Canada (SUV made by CAMI) |- |2G7||Canada |- |J87||Japan (car made by Isuzu) |- |JG7||Japan (car made by Suzuki) |- |KL7||Passport<br />(Canada only)||South Korea (car made by Daewoo) |- |J87||rowspan=3|Asüna<br />(Canada only)||Japan (car made by Isuzu) |- |KL7||South Korea (car made by Daewoo) |- |2CG||Canada (SUV made by CAMI) |- |1G3||rowspan=3|Oldsmobile||United States |- |1GH||United States (MPV/SUV) |- |2G3||Canada |- |1G4||rowspan=9|Buick||United States |- |2G4||Canada |- |3G4||Mexico |- |3G5||Mexico (MPV) |- |4GL||United States (incomplete vehicle) |- |5GA||United States (MPV) |- |KL4||South Korea (MPV) |- |LRB||China (SAIC-GM) |- |W04||Germany & Poland |- |KLA||Alpheon||South Korea (2011-2015) |- |1G6||rowspan=10|Cadillac||United States |- |1GE||United States (incomplete vehicle) |- |1GY||United States (SUV) |- |2G6||Canada |- |2GE||Canada (incomplete vehicle) |- |3GY||Mexico (SUV) |- |LRE||China (SAIC-GM) |- |W06||Germany |- |XWF||Russia (made by Avtotor in Kaliningrad) |- |YSC||Sweden |- |1G8||rowspan=4|Saturn||United States |- |3GS||Mexico (SUV) |- |5GZ||United States (MPV/SUV) |- |W08||Belgium |- |1G0||rowspan=22|GMC||United States (bus 1981-1986) |- |1G5||United States (MPV 1981-1986) |- |1GD||United States (incomplete vehicle) |- |1GJ||United States (bus 1987-) |- |1GK||United States (MPV 1987-) |- |1GT||United States (truck) |- |2CK||Canada (1990-1991 Tracker made by CAMI - Canada only) |- |2CT||Canada (2010-2011 Terrain made by CAMI) |- |2G0||Canada (bus [van with more than 3 rows of seats] 1981-1986) |- |2G5||Canada (MPV 1981-1986) |- |2GD||Canada (incomplete vehicle) |- |2GH||Canada (transit bus) |- |2GJ||Canada (bus [van with more than 3 rows of seats] 1987-) |- |2GK||Canada (MPV 1987-) |- |2GT||Canada (truck) |- |3GK||Mexico (SUV) |- |3GT||Mexico (truck) |- |4KD||United States (W-Series incomplete vehicle made by GM - through 2009) |- |7GZ||United States (incomplete vehicle made by Navistar) |- |J8D||Japan (incomplete vehicle made by Isuzu - through 2009) |- |JGT||Japan (SUV made by Suzuki - Canada only) |- |KL6||South Korea (Middle East market Terrain '08-'10) |- |4GD||WhiteGMC||United States (1988-1989 Brigadier made by GM) |- |137||rowspan=6|Hummer||United States (H1 made by AM General) |- |5GN||United States (H3T) |- |5GR||United States (H2 made by AM General) |- |5GT||United States (H3) |- |ADM||South Africa (H3) |- |XWF||Russia (H2 & H3 made by Avtotor in Kaliningrad) |- |4G5||General Motors||United States (EV1) |- |2G5||rowspan=2|BrightDrop||Canada (Truck 2023-2024) |- |5G5||United States (Truck made by Kuka AG - 2022 only) |- |5G2||rowspan=2|Cruise||United States (car) (Cruise AV) |- |5G3||United States (MPV) (Cruise Origin AV) |- |YS3||rowspan=4|Saab||Sweden |- |JF4||Japan (9-2X made by Subaru) |- |3G0||Mexico (9-4X) |- |5S3||United States (9-7X) |- |W0L||rowspan=19|Opel/Vauxhall||Germany & the rest of Europe (2017 and earlier) |- |W0V||Germany & the rest of Europe (2018 and later) & Opel Ampera-e Mid-2017 - 2019 |- |W0L||when plant code is H: Thailand (Zafira A) |- |W0L||when plant code is 0: South Korea (Antara) or B: South Korea (Antara, Mokka A, Mokka X [A]) |- |W0L||when plant code is C: South Korea (Opel Karl/Vauxhall Viva) |- |W0V||when plant code is B: South Korea (Mokka X [A]) or C: South Korea (Opel Karl/Vauxhall Viva) |- |SCC||UK (Opel Lotus Omega made by Lotus) |- |SED||UK (made by IBC Vehicles) |- |TW8||Portugal |- |VF1||France (Arena made by Renault) |- |VN1||France (Movano A made by Renault at SOVAB plant in Batilly, France) |- |VSX||Spain |- |XUF||Russia (Opel made by GM Russia - St. Petersburg plant) |- |XWF||Russia (Opel made by Avtotor in Kaliningrad) |- |1G0||United States (Opel GT, Opel/Vauxhall Ampera, Opel Ampera-e Early - Mid-2017) |- |4GD||United States (Sintra) |- |ADM||South Africa |- |JAA||Japan (Opel Campo made by Isuzu) |- |JAC||Japan (Monterey made by Isuzu) |- |SKA||rowspan=4|Vauxhall Motors||UK |- |SCC||UK (Vauxhall Lotus Carlton made by Lotus) |- |6G1||Australia (Vauxhall Monaro & VXR8 made by Holden) |- |JAA||Japan (Vauxhall Brava made by Isuzu) |- |SKF||rowspan=2|Bedford Vehicles||UK |- |JAA||Japan (Bedford Brava made by Isuzu) |- |6G1||rowspan=18|Holden||Australia (2003-2017) |- |6H8||Australia (1989-2002) |- |JAA||Japan (Rodeo pickup [TF] made by Isuzu) |- |JAC||Japan (Jackaroo/Monterey made by Isuzu) |- |JSA||Japan (YG Cruze made by Suzuki) |- |KL3||South Korea |- |MMM||Thailand ('09-'11 Colorado pickup [RC] made by GM Thailand) |- |MMU||Thailand ('13-'20 Colorado pickup [RG], '13-'16 Colorado 7, '17-'20 Trailblazer made by GM Thailand) |- |MPA||Thailand ('04-'08 Rodeo pickup [RA] made by Isuzu Thailand) |- |SED||UK (1st gen. Frontera made by IBC Vehicles) |- |W0L||Germany & the rest of Europe (2017 and earlier) |- |W0L||when plant code is H: Thailand (Zafira A) |- |W0V||Germany & the rest of Europe (2018-2020) |- |1GH||United States (Acadia) |- |3G0||Mexico (Equinox) |- |3GM||Mexico (Suburban) |- |4S2||United States (2nd gen. Frontera made by [[w:Subaru Isuzu Automotive|SIA]]) |- |5G8||United States (Volt) |- |1GG||rowspan=4|Isuzu||United States (Truck - Hombre & i-Series made by GM) |- |4GT||United States (H-Series & T-Series incomplete vehicle made by GM - through 2009) |- |4KL||United States (N-Series incomplete vehicle made by GM - through 2009) |- |4NU||United States (MPV/SUV - Ascender made by GM) |- |W0L||Subaru||Thailand [plant code H] (Traviq made by GM Thailand for export to Japan) |- |4G3||Toyota||United States (Cavalier made by GM for export to Japan) |- |3GP||Honda||Mexico (MPV/SUV: 2024- Prologue made by GM) |- |4W5||Acura||United States (MPV/SUV: 2024 ZDX EV made by GM) |} {{BookCat}} rnnp3oqdwxvon67i0psn92fknucmufe 4654487 4654485 2026-07-14T20:47:29Z JustTheFacts33 3434282 /* Series 2000-2009 Light Duty Truck & Multi-Purpose Passenger Vehicle */ 4654487 wikitext text/x-wiki {{Vehicle Identification Numbers (VIN codes)/Warning}}{{clear}} It is the tenth digit that gives you the model year for GM. I've been working at a Chevy dealer for years running codes/vins. For example (my examples only apply to 2001-2015 gm vehicles) Remember 10th digit from the beginning, (left to right). 2001... 1, 2002...2, 2003...3, etc., 2009...9. After 2009, the tenth digit was given a letter 2010... A, 2011...B, 2012...C, 2013...D, 2014...E, 2015...F, Etc... We have another 20 years worth of letters. Thanks for reading. You can always check your model year by looking in your drivers side door jamb and it will give you model year. If it was assembled in July or later, the model year is probably a year later than the calendar year of the manufacturing date listed. ==American GM== ===American VIN format 1981-1984 Passenger Car=== GM's VIN format is as follows: <table border=1 style="margin:auto;"> <tr> <th>Position</th> <th>Sample</th><th></th><th></th><th>Description</th> </tr><tr> <td>1</td> <td>1</td><td></td><td></td><td rowspan=3>[[#GM WMIs|World Manufacturer Identifier]]</td> </tr><tr> <td>2</td> <td>G</td><td></td><td></td></tr><tr> <td>3</td> <td>6</td><td></td><td></td></tr><tr> <td>4</td> <td>A</td><td></td><td></td><td>[[#American restraint types 1981-1984|Restraint type]]</td> </tr><tr> <td>5</td> <td>M</td><td></td><td></td><td>[[#Car Line & Series Code 1981-1984|Car Line & Series Code]]</td> </tr><tr> <td>6</td> <td>4</td><td></td><td></td><td rowspan=2>[[#Body style codes 1981-1986|Body style]]</td> </tr><tr> <td>7</td> <td>7</td><td></td><td></td><td> </td> </tr><tr> <td>8</td> <td>8</td><td></td><td></td><td>[[#American engine codes 1981-|Engine type]]</td> </tr><tr> <td>9</td> <td>0</td><td></td><td></td><td>[[Vehicle Identification Numbers (VIN codes)/Check digit |Check digit]]</td> </tr><tr> <td>10</td> <td>E</td><td></td><td></td><td>[[Vehicle Identification Numbers (VIN codes)/Model year|Model year]]</td> </tr><tr> <td>11</td> <td>9</td><td></td><td></td><td>[[#GM factories supplying North America|Factory ID]]</td> </tr><tr> <td>12</td> <td>1</td><td></td><td></td><td rowspan=6>Sequential number </tr><tr> <td>13</td> <td>2</td><td></td><td></td></tr><tr> <td>14</td> <td>3</td><td></td><td></td></tr><tr> <td>15</td> <td>7</td><td></td><td></td></tr><tr> <td>16</td> <td>6</td><td></td><td></td></tr><tr> <td>17</td> <td>2</td><td></td><td></td> </table> ====American restraint types 1981-1984==== The restraint type is specified as character four of the American GM VIN for passenger cars. {| border=1 style="margin:auto;" !VIN Code !Description |- |A||Manual Seatbelts only - No Passive Restraint |} ====Car Line & Series Code 1981-1984==== The Car Line & Series Code is specified as character five of the American GM VIN for passenger cars. {| border=1 style="margin:auto;" !List of GM platforms !Car Line & <br> Series Code !:Category:General Motors vehicles|Model |- |rowspan=19|GM A platform - rear-wheel drive |T||Chevrolet Malibu 1981 |- |W||Chevrolet Malibu Classic 1981 |- |Z||Chevrolet Monte Carlo 1981 |- |D||Pontiac LeMans 1981 |- |F||Pontiac Grand LeMans 1981 |- |J||Pontiac Grand Prix 1981 |- |K||Pontiac Grand Prix LJ 1981 |- |P||Pontiac Grand Prix Brougham 1981 |- |G||Oldsmobile Cutlass sedan, Cutlass Cruiser wagon 1981 |- |H||Oldsmobile Cutlass Cruiser ''Brougham'' wagon 1981 |- |K||Oldsmobile Cutlass Calais coupe 1981 |- |M||Oldsmobile Cutlass Supreme ''Brougham'' 1981 |- |R||Oldsmobile Cutlass Supreme coupe, Cutlass LS sedan 1981 |- |E||Buick Century wagon 1981 |- |H||Buick Century sedan, Estate wagon 1981 |- |J||Buick Regal 1981 |- |K||Buick Regal ''Sport'' 1981 |- |L||Buick Century ''Limited'' 1981 |- |M||Buick Regal ''Limited'' 1981 |- |rowspan=10|GM A platform - front-wheel drive |W||Chevrolet Celebrity 1982-1984 |- |F||Pontiac 6000 1982-1984 |- |G||Pontiac 6000 ''LE'' 1982-1984 |- |H||Pontiac 6000 ''STE'' 1983-1984 |- |G||Oldsmobile Cutlass Ciera 1982 |- |J||Oldsmobile Cutlass Ciera ''LS'' 1982-1984, Cutlass Cruiser ''LS'' 1984 |- |M||Oldsmobile Cutlass Ciera ''Brougham'' 1982-1984 |- |G||Buick Century ''T-Type'' 1983-1984 |- |H||Buick Century ''Custom'' 1982-1984 |- |L||Buick Century ''Limited'' 1982-1984 |- |rowspan=19|GM B platform |D||Chevrolet Bel Air 1981 (Canada only) |- |L||Chevrolet Impala 1981-1984 |- |N||Chevrolet Caprice Classic 1981-1984 |- |F||Pontiac Laurentian 1981 (Canada only) |- |L||Pontiac Catalina 1981, Parisienne 1984 |- |L||Pontiac Parisienne 1982-1983 (Canada only) |- |N||Pontiac Bonneville 1981 |- |N||Pontiac Parisienne 1981, Parisienne Brougham 1982-1983 (Canada only) |- |R||Pontiac Bonneville Brougham 1981 |- |T||Pontiac Parisienne Brougham 1984 |- |L||Oldsmobile Delta 88 1981-1983 |- |N||Oldsmobile Delta 88 Royale 1981-1984 |- |P||Oldsmobile Custom Cruiser 1981-1984 |- |V||Oldsmobile Delta 88 Royale Brougham LS 1984 |- |Y||Oldsmobile Delta 88 Royale Brougham 1981-1984 |- |N||Buick Le Sabre 1981, Le Sabre ''Custom'' 1982-1984 |- |P||Buick Le Sabre ''Limited'' 1981-1984 |- |R||Buick Le Sabre Estate Wagon 1981-1983 |- |V||Buick Electra Estate Wagon 1981-1984 |- |rowspan=13|GM C platform - rear-wheel drive |G||Oldsmobile 98 Regency 1984 |- |H||Oldsmobile 98 Regency Brougham 1984 |- |V||Oldsmobile 98 Luxury 1981 |- |W||Oldsmobile 98 Regency Brougham 1982-1983 |- |X||Oldsmobile 98 Regency 1981-1983 |- |R||Buick Electra Limited 1984 |- |U||Buick Electra Park Avenue 1984 |- |W||Buick Electra Park Avenue 1981-1983 |- |X||Buick Electra Limited 1981-1983 |- |B||Cadillac Fleetwood Brougham 1981-1983 |- |D||Cadillac DeVille 1981-1983 |- |M||Cadillac DeVille 1984 |- |W||Cadillac Fleetwood Brougham 1984 |- |rowspan=1|GM D platform - rear-wheel drive |F||Cadillac Fleetwood Limousine 1981-1984 |- |rowspan=4|GM E platform |Z||Oldsmobile Toronado Brougham 1981-1984 |- |Y||Buick Riviera T-Type 1981-1984 |- |Z||Buick Riviera 1981-1984 |- |L||Cadillac Eldorado 1981-1984 |- |rowspan=7|GM F platform |P||Chevrolet Camaro Sport Coupe 1981-1984 |- |S||Chevrolet Camaro Berlinetta 1981-1984 |- |S||Pontiac Firebird 1981-1984 |- |T||Pontiac Firebird ''Esprit'' 1981 |- |V||Pontiac Firebird ''Formula'' 1981 |- |W||Pontiac Firebird ''Trans Am'' 1981-1984 |- |X||Pontiac Firebird ''Trans Am'' Turbo Special Edition 1981, Firebird ''S/E'' 1982-1984 |- |rowspan=15|GM G platform - rear-wheel drive |W||Chevrolet Malibu Classic 1982, Malibu 1983 |- |Z||Chevrolet Monte Carlo 1982-1984 |- |J||Pontiac Grand Prix 1982-1984 |- |K||Pontiac Grand Prix LJ 1982-1983, Grand Prix LE 1984 |- |N||Pontiac Bonneville G 1982-1984 |- |P||Pontiac Grand Prix Brougham 1982-1984 |- |R||Pontiac Bonneville G Brougham 1982-1984 |- |S||Pontiac Bonneville G ''LE'' 1984 |- |H||Oldsmobile Cutlass Cruiser wagon 1982-1983 |- |K||Oldsmobile Cutlass Calais coupe 1982-1984 |- |M||Oldsmobile Cutlass Supreme ''Brougham'' 1982-1984 |- |R||Oldsmobile Cutlass Supreme coupe & sedan 1982-1984 |- |J||Buick Regal 1982-1984 |- |K||Buick Regal ''Sport'' 1982, Regal ''T-Type'' 1983-1984 |- |M||Buick Regal ''Limited'' 1982-1984 |- |rowspan=13|GM J platform |C||Chevrolet Cavalier 1983-1984 |- |D||Chevrolet Cavalier 2-d/4-d/wagon 1982, Cavalier CS 1983-1984 |- |E||Chevrolet Cavalier 3-door hatchback 1982, Cavalier CS 3-door hatchback 1983, Cavalier Type 10 2-d/3-d/Convertible 1984 |- |B||Pontiac J2000 1982, 2000 1983, 2000 Sunbird 1984 |- |C||Pontiac J2000 LE 1982, 2000 LE 1983, 2000 Sunbird LE Convertible 1983, 2000 Sunbird LE 1984 |- |D||Pontiac J2000 SE 1982, 2000 SE 1983, 2000 Sunbird SE 1984 |- |E||Pontiac J2000 S 1982 |- |C||Oldsmobile Firenza Base model 1982-1984, Firenza S 1982-1984 |- |D||Oldsmobile Firenza LX 1982-1984, Firenza SX 1982-1984 |- |E||Buick Skyhawk T-Type 1983-1984 |- |S||Buick Skyhawk Custom 1982-1984 |- |T||Buick Skyhawk Limited 1982-1984 |- |G||Cadillac Cimarron 1982-1984 |- |rowspan=1|GM K platform |S||Cadillac Seville 1981-1984 |- |rowspan=3|GM P platform ||E||Pontiac Fiero ''Coupe'' 1984 |- ||F||Pontiac Fiero ''SE'' 1984 |- ||M||Pontiac Fiero ''Sport coupe'' 1984 |- |rowspan=6|GM T platform - rear-wheel drive |B||Chevrolet Chevette 1981-1983, Chevette CS 1984 |- |J||Chevrolet Chevette Scooter 1981-1983, Chevette 1984 |- |B||Pontiac Acadian 1981-1984 (Canada only) |- |J||Pontiac Acadian S 1981-1982, Pontiac Acadian Scooter 1983-1984 (Canada only) |- |L||Pontiac T1000 1982, 1000 1983-1984 |- |M||Pontiac T1000 1981 |- |rowspan=10|GM X platform |H||Chevrolet Citation 2-door coupe 1982-1983, Citation II 2-door coupe 1984 |- |X||Chevrolet Citation hatchback 1981-1983, Citation II hatchback 1984 |- |T||Pontiac Phoenix SJ 1982-1983, Phoenix SE 1984 |- |Y||Pontiac Phoenix 1981-1984 |- |Z||Pontiac Phoenix LJ 1981-1983, Phoenix LE 1984 |- |B||Oldsmobile Omega 1981-1984 |- |E||Oldsmobile Omega Brougham 1981-1984 |- |B||Buick Skylark 1981-1982, Skylark Custom 1983-1984 |- |C||Buick Skylark Limited 1981-1984 |- |D||Buick Skylark Sport 1981-1982, Skylark T-Type 1983-1984 |- |rowspan=1|GM Y platform |Y||Chevrolet Corvette 1981-1982, 1984 |} ===American VIN format 1985-1986 Passenger Car=== GM has traditionally encoded the platform as the fourth character of the VIN. Other content includes an engine code and manufacturing plant. GM's VIN format is as follows: <table border=1 style="margin:auto;"> <tr> <th>Position</th> <th>Sample</th><th></th><th></th><th>Description</th> </tr><tr> <td>1</td> <td>1</td><td></td><td></td><td rowspan=3>[[#GM WMIs|World Manufacturer Identifier]]</td> </tr><tr> <td>2</td> <td>G</td><td></td><td></td></tr><tr> <td>3</td> <td>6</td><td></td><td></td></tr><tr> <td>4</td> <td>D</td><td></td><td></td><td>[[#Platform & Series Codes 1985- Passenger Car|Platform]]</td> </tr><tr> <td>5</td> <td>W</td><td></td><td></td><td>[[#Platform & Series Codes 1985- Passenger Car|Series Code]]</td> </tr><tr> <td>6</td> <td>6</td><td></td><td></td><td rowspan=2>[[#Body style codes 1981-1986|Body style]]</td> </tr><tr> <td>7</td> <td>9</td><td></td><td></td><td> </td> </tr><tr> <td>8</td> <td>Y</td><td></td><td></td><td>[[#American engine codes 1981-|Engine type]]</td> </tr><tr> <td>9</td> <td>0</td><td></td><td></td><td>[[Vehicle Identification Numbers (VIN codes)/Check digit |Check digit]]</td> </tr><tr> <td>10</td> <td>G</td><td></td><td></td><td>[[Vehicle Identification Numbers (VIN codes)/Model year|Model year]]</td> </tr><tr> <td>11</td> <td>9</td><td></td><td></td><td>[[#GM factories supplying North America|Factory ID]]</td> </tr><tr> <td>12</td> <td>1</td><td></td><td></td><td rowspan=6>Sequential number </tr><tr> <td>13</td> <td>2</td><td></td><td></td></tr><tr> <td>14</td> <td>3</td><td></td><td></td></tr><tr> <td>15</td> <td>7</td><td></td><td></td></tr><tr> <td>16</td> <td>6</td><td></td><td></td></tr><tr> <td>17</td> <td>2</td><td></td><td></td> </table> ====Body style codes 1981-1986==== The Body type is specified as characters six and seven of the American GM VIN for passenger cars from 1981-1986. {| border=1 style="margin:auto;" !VIN !Description |- |11,27,37,47,57,97||Two-Door Coupe/Sedan |- |07,08,77,87||Two-Door Hatchback |- |67||Two-Door Convertible |- |19,69||Four-Door Sedan |- |68||Four-Door Hatchback |- |23||Four-Door Limousine, 8-passenger ("Limousine") |- |33||Four-Door Limousine w/Center Partition, 7-passenger ("Formal Limousine") |- |35||Four-Door Station Wagon |} ===American VIN format 1987- Passenger Car=== GM has traditionally encoded the platform as the fourth character of the VIN. Other content includes an engine code and manufacturing plant. GM's VIN format is as follows: <table border=1 style="margin:auto;"> <tr> <th>Position</th> <th>Sample</th><th></th><th></th><th>Description</th> </tr><tr> <td>1</td> <td>1</td><td></td><td></td><td rowspan=3>[[#GM WMIs|World Manufacturer Identifier]]</td> </tr><tr> <td>2</td> <td>G</td><td></td><td></td></tr><tr> <td>3</td> <td>6</td><td></td><td></td></tr><tr> <td>4</td> <td>D</td><td></td><td></td><td>[[#Platform & Series Codes 1985- Passenger Car|Platform]]</td> </tr><tr> <td>5</td> <td>M</td><td></td><td></td><td>[[#Platform & Series Codes 1985- Passenger Car|Series Code]]</td> </tr><tr> <td>6</td> <td>5</td><td></td><td></td><td>[[#Body style codes 1987- Passenger Car|Body style]]</td> </tr><tr> <td>7</td> <td>7</td><td></td><td></td><td>[[#American restraint types 1987-|Restraint type]]</td> </tr><tr> <td>8</td> <td>N</td><td></td><td></td><td>[[#American engine codes 1981-|Engine type]]</td> </tr><tr> <td>9</td> <td>0</td><td></td><td></td><td>[[Vehicle Identification Numbers (VIN codes)/Check digit |Check digit]]</td> </tr><tr> <td>10</td> <td>3</td><td></td><td></td><td>[[Vehicle Identification Numbers (VIN codes)/Model year|Model year]]</td> </tr><tr> <td>11</td> <td>0</td><td></td><td></td><td>[[#GM factories supplying North America|Factory ID]]</td> </tr><tr> <td>12</td> <td>1</td><td></td><td></td><td rowspan=6>Sequential number </tr><tr> <td>13</td> <td>2</td><td></td><td></td></tr><tr> <td>14</td> <td>3</td><td></td><td></td></tr><tr> <td>15</td> <td>7</td><td></td><td></td></tr><tr> <td>16</td> <td>6</td><td></td><td></td></tr><tr> <td>17</td> <td>2</td><td></td><td></td> </table> ===American VIN format 1981-2009 Light Duty Truck & Multi-Purpose Passenger Vehicle=== GM's VIN format is as follows: <table border=1 style="margin:auto;"> <tr> <th>Position</th> <th>Sample</th><th></th><th></th><th>Description</th> </tr><tr> <td>1</td> <td>1</td><td></td><td></td><td rowspan=3>[[#GM WMIs|World Manufacturer Identifier]]</td> </tr><tr> <td>2</td> <td>G</td><td></td><td></td></tr><tr> <td>3</td> <td>K</td><td></td><td></td></tr><tr> <td>4</td> <td>E</td><td></td><td></td><td>[[#GVWR/Brake System 1981-2009 Light Duty Truck & Multi-Purpose Passenger Vehicle|GVWR/Brake System]]</td> </tr><tr> <td>5</td> <td>K</td><td></td><td></td><td>[[#Line & Chassis Type 1981-1999 Light Duty Truck & Multi-Purpose Passenger Vehicle|Line & Chassis Type for 1981-1999]]</td> </tr><tr> <td>5</td> <td>K</td><td></td><td></td><td>[[#Line & Chassis Type 2000-2009 Light Duty Truck & Multi-Purpose Passenger Vehicle|Line & Chassis Type for 2000-2009]]</td> </tr><tr> <td>6</td> <td>1</td><td></td><td></td><td>[[#Series 1981-1999 Light Duty Truck & Multi-Purpose Passenger Vehicle|Series]]</td> </tr><tr> <td>7</td> <td>8</td><td></td><td></td><td>[[#Body style codes 1981-2009 Light Duty Truck & Multi-Purpose Passenger Vehicle|Body type]]</td> </tr><tr> <td>8</td> <td>K</td><td></td><td></td><td>[[#Engine codes for light trucks|Engine type]]</td> </tr><tr> <td>9</td> <td>0</td><td></td><td></td><td>[[Vehicle Identification Numbers (VIN codes)/Check digit |Check digit]]</td> </tr><tr> <td>10</td> <td>N</td><td></td><td></td><td>[[Vehicle Identification Numbers (VIN codes)/Model year|Model year]]</td> </tr><tr> <td>11</td> <td>J</td><td></td><td></td><td>[[#GM factories supplying North America|Factory ID]]</td> </tr><tr> <td>12</td> <td>1</td><td></td><td></td><td rowspan=6>Sequential number </tr><tr> <td>13</td> <td>2</td><td></td><td></td></tr><tr> <td>14</td> <td>3</td><td></td><td></td></tr><tr> <td>15</td> <td>7</td><td></td><td></td></tr><tr> <td>16</td> <td>6</td><td></td><td></td></tr><tr> <td>17</td> <td>2</td><td></td><td></td> </table> ====GVWR/Brake System 1981-2009 Light Duty Truck & Multi-Purpose Passenger Vehicle==== The GVWR/Brake System is specified as character four of the American GM VIN for light trucks. {| border=1 style="margin:auto;" !VIN !GVWR Range in lbs. & Weight Class !Brake System |- |A||Class A: 0-3,000||Hydraulic |- |B||Class B: 3,001-4,000||Hydraulic |- |C||Class C: 4,001-5,000||Hydraulic |- |D||Class D: 5,001-6,000||Hydraulic |- |E||Class E: 6,001-7,000||Hydraulic |- |F||Class F: 7,001-8,000||Hydraulic |- |G||Class G: 8,001-9,000||Hydraulic |- |H||Class H: 9,001-10,000||Hydraulic |- |J||Class 3: 10,001-14,000||Hydraulic |- |K||Class 4: 14,001-16,000||Hydraulic |- |L||Class 5: 16,001-19,500||Hydraulic |} ====Line & Chassis Type 1981-1999 Light Duty Truck & Multi-Purpose Passenger Vehicle==== The Line & Chassis Type is specified as character five of the American GM VIN for light trucks. {| border=1 style="margin:auto;" !VIN !Description |- |B||Special Body Buick, Chevrolet |- |C||Chevy full-size pickups & chassis cabs 2wd (C-series) '81-'86, '88-'99,<br /> GMC full-size pickups & chassis cabs 2wd (C-series) '81-'86, Sierra 2wd (C-series) '88-'99 |- |C||Chevy C10 Blazer 2wd ('81-'82), Tahoe 4-door 2wd ('95-'99), Suburban 2wd ('81-'86, '92-'99),<br /> GMC C1500 Jimmy 2wd ('81-'82), Yukon 4-door 2wd ('95-'99), Suburban 2wd ('81-'86, '92-'99) |- |D||Military Truck 4wd |- |E||'91-'97 Geo Tracker 2wd, '98-'99 Chevrolet Tracker 2wd |- |E||'97-'98 Chevy S-10 EV |- |G||Chevy/GMC full-size vans (Chevy Van, Sportvan, Express, GMC Vandura, Rally Van, Savana) |- |H||'93-'96 Chevy G30HD/GMC G3500HD cutaway van |- |H||Cadillac chassis cutaway/special body (Based on Rwd Fleetwood '93-'96, Fwd DeVille '97-'99) |- |J||'89-'97 Geo Tracker 4wd, '98-'99 Chevrolet Tracker 4wd |- |K||Chevy full-size pickups & chassis cabs 4wd (K-series) '81-'86, '88-'99,<br /> GMC full-size pickups & chassis cabs 4wd (K-series) '81-'86, Sierra 4wd (K-series) '88-'99 |- |K||Chevy K10/K5 Blazer 4wd ('81-'86, '92-'94), Tahoe 4wd ('95-'99), Suburban 4wd ('81-'86, '92-'99),<br /> GMC K1500 Jimmy 4wd ('81-'86), Yukon 4wd ('92-'99), Suburban 4wd ('81-'86, '92-'99), '99 Cadillac Escalade 4wd |- |L||Chevy Luv 2wd '81-'82 |- |L||Chevy Astro/GMC Safari 4wd '90-'99 |- |M||Chevy Astro/GMC Safari 2wd '85-'99 |- |P||Forward Control (includes Chevrolet Step-Van/GMC Value-Van, Chevy/GMC P-Series) |- |R||Chevy Luv 4wd '81-'82 |- |R||Chevy full-size pickups & chassis cabs 2wd (R-series), Suburban 2wd '87-'91,<br /> GMC full-size pickups & chassis cabs 2wd (R-series), Suburban 2wd '87-'91 |- |S||Chevy S-10 2wd ('82-'99), S-10 Blazer 2wd ('83-'94), Blazer 2wd ('95-'99), GMC S-15 2wd ('82-'90), Sonoma 2wd ('91-'99),<br> S-15 Jimmy 2wd ('83-'91), Jimmy 2wd ('92-'99), Isuzu Hombre 2wd ('96-'99) |- |T||Chevy S-10 4wd ('83-'99), S-10 Blazer 4wd ('83-'94), Blazer 4wd ('95-'99), GMC S-15 4wd ('83-'90), Sonoma 4wd ('91-'99), Syclone 4wd ('91),<br> S-15 Jimmy 4wd ('83-'91), Jimmy 4wd ('92-'99), Typhoon 4wd ('92-93), Envoy 4wd ('98-'99), Oldsmobile Bravada 4wd ('91-'94, '96-'99),<br> Isuzu Hombre 4wd ('98-'99) |- |U||Regular length All-Purpose Vehicle ('90-'99 U-body fwd minivans) |- |V||Chevy full-size pickups & chassis cabs 4wd (V-series), V10/V1500 Blazer 4wd, Suburban 4wd '87-'91,<br /> GMC full-size pickups & chassis cabs 4wd (V-series), V1500 Jimmy 4wd, Suburban 4wd '87-'91 |- |W||'81-'87 Chevy El Camino, GMC Caballero |- |X||Extended length All-Purpose Vehicle ('97-'99 U-body fwd extended length minivans) |- |Z||Cadillac chassis cutaway/special body (Based on Rwd Fleetwood '81-'84, Fwd Fleetwood '85-'92) |} ====Line & Chassis Type 2000-2009 Light Duty Truck & Multi-Purpose Passenger Vehicle==== The Line & Chassis Type is specified as character five of the American GM VIN for light trucks. {| border=1 style="margin:auto;" !VIN !Description |- |A||Pontiac Aztek 2wd '01-'05, Buick Rendezvous 2wd '02-'07 |- |A||Chevrolet HHR '06-'09, HHR Panel '07-'09 |- |B||Pontiac Aztek Awd '01-'05, Buick Rendezvous Awd '02-'06 |- |C||Chevy full-size pickups & chassis cabs 2wd (C-series) '00, full-size chassis cabs 2wd (C3500HD) '01-'02, Silverado 2wd '00-'09, Silverado Classic 2wd '07,<br /> GMC Sierra 2wd (C-series) '00-'09, Sierra Classic 2wd '00, '07 |- |C||Chevy Tahoe 2wd ('00-'09), Suburban 2wd ('00-'09), Avalanche 2wd ('02-'09),<br /> GMC Yukon 2wd ('00-'09), Yukon XL 2wd ('00-'09), Cadillac Escalade 2wd ('02-'09), Escalade ESV 2wd ('08-'09) |- |E||Chevrolet Tracker 2wd '00-'04 |- |E||Cadillac SRX 2wd & Awd '04-'09 |- |G||Chevy/GMC full-size vans 2wd (Chevy Express, GMC Savana) '00-09 |- |H||Chevy/GMC full-size vans 4wd (Chevy Express, GMC Savana) '03-09 |- |H||Cadillac Commercial Chassis for Hearse (Based on Fwd DeVille '02-'05, DTS '06-'09) |- |H||Cadillac Professional Chassis for Limousine (Based on Fwd DeVille '00-'05, DTS '06-'07) |- |J||Chevrolet Tracker 4wd '00-'04 |- |K||Chevy full-size pickups & chassis cabs 4wd (K-series) '00, Silverado 4wd '00-'09, Silverado Classic 4wd '07,<br /> GMC Sierra 4wd (K-series) '00-'09, Sierra Classic 4wd '00, '07 |- |K||Chevy Tahoe 4wd ('00-'09), Suburban 4wd ('00-'09), Avalanche 4wd ('02-'09), GMC Yukon 4wd ('00-'09), Yukon XL 4wd ('00-'09),<br> Cadillac Escalade 4wd ('00, '02-'09), Escalade ESV 4wd ('03-'09), Escalade EXT 4wd ('02-'09) |- |K||Cadillac Professional Chassis for Limousine (Based on Fwd DTS '08-'09) |- |L||Chevy Astro/GMC Safari 4wd '00-'05 |- |L||Chevy Equinox 2wd & Awd '05-'09, Pontiac Torrent 2wd & Awd '06-'09, Saturn Vue 2wd & Awd '08-'09 |- |M||Chevy Astro/GMC Safari 2wd '00-'05 |- |N||Hummer H2 '03-'09, H2 SUT '05-'09 |- |N||Hummer H3 '06-'09, H3T '09 |- |R||GMC Acadia 2wd, Saturn Outlook 2wd '07-'09, Buick Enclave 2wd '08-'09, Chevy Traverse 2wd '09 |- |S||Chevy S-10 2wd ('00-'03), Blazer 2wd ('00-'05), GMC Sonoma 2wd ('00-'03), Jimmy 2wd ('00-'01), Isuzu Hombre 2wd ('00) |- |S||Chevy Trailblazer 2wd ('02-'09), SSR ('03-'06), GMC Envoy 2wd ('02-'09), Envoy XUV 2wd ('04-'05), Oldsmobile Bravada 2wd ('02-'04),<br> Buick Rainier 2wd ('04-'07), Isuzu Ascender 2wd ('03-'08) |- |S||Chevy Colorado 2wd ('04-'09), GMC Canyon 2wd ('04-'09), Isuzu i-series 2wd ('06-'08) |- |T||Chevy S-10 4wd ('00-'04), Blazer 4wd ('00-'05), GMC Sonoma 4wd ('00-'04), Jimmy 4wd ('00-'01, Canada only: '02-'05), Envoy 4wd ('00),<br> Oldsmobile Bravada 4wd ('00-'01), Isuzu Hombre 4wd ('00) |- |T||Chevy Trailblazer 4wd ('02-'09), GMC Envoy 4wd ('02-'09), Envoy XUV 2wd ('04-'05), Oldsmobile Bravada 4wd ('02-'04), Buick Rainier 4wd ('04-'07),<br> Isuzu Ascender 4wd ('03-'08), Saab 9-7X 4wd ('05-'09) |- |T||Chevy Colorado 4wd ('04-'09), GMC Canyon 4wd ('04-'09), Isuzu i-series 4wd ('06-'08) |- |U||Regular length All-Purpose Vehicle [Minivan] ('00-'04 Chevy Venture, Pontiac Montana) |- |U||Regular length All-Purpose Vehicle [Minivan] (Chevy Uplander [US: '06-'08, Canada only: '05-'09], Pontiac Montana SV6 [Canada only: '05-'09]) |- |V||Extended length AWD All-Purpose Vehicle [Minivan] ('02-'04 Chevy Venture, Pontiac Montana, Oldsmobile Silhouette Extended length AWD) |- |V||Extended length FWD All-Purpose Vehicle [Minivan] ('05 Chevy Venture, Pontiac Montana Extended length FWD) |- |V||Extended length FWD All-Purpose Vehicle [Minivan] (Chevy Uplander ['05-'08, Canada only: '09], Pontiac Montana SV6 ['05-'06, Canada only: '07-'09],<br> Buick Terraza ['05-'07], Saturn Relay ['05-'07]) |- |V||GMC Acadia Awd, Saturn Outlook Awd '07-'09, Buick Enclave Awd '08-'09, Chevy Traverse Awd '09 |- |X||Extended length FWD All-Purpose Vehicle [Minivan] ('00-'04 Chevy Venture, Pontiac Montana, Oldsmobile Silhouette Extended length FWD) |- |X||Extended length AWD All-Purpose Vehicle [Minivan] ('05-'06 Chevy Uplander AWD, Pontiac Montana SV6 AWD, Buick Terraza AWD, Saturn Relay AWD) |- |Z||Saturn Vue 2wd & Awd '02-'07 |} ====Series 1981-1999 Light Duty Truck & Multi-Purpose Passenger Vehicle==== The Series is specified as character six of the American GM VIN for light trucks. {| border=1 style="margin:auto;" !VIN !Description |- |1||1/2 Ton (includes '96-'99 Isuzu Hombre) |- |2||3/4 Ton |- |3||1 Ton |- |8||1/2 Ton ('81-'87 El Camino, Caballero) |- |9||Cadillac, Buick, Chevrolet Commercial Body/Chassis |- |0||All-Purpose Vehicle ('90-'99 U-body fwd minivans) |} ====Series 2000-2009 Light Duty Truck & Multi-Purpose Passenger Vehicle==== The Series is specified as character six of the American GM VIN for light trucks. {| border=1 style="margin:auto;" !VIN !Description |- |1 (following S)||Isuzu Hombre 2wd ('00), Isuzu i280 2wd ('06), Isuzu i290 2wd ('07-'08), Isuzu i370 2wd ('07-'08) |- |2 (following S)||Isuzu i290 2wd w/Preferred Equip. Pkg. ('08), Isuzu i370 2wd w/Comfort Pkg. or upgrade model ('08) |- |1 (following T)||Isuzu Hombre 4wd ('00), Isuzu i350 4wd ('06), Isuzu i370 4wd ('07-'08) |- |2 (following T)||Isuzu i370 4wd w/Comfort Pkg. ('08) |- |1 (following S)||Isuzu Ascender 2wd ('03-'08) |- |1 (following T)||Isuzu Ascender 4wd ('03-'08) |- |1 (following T)||Saab 9-7X ('05-'08: All, '09: 4.2i, 5.3i) |- |2 (following T)||Saab 9-7X Aero ('09) |} ====Body style codes 1981-2009 Light Duty Truck & Multi-Purpose Passenger Vehicle==== The Body type is specified as character seven of the American GM VIN for light trucks. {| border=1 style="margin:auto;" !VIN !Description |- |0||Sedan Pickup/Pickup Delivery ('81-'87 El Camino, Caballero) |- |0||Cadillac, Buick, Chevrolet Commercial Body/Chassis |- |0||Chassis Only |- |1||Cutaway Van |- |2||Forward Control ('81-'03) (includes '93-'95 Chevy G30HD/GMC G3500HD) |- |2||Sport Utility Truck (SUT) ('04-'09 Avalanche & Escalade EXT, '04-'05 Envoy XUV, '05-'09 Hummer H2 SUT) |- |3||Four-Door Cab pickup (Crew Cab) |- |3||4-door Passenger Minivan ('97-'09 U-bodies) |- |3||4-door SUV or MPV ('06-'09 HHR) (also includes '02-'03 Avalanche & Escalade EXT) ('05-'09 Saab 9-7X) |- |4||Two-Door Cab pickup (includes '83-'87 S-10/S-15 extended cab pickups & '03-'06 Chevy SSR) |- |5||Van (Astro/Safari & full-size vans & '07-'09 HHR Panel) |- |6||Extended length 4-door SUV (Suburban, Yukon XL, Escalade ESV, Trailblazer EXT, Envoy XL, Isuzu Ascender 7-psgr.) |- |6||3-door Passenger Minivan ('90-'99 U-bodies) |- |7||Motor Home Chassis ('81-'09) |- |8||Two-Door SUV (Utility) (2-d Tracker, S-10 Blazer, S-15 Jimmy, Blazer, Jimmy, Tahoe, Yukon) |- |9||Stake (81-87) |- |9||Extended Cab pickup ('88-) |- |9||Extended length van ('90-) (Astro/Safari & full-size vans) |} ===American VIN format 2010- Light Duty Truck & Multi-Purpose Passenger Vehicle=== GM's VIN format is as follows: <table border=1 style="margin:auto;"> <tr> <th>Position</th> <th>Sample</th><th></th><th></th><th>Description</th> </tr><tr> <td>1</td> <td>1</td><td></td><td></td><td rowspan=3>[[#GM WMIs|World Manufacturer Identifier]]</td> </tr><tr> <td>2</td> <td>G</td><td></td><td></td></tr><tr> <td>3</td> <td>K</td><td></td><td></td></tr><tr> <td>4</td> <td>L</td><td></td><td></td><td>[[#GVWR/Brake System/Body Style 2010- Light Duty Truck & Multi-Purpose Passenger Vehicle|GVWR/Brake System/Body Style 2010-]]</td> </tr><tr> <td>5</td> <td>R</td><td></td><td></td><td>[[#Line & Chassis Type 2010- Light Duty Truck & Multi-Purpose Passenger Vehicle|Line & Chassis Type for 2010-]]</td> </tr><tr> <td>6</td> <td>L</td><td></td><td></td><td>[[#Series 2010- Light Duty Truck & Multi-Purpose Passenger Vehicle|Series 2010- Light Duty Truck & Multi-Purpose Passenger Vehicle]]</td> </tr><tr> <td>7</td> <td>E</td><td></td><td></td><td>[[#Restraint codes for light trucks 2010-|Restraint type]]</td> </tr><tr> <td>8</td> <td>D</td><td></td><td></td><td>[[#Engine codes for light trucks|Engine type]]</td> </tr><tr> <td>9</td> <td>0</td><td></td><td></td><td>[[Vehicle Identification Numbers (VIN codes)/Check digit |Check digit]]</td> </tr><tr> <td>10</td> <td>A</td><td></td><td></td><td>[[Vehicle Identification Numbers (VIN codes)/Model year|Model year]]</td> </tr><tr> <td>11</td> <td>J</td><td></td><td></td><td>[[#GM factories supplying North America|Factory ID]]</td> </tr><tr> <td>12</td> <td>1</td><td></td><td></td><td rowspan=6>Sequential number </tr><tr> <td>13</td> <td>2</td><td></td><td></td></tr><tr> <td>14</td> <td>3</td><td></td><td></td></tr><tr> <td>15</td> <td>7</td><td></td><td></td></tr><tr> <td>16</td> <td>6</td><td></td><td></td></tr><tr> <td>17</td> <td>2</td><td></td><td></td> </table> ====GVWR/Brake System/Body Style 2010- Light Duty Truck & Multi-Purpose Passenger Vehicle==== The GVWR/Brake System is specified as character four of the American GM VIN for light trucks. {| border=1 style="margin:auto;" !VIN !GVWR Range in lbs. & Weight Class !Brake System !Body Style |- | ||Class A: 0-3,000||Hydraulic|| |- | ||Class B: 3,001-4,000||Hydraulic|| |- |A||Class C: 4,001-5,000||Hydraulic||26: 4-door SUV or MPV ('10-'11 Chevy HHR Panel, '10-'26 Chevy Equinox, GMC Terrain, '10 Saturn Vue,<br> '12-'15 Chevy Captiva Sport, '19-'24 Cadillac XT4, '24-'26 Buick Encore GX) |- |B||Class C: 4,001-5,000||Hydraulic||46: 4-door MPV ('10-'11 Chevy HHR) |- |J||Class C: 4,001-5,000||Hydraulic||48: 4-door, 4 window Hatchback ('18-'23 Chevy Bolt EV w/Rear Seat Delete pkg. - incomplete vehicle) |- |C||Class C: 4,001-5,000||Hydraulic||03: Regular Cab pickup or Chassis Cab ('10-'12 Chevy Colorado, GMC Canyon) |- |D||Class C: 4,001-5,000||Hydraulic||43: Crew Cab pickup or Chassis Cab ('10-'12 Chevy Colorado, GMC Canyon) |- |E||Class C: 4,001-5,000||Hydraulic||53: Extended Cab pickup or Chassis Cab ('10-'12 Chevy Colorado, GMC Canyon) |- |7||Class C: 4,001-5,000||Hydraulic||75: Four-Door Wagon - High Roof Monocab (Canada only: '12-'14 Chevy Orlando) |- |M||Class C: 4,001-5,000||Hydraulic||06: 4-door SUV ('20-'23 Buick Encore GX) |- |9||Class C: 4,001-5,000||Hydraulic||56: 4-door SUV Extended ('21-'26 Chevy Trailblazer) |- |7||Class C: 4,001-5,000||Hydraulic||58: 4-door Utility Extended ('24-'26 Chevy Trax, Buick Envista) |- |C||Class C: 4,001-5,000||Hydraulic||76: 4-door SUV ('13-'22 Buick Encore, Canada only: '13-'14 Chevy Trax, US & Canada: '15-'22 Chevy Trax) |- |F||Class D: 5,001-6,000||Hydraulic||26: 4-door SUV ('10-'17 Chevy Equinox, GMC Terrain, '10 Saturn Vue, '10-'16 Cadillac SRX, '11 Saab 9-4X,<br> '12-'13 Chevy Captiva Sport, '16-'26 Buick Envision, '17 Cadillac XT5, '19-'25 Cadillac XT4) |- |H||Class D: 5,001-6,000||Hydraulic||03: Regular Cab pickup or Chassis Cab ('10 Chevy Colorado, GMC Canyon) |- |G||Class D: 5,001-6,000||Hydraulic||03: Regular Cab pickup or Chassis Cab ('11-'12 Chevy Colorado, GMC Canyon) |- |J||Class D: 5,001-6,000||Hydraulic||43: Crew Cab pickup or Chassis Cab ('10 Chevy Colorado, GMC Canyon) |- |H||Class D: 5,001-6,000||Hydraulic||43: Crew Cab pickup or Chassis Cab ('11-'12 Chevy Colorado, GMC Canyon) |- |G||Class D: 5,001-6,000||Hydraulic||43: Crew Cab pickup or Chassis Cab ('15-'24 Chevy Colorado, '15-'22 GMC Canyon) |- |K||Class D: 5,001-6,000||Hydraulic||53: Extended Cab pickup or Chassis Cab ('10 Chevy Colorado, GMC Canyon) |- |J||Class D: 5,001-6,000||Hydraulic||53: Extended Cab pickup or Chassis Cab ('11-'12 Chevy Colorado, GMC Canyon) |- |H||Class D: 5,001-6,000||Hydraulic||53: Extended Cab pickup or Chassis Cab ('15-'22 Chevy Colorado, GMC Canyon) |- |T||Class D: 5,001-6,000||Hydraulic||69: Commercial Chassis ('10 Cadillac DTS chassis for Limo/Hearse) |- |7||Class D: 5,001-6,000||Hydraulic||69: Commercial Chassis ('11 Cadillac DTS chassis for Limo/Hearse) |- |L||Class E: 6,001-7,000||Hydraulic||26: 4-door SUV ('10 Chevy Traverse, GMC Acadia, Buick Enclave, Saturn Outlook) |- |K||Class E: 6,001-7,000||Hydraulic||26: 4-door SUV ('11-'17 Chevy Traverse, Buick Enclave, '11-'23 GMC Acadia, '17 Acadia Limited,<br> '17-'26 Cadillac XT5, '19-'26 Chevy Blazer, '20-'25 Cadillac XT6, '23-'26 Cadillac Lyriq EV,<br> '24-'26 Chevy Blazer EV, '25-'26 Cadillac Optiq EV, '24-'26 Honda Prologue EV, '24 Acura ZDX EV A-Spec) |- |7||Class E: 6,001-7,000||Hydraulic||48: 4-door SUV ('24-'25 Chevy Equinox EV) |- |E||Class E: 6,001-7,000||Hydraulic||56: 4-door SUV Extended ('18-'26 Chevy Traverse, Buick Enclave, '24 Chevy Traverse Limited,<br> '24-'26 GMC Acadia |- |M||Class E: 6,001-7,000||Hydraulic||05: Cargo Van ('10 Chevy Express, GMC Savana) |- |L||Class E: 6,001-7,000||Hydraulic||05: Cargo Van ('11-'14 Chevy Express, GMC Savana) |- |M||Class E: 6,001-7,000||Hydraulic||06: 4-door SUV ('10 Chevy Tahoe, GMC Yukon, Hummer H3) |- |L||Class E: 6,001-7,000||Hydraulic||06: 4-door SUV ('11-'20 Chevy Tahoe Police Pursuit Vehicle 2wd) |- |N||Class E: 6,001-7,000||Hydraulic||36: Sport Utility Truck (SUT) ('10 Chevy Avalanche 2wd) |- |M||Class E: 6,001-7,000||Hydraulic||36: Sport Utility Truck (SUT) ('11-13 Chevy Avalanche 2wd) |- |P||Class E: 6,001-7,000||Hydraulic||03: Regular Cab pickup or Chassis Cab ('10 Chevy Silverado, GMC Sierra) |- |N||Class E: 6,001-7,000||Hydraulic||03: Regular Cab pickup or Chassis Cab ('11-'26 Chevy Silverado, GMC Sierra,<br> '22 Chevy Silverado LTD, GMC Sierra Limited) |- |R||Class E: 6,001-7,000||Hydraulic||43: Crew Cab pickup or Chassis Cab ('10 Chevy Silverado, GMC Sierra, Hummer H3T) |- |P||Class E: 6,001-7,000||Hydraulic||43: Crew Cab pickup or Chassis Cab ('11-'26 Chevy Silverado, GMC Sierra,<br> '22 Chevy Silverado LTD, GMC Sierra Limited, '16-'26 Chevy Colorado, GMC Canyon) |- |S||Class E: 6,001-7,000||Hydraulic||53: Extended Cab pickup or Chassis Cab ('10 Chevy Silverado, GMC Sierra) |- |R||Class E: 6,001-7,000||Hydraulic||53: Extended Cab pickup or Chassis Cab ('11-'26 Chevy Silverado, GMC Sierra,<br> '19 Chevy Silverado LD, GMC Sierra Limited, '22 Chevy Silverado LTD, GMC Sierra Limited,<br> '16-'22 Chevy Colorado) |- |G||Class E: 6,001-7,000||Hydraulic||69: Commercial Chassis ('10 Cadillac DTS chassis for Limo/Hearse) |- |8||Class E: 6,001-7,000||Hydraulic||69: Commercial Chassis ('11 Cadillac DTS chassis for Limo/Hearse) |- |X||Class E: 6,001-7,000||Hydraulic||69: Commercial Chassis ('13-'19 Cadillac XTS chassis for Limo/Hearse) |- |U||Class F: 7,001-8,000||Hydraulic||05: Cargo Van or Incomplete Vehicle ('10 Chevy Express, GMC Savana) |- |S||Class F: 7,001-8,000||Hydraulic||05: Cargo Van or Incomplete Vehicle ('11-'14 Chevy Express, GMC Savana) |- |U||Class F: 7,001-8,000||Hydraulic||06: Passenger Van ('10 Chevy Express, GMC Savana) |- |S||Class F: 7,001-8,000||Hydraulic||06: Passenger Van ('11-'14 Chevy Express, GMC Savana) |- |U||Class F: 7,001-8,000||Hydraulic||06: 4-door SUV ('10 Chevy Tahoe, Suburban 1500, GMC Yukon, Yukon XL 1500, Cadillac Escalade, Escalade ESV) |- |S||Class F: 7,001-8,000||Hydraulic||06: 4-door SUV ('11-'26 Chevy Tahoe, Suburban 1500, GMC Yukon, Yukon XL 1500, Cadillac Escalade, Escalade ESV) |- |V||Class F: 7,001-8,000||Hydraulic||36: Sport Utility Truck (SUT) ('10 Chevy Avalanche 4wd, Cadillac Escalade EXT 4wd) |- |T||Class F: 7,001-8,000||Hydraulic||36: Sport Utility Truck (SUT) ('11-'13 Chevy Avalanche 4wd, Cadillac Escalade EXT 4wd) |- |X||Class F: 7,001-8,000||Hydraulic||26: 4-door SUV ('24 Acura ZDX EV Type S) |- |C||Class F: 7,001-8,000||Hydraulic||56: 4-door SUV Extended ('26- Cadillac Vistiq EV) |- |W||Class F: 7,001-8,000||Hydraulic||03: Regular Cab pickup or Chassis Cab ('10 Chevy Silverado, GMC Sierra) |- |X||Class F: 7,001-8,000||Hydraulic||43: Crew Cab pickup or Chassis Cab ('10 Chevy Silverado, GMC Sierra) |- |U||Class F: 7,001-8,000||Hydraulic||43: Crew Cab pickup or Chassis Cab ('11-'26 Chevy Silverado, GMC Sierra,<br> '22 Chevy Silverado LTD, GMC Sierra Limited) |- |Y||Class F: 7,001-8,000||Hydraulic||53: Extended Cab pickup or Chassis Cab ('10 Chevy Silverado, GMC Sierra) |- |V||Class F: 7,001-8,000||Hydraulic||53: Extended Cab pickup or Chassis Cab ('11-'26 Chevy Silverado, GMC Sierra,<br> '19 Chevy Silverado LD, GMC Sierra Limited, '22 Chevy Silverado LTD, GMC Sierra Limited) |- |U||Class F: 7,001-8,000||Hydraulic||69: Commercial Chassis ('10 Cadillac DTS chassis for Limo/Hearse) |- |9||Class F: 7,001-8,000||Hydraulic||69: Commercial Chassis ('11 Cadillac DTS chassis for Limo/Hearse) |- |Z||Class G: 8,001-9,000||Hydraulic||05: Cargo Van or Incomplete Vehicle ('10 Chevy Express, GMC Savana) |- |W||Class G: 8,001-9,000||Hydraulic||05: Cargo Van or Incomplete Vehicle ('11-'26 Chevy Express, GMC Savana) |- |Z||Class G: 8,001-9,000||Hydraulic||06: Passenger Van ('10 Chevy Express, GMC Savana) |- |W||Class G: 8,001-9,000||Hydraulic||06: Passenger Van ('11-'26 Chevy Express, GMC Savana) |- |Z||Class G: 8,001-9,000||Hydraulic||06: 4-door SUV ('10 Chevy Suburban 2500, GMC Yukon XL 2500) |- |W||Class G: 8,001-9,000||Hydraulic||06: 4-door SUV ('11-'13 Chevy Suburban 2500, GMC Yukon XL 2500) |- |2||Class H: 9,001-10,000||Hydraulic||05: Cargo Van or Incomplete Vehicle ('10 Chevy Express, GMC Savana) |- |Z||Class H: 9,001-10,000||Hydraulic||05: Cargo Van or Incomplete Vehicle ('11-'26 Chevy Express, GMC Savana,<br> '23-'24 BrightDrop Zevo 600, '24 BrightDrop Zevo 400, '25-'26 Chevrolet BrightDrop 400/600) |- |2||Class H: 9,001-10,000||Hydraulic||06: Passenger Van ('10 Chevy Express, GMC Savana) |- |Z||Class H: 9,001-10,000||Hydraulic||06: Passenger Van ('11-'26 Chevy Express, GMC Savana) |- |3||Class H: 9,001-10,000||Hydraulic||03: Van Cutaway ('10 Chevy Express, GMC Savana) |- |0||Class H: 9,001-10,000||Hydraulic||03: Van Cutaway ('11-'26 Chevy Express, GMC Savana) |- |3||Class H: 9,001-10,000||Hydraulic||03: Regular Cab pickup or Chassis Cab ('10 Chevy Silverado, GMC Sierra) |- |0||Class H: 9,001-10,000||Hydraulic||03: Regular Cab pickup or Chassis Cab ('11-'26 Chevy Silverado, GMC Sierra) |- |4||Class H: 9,001-10,000||Hydraulic||43: Crew Cab pickup or Chassis Cab ('10 Chevy Silverado, GMC Sierra) |- |1||Class H: 9,001-10,000||Hydraulic||43: Crew Cab pickup or Chassis Cab ('11-'26 Chevy Silverado, GMC Sierra,<br> '24-'25 GMC Hummer EV pickup w/20 module battery pack,<br> '24-'26 Chevy Silverado EV, '25-'26 GMC Sierra EV) |- |5||Class H: 9,001-10,000||Hydraulic||53: Extended Cab pickup or Chassis Cab ('10 Chevy Silverado, GMC Sierra) |- |2||Class H: 9,001-10,000||Hydraulic||53: Extended Cab pickup or Chassis Cab ('11-'13, '15-'26 Chevy Silverado, GMC Sierra) |- |B||Class H: 9,001-10,000||Hydraulic||26: 4-door SUV ('24-'25 GMC Hummer EV SUV) |- |6||Class 3: 10,001-14,000||Hydraulic||03: Van Cutaway ('10 Chevy Express, GMC Savana) |- |3||Class 3: 10,001-14,000||Hydraulic||03: Van Cutaway ('11-'26 Chevy Express, GMC Savana) |- |6||Class 3: 10,001-14,000||Hydraulic||03: Regular Cab pickup or Chassis Cab ('10 Chevy Silverado, GMC Sierra) |- |3||Class 3: 10,001-14,000||Hydraulic||03: Regular Cab pickup or Chassis Cab ('11-'26 Chevy Silverado, GMC Sierra) |- |7||Class 3: 10,001-14,000||Hydraulic||43: Crew Cab pickup or Chassis Cab ('10 Chevy Silverado, GMC Sierra) |- |4||Class 3: 10,001-14,000||Hydraulic||43: Crew Cab pickup or Chassis Cab ('11-'26 Chevy Silverado, GMC Sierra,<br> '22-'24 GMC Hummer EV pickup w/24 module battery pack, '25 GMC Hummer EV pickup w/20 or 24 module battery pack, '26 GMC Hummer EV pickup, '24-'25 Chevy Silverado EV, GMC Sierra EV) |- |8||Class 3: 10,001-14,000||Hydraulic||53: Extended Cab pickup or Chassis Cab ('10 Chevy Silverado, GMC Sierra) |- |5||Class 3: 10,001-14,000||Hydraulic||53: Extended Cab pickup or Chassis Cab ('11-'13, '15-'18, '20-'26 Chevy Silverado, GMC Sierra) |- |8||Class 3: 10,001-14,000||Hydraulic||06: 4-door SUV ('16-'19, '24-'26 Chevy Suburban 3500HD) |- |8||Class 3: 10,001-14,000||Hydraulic||05: Cargo Van ('22 BrightDrop EV600, '23-'24 BrightDrop Zevo 600, '24 BrightDrop Zevo 400,<br> '25-'26 Chevrolet BrightDrop 400/600) |- |T||Class 3: 10,001-14,000||Hydraulic||26: 4-door SUV ('25-'26 GMC Hummer EV SUV, '25-'26 Cadillac Escalade IQ [EV]) |- |L||Class 3: 10,001-14,000||Hydraulic||56: 4-door SUV Extended ('26- Cadillac Escalade IQL [EV]) |- |9||Class 4: 14,001-16,000||Hydraulic||03: Van Cutaway ('10 Chevy Express, GMC Savana) |- |6||Class 4: 14,001-16,000||Hydraulic||03: Van Cutaway ('11-'26 Chevy Express, GMC Savana) |- | ||Class 5: 16,001-19,500||Hydraulic|| |} ====Line & Chassis Type 2010- Light Duty Truck & Multi-Purpose Passenger Vehicle==== The Line & Chassis Type is specified as character five of the American GM VIN for light trucks. {| border=1 style="margin:auto;" !VIN !Description |- |A||Chevrolet HHR ('10-'11), HHR Panel ('10-'11) |- |A||Chevy Silverado 1500 2wd ('22-'26), Silverado HD 2500/3500 2wd ('25-'26) |- |B||Chevy Blazer 2wd & Awd '19-'26 |- |C||Chevy Silverado 2wd ('10-'18), Silverado LD 1500 2wd '19, Silverado HD 2500/3500 2wd '19, GMC Sierra 2wd ('10) |- |C||Chevy Tahoe 2wd ('10-'24), Suburban 2wd ('10-'24), Avalanche 2wd ('10-'13),<br /> GMC Yukon 2wd ('10), Yukon XL 2wd ('10), Cadillac Escalade 2wd ('10), Escalade ESV 2wd ('10) |- |D||Chevy Silverado 1500 4wd ('22-'24) |- |D||Chevy Blazer EV ('24-'26), Chevy Equinox EV ('24-'26) |- |E||Cadillac Escalade IQ [EV] ('25-'26), Escalade IQL [EV] ('26-), GMC Hummer EV pickup ('26-), GMC Hummer EV SUV ('26-), GMC Sierra EV ('26-) |- |F||Chevy Bolt EV w/Rear Seat Delete pkg. - incomplete vehicle ('18-'23) |- |G||Cadillac Chassis for Limousine & for Armored Vehicle (Based on XTS '13-'19) |- |G||Cadillac Chassis for Hearse (Based on XTS '13-'19) |- |G||Chevy Express 2wd ('10-'26), GMC Savana 2wd ('10) |- |H||Chevy Express 4wd ('10-'14), GMC Savana 4wd ('10) |- |H||GMC Sierra 1500 2wd ('22-'26), Sierra HD 2500/3500 2wd ('25-'26) |- |H||Honda Prologue EV ('24-'26), Acura ZDX EV ('24) |- |J||Buick Encore 2wd & Awd ('13-'22), Chevy Trax 2wd & Awd (Canada: '13-'22, US: '15-'22) |- |J||BrightDrop EV600 ('22), BrightDrop Zevo 600 ('23-'24), BrightDrop Zevo 400 ('24), Chevrolet BrightDrop 400/600 ('25-'26) |- |K||Chevy Silverado 4wd ('10-'18), Silverado LD 1500 4wd ('19), Silverado HD 2500/3500 4wd ('19), GMC Sierra 4wd ('10) |- |K||Chevy Silverado 1500 4wd ('25-'26), Silverado HD 2500/3500 4wd ('25-'26) |- |K||Chevy Tahoe 4wd ('10-'24), Suburban 4wd ('10-'24), Suburban HD 4wd ('24-'26), Avalanche 4wd ('10-'13), GMC Yukon 4wd ('10), Yukon XL 4wd ('10),<br> Cadillac Escalade 4wd ('10), Escalade ESV 4wd ('10), Escalade EXT 4wd ('10) |- |K||Cadillac Professional Chassis for Limousine (Based on DTS '10-'11) |- |K||Cadillac Commercial Chassis for Hearse (Based on DTS '10-'11) |- |L||Chevy Equinox 2wd & Awd '10-'17, Captiva Sport 2wd '12-'15, Captiva Sport Awd '12, GMC Terrain 2wd & Awd '10-'17, Saturn Vue 2wd & Awd '10 |- |L||GMC Terrain 2wd & Awd '18-'26 |- |L||Buick Envista '24-'26, Chevy Trax '24-'26 |- |M||Buick Encore GX 2wd & Awd ('20-'26), Chevy Trailblazer 2wd & Awd ('21-'26) |- |N||Cadillac SRX 2wd & Awd '10-'16, Saab 9-4X 2011 |- |N||GMC Acadia 2wd & Awd '17-'26, Cadillac XT5 2wd & Awd '17-'26 |- |N||Hummer H3, H3T 2010 |- |P||Chevy Orlando (Canada only: '12-'14) |- |P||Cadillac XT6 2wd & Awd '20-'25 |- |P||Cadillac Lyriq EV 2wd & Awd '23-'25 |- |R||GMC Acadia 2wd '10-'16, Acadia Limited 2wd '17, Saturn Outlook 2wd '10, Buick Enclave 2wd '10-'17, Chevy Traverse 2wd '10-'17 |- |R||Buick Enclave 2wd '18-'24, Chevy Traverse 2wd '18-'23 |- |R||Buick Enclave 2wd '25-'26, Chevy Traverse 2wd '24-'26 |- |S||Chevy Traverse Limited 2wd '24 |- |S||Chevy Colorado 2wd ('10-'12, '15-'26), GMC Canyon 2wd ('10) |- |T||Chevy Colorado 4wd ('10-'12, '15-'26), GMC Canyon 4wd ('10) |- |T||Chevy Traverse Limited Awd '24 |- |U||GMC Sierra 1500 4wd ('22-'26), Sierra HD 2500/3500 4wd ('25-'26) |- |V||GMC Acadia Awd '10-'16, Acadia Limited Awd '17, Saturn Outlook Awd '10, Buick Enclave Awd '10-'17, Chevy Traverse Awd '10-'17 |- |V||Buick Enclave Awd '18-'24, Chevy Traverse Awd '18-'23 |- |V||Buick Enclave Awd '25-'26, Chevy Traverse Awd '24-'26 |- |W||Chevy Silverado 1500 2wd ('19-'21), Silverado LTD 1500 2wd ('22), Silverado HD 2500/3500 2wd ('20-'24) |- |X||Buick Envision 2wd & Awd '16-'20, Chevy Equinox 2wd & Awd '18-'26 |- |Y||Chevy Silverado 1500 4wd ('19-'21), Silverado LTD 1500 4wd ('22), Silverado HD 2500/3500 4wd ('20-'24) |- |Z||Cadillac XT4 2wd & Awd '19-'25, Buick Envision 2wd '21-'23, Buick Envision Awd '21-'26 |- |1||GMC Sierra 2wd ('11-'18), Sierra Limited 1500 2wd ('19), Sierra HD 2500/3500 2wd ('19), Yukon 2wd ('11-'26), Yukon XL 2wd ('11-'26) |- |1||GMC Canyon 2wd ('25-'26) |- |2||GMC Sierra 4wd ('11-'18), Sierra Limited 1500 4wd ('19), Sierra HD 2500/3500 4wd ('19), Yukon 4wd ('11-'26), Yukon XL 4wd ('11-'26) |- |2||GMC Canyon 4wd ('25-'26) |- |3||Cadillac Escalade 2wd ('11-'24), Escalade ESV 2wd ('11-'24) |- |3||Cadillac Optiq EV ('25-), Cadillac Vistiq EV ('26-) |- |4||Cadillac Escalade 4wd ('11-'24), Escalade ESV 4wd ('11-'24), Escalade EXT 4wd ('11-'13) |- |5||GMC Canyon 2wd ('11-'12, '15-'24) |- |5||Chevy Tahoe 2wd ('25-'26), Suburban 2wd ('25-'26) |- |6||GMC Canyon 4wd ('11-'12, '15-'24) |- |6||Chevy Tahoe 4wd ('25-'26), Suburban 4wd ('25-'26) |- |7||GMC Savana 2wd ('11-'26) |- |8||GMC Savana 4wd ('11-'14) |- |8||GMC Sierra 1500 2wd ('19-'21), Sierra Limited 1500 2wd ('22), Sierra HD 2500/3500 2wd ('20-'24) |- |8||Cadillac Escalade 2wd ('25-'26), Escalade ESV 2wd ('25-'26) |- |9||GMC Sierra 1500 4wd ('19-'21), Sierra Limited 1500 4wd ('22), Sierra HD 2500/3500 4wd ('20-'24) |- |9||Cadillac Escalade 4wd ('25-'26), Escalade ESV 4wd ('25-'26) |- |0||GMC Hummer EV pickup ('22-'25), GMC Hummer EV SUV ('24-'25), Chevy Silverado EV ('24-'26), GMC Sierra EV ('24-'25) |} ====Series 2010- Light Duty Truck & Multi-Purpose Passenger Vehicle==== The Series is specified as character six of the American GM VIN for light trucks. {| border=1 style="margin:auto;" !VIN !Description |- |P (following N)||Saab 9-4X 3.0i 2wd ('11) |- |R (following N)||Saab 9-4X 3.0i Awd ('11) |- |S (following N)||Saab 9-4X 3.0i Premium 2wd ('11) |- |T (following N)||Saab 9-4X 3.0i Premium Awd ('11) |- |U (following N)||Saab 9-4X Aero Awd ('11) |} ===Platform & Series Codes 1985- Passenger Car=== GM used a lettered system of automobile platform codes for three decades. These letters were used as the fourth position of the VIN. Though today's GM platforms use Greek characters, they are still encoded with Latin characters in the fourth position. Position five encodes the specific model and trim level of the vehicle. {| border=1 style="margin:auto;" !List of GM platforms !Platform<br>Code !Series<br>Code !:Category:General Motors vehicles|Model |- |rowspan=14|GM A platform |rowspan=14|A||W||Chevrolet Celebrity 1985-1990 |- |E||Pontiac 6000 ''SE'' 1986-1988 |- |F||Pontiac 6000 1985-1988, 6000 ''LE'' 1989-1991 |- |G||Pontiac 6000 ''LE'' 1985-1988 |- |H||Pontiac 6000 ''STE'' 1985-1989 |- |J||Pontiac 6000 ''SE'' 1989-1991 |- |G||Oldsmobile Cutlass Ciera ''S'' Sedan 1993-1994 |- |J||Oldsmobile Cutlass Ciera ''LS'' 1985, Cutlass Ciera 1986-1989 & Cutlass Cruiser 1985-1989,<br /> Cutlass Ciera ''S'' Coupe 1986-1987, Cutlass Ciera ''S'' 1990-1991 & Cutlass Cruiser ''S'' 1990-1994, Cutlass Ciera ''SL'' & Cutlass Cruiser ''SL'' 1995, Ciera ''SL'' sedan & wagon 1996 |- |L||Oldsmobile Cutlass Ciera 1990-1991, Cutlass Ciera ''S'' Sedan 1992 |- |M||Oldsmobile Cutlass Ciera ''Brougham'' 1985-1988, Cutlass Ciera ''SL'' Coupe 1986-1989, Cutlass Ciera ''SL'' Sedan 1989-1993, Cutlass Cruiser ''Brougham'' 1987-1988, Cutlass Cruiser ''SL'' 1989-1993 |- |S||Oldsmobile Cutlass Ciera ''International Series'' 1988-1990 |- |G||Buick Century ''T-Type'' 1985-1986, Century ''Special'' 1991-1996 |- |H||Buick Century ''Custom'' 1985-1995 |- |L||Buick Century ''Limited'' 1985-1993, Century Estate Wagon 1986-1989 |- |rowspan=14|GM B platform |rowspan=14|B||L||Chevrolet Impala 1985, Caprice 1986-1992, Caprice Classic 1993-1996, Impala SS 1995-96 |- |N||Chevrolet Caprice Classic 1985-1992, Caprice Classic LS 1993-1994,<br /> Caprice Classic LTZ 1991-1993, Impala SS 1994 |- |U||Chevrolet Caprice Classic Brougham/Brougham LS 1987-1990 |- |L||Pontiac Parisienne 1985-1986, Safari Wagon 1987-1989 |- |T||Pontiac Parisienne Brougham 1985-1986 |- |N||Oldsmobile Delta 88 Royale 1985 |- |P||Oldsmobile Custom Cruiser 1985-1992 |- |V||Oldsmobile Delta 88 Royale Brougham LS 1985 |- |Y||Oldsmobile Delta 88 Royale Brougham 1985 |- |N||Buick Le Sabre ''Custom'' 1985, Roadmaster sedan 1992-1996 |- |P||Buick Le Sabre ''Limited'' 1985 |- |R||Buick Le Sabre Estate Wagon 1985-1989, Estate Wagon 1990,<br /> Roadmaster Estate Wagon 1991-1996 |- |T||Buick Roadmaster ''Limited'' sedan 1992-1996 |- |V||Buick Electra Estate Wagon 1985-1989 |- |rowspan=13|GM C platform - front-wheel drive |rowspan=13|C |V||Oldsmobile Touring Sedan 1988-1990, 98 Touring Sedan 1991-1993 |- |W||Oldsmobile 98 Regency Brougham 1985-1990, 98 Regency Elite 1991-1996 |- |X||Oldsmobile 98 Regency 1985-1990, 1992-1994 |- |F||Buick Electra T-Type 1985-1990 |- |U||Buick Electra Park Avenue Ultra 1989-1990, Park Avenue Ultra 1991-1996 |- |W||Buick Electra Park Avenue 1985-1990, Park Avenue 1991-1996 |- |X||Buick Electra 1985-1986, Electra Limited 1987-1990 |- |B||1985-1992 Cadillac Fleetwood, Fleetwood D'Elegance, 1993 Cadillac Sixty Special |- |D||1985-1993 Cadillac DeVille |- |G||1991-1992 Cadillac Fleetwood Sixty Special |- |H||1985-1987 Cadillac Fleetwood Limousine |- |S||1987-1990 Cadillac Fleetwood Sixty Special |- |T||1991-1993 Cadillac DeVille Touring Sedan |- |rowspan=3|GM G platform (models formerly on C platform) |rowspan=3|C |- |U||Buick Park Avenue Ultra 1997-2005 |- |W||Buick Park Avenue 1997-2005 |- |rowspan=2|GM D platform |rowspan=2|D||W||1985-1986 Cadillac Fleetwood Brougham, 1987-1992 Cadillac Brougham |- |W||1993-1996 Cadillac Fleetwood |- |rowspan=31|GM Delta I platform |rowspan=31|A |- |A||Chevrolet Cobalt LS w/manual trans. 2010 |- |B||Chevrolet Cobalt LS w/automatic trans. 2010 |- |C||Chevrolet Cobalt 1LT w/manual trans. 2010 |- |D||Chevrolet Cobalt 1LT w/automatic trans. 2010 |- |E||Chevrolet Cobalt 2LT w/manual trans. 2010 |- |F||Chevrolet Cobalt 2LT w/automatic trans. 2010 |- |G||Chevrolet Cobalt SS Turbo 2010 |- |H||Chevrolet Cobalt (base model w/XFE) 2010 |- |K||Chevrolet Cobalt (base model) 2005, Cobalt LS 2006-2008, Cobalt LS w/man. trans. 2009 |- |L||Chevrolet Cobalt LS 2005, Cobalt LT 2006-2008, Cobalt LT w/manual trans. 2009 |- |M||Chevrolet Cobalt SS 2006-2007, Cobalt Sport 2008 |- |P||Chevrolet Cobalt SS Supercharged 2005-2007, SS Turbo 2008-2009 |- |S||Chevrolet Cobalt LS w/automatic trans. 2009 |- |T||Chevrolet Cobalt LT w/automatic trans. 2009 |- |Z||Chevrolet Cobalt LT 2005, Cobalt LTZ 2006-2007 |- |L||Pontiac G5 2007-2008, G5 w/manual trans. 2009 |- |N||Pontiac G5 GT 2007-2008, G5 GT w/manual trans. 2009 |- |S||Pontiac G5 w/automatic trans. 2009 |- |T||Pontiac G5 GT w/automatic trans. 2009 |- |F||Saturn Ion sedan Level 1 w/manual trans. 2003-2005 |- |G||Saturn Ion sedan Level 1 w/automatic trans. 2003-2005 |- |J||Saturn Ion sedan Level 2 w/automatic trans. 2003-2007 |- |K||Saturn Ion sedan Level 3 w/manual trans. 2003-2007 |- |L||Saturn Ion sedan Level 3 w/automatic trans. 2003-2007 |- |M||Saturn Ion coupe Level 2 w/manual trans. 2003-2007 |- |N||Saturn Ion coupe Level 2 w/automatic trans. 2003-2007 |- |V||Saturn Ion coupe Level 3 w/manual trans. 2003-2007 |- |W||Saturn Ion coupe Level 3 w/automatic trans. 2003-2007 |- |Y||Saturn Ion coupe Red Line 2004-2007 |- |Z||Saturn Ion sedan Level 2 w/manual trans. 2003-2007 |- |rowspan=9|GM E platform |rowspan=9|E |- |V||Oldsmobile Toronado Trofeo 1988-1992 |- |Z||Oldsmobile Toronado Brougham 1985-1986, Toronado 1987-1992 |- |C||Buick Reatta 1988-1991 |- |Y||Buick Riviera T-Type 1985-1986 |- |Z||Buick Riviera 1985-1993 |- |C||Cadillac Eldorado Collector Series 2002 |- |L||Cadillac Eldorado 1985-2002 |- |T||Cadillac Eldorado Touring Coupe 1994-2002 |- |rowspan=26|GM Epsilon I platform |rowspan=26|Z||A||Chevrolet Malibu Fleet 2010-2012 |- |B||Chevrolet Malibu LS 2010-2012 |- |C||Chevrolet Malibu 1LT 2010-2012 |- |D||Chevrolet Malibu 2LT 2010-2012 |- |E||Chevrolet Malibu LTZ 2010-2011, Malibu 1LZ 2012 |- |F||Chevrolet Malibu Hybrid 2008-2010, Malibu 3LT 2012 |- |G||Chevrolet Malibu LS 2008-2009, Malibu 2LZ 2012 |- |H||Chevrolet Malibu 1LT 2008-2009 |- |J||Chevrolet Malibu 2LT 2008-2009 |- |K||Chevrolet Malibu LTZ 2008-2009 |- |S||Chevrolet Malibu 2004-2005, Malibu LS 2006-2007, Malibu Classic LS 2008 |- |T||Chevrolet Malibu LS 2004-2005, Malibu LT 2006-2007, Malibu Classic LT 2008 |- |U||Chevrolet Malibu LT 2004-2005, Malibu LTZ 2006-2007 |- |W||Chevrolet Malibu SS 2006-2007 |- |A||Pontiac G6 Sedan 2010 |- |F||Pontiac G6 2.4L Sedan (Base model) 2006, G6 Value Leader (Base model w/1SV) 2007-2008 |- |G||Pontiac G6 3.5L Sedan (Base model) 2005-2006, G6 (Base model) 2007-2009 |- |H||Pontiac G6 GT 2005-2009 |- |J||Pontiac G6 (Base model) 2009 1/2 (Mid-Cycle Revision) |- |K||Pontiac G6 GT 2009 1/2 (Mid-Cycle Revision) |- |L||Pontiac G6 GXP 2009 1/2 (Mid-Cycle Revision) |- |M||Pontiac G6 GTP 2006-2007, G6 GXP 2008-2009 |- |R||Saturn Aura Green Line 2007-2009 |- |S||Saturn Aura XE 2007-2009 |- |V||Saturn Aura XR 2007-2008, Aura XR 2.4L 2009 |- |X||Saturn Aura XR V6 2009 |- |rowspan=6|GM F platform |rowspan=6|F||P||Chevrolet Camaro Sport Coupe 1985-2002, Convertible 1987-1992, 1994-2002 |- |S||Chevrolet Camaro Berlinetta 1985-1986 |- |S||Pontiac Firebird 1985-2002, Firebird ''Formula'' 1987-1992 |- |V||Pontiac Firebird ''Formula / Trans Am'' 1993-2002, Firebird ''Trans Am GT'' 1994 |- |W||Pontiac Firebird ''Trans Am'' 1985-1992, Firebird ''Trans Am GTA'' 1987-1992 |- |X||Pontiac Firebird ''S/E'' 1985-1986 |- |rowspan=13|GM G platform - rear-wheel drive |rowspan=13|G||Z||Chevrolet Monte Carlo 1985-1988 |- |J||Pontiac Grand Prix 1985-1987 |- |K||Pontiac Grand Prix LE 1985-1987 |- |N||Pontiac Bonneville 1985-1986 |- |P||Pontiac Grand Prix Brougham 1985-1987 |- |R||Pontiac Bonneville Brougham 1985-1986 |- |S||Pontiac Bonneville LE 1985-1986 |- |K||Oldsmobile Cutlass Salon coupe 1985-1987 |- |M||Oldsmobile Cutlass Supreme ''Brougham'' 1985-1987,<br /> Cutlass Supreme Classic ''Brougham'' 1988 |- |R||Oldsmobile Cutlass Supreme 1985-1987, Cutlass Supreme Classic 1988 |- |J||Buick Regal 1985-1987 |- |K||Buick Regal T-Type 1985-1987 |- |M||Buick Regal ''Limited'' 1985-1987 |- |rowspan=4|GM G platform - front-wheel drive |rowspan=4|G||D||1995-1999 Buick Riviera |- |R||1995-1999 Oldsmobile Aurora |- |R||2001-2002 Oldsmobile Aurora 3.5 |- |S||2001-2003 Oldsmobile Aurora 4.0 |- |rowspan=9|GM H platform |rowspan=9|H||H||Buick Le Sabre 1987 |- |P||Buick Le Sabre ''Custom'' 1986-1999 |- |R||Buick Le Sabre ''Limited'' 1986-1999 |- |C||Oldsmobile Regency 1997-1998, Eighty Eight 50th Anniversary Edition 1999 |- |N||Oldsmobile Delta 88 Royale 1986-1988, 88 Royale 1989-1995, Eighty Eight & Eighty Eight LS 1996-99 |- |Y||Oldsmobile Delta 88 Royale Brougham 1986-1988, 88 Royale Brougham 1989-91, Eighty Eight Royale LS 1992-1995, LSS 1996-1999 |- |X||Pontiac Bonneville 1987, Bonneville LE 1988-1991, Bonneville ''SE'' 1992-1999 |- |Y||Pontiac Bonneville SSE 1988-1991, Bonneville ''SSEi'' 1992-1993 |- |Z||Pontiac Bonneville LE 1987, Bonneville SE 1988-1991, Bonneville ''SSE'' 1992-1999, Bonneville ''SSEi'' 1994-1999 |- |rowspan=17|GM G platform (models formerly on H platform or their successors) |rowspan=17|H||A||Buick Lucerne ''CX'' 2010-2011 |- |B||Buick Lucerne ''CX-2'' 2010 |- |C||Buick Lucerne ''CXL'' 2010-2011 |- |D||Buick Lucerne ''CXL V6'' 2006-2009, Lucerne ''CXL Special Edition'' 2010 |- |E||Buick Lucerne ''CXS'' 2006-2008, Lucerne ''CXL-3'' 2010 |- |F||Buick Lucerne ''Super'' 2008-2009, Lucerne ''CXL-4'' 2010 |- |G||Buick Lucerne ''CXL-5'' 2010 |- |H||Buick Lucerne ''Super 1SP'' 2010 |- |J||Buick Lucerne ''CXL Premium'' 2010-2011 |- |K||Buick Lucerne ''Super 1XS'' 2010, Lucerne ''Super'' 2011 |- |P||Buick Lucerne ''CX'' 2006-2009 |- |R||Buick Lucerne ''CXL V8'' 2006-2007, Lucerne ''CXL Special Edition V8'' 2008 |- |P||Buick Le Sabre ''Custom'' 2000-2005 |- |R||Buick Le Sabre ''Limited'' 2000-2005 |- |X||Pontiac Bonneville ''SE'' 2000-2005 |- |Y||Pontiac Bonneville ''SLE'' 2000-2005 |- |Z||Pontiac Bonneville ''SSEi'' 2000-2003, Bonneville GXP 2004-2005 |- |rowspan=23|GM J platform |rowspan=23|J |- |C||Chevrolet Cavalier 1985-1994, RS Convertible 1991-1994 |- |D||Chevrolet Cavalier CS 1985-1987 |- |E||Chevrolet Cavalier Type 10 1985, RS 1986-1988,<br /> Type 10 Convertible 1985, RS Convertible 1986-1987 |- |F||Chevrolet Cavalier Z24 1986-1994, Z24 Convertible 1988-1989, 1992-1994 |- |C||Chevrolet Cavalier 1995-2005, Cavalier RS 1997-1999 |- |F||Chevrolet Cavalier LS Sedan 1995-2005, LS Coupe 2003-2005, Z24 Coupe 1995-2001,<br /> LS Convertible 1995-1997, Z24 Convertible 1998-2000 |- |H||Chevrolet Cavalier Z24 Coupe/Sedan 2002, LS Sport 2002-2005 |- |S||Chevrolet Cavalier LS Coupe 2002 |- |B||Pontiac Sunbird 1985-1989, Sunbird LE 1990-1991, Sunbird SE 1992-1993,<br /> Sunbird LE 1994 |- |C||Pontiac Sunbird LE 1985, Sunbird 1991, Sunbird LE 1992-1993 |- |D||Pontiac Sunbird SE 1985-1991, Sunbird GT 1992-1993 |- |L||Pontiac Sunbird SE 1994 |- |U||Pontiac Sunbird GT 1986-1991 |- |B||Pontiac Sunfire SE 1995-2002, Convertible 1995-2000, Sunfire 2003-2005 |- |D||Pontiac Sunfire GT 1995-2002 |- |C||Oldsmobile Firenza Base model 1985-1987, Firenza S 1985-1987, Firenza 1988 |- |D||Oldsmobile Firenza LX 1985-1987, Firenza SX 1985, Firenza LC, GT 1986-1987 |- |E||Buick Skyhawk T-Type 1985-1986 |- |S||Buick Skyhawk Custom 1985-1987, Skyhawk Sport 1986-1987, Skyhawk 1988-1989 |- |T||Buick Skyhawk Limited 1985-1987 |- |G||Cadillac Cimarron 1985-1988 |- |G, H||Toyota Cavalier (Japan only) |- |rowspan=8|GM2900 platform |rowspan=8|J||C||Saturn L-Series|2004 Saturn L300.1 |- |D||Saturn L-Series|2004 Saturn L300.2, 2005 Saturn L300 |- |L||Saturn L-Series|2004 Saturn L300.3 |- |R||Saturn L-Series|Saturn LS w/manual transmission '00/L100 w/manual transmission '01 |- |S||Saturn L-Series|Saturn LS w/automatic transmission '00/L100 w/automatic transmission '01-'02 |- |T||Saturn L-Series|Saturn LS1 w/manual transmission '00/L200 w/manual transmission '01-'03, LW200 w/manual trans. '02 |- |U||Saturn L-Series|Saturn LS1 w/automatic transmission '00/L200 w/automatic transmission '01-'03,<br> Saturn LW1 w/automatic transmission '00/LW200 w/automatic transmission '01-'03 |- |W||Saturn L-Series|Saturn LS2 '00, LW2 '00, L300 '01-'03, LW300 '01-'03 |- |rowspan=5|GM K platform |rowspan=5|K||D||Cadillac Deville 1994-1999 |- |E||Cadillac Deville D'Elegance 1997-1999 |- |F||Cadillac Deville Concours 1994-1999 |- |S||Cadillac Seville 1985-1993 / Cadillac Seville SLS 1994-1997 |- |Y||Cadillac Seville Touring Sedan / Cadillac Seville STS 1990-1997 |- |rowspan=9|GM G platform (models formerly on K platform) |rowspan=9|K||A||2010-2011 Cadillac DTS |- |D||2000-2005 Cadillac Deville, 2006-2009 Cadillac DTS, 2010-2011 DTS Luxury |- |E||2000-2005 Cadillac Deville DHS |- |F||2000-2005 Cadillac Deville DTS |- |H||2010-2011 Cadillac DTS Premium |- |P||2010-2011 Cadillac DTS Platinum |- |R||2010-2011 Cadillac DTS Livery |- |S|| 1998-2004 Cadillac Seville SLS |- |Y|| 1998-2003 Cadillac Seville STS |- |rowspan=33|GM Kappa platform |rowspan=33|M||A||Pontiac Solstice w/automatic transmission 2010 |- |B||Pontiac Solstice 2006-2007, Solstice w/manual transmission 2008-2009 |- |B||Pontiac Solstice GXP w/automatic transmission 2010 |- |C||Pontiac Solstice w/automatic transmission 2008 |- |D||Pontiac Solstice w/manual transmission 2010 |- |E||Pontiac Solstice GXP w/manual transmission 2010 |- |F||Pontiac Solstice GXP w/automatic transmission 2008 |- |G||Pontiac Solstice GXP 2007, Solstice GXP w/manual transmission 2008-2009 |- |K||Pontiac Solstice Street Edition w/manual transmission 2009 |- |N||Pontiac Solstice w/automatic transmission 2009 |- |S||Pontiac Solstice SCCA SSB Championship Edition (2.4L) 2008 |- |T||Pontiac Solstice SCCA T2 Championship Edition (2.0L Turbo) 2008 |- |T||Pontiac Solstice GXP w/automatic transmission 2009 |- |Z||Pontiac Solstice Street Edition w/automatic transmission 2009 |- |B||Saturn Sky 2007, Sky w/manual transmission 2008-2009 |- |B||Saturn Sky Redline w/automatic transmission 2010 |- |C||Saturn Sky w/automatic transmission 2008 |- |C||Saturn Sky Ruby Red (Merlot Jewel) Special Edition w/manual transmission 2009 |- |C||Saturn Sky Preferred w/automatic transmission 2010 |- |D||Saturn Sky Hydro Blue Special Edition w/manual transmission 2009 |- |E||Saturn Sky Redline w/manual transmission 2010 |- |F||Saturn Sky Redline w/automatic transmission 2008 |- |F||Saturn Sky Preferred w/manual transmission 2010 |- |G||Saturn Sky Redline 2007, Sky Redline w/manual transmission 2008-2009 |- |H||Saturn Sky Redline Ruby Red (Merlot Jewel) Special Edition w/manual transmission 2009 |- |L||Saturn Sky Redline Hydro Blue Special Edition w/manual transmission 2009 |- |N||Saturn Sky w/automatic transmission 2009 |- |P||Saturn Sky Ruby Red (Merlot Jewel) Special Edition w/automatic transmission 2009 |- |R||Saturn Sky Hydro Blue Special Edition w/automatic transmission 2009 |- |T||Saturn Sky Redline w/automatic transmission 2009 |- |V||Saturn Sky Redline Ruby Red (Merlot Jewel) Special Edition w/automatic transmission 2009 |- |X||Saturn Sky Redline Hydro Blue Special Edition w/automatic transmission 2009 |- |G||Opel GT 2007-2010, Daewoo G2X 2007-2009 |- |rowspan=8|GM L platform |rowspan=8|L |- |D||Chevrolet Corsica ''Base'' 1994-1996 |- |T||Chevrolet Corsica ''Base'' 1987-1989, Corsica ''LT'' 1990-1993 |- |V||Chevrolet Beretta ''Base'' 1987-1996 |- |W||Chevrolet Beretta "GT" 1989-1993 (RPO Z21) & Beretta ''Z26'' 1994-1996 (RPO Z04) |- |Z||Chevrolet Corsica ''LTZ'' 1989-1990 (RPO Z54) |- |Z||Chevrolet Beretta "GTZ" 1990-1993 (RPO Z04) |- |T||Pontiac Tempest (Canada only) |- |rowspan=5|GM M platform |rowspan=5|M||R||Chevrolet Sprint |- |R||Geo Metro LSi, Metro |- |R||Pontiac Firefly (Canada only) |- |S||Chevrolet Sprint ER |- |S||Geo Metro, Metro XFi |- |rowspan=32|GM N platform |rowspan=32|N |- |B||Oldsmobile Cutlass 1997, Cutlass ''GL'' 1998-1999 |- |C||Buick Skylark 4-door ''Custom'' 1987-1991 |- |D||Buick Skylark 4-door ''Limited'' 1987-1989, Skylark 4-door ''Luxury Edition'' 1990-1991 |- |D||Chevrolet Malibu 1997-2003, Chevrolet Classic 2004-2005 |- |E||Chevrolet Malibu ''LS'' 1997-2003 |- |E||Pontiac Grand Am 1985-1988, Grand Am ''LE'' 1989-1991 |- |E||Pontiac Grand Am ''SE'' 1992-2005 |- |F||Oldsmobile Calais 1985-1987, Cutlass Calais 1988, Cutlass Calais ''S'' 1989-1991 |- |F||Oldsmobile Achieva ''SL'' 1992-1994, Achieva ''SC'' 1994 |- |F||Oldsmobile Alero ''GLS'' 1999-2004 |- |F||Pontiac Grand Am ''SE1'' 2000-2004 |- |G||Oldsmobile Cutlass ''GLS'' 1997-1999 |- |G||Pontiac Grand Am 1991 |- |G||Pontiac Grand Am ''SE2'' 2000, 2003-2004 |- |J||Buick Somerset Regal 1985, Somerset ''Custom'' 1986-1987, Skylark 2-door ''Custom'' 1988-91, Skylark 4-door ''Custom'' 1986 |- |J||Buick Skylark 1992, Skylark ''Limited'' 1993-1994, Skylark ''Custom'' 1996-1998,<br /> Skylark ''Limited'' & ''Gran Sport'' 1996-1997 |- |K||Buick Somerset ''T-Type'' 1986 |- |K||Oldsmobile Cutlass Calais ''International Series'' 1988-1991 |- |K||Oldsmobile Alero ''GX'' 1999-2004 |- |L||Oldsmobile Cutlass Calais 1989-1991 |- |L||Oldsmobile Achieva ''S'' 1992-1995, Achieva ''SL'' 1996-1998, Achieva ''SC'' 1996-1997 |- |L||Oldsmobile Alero ''GL'' 1999-2004 |- |M||Buick Somerset Regal ''Limited'' 1985, Somerset ''Limited'' 1986-'87, Skylark 2-door ''Limited'' '88-'89, Skylark 2-door ''Gran Sport'' 1990-1991, Skylark 4-door ''Limited'' 1986 |- |M||Buick Skylark ''Gran Sport'' 1992-1994 |- |T||Oldsmobile Calais ''Supreme'' 1985-1987, Cutlass Calais ''SL'' 1988-1991 |- |V||Buick Skylark 1990-1991 |- |V||Buick Skylark ''Custom'' 1993-1995, ''Limited'' 1995, ''Gran Sport'' 1995 |- |V||Pontiac Grand Am ''LE'' 1985-1988 |- |V||Pontiac Grand Am ''GT1'' 2000-2005 |- |W||Pontiac Grand Am ''SE'' 1986-1991 |- |W||Pontiac Grand Am ''GT'' 1992-2005 |- |rowspan=5|GM P platform - rear-wheel drive |rowspan=5|P |- ||E||Pontiac Fiero ''Coupe'' 1985-1988 |- ||F||Pontiac Fiero ''SE'' 1985-1987 |- ||G||Pontiac Fiero ''GT'' 1985-1988 |- ||M||Pontiac Fiero ''Sport coupe'' 1985-1987 |- |rowspan=1|GM P platform - front-wheel drive |rowspan=1|P||X||General Motors EV1 1997, 1999 |- |rowspan=6|GM R platform |rowspan=6|R |- ||F||1985-1986 Chevrolet Spectrum |- ||F||1987-1988 Chevrolet Spectrum 3-door hatchback, 1989 Geo Spectrum 3-door hatchback |- ||F||1990-1993 Geo Storm |- ||G||1987-1988 Chevrolet Spectrum 4-door sedan, 1989 Geo Spectrum 4-door sedan |- ||T||1990-1993 Geo Storm GSi |- |rowspan=8|GM S platform |rowspan=8|S||K||1985-1988 Chevrolet Nova |- |K||1989-1997 Geo Prizm, 1998-2002 Chevrolet Prizm |- |L||1988 Chevrolet Nova Twin Cam, 1990-1992 Geo Prizm GSi |- |L||2003-2008 Pontiac Vibe, 2009-2010 Pontiac Vibe FWD w/manual transmission |- |M||2003-2006 Pontiac Vibe ''AWD'', 2009-2010 Pontiac Vibe AWD w/automatic transmission |- |N||2003-2006 Pontiac Vibe ''GT'', 2009-2010 Pontiac Vibe GT FWD w/manual transmission |- |P||2009-2010 Pontiac Vibe FWD w/automatic transmission |- |R||2009-2010 Pontiac Vibe GT FWD w/automatic transmission |- |rowspan=32|GM Sigma platform |rowspan=32|D||A||Cadillac CTS Base model RWD 2010-2013, CTS Coupe Base model RWD 2014 |- |B||Cadillac CTS Wagon Luxury Collection RWD 2014 |- |C||Cadillac CTS Base model AWD 2010-2013, CTS Coupe/Wagon Performance Collection RWD 2014 |- |D||Cadillac CTS Coupe/Wagon Premium Collection RWD 2014 |- |E||Cadillac CTS Luxury Collection RWD 2010-2013, CTS Coupe Base model AWD 2014 |- |F||Cadillac CTS Auto. Trans. RWD 2008-2009, CTS Luxury Collection RWD w/Navigation 2010-2013, CTS Wagon Luxury Collection AWD 2014 |- |G||Cadillac CTS Auto. Trans. AWD 2008-2009, CTS Luxury Collection AWD 2010-2013, CTS Coupe/Wagon Performance Collection AWD 2014 |- |H||Cadillac CTS Auto. Trans. AWD w/Navigation 2008-2009, CTS Luxury Collection AWD w/Navigation 2010-2013, CTS Coupe/Wagon Premium Collection AWD 2014 |- |J||Cadillac CTS Auto. Trans. RWD w/Navigation 2008-2009, CTS Performance Collection RWD 2010-2013 |- |K||Cadillac CTS Performance Collection RWD w/Navigation 2010-2013 |- |L||Cadillac CTS Performance Collection AWD 2010-2013 |- |M||Cadillac CTS V6 2003-2004, CTS 2.8L 2005-2007, CTS Man. Trans. RWD 2008-2009, CTS Performance Collection AWD w/Navigation 2010-2013 |- |N||Cadillac CTS V-Series 2004-2007, 2009 |- |P||Cadillac CTS 3.6L 2005-2007, CTS Direct Inj. V6 Man. Trans. RWD 2008-2009, CTS Premium Collection RWD w/Navigation 2010-2013 |- |R||Cadillac CTS Direct Inj. V6 Auto. Trans. RWD 2008 |- |S||Cadillac CTS Direct Inj. V6 Auto. Trans. AWD 2008-2009, CTS Premium Collection AWD w/Navigation 2010-2013 |- |T||Cadillac CTS Direct Inj. V6 Auto. Trans. AWD w/Navigation 2008-2009 |- |U||Cadillac CTS Direct Inj. V6 Auto. Trans. RWD 2009 |- |V||Cadillac CTS Direct Inj. V6 Auto. Trans. RWD w/Navigation 2008-2009, CTS sedan V-Series 2010-2014, CTS Wagon V-Series 2011-2014, CTS Coupe V-Series 2011-2015 |- |0||Cadillac CTS Sport Appearance Pkg. 2010 |- |1||Cadillac CTS Eco Luxury Pkg. 2010 |- |2||Cadillac CTS Sport Appearance Pkg. 2011 |- |A||Cadillac STS V6 AWD 2008-2009 |- |B||Cadillac STS V8 AWD 2008-2009 |- |C||Cadillac STS V8 2005-2007, STS V8 RWD 2008-2009 |- |D||Cadillac STS V6 AWD w/Navigation 2008-2009 |- |K||Cadillac STS V6 RWD w/Navigation 2008-2009 |- |L||Cadillac STS V8 AWD w/Navigation 2008-2009 |- |U||Cadillac STS (all models) 2010, STS (Base model) 2011 |- |W||Cadillac STS V6 2005-2007, STS V6 RWD 2008-2009, STS Luxury 2011 |- |X||Cadillac STS V-Series 2006-2009, STS Luxury Performance 2011 |- |Z||Cadillac STS V8 RWD w/Navigation 2008-2009 |- |rowspan=4|GM T platform - rear-wheel drive |rowspan=4|T||B|| 1985-1987 Chevrolet Chevette CS |- |B||1985-1987 Pontiac Acadian (Canada only) |- |J||1985 Pontiac Acadian Scooter (Canada only) |- |L||1985-1987 Pontiac 1000 |- |rowspan=4|GM T platform - front-wheel drive |rowspan=4|T||N|| Pontiac LeMans 1988, LeMans LE 1989-1991, LeMans SE 1992-1993 |- |R||1988-1989 Pontiac LeMans SE sedan |- |S||1988-1990 Pontiac LeMans GSE AeroCoupe |- |X||1988-1993 Pontiac LeMans VL AeroCoupe |- |rowspan=3|GM T platform - front-wheel drive |rowspan=3|A |- |R||Saturn Astra XE (US: 2008, Canada: 2008-2009) |- |T||Saturn Astra XR (US: 2008, Canada: 2008-2009) |- |rowspan=4|Daewoo T200 platform |rowspan=4|T||D||Chevrolet Aveo Special Value 2004-2008, Base model 2004, LS 2005-2011, Aveo 1LT 2009-2011 |- |G||Chevrolet Aveo LT 2005-2008, Aveo 2LT 2009-2011 |- |J||Chevrolet Aveo LS 2004 |- |D||Pontiac G3 2009 |- |rowspan=2|GM V platform - front-wheel drive |rowspan=2|V||R||1987-1992 Cadillac Allanté with standard removable hardtop |- |S||1990-1993 Cadillac Allanté |- |rowspan=2|GM V platform - rear-wheel drive |rowspan=2|V||R||1997-2001 Cadillac Catera |- |X||2004-2006 Pontiac GTO coupe |- |rowspan=49|GM W platform |rowspan=49|W |- |A||Chevrolet Impala ''LS'' 2010-2013, Impala Limited ''LS'' 2014-2016 |- |B||Chevrolet Impala ''LS'' 2006-2009, Impala ''LT'' 2010-2013, Impala Limited ''LT'' 2014-2016 |- |C||Chevrolet Impala ''LT'' 3.9L 2006-2009, Impala ''LTZ'' 2010-2013, Impala Limited ''LTZ'' 2014-2016 |- |D||Chevrolet Impala ''SS'' 2006-2009, Impala ''Police'' 2010-2013, Impala Limited ''Police'' 2014-2016 |- |E||Chevrolet Impala ''Taxi'' 2010-2012 |- |F||Chevrolet Impala 2000-2005, Impala ''LS'' Fleet (1FL) 2011-2013 |- |G||Chevrolet Impala ''LT'' Fleet (2FL) 2011-2013 |- |H||Chevrolet Impala ''LS'' 2000-2005 |- |J||Chevrolet Monte Carlo ''LS'' 2006-2007 |- |K||Chevrolet Monte Carlo ''LT'' 3.9L 2006, Monte Carlo ''LT'' 3.5L 2007 |- |L||Chevrolet Lumina 1990-2001, Lumina ''LS'' 1997-1999 |- |L||Chevrolet Monte Carlo ''SS'' 2006-2007 |- |M||Chevrolet Monte Carlo ''LT'' 3.5L 2006 |- |N||Chevrolet Lumina ''Euro'' 1990-1994, Lumina ''LS'' 1995-1996, Lumina ''LTZ'' 1997-1999 |- |N||Chevrolet Monte Carlo ''LTZ'' 2006 |- |P||Chevrolet Lumina ''Z34'' 1991-1994, Impala ''SS'' 2004-2005 |- |S||Chevrolet Impala ''Police'' 2006-2009 |- |T||Chevrolet Impala ''LT'' 3.5L 2006-2009 |- |U||Chevrolet Impala ''LTZ'' 2006-2009 |- |V||Chevrolet Impala ''50th Anniversary Edition'' 2008 |- |W||Chevrolet Monte Carlo ''LS'' 1995-2005 |- |X||Chevrolet Monte Carlo ''Z34'' 1995-1999, Monte Carlo ''SS'' 2000-2004, Monte Carlo ''LT'' 2005 |- |Z||Chevrolet Monte Carlo ''SS Supercharged'' 2004-2005 |- |C||Pontiac Grand Prix ''GXP'' 2005-2008 |- |H||Pontiac Grand Prix ''LE'' 1991-1993 |- |J||Pontiac Grand Prix 1988-1989, Grand Prix ''LE'' 1990, Grand Prix ''SE'' 1991-2000 |- |K||Pontiac Grand Prix ''LE'' 1988-1989, Grand Prix ''SE1'' 2000-2003 |- |P||Pontiac Grand Prix ''SE'' 1988-1990, Grand Prix ''GT'' 1991-1993, 1997-2003,<br /> Grand Prix ''GT1'' 2004, Grand Prix 2005-2008 |- |R||Pontiac Grand Prix ''GTP'' 1999-2005, Grand Prix ''GT'' 2006-2007 |- |S||Pontiac Grand Prix ''GT2'' 2004, Grand Prix ''GT'' 2005 |- |T||Pontiac Grand Prix ''STE'' 1990-1993 |- |H||Oldsmobile Cutlass Supreme 1988-1991, Cutlass Supreme ''S'' 1992-1994,<br /> Cutlass Supreme ''SL'' 1995-1997, Intrigue 1998, Intrigue ''GX'' 1999-2002 |- |R||Oldsmobile Cutlass Supreme ''International Series'' 1988-1993 |- |S||Oldsmobile Cutlass Supreme ''SL'' 1988-1991, Intrigue ''GL'' 1998-2002 |- |T||Oldsmobile Cutlass Supreme Convertible 1990-1995 |- |X||Oldsmobile Intrigue ''GLS'' 1998-2002 |- |B||Buick Regal ''Custom'' 1988-1996, Regal ''GS'' Coupe 1995-1996, Regal ''LS'' 1997-2004 |- |C||Buick Lacrosse ''CX'' 2005-2009 |- |D||Buick Regal ''Limited'' 1988-1996, Lacrosse ''CXL'' 2005-2009 |- |E||Buick Lacrosse ''CXS'' 2005-2008 |- |F||Buick Regal ''GS'' Coupe 1992-1994, Regal ''GS'' Sedan 1992-2004 |- |F||Buick Allure ''CX'' 2005-2009 (Canada only) |- |H||Buick Allure ''CXS'' 2005-2008 (Canada only) |- |J||Buick Allure ''CXL'' 2005-2009 (Canada only) |- |N||Buick Lacrosse ''Super'' 2008-2009 |- |P||Buick Allure ''Super'' 2008-2009 (Canada only) |- |S||Buick Century ''Custom'' 1997-2005 |- |Y||Buick Century ''Limited'' 1997-2002 |- |rowspan=3|GM X platform |rowspan=3|X||B||1985 Buick Skylark Custom |- |C||1985 Buick Skylark Limited |- |X||1985 Chevrolet Citation II |- |rowspan=39|GM Y platform |rowspan=39|Y||V||2004-2009 Cadillac XLR |- |X||2006-2009 Cadillac XLR V-Series |- |Y||1985-2008 Chevrolet Corvette (all models except '90-'95 ZR-1) |- |Z||1990-1995 Chevrolet Corvette ZR-1 |- |G||2009 Chevrolet Corvette GT1 Championship Edition (Base & Z06) |- |R||2009 Chevrolet Corvette ZR1 (after early production) |- |Y||2009 Chevrolet Corvette (Base model, Early production Z06, Early production ZR1) |- |Z||2009 Chevrolet Corvette Z06 (after early production) |- |A||2010-2013 Chevrolet Corvette Standard 1LT Man. Trans. |- |B||2010-2013 Chevrolet Corvette Preferred 2LT Man. Trans. |- |C||2010-2013 Chevrolet Corvette Premium 3LT Man. Trans. |- |D||2010-2013 Chevrolet Corvette Custom 4LT Man. Trans. |- |E||2010-2013 Chevrolet Corvette Standard 1LT Auto. Trans. |- |F||2010-2013 Chevrolet Corvette Preferred 2LT Auto. Trans. |- |G||2010-2013 Chevrolet Corvette Premium 3LT Auto. Trans. |- |H||2010-2013 Chevrolet Corvette Custom 4LT Auto. Trans. |- |J||2010-2013 Chevrolet Corvette Z06 Standard 1LZ Man. Trans. |- |K||2010-2013 Chevrolet Corvette Z06 Premium 2LZ Man. Trans. |- |L||2010-2013 Chevrolet Corvette Z06 Custom 3LZ Man. Trans. |- |M||2010-2013 Chevrolet Corvette ZR1 Standard 1ZR Man. Trans. |- |N||2010-2013 Chevrolet Corvette ZR1 Custom 3ZR Man. Trans. |- |P||2010-2013 Chevrolet Corvette Grand Sport Standard 1LT Man. Trans. |- |R||2010-2013 Chevrolet Corvette Grand Sport Preferred 2LT Man. Trans. |- |S||2010-2013 Chevrolet Corvette Grand Sport Premium 3LT Man. Trans. |- |T||2010-2013 Chevrolet Corvette Grand Sport Custom 4LT Man. Trans. |- |U||2010-2013 Chevrolet Corvette Grand Sport Standard 1LT Auto. Trans. |- |V||2010-2013 Chevrolet Corvette Grand Sport Preferred 2LT Auto. Trans. |- |W||2010-2013 Chevrolet Corvette Grand Sport Premium 3LT Auto. Trans. |- |X||2010-2013 Chevrolet Corvette Grand Sport Custom 4LT Auto. Trans. |- |Y||2013 Chevrolet Corvette 427 Convertible Collector Edition Premium 3LT Man. Trans. |- |Z||2013 Chevrolet Corvette 427 Convertible Collector Edition Custom 4LT Man. Trans. |- |1||2013 Chevrolet Corvette 60th Anniversary Edition Custom 4LT Man. Trans. |- |2||2013 Chevrolet Corvette 60th Anniversary Edition Custom 4LT Auto. Trans. |- |3||2013 Chevrolet Corvette Grand Sport 60th Anniversary Edition Custom 4LT Man. Trans. |- |4||2013 Chevrolet Corvette Grand Sport 60th Anniversary Edition Custom 4LT Auto. Trans. |- |5||2013 Chevrolet Corvette Z06 60th Anniversary Edition Custom 3LZ Man. Trans. |- |6||2013 Chevrolet Corvette ZR1 60th Anniversary Edition Custom 3ZR Man. Trans. |- |7||2013 Chevrolet Corvette 427 Convertible 60th Anniversary Edition Custom 4LT Man. Trans. |- |8||2013 Chevrolet Corvette 427 Convertible Collector Edition Preferred 2LT Man. Trans. |- |rowspan=13|GM Z platform |rowspan=13|Z |- |E||Saturn SC1 (manual transmission 2-Door) 1993-1999 |- |F||Saturn SC1 (automatic transmission 2-Door) 1993-1999, SL (manual transmission) 1991-02 |- |G||Saturn SC (manual transmission) 1991-1992, SC2 (manual transmission 2-Door) 1993-99,<br /> SL1 (manual transmission) 1991-2002, SW1 (manual transmission) 1993-1999 |- |H||Saturn SC (automatic transmission) 1991-92, SC2 (automatic transmission 2-Door) '93-'99,<br /> SL1 (automatic transmission) 1991-02, SW1 (automatic transmission LHD) '93-'99 |- |J||Saturn SL2 (manual transmission) 1991-2002, SW2 (manual transmission) 1993-2001 |- |K||Saturn SL2 (automatic transmission) 1991-2002, SW2 (automatic transmission 1993-1999) |- |M||Saturn SW1 "Postal" [SWP] (automatic transmission RHD) 1999-2001 <br>(Made for US Postal Service rural route mail carriers) |- |N||Saturn SC1 (manual transmission 3-Door) 1999-2002, SW2 (automatic transmission 2000-01) |- |P||Saturn SC1 (automatic transmission 3-Door) 1999-2002 |- |R||Saturn SC2 (manual transmission 3-Door) 1999-2002 |- |S||Saturn SL Spring Special 2002 |- |Y||Saturn SC2 (automatic transmission 3-Door) 1999-2002 |- |rowspan=3|GM Zeta platform (VE) |rowspan=3|E||C||Pontiac G8 GT |- |P||Pontiac G8 GXP |- |R||Pontiac G8 (Base model) |- |rowspan=2|GM Zeta platform (VF) |rowspan=2|F||1||2014-2017 Chevrolet SS w/automatic transmission |- |2||2015-2017 Chevrolet SS w/manual transmission |- |GM Zeta platform (WM) |M||K||2011-2013 Chevrolet Caprice PPV |- |GM Zeta platform (WN) |N||S||2014-2017 Chevrolet Caprice PPV |- |rowspan=19|GM Zeta platform (models formerly on F platform) |rowspan=19|F||A||Chevrolet Camaro ''LS'' automatic transmission 2010-2011, ''2LS'' automatic transmission 2012-2014, ''LS'' manual transmission 2015 |- |B||Chevrolet Camaro ''LT'' automatic transmission 2010-2014, ''2LS'' automatic transmission 2015 |- |C||Chevrolet Camaro ''2LT'' automatic transmission 2010-2014, ''LT'' manual transmission 2015 |- |D||Chevrolet Camaro ''LT'' automatic transmission 2015 |- |E||Chevrolet Camaro ''LS'' manual transmission 2010-2014, ''2LT'' manual transmission 2015 |- |F||Chevrolet Camaro ''LT'' manual transmission 2010-2014, ''2LT'' automatic transmission 2015 |- |G||Chevrolet Camaro ''2LT'' manual transmission 2010-2014, ''SS'' manual transmission 2015 |- |H||Chevrolet Camaro ''SS'' automatic transmission 2015 |- |J||Chevrolet Camaro ''SS'' automatic transmission 2010-2014. Note: Must have "J" in 8th position of VIN. |- |J||Chevrolet Camaro ''ZL1'' automatic transmission 2012. Note: Must have "P" in 8th position of VIN. |- |J||Chevrolet Camaro ''2SS'' manual transmission 2015 |- |K||Chevrolet Camaro ''2SS'' automatic transmission 2010-2015 |- |L||Chevrolet Camaro ''ZL1'' automatic transmission 2013-2014, ''ZL1'' manual transmission 2015 |- |M||Chevrolet Camaro ''ZL1'' automatic transmission 2015 |- |S||Chevrolet Camaro ''SS'' manual transmission 2010-2014. Note: Must have "W" in 8th position of VIN. |- |S||Chevrolet Camaro ''ZL1'' manual transmission 2012. Note: Must have "P" in 8th position of VIN. |- |S||Chevrolet Camaro ''Z/28'' manual transmission 2014. Note: Must have "E" in 8th position of VIN. |- |T||Chevrolet Camaro ''2SS'' manual transmission 2010-2014 |- |Z||Chevrolet Camaro ''ZL1'' manual transmission 2013-2014, ''Z/28'' manual transmission 2015 |- |} RHD= Right-Hand Drive ====Model Line 2010- Passenger Car (Using Vehicle Platforms introduced 2010 or later)==== The Model Line is specified as character four of the American GM VIN for Passenger Cars. {| border=1 style="margin:auto;" !VIN !Description |- |A||Cadillac ATS 2013-2019 |- |A||Cadillac CTS sedan 2014-2019, CTS V-Series sedan 2016-2019 |- |B||Chevrolet Cruze 2016-2019 |- |C||Chevrolet Spark 2013-2022, Spark EV 2014-2016 |- |D||Cadillac CT4 2020-2026 |- |D||Cadillac CT5 2020- |- |F||Chevrolet Camaro 2016-2024 |- |F||Chevrolet Bolt EV 2017-2023, Bolt EUV 2022-2023, Bolt 2027 |- |G||Buick LaCrosse 2010-2016 |- |G||Buick Regal 2011-2020, Buick Regal TourX 2018-2020 |- |J||Chevrolet Sonic 2016-2020 |- |K||Cadillac CT6 2016-2020 |- |M||Cadillac Celestiq EV 2025- |- |P||Buick Verano 2012-2017 |- |P||Chevrolet Cruze 2011-2015, Cruze Limited 2016 |- |R||Cadillac ELR 2014, 2016 |- |R||Chevrolet Volt 2011-2019 |- |W||Buick Cascada 2016-2019 |- |Y||Chevrolet Corvette 2014- |- |Z||Buick LaCrosse 2017-2019 |- |Z||Chevrolet Malibu 2016-2025 |- |1||Cadillac XTS 2013-2019 |- |1||Chevrolet Impala 2014-2020 |- |1||Chevrolet Malibu 2013-2015, Malibu Limited 2016 |- |} ===Body style codes 1987- Passenger Car=== The Body type is specified as character six of the American GM VIN for passenger cars. {| border=1 style="margin:auto;" !VIN !Description |- |1||Two-Door Coupe/Sedan |- |2||Two-Door Hatchback |- |3||Two-Door Convertible |- |4||Two-Door Wagon ('91-'92 Geo Storm Hatchback) |- |5||Four-Door Sedan |- |6||Four-Door Hatchback |- |7||Four-Door Hatchback ('89-'90 Geo Prizm hatchback) |- |8||Four-Door Station Wagon |- |9||Four-Door Station Wagon - High Roof Monocab |} ===American restraint types 1987-=== The restraint type is specified as character seven of the American GM VIN for passenger cars. {{center/top}} ====Restraint codes for passenger cars 1987-2009==== {{center/end}} {| border=1 style="margin:auto;" !VIN Code !Description |- |1||Active (Manual) belts 1987-1996 |- |2||Active (Manual) belts plus driver and passenger front airbags 1992-2005<br />(For '94-'96 Pontiac Grand Prix coupe: Passive (Automatic) belts plus driver and passenger front airbags) |- |3||Active (Manual) belts plus driver side front airbag 1988-1996 <br />(For '94 Geo Prizm: Active (Manual) belts plus driver and passenger front airbags) |- |4||Passive (Automatic) belts 1987-1996 |- |4||Active (Manual) belts plus driver and passenger front & side airbags 1997-2005 |- |4||Active (Manual) belts plus driver and passenger front & side curtain airbags 2006-2009 |- |5||Passive (Automatic) belts plus driver side front airbag 1992-1996 |- |5||Active (Manual) belts plus driver and passenger front airbags & driver-side side impact airbag 2000-2005 |- |5||Active (Manual) belts plus driver and passenger front airbags & occupant sensor 2006-2009 |- |6||Passive (Automatic) belts plus driver and passenger front airbags 1994-1996 |- |6||Active (Manual) belts plus driver and passenger front & side airbags & occupant sensor 2000-2009 |- |7||Active (Manual) belt driver & Passive (Automatic) belt passenger plus driver and passenger front airbags 1996 |- |7||Active (Manual) belts plus driver and passenger front & side airbags & rear side airbags 2000-2005 |- |7||Active (Manual) belts plus driver and passenger front & side & side curtain airbags & occupant sensor 2006-2009 |- |8||Active (Manual) belts plus driver and passenger front & side curtain airbags & occupant sensor 2006-2009 |- |9|| |} {{center/top}} ====Restraint codes for passenger cars 2010-==== {{center/end}} {| border=1 style="margin:auto;" !VIN Code !Description |- |D||Active (Manual) belts plus driver and passenger front & side airbags 2010- |- |E||Active (Manual) belts plus driver and passenger front & side & side curtain airbags 2010-2017, 2027 |- |F||Active (Manual) belts plus driver and passenger front & side curtain airbags 2010 |- |G||Active (Manual) belts plus driver and passenger front & side & rear side & side curtain airbags 2010-2017 |- |N||Active (Manual) belts plus driver and passenger front & side & front knee airbags 2016-2019 |- |R||Active (Manual) belts plus driver and passenger front & side & side curtain & front knee airbags 2012- |- |S||Active (Manual) belts plus driver and passenger front & side & rear side & side curtain & front knee airbags 2011- |- |T||Active (Manual) belts plus driver and passenger front & side & front row side curtain airbags 2011 |- |U||Active (Manual) belts plus driver and passenger front & side & front row side curtain & front knee airbags 2012-2017 |} {{center/top}} ====Restraint codes for light trucks 2010-==== {{center/end}} {| border=1 style="margin:auto;" !VIN Code !Description |- |A||Active (Manual) belts plus driver-side front airbag 2010 |- |B||Active (Manual) belts plus driver-side front airbag 2011- |- |B||Active (Manual) belts plus driver and passenger front airbags 2010 |- |C||Active (Manual) belts plus driver and passenger front airbags 2011- |- |C||Active (Manual) belts plus driver and passenger front & side airbags 2010 |- |D||Active (Manual) belts plus driver and passenger front & side airbags 2011- |- |D||Active (Manual) belts plus driver and passenger front airbags & side curtain airbags for up to 3 rows of seating 2010 |- |E||Active (Manual) belts plus driver and passenger front & side & side curtain airbags 2010- |- |F||Active (Manual) belts plus driver and passenger front airbags & side curtain airbags for up to 3 rows of seating 2011-2015 |- |F||Active (Manual) belts plus driver and passenger front & side airbags & side curtain airbags for up to 3 rows of seating 2016- |- |H||Active (Manual) belts plus driver-side front airbag & driver-side side-impact airbag & driver-side side curtain airbag 2023-2024 |- |K||Active (Manual) belts plus driver and passenger front & side & side curtain & front center airbags 2013- |- |L||Active (Manual) belts plus driver and passenger front & side & side curtain & front center & driver-side knee airbags 2017-2023 |- |M||Active (Manual) belts plus driver and passenger front & side & side curtain & front center & front knee airbags 2025- |- |R||Active (Manual) belts plus driver and passenger front & side & side curtain & front knee airbags 2017- |- |S||Active (Manual) belts plus driver and passenger front & side & rear side & side curtain & front knee airbags 2013- |- |T||Active (Manual) belts plus driver-side front airbag & driver- and passenger-side side-impact airbags & side curtain airbags 2023- |- |U||Active (Manual) belts plus driver and passenger front & side & front row side curtain & front knee airbags 2013-2019 |} ===American engine codes 1981-=== GM encodes the engine type in character 8 of the VIN. The following table outlines the various engines encoded there: ====Engine codes for passenger cars==== Warning: Issues with decoding are related to year/model combinations. Each year has a different breakdown for each code along with plants and some model/trim breakdowns over years. Entry: 1985-1988 Pontiac Fiero has a 9 engine code for the 2.8L L44 V6. Entry: 1986-1990 Cadillac Brougham, Oldsmobile 307 Cu. In. V8 vin code Y. {| border=1 style="margin:auto;" !VIN !RPO !Size !Type !Fuel !Valvetrain !Engine Family/Notes/Applications |- |A||LD5||3.8&nbsp;L||V6||2 Barrel Carburetor |2BBL||OHV||Buick V6. (231 cu. in.) '81 Chevy Camaro (CA), Pontiac Catalina, Firebird, LeMans, Buick Century,<br /> '81-'83 Chevy Malibu (CA), '81-'84 Monte Carlo, Caprice, Impala (CA), '81-'87 Pontiac Grand Prix, Oldsmobile Cutlass/Cutlass Supreme, Buick Regal, '81-'85 Oldsmobile Delta 88, Buick LeSabre,<br /> '81-'86 Pontiac Bonneville, '84 Parisienne |- |A||LG0||2.3&nbsp;L||Straight-4|I4||Fuel injection#Multi-port fuel injection|MFI||DOHC,<br /> 16 valve||Oldsmobile Quad 4 H.O. '89-'94 Pontiac Grand Am, '89-'91 Oldsmobile Cutlass Calais, '92-'94 Achieva, '90 Cutlass Supreme, '90-'94 Chevy Beretta |- |A||LH2||4.6&nbsp;L||V8||Fuel injection#Sequential Multi-port injection|SFI||DOHC,<br /> 32 valve||Cadillac Northstar V8 (For RWD) (Premium V). '04-'09 Cadillac XLR, '05-'10 Cadillac STS |- |A||LCV||2.5&nbsp;L||Straight-4|I4||Direct Injection|DI||DOHC,<br /> 16 valve||GM Ecotec engine, Gen III. VVT. '13 Chevy Malibu, '16 Malibu Limited, '16-'19 Impala,<br /> '13-'16 Cadillac ATS |- |A||LV7||1.4&nbsp;L||Straight-4|I4||Fuel injection#Multi-port fuel injection|MFI||DOHC,<br /> 16 valve||GM Small Gasoline Engine. VVT. Made in Changwon, S. Korea. '16-'22 Chevy Spark. |- |B||LG2||3.8&nbsp;L||V6||Fuel injection#Sequential Multi-port injection|SFI||OHV||Buick V6. '86 Oldsmobile 98, Toronado, Buick Electra, Riviera. |- |B||L26||4.9&nbsp;L||V8||Fuel injection#Multi-port fuel injection|MFI||OHV||Cadillac High Technology V8.<br /> '91-'93 Cadillac Eldorado, Seville, '91-'95 DeVille, '91-'92 Fleetwood, '91-'93 Sixty Special |- |B||LE5||2.4&nbsp;L||Straight-4|I4||Fuel injection#Multi-port fuel injection|MFI||DOHC,<br /> 16 valve||GM Ecotec Gen II. VVT. '06-'08 Chevy Cobalt, '06-'07 Saturn Ion, '06-'10 Pontiac G6, Solstice,<br /> '07-'08 Pontiac G5, '07-'10 Saturn Sky, '08-'09 Saturn Aura, '08-'10 Chevy Malibu |- |B||LUV||1.4L||I4 Turbo||Fuel injection#Sequential Multi-port fuel injection|SFI||DOHC,<br /> 16 valve||GM Family 0 Engine, Gen III. VVT. '12-'20 Chevy Sonic, '13-'15 Chevy Cruze, '16 Cruze Limited |- |C||L17||1.6&nbsp;L||Straight-4|I4||2 Barrel Carburetor |2BBL||SOHC,<br /> 8 valve||Isuzu G161Z engine made by GM in US. '82-'87 Chevy Chevette, Pontiac T1000/1000 |- |C||LN3||3.8&nbsp;L||V6||Fuel injection#Multi-port fuel injection|MFI||OHV||Buick V6 (3800). '88-'90 Oldsmobile 98, Toronado, Buick Electra, Riviera, Reatta, <br /> '88-'91 Buick LeSabre, Oldsmobile Delta 88/Eighty Eight, Pontiac Bonneville |- |C||L47||4.0&nbsp;L||V8||Fuel injection#Sequential Multi-port injection|SFI||DOHC,<br /> 32 valve||Oldsmobile Aurora V8 (Premium V). Oldsmobile Aurora '95-'99, Aurora 4.0 '01-'03 |- |C||LS4||5.3 L||V8||Fuel injection#Sequential Multi-port injection|SFI||OHV||Gen IV Chevrolet Small-Block V8. Aluminum Block & Heads. Active Fuel Management.<br /> Transversely mounted for FWD. '05-'08 Pontiac Grand Prix GXP, '06-'07 Chevy Monte Carlo SS,<br /> '06-'09 Chevy Impala SS, '08-'09 Buick LaCrosse Super. |- |C||LAF||2.4&nbsp;L||Straight-4|I4||Direct Injection|DI||DOHC,<br /> 16 valve||GM Ecotec engine, Gen II. VVT. Buick LaCrosse '10-'11, Regal '11. |- |C||LUJ||1.4L||I4 Turbo||Fuel injection#Sequential Multi-port fuel injection|SFI||DOHC,<br /> 16 valve||GM Family 0 Engine, Gen III. VVT. Early production engines were made in Aspern, Austria; later made in Flint, MI. '12 Chevy Cruze |- |D||LJ5||1.8&nbsp;L||Straight-4|I4||Indirect injection Diesel||SOHC,<br /> 8 valve||Isuzu 4FB1 diesel engine imported from Japan. '81-'86 Chevy Chevette |- |D||LD2||2.3&nbsp;L||Straight-4|I4||Fuel injection#Multi-port fuel injection|MFI||DOHC,<br /> 16 valve||Oldsmobile Quad 4. '88-'95 Pontiac Grand Am, '88-'91 Oldsmobile Cutlass Calais, '92-'95 Achieva,<br /> '88-'91 &'95 Buick Skylark, '90-'91 Pontiac Grand Prix, Oldsmobile Cutlass Supreme,<br /> '95 Chevy Cavalier, Pontiac Sunfire |- |D||LC3||4.4&nbsp;L||V8 Supercharged||Fuel injection#Sequential Multi-port point injection|SFI||DOHC,<br /> 32 valve||Cadillac Northstar V8 (Premium V). '06-'09 Cadillac XLR V-Series, Cadillac STS V-Series |- |E||LK9||3.0&nbsp;L||V6||2 Barrel Carburetor |2BBL||OHV||Buick V6. '82-'85 Oldsmobile Cutlass Ciera, Buick Century, '85 Oldsmobile 98, Buick Electra |- |E||LA1||3.4&nbsp;L||V6||Fuel injection#Sequential Multi-port point injection|SFI||OHV||Chevrolet 60° V6. '99-'05 Grand Am, '99-'04 Alero, '00-'05 Impala, Monte Carlo |- |E||L03||5.0&nbsp;L||V8||Fuel injection#Throttle Body injection|TBI||OHV||Gen I Chevy Small-Block V8 (305 cu. in.). '88-'92 Camaro/Firebird, '89-'93 Chevy Caprice,<br /> '91 Buick Roadmaster Estate wagon, '91-'92 Oldsmobile Custom Cruiser, Cadillac Brougham. |- |E||LXV||1.6&nbsp;L||Straight-4|I4||Fuel injection#Multi-port fuel injection|MFI||DOHC,<br /> 16 valve||Family 1 Gen 3 engine. W/VVT. '09-'11 Chevy Aveo, '09 Pontiac G3 |- |E||LS7||7.0&nbsp;L||V8||Fuel injection#Sequential Multi-port point injection|SFI||OHV||Gen IV Chevy Small-Block V8. Aluminum Block & Heads.<br /> '06-'13 Corvette Z06, '13 Corvette 427, '14-'15 Camaro Z/28 |- |E||LH7||1.6&nbsp;L||I4 Turbo||Direct injection <br /> Common-rail Diesel||DOHC,<br /> 16 valve||GM Medium Diesel engine ("Whisper Diesel"). Made by Opel in Szentgotthárd, Hungary.<br /> Aluminum Block & Heads. '17-'19 Chevy Cruze Diesel. |- |F||LV8||4.3&nbsp;L||V8||2 Barrel Carburetor |2BBL||OHV||Oldsmobile "Rocket" V8 (260 cu. in.) '81 Oldsmobile Cutlass, Delta 88. |- |F||L61||2.2&nbsp;L||Straight-4|I4||Fuel injection#Multi-port fuel injection|MFI||DOHC,<br /> 16 valve||GM Ecotec Gen I. '00-'04 Saturn L-Series, '02-'05 Chevy Cavalier, Pontiac Sunfire, Grand Am,<br /> '02-'04 Oldsmobile Alero, '03-'06 Saturn Ion, '04-'06 Chevy Malibu, '05-'06 Chevy Cobalt |- |F||L61||2.2&nbsp;L||Straight-4|I4||Fuel injection#Multi-port fuel injection|MFI||DOHC,<br /> 16 valve||GM Ecotec Gen II. '07-'08 Chevy Cobalt, Malibu, Pontiac G5, '07 Saturn Ion. |- |F||LB9||5.0&nbsp;L||V8||Tuned-port fuel injection|TPI||OHV||Gen I Chevy Small-Block V8. (305 cu. in.). '85-'92 Chevy Camaro, Pontiac Firebird. |- |G||L46||1.8&nbsp;L||I4||2 Barrel Carburetor |2BBL||OHV||Chevrolet "122" engine. '82 J-cars. |- |G||L69||5.0&nbsp;L||V8||4 Barrel Quadrajet Carburetor |4BBL||OHV||Gen I Chevy Small-Block V8 (High Output 5.0L). (305 cu. in.)<br /> '84-'86 Camaro/Firebird, '84-'88 Chevy Monte Carlo SS |- |G||LM3||2.2&nbsp;L||I4||Fuel injection#Throttle Body injection|TBI||OHV||Chevrolet "122" engine. '90-'91 Chevy Cavalier & Corsica/Beretta. |- |G||LS1||5.7&nbsp;L||V8||Fuel injection#Multi-port fuel injection|MFI||OHV||Gen III Chevy Small-Block V8. (346 cu. in.) Aluminum Block & Heads.<br /> '97-'04 Corvette, '98-'02 Camaro/Firebird, '04 Pontiac GTO |- |G||LF1||3.0L||V6||Direct Injection|DI||DOHC,<br /> 24 valve||GM High Feature V6. VVT. 2010 Buick LaCrosse, Cadillac CTS |- |G||LWE||1.8&nbsp;L||Straight-4|I4||Fuel injection#Sequential Multi-port fuel injection|SFI||DOHC,<br /> 16 valve||GM Family 1 engine, Gen III. VVT. PZEV emissions.<br /> '13-'15 Chevy Cruze, '16 Cruze Limited, '13-'18 Sonic. |- |H||LG4||5.0&nbsp;L||V8||4 Barrel Quadrajet Carburetor |4BBL||OHV||Gen I Chevy Small-Block V8. (305 cu. in.) '81-'87 F-bodies, '81-'83 Chevy Malibu, '81-'85 Impala,<br /> '81-'88 Caprice, Monte Carlo, '83-'86 Pontiac Bonneville, Parisienne, '83-'87 Grand Prix |- |H||LE4||2.0&nbsp;L||Straight-4|I4||Fuel injection#Multi-port fuel injection|MFI||SOHC,<br /> 8 valve||GM Family II engine. Made in Brazil. '92-'94 Pontiac Sunbird. |- |H||LX5||3.5&nbsp;L||V6||Fuel injection#Sequential Multi-port injection|SFI||DOHC,<br /> 24 valve||Oldsmobile "Shortstar" V6 (Premium V). Oldsmobile Intrigue '99-'02, Aurora 3.5 '01-'02. |- |H||LAP||2.2&nbsp;L||Straight-4|I4||Fuel injection#Multi-port fuel injection|MFI||DOHC,<br /> 16 valve||GM Ecotec Gen II. VVT. '09 Chevy Cobalt, Pontiac G5. |- |H||LUW||1.8&nbsp;L||Straight-4|I4||Fuel injection#Sequential Multi-port fuel injection|SFI||DOHC,<br /> 16 valve||GM Family 1 engine, Gen III. VVT. '11-'15 Chevy Cruze, '16 Cruze Limited, '12-'18 Sonic. |- |J||L39||4.4&nbsp;L||V8||2 Barrel Carburetor |2BBL||OHV||Gen I Chevy Small-Block V8 (267 cu. in.) '81-'82 Chevy Caprice, Impala, Malibu, Monte Carlo,<br /> '81 Chevy Camaro |- |J||LA5||1.8&nbsp;L||Straight-4|I4 Turbo||Fuel injection#Multi-port fuel injection|MFI||SOHC,<br /> 8 valve||GM Family II engine. Made in Brazil. '84-'86 Pontiac Sunbird, Buick Skyhawk. |- |J||LT5||5.7&nbsp;L||V8||Fuel injection#Multi-port fuel injection|MFI||DOHC,<br /> 32 valve||Based on Chevy Small-Block V8. Designed with Lotus Engineering.<br /> Made by Mercury Marine. Aluminum Block & Heads. '90-'95 Corvette ZR-1 |- |J||LG8||3.1&nbsp;L||V6||Fuel injection#Sequential Multi-port injection|SFI||OHV||Chevrolet 60° V6. Gen III. 3100. '99-'03 Chevy Malibu, '99 Oldsmobile Cutlass, '00-'01 Chevy Lumina,<br /> '00-'03 Pontiac Grand Prix SE, '00-'05 Buick Century |- |J||L99||6.2&nbsp;L||V8||Fuel injection#Sequential Multi-port injection|SFI||OHV||Gen IV Chevy Small-Block V8. VVT. With Active Fuel Management. Aluminum Block & Heads.<br /> '10-'15 Camaro SS (auto. trans.) |- |J||LTA||4.2&nbsp;L||V8 Twin Turbo||Direct injection|DI||DOHC,<br /> 32 valve||Cadillac Blackwing V8. VVT. '19-'20 Cadillac CT6 Platinum & V-series |- |K||LC3||3.8&nbsp;L||V6||2 Barrel Carburetor |2BBL||OHV||Chevrolet 90° V6 (Chevy Small-Block V8 Derived). 229 cu. in. <br /> '81-'82 Malibu, Monte Carlo, Impala, Caprice, '81 Camaro. |- |K||LC5||1.5&nbsp;L||I4||2 Barrel Carburetor |2BBL||SOHC,<br /> 8 valve||Isuzu 4XC1 engine. '85 Chevrolet Spectrum. |- |K||LT2||2.0&nbsp;L||Straight-4|I4||Fuel injection#Throttle Body injection|TBI||SOHC,<br /> 8 valve||GM Family II engine. Made in Brazil.<br /> '87-'91 Pontiac Sunbird, '87-'88 Oldsmobile Firenza, Buick Skyhawk. |- |K||LT2||2.0&nbsp;L||Straight-4|I4||Fuel injection#Throttle Body injection|TBI||SOHC,<br /> 8 valve||GM Family II engine. Made in Australia by Holden.<br /> '89-'90 Pontiac LeMans GSE Aerocoupe, '89 LeMans SE sedan |- |K||L36||3.8&nbsp;L||V6||Fuel injection#Sequential Multi-port injection|SFI||OHV||Buick V6 (3800 Series II). '95-'05: Various W-, H-, C-, & G-body models. '95-'02 Camaro/Firebird. |- |K||LZE||3.5L||V6||Fuel injection#Sequential Multi-port injection|SFI||OHV||GM High Value 60° V6. 3510cc. VVT. Flex-Fuel E85 compatible.<br /> '06-'07 Chevy Monte Carlo, '06-'11 Chevy Impala, '09-'10 Chevy Malibu, Pontiac G6 |- |K||LEA||2.4&nbsp;L||Straight-4|I4||Direct Injection|DI||DOHC,<br /> 16 valve||E85 Flex Fuel. GM Ecotec engine, Gen II. VVT. Buick Regal, Verano '12-'17 (except '13 Regal). |- |K||LSY||2.0&nbsp;L||Straight-4|I4 Turbo||Direct Injection|DI||DOHC,<br /> 16 valve||GM Ecotec engine, Gen III. Active Fuel Management. VVT. VVL.<br /> '19 Cadillac CT6, '20+ Cadillac CT4, CT5 |- |L||LM1||5.7&nbsp;L||V8||4 Barrel Carburetor |4BBL||OHV||Gen I Chevy Small-Block V8.<br> '81 Camaro Z28 (only w/auto. trans. in US), '81-'82 Impala 9C1 Police, '81 Malibu 9C1 Police |- |L||LL1||2.8&nbsp;L||V6||2 Barrel Carburetor |2BBL||OHV||Chevrolet 60° V6 H.O. (longitudinally mounted). '83-'84 Pontiac Firebird. |- |L||LN7||3.0&nbsp;L||V6||Fuel injection#Multi-port fuel injection|MFI||OHV||Buick V6. '85-'87 Pontiac Grand Am, '85-'88 Oldsmobile & Buick N-bodies,<br /> '86 Oldsmobile Delta 88, Buick LeSabre |- |L||L27||3.8&nbsp;L||V6||Fuel injection#Tuned port injection|TPI||OHV||Buick V6 (3800 Series I). '90-'95 Buick Regal, '91-'94 Oldsmobile 98, Buick Park Avenue, '91 Reatta, '91-'93 Riviera, '91-'92 Oldsmobile Toronado, '92-'95 Buick LeSabre, '92-'94 Pontiac Bonneville, Oldsmobile 88 |- |L||LNK||1.8&nbsp;L||Straight-4|I4||Fuel injection#Sequential multi-port injection|SFI||DOHC,<br /> 16 valve||Toyota 2ZZ-GE engine. VVTL-i. '03-'06 Pontiac Vibe GT |- |L||LKW||2.5&nbsp;L||Straight-4|I4||Direct Injection|DI||DOHC,<br /> 16 valve||GM Ecotec engine, Gen III. VVT. VVL. '14-'15 Chevy Malibu, Impala |- |L||L3B||2.7L||I4 Turbo||Direct Injection|DI||DOHC,<br /> 16 valve||GM L3B Tripower engine. VVT, VVL. Active Fuel Management. '20+ Cadillac CT4, CT4-V |- |M||LY9||1.0&nbsp;L||Straight-3|I3||2BBL||SOHC,<br /> 6 valve ||Suzuki G10A engine. '85 Chevrolet Sprint |- |M||LT3||2.0&nbsp;L||Straight-4|I4 Turbo||Fuel injection#Multi-port fuel injection|MFI||SOHC,<br /> 8 valve||GM Family II engine. Made in Brazil.<br /> '87-'90 Pontiac Sunbird, '87 Buick Skyhawk T-Type, '87-'89 Pontiac Grand Am SE. |- |M||L82||3.1&nbsp;L||V6||Fuel injection#Sequential Multi Port Fuel injection|SFI||OHV||Chevrolet 60° V6 (transversely mounted). Gen III. 3100. '93-'97 Oldsmobile Cutlass Supreme,<br /> '94-'98 Pontiac Grand Am, Oldsmobile Achieva, Buick Skylark, '94-'99 Pontiac Grand Prix,<br /> '94-'96 Chevy Corsica/Beretta, Oldsmobile Cutlass Ciera, Buick Regal, '94-'99 Century,<br /> '95-'99 Chevy Lumina, Monte Carlo, '97-'99 Chevy Malibu, Oldsmobile Cutlass |- |M||LY9||2.6&nbsp;L||V6||Fuel injection#Multi-port fuel injection|MFI||DOHC,<br /> 24 valve||Opel 54° V6 engine (Made in the UK). Euro-market Cadillac CTS '03-'04. |- |M||LGD||3.9L||V6||Fuel injection#Sequential Multi Port Fuel injection|SFI||OHV||E85 Flex Fuel. GM High Value 60° V6. VVT. '09-'11 Chevy Impala, Buick Lucerne |- |M||LE2||1.4&nbsp;L||Straight-4|I4 Turbo||Direct Injection|DI||DOHC,<br /> 16 valve||GM Small Gasoline Engine. VVT. '16-'19 Chevy Cruze. |- |N||LF9||5.7&nbsp;L||V8||Indirect injection Diesel||OHV||Oldsmobile Diesel V8. '81-'85 Chevy Caprice, Impala, '82-'83 Malibu, '82-'84 Monte Carlo,<br /> '81-'84 Pontiac Grand Prix, Bonneville, '81 Catalina, '83-'85 Parisienne,<br /> '81-'84 Oldsmobile 98, '81-'85 Cutlass/Cutlass Supreme, Delta 88, Custom Cruiser, Toronado,<br /> '81-'83 Buick Electra, '81-'85 LeSabre, Electra Estate wagon, Riviera, '82-'83 Regal,<br /> '81-'84 Cadillac DeVille, '81-'85 Fleetwood Brougham, Eldorado, Seville |- |N||LG7||3.3&nbsp;L||V6||Fuel injection#Multi-port fuel injection|MFI||OHV||Buick V6 (3300). '89-'93 Buick Century, Skylark, Oldsmobile Cutlass Ciera, '89-'91 Cutlass Calais,<br /> '92-'93 Achieva, Pontiac Grand Am. |- |N||LA3||3.2&nbsp;L||V6||Fuel injection#Multi-port fuel injection|MFI||DOHC,<br /> 24 valve||Opel 54° V6 engine (Made in the UK). '03-'04 Cadillac CTS |- |N||LZ4||3.5L||V6||Fuel injection#Sequential Multi-port injection|SFI||OHV||GM High Value 60° V6. 3510cc. VVT. '06-'07 Chevy Monte Carlo, '06-'10 Chevy Impala,<br /> '07-'10 Chevy Malibu, Pontiac G6, '07-'08 Saturn Aura |- |N||LFR||3.6L||V6||Fuel injection#Multi-port fuel injection|MFI||DOHC,<br /> 24 valve||(Bi-Fuel Gas/CNG). GM High Feature V6. '15-'17 Chevy Impala Bi-Fuel |- |P||LQ5||2.0&nbsp;L||I4||Fuel injection#Throttle Body injection|TBI||OHV||Chevrolet "122" engine. '83-'86 J-cars ('83-'84 for Pontiac). |- |P||LT1||5.7&nbsp;L||V8||Fuel injection#Sequential Multi-port injection|SFI||OHV||Gen II Chevy Small-Block V8. Aluminum Heads: '92-'96 Corvette, '93-'97 Camaro/Firebird.<br /> Iron Heads: '94-'96 Chevy Caprice, Impala SS, Buick Roadmaster, Cadillac Fleetwood. |- |P||LSJ||2.0&nbsp;L||SC Straight-4|I4 Supercharged||Fuel injection#Sequential central point injection|SFI||DOHC,<br /> 16 valve||GM Ecotec Gen I. Made by Opel in Kaiserslautern, Germany.<br /> '04-'07 Saturn Ion Red Line, '05-'07 Chevy Cobalt SS Supercharged. |- |P||LSA||6.2&nbsp;L||V8 Supercharged||Fuel injection#Sequential Multi-port injection|SFI||OHV||Gen IV Chevy Small-Block V8. Aluminum Block & Heads.<br /> Cadillac CTS V-Series '09-'15, Camaro ZL1 '12-'15 |- |P||LF4||3.6L||V6 Twin Turbo||Direct Injection|DI||DOHC,<br /> 24 valve||GM High Feature V6. Cadillac CT4-V Blackwing '22+ |- |R||LR8||2.5L||I4||Fuel injection#Throttle Body injection|TBI||OHV||Pontiac Iron Duke/Tech IV engine. Transversely mounted. '82-'85 Chevy Citation, Buick Skylark,<br /> '82-'84 Pontiac Phoenix, Oldsmobile Omega, '82-'90 Chevy Celebrity, '82-'91 Pontiac 6000,<br /> '82-'92 Oldsmobile Cutlass Ciera, Buick Century, '84-'88 Pontiac Fiero, '90-'92 Chevy Lumina |- |R||L81||3.0&nbsp;L||V6||Fuel injection#Multi-port fuel injection|MFI||DOHC,<br /> 24 valve||Opel 54° V6 engine (Made in the UK). '97-'01 Cadillac Catera, '00-'05 Saturn L-Series |- |R||LZ8||3.9L||V6||Fuel injection#Sequential Multi Port Fuel injection|SFI||OHV||GM High Value 60° V6. VVT. Active Fuel Management. '07 Chevy Impala |- |R||LS9||6.2&nbsp;L||V8 Supercharged||Fuel injection#Sequential Multi-port injection|SFI||OHV||Gen IV Chevy Small-Block V8. Aluminum Block & Heads. '09 Corvette ZR1. |- |R||LUK||2.4L||I4||Direct Injection|DI||DOHC,<br /> 16 valve||Mild Hybrid. GM Ecotec Gen II. VVT. '12-'16 Buick LaCrosse eAssist, Regal eAssist,<br /> '13-'14 Chevy Malibu Eco, '14 Chevy Impala Eco |- |S||LS5||4.3&nbsp;L||V8||2 Barrel Carburetor |2BBL||OHV||Pontiac V8. 265 cu. in.<br /> '81 Pontiac Bonneville, Catalina, Firebird, Grand Prix, LeMans, Buick Century, Regal. |- |S||LU5||5.0&nbsp;L||V8||Cross-Fire fuel injection|CFI||OHV||Gen I Chevy Small-Block V8. (305 cu. in.) '83 Camaro, Firebird. Dual throttle-body fuel injection. |- |S||LB8||2.8&nbsp;L||V6||Fuel injection#Multi Port Fuel injection|MPFi||OHV||Chevrolet 60° V6 (longitudinally mounted). '85-'89 Chevy Camaro, Pontiac Firebird. |- |S||L32||3.4&nbsp;L||V6||Fuel injection#Multi Port Fuel injection|MPFi||OHV||Chevrolet 60° V6 (longitudinally mounted). '93-'95 Chevy Camaro, Pontiac Firebird. |- |S||LS6||5.7&nbsp;L||V8||Fuel injection#Sequential Multi Port injection|SFI||OHV||Gen III Chevy Small-Block V8. (346 cu. in.) Aluminum Block & Heads.<br /> '01-'04 Corvette Z06, '04-'05 Cadillac CTS V-Series |- |S||LGX||3.6L||V6||Direct Injection|DI||DOHC,<br /> 24 valve||GM High Feature V6, 4th gen. VVT. Active Fuel Management. '16-'19 Cadillac ATS, CTS, '16-'20 CT6, '16-'24 Chevrolet Camaro, '17-'19 Buick LaCrosse, '18–'20 Buick Regal GS |- |T||LU8||4.9&nbsp;L||V8 Turbo||4 Barrel Carburetor |4BBL||OHV||Pontiac V8. 301 cu. in. '81 Pontiac Firebird Formula & Trans Am. |- |T||LT7||4.3&nbsp;L||V6||Indirect injection Diesel||OHV||Oldsmobile Diesel V6. FWD version for '82-'85 GM A-bodies. |- |T||LS2||4.3&nbsp;L||V6||Indirect injection Diesel||OHV||Oldsmobile Diesel V6. FWD version for '85 GM C-bodies. |- |T||LH0||3.1&nbsp;L||V6||Fuel injection#Multi Port Fuel injection|MPFi||OHV||Chevrolet 60° V6 (longitudinally mounted). '90-'92 Chevy Camaro, Pontiac Firebird. |- |T||LH0||3.1&nbsp;L||V6||Fuel injection#Multi Port Fuel injection|MPFi||OHV||Chevrolet 60° V6 (transversely mounted). Gen II. '88-'91 Pontiac 6000,<br /> '89-'93 Grand Prix, Oldsmobile Cutlass Supreme, Buick Regal, '90-'94 Chevy Cavalier, Lumina,<br /> '91-'94 Pontiac Sunbird, '90-'93 Chevy Corsica/Beretta, '90 Celebrity |- |T||LD9||2.4&nbsp;L||Straight-4|I4||Fuel injection#Sequential Multi-port injection|SFI||DOHC,<br /> 16 valve||Oldsmobile Quad 4 ("2.4 Twin Cam"). '96-'01 Pontiac Grand Am, '96-'97 Oldsmobile Achieva, Buick Skylark, '99-'01 Oldsmobile Alero, '97-'99 Chevy Malibu, '96-'02 Chevy Cavalier, Pontiac Sunfire |- |T||LP1||2.8&nbsp;L||V6||Fuel injection#Sequential Multi-port injection|SFI||DOHC,<br /> 24 valve||GM High Feature V6. '05-'07 Cadillac CTS |- |T||LS9||6.2&nbsp;L||V8 Supercharged||Fuel injection#Sequential Multi-port injection|SFI||OHV||Gen IV Chevy Small-Block V8. Aluminum Block & Heads. '10-'13 Corvette ZR1. |- |T||LFV||1.5L||I4 Turbo||Direct Injection|DI||DOHC,<br /> 16 valve||GM Small Gasoline Engine. VVT. '16-'25 Chevy Malibu. |- |U||L68||2.5L||I4||Fuel injection#Throttle Body injection|TBI||OHV||Pontiac Iron Duke/Tech IV engine. Transversely mounted. '85-'91 N-bodies |- |U||LS2||6.0&nbsp;L||V8||Fuel injection#Sequential Multi-port fuel injection|SFI||OHV||Gen IV Chevy Small-Block V8. Aluminum Block & Heads.<br /> '05-'07 Corvette, '05-'06 Pontiac GTO, '06-'07 Cadillac CTS V-Series |- |U||LE9||2.4&nbsp;L||Straight-4|I4||Fuel injection#Multi-port fuel injection|MFI||DOHC,<br /> 16 valve||GM Ecotec Gen II. E85 Flex-Fuel. 2011-12 Chevy Malibu. |- |U||LKN||1.8L||I4||Direct Injection|DI||DOHC,<br /> 16 valve||Full Hybrid. GM Medium Gasoline Engine. VVT. Made in Szentgotthárd, Hungary.<br> '16-'19 Chevy Malibu Hybrid |- |V||LT6||4.3&nbsp;L||V6||Indirect injection Diesel||OHV||Oldsmobile Diesel V6. RWD version.<br /> '82-'83 Chevy Malibu, Monte Carlo, '82-'85 Oldsmobile Cutlass Supreme, Buick Regal |- |V||LG5||3.1&nbsp;L||V6 Turbo||Fuel injection#Multi-port fuel injection|MPFI||OHV||Chevrolet 60° V6. Gen II. Intercooled. (ASC/McLaren modified).<br /> '89-'90 Pontiac Grand Prix Turbo coupe, '90 Grand Prix STE Turbo sedan |- |V||LLT||3.6L||V6||Direct Injection|DI||DOHC,<br /> 24 valve||GM High Feature V6. '08-'11 Cadillac CTS, STS, '10-'11 Chevrolet Camaro, Buick LaCrosse |- |V||LHU||2.0&nbsp;L||Straight-4|I4 Turbo||Direct Injection|DI||DOHC,<br /> 16 valve||E85 Flex Fuel (N/A on Regal GS). GM Ecotec engine, Gen II. VVT.<br /> Buick Regal '11-'13, Verano '13-'16. |- |W||L37||4.9&nbsp;L||V8||4 Barrel Carburetor |4BBL||OHV||Pontiac V8. 301 cu. in. '81 Pontiac Firebird, LeMans Safari wagon. |- |W||LB6||2.8&nbsp;L||V6||Fuel injection#Multi-port fuel injection|MFI||OHV||Gen I/II Chevrolet 60° V6 (transversely mounted). '85 Chevy Citation, Buick Skylark,<br /> '85-'89 Chevy Cavalier, Celebrity, Pontiac 6000, '85-'88 Cadillac Cimarron,<br /> '85-'87 Oldsmobile Firenza, '86-'89 Cutlass Ciera, '87-'88 Buick Century, '87-'89 Chevy Corsica/Beretta, '88-'89 Pontiac Grand Prix, Oldsmobile Cutlass Supreme, Buick Regal |- |W||L64||3.1&nbsp;L||V6||Fuel injection#Multi-port fuel injection|MFI||OHV||Flex-fuel: Gas/M85 or Gas/E85 (2 versions). Gen II Chevrolet 60° V6. '93 Chevy Lumina VFV |- |W||L99||4.3&nbsp;L||V8||Fuel injection#Sequential Multi-port injection|SFI||OHV||Gen II Chevy Small-Block V8. '94-'96 Chevy Caprice. |- |W||LS3||6.2&nbsp;L||V8||Fuel injection#Sequential Multi-port injection|SFI||OHV||Gen IV Chevy Small-Block V8. Aluminum Block & Heads.<br /> '08-'13 Corvette, '10-'15 Camaro SS (man. trans.), '09 Pontiac G8 GXP, '14-'17 Chevy SS |- |W||LGY||3.0L||V6 Twin Turbo||Direct Injection|DI||DOHC,<br /> 24 valve||GM High Feature V6, 4th gen. VVT. Active Fuel Management. '20+ Cadillac CT5, CT5-V |- |X||LE2||2.8&nbsp;L||V6||2 Barrel Carburetor |2BBL||OHV||Chevrolet 60° V6 (transversely mounted). '81-'85 Chevy Citation, Buick Skylark,<br /> '81-'84 Pontiac Phoenix, Oldsmobile Omega, '82-'86 Chevy Celebrity, Pontiac 6000,<br /> '86 Oldsmobile Cutlass Ciera, Buick Century |- |X||LQ1||3.4&nbsp;L||V6||Fuel injection#Multi-port fuel injection|MPFI||DOHC,<br /> 24 valve||Chevrolet 60° V6 ("Twin Dual Cam V6"). '91-'97 Chevy Lumina, '95-'97 Chevy Monte Carlo,<br /> '91-'96 Pontiac Grand Prix, Oldsmobile Cutlass Supreme |- |X||LNF||2.0&nbsp;L||Straight-4|I4 Turbo||Direct Injection|DI||DOHC,<br /> 16 valve||GM Ecotec engine, Gen II. VVT.<br /> '07-'10 Pontiac Solstice GXP, Saturn Sky Red Line, '08-'10 Chevy Cobalt SS Turbo. |- |X||LTG||2.0&nbsp;L||Straight-4|I4 Turbo||Direct Injection|DI||DOHC,<br /> 16 valve||GM Ecotec engine, Gen III. VVT. '13-'22 Chevy Malibu, '13-'19 Cadillac ATS, '14-'20 Buick Regal,<br /> '14-'19 Cadillac CTS, '16-'23 Chevy Camaro, '16-'18 Cadillac CT6. |- |X||LTG||2.0&nbsp;L||Straight-4|I4 Turbo||Direct Injection|DI||DOHC,<br /> 16 valve||Plug-in hybrid. GM Ecotec engine, Gen III. VVT. '17-'18 Cadillac CT6 PHEV. (VIN starts with LRE) |- |Y||LV2||5.0&nbsp;L||V8||4 Barrel Carburetor |4BBL||OHV||Oldsmobile "Rocket" V8 (307 cu. in.) '86-'90 Chevy Caprice wagon, '87 Caprice sedan (Can.),<br /> '81 Pontiac Bonneville, Catalina, '86 Parisienne, '87-'89 Safari wagon, '81-'84 Oldsmobile 98,<br /> '81-'85 Delta 88, Toronado, '81-'90 Custom Cruiser, '81 Cutlass Cruiser, '82-'87 Cutlass Supreme,<br /> '88 Cutlass Supreme Classic, '81-'84 Buick Electra, '85-'89 Electra Estate wagon,<br /> '81-'85 LeSabre, Riviera, '86-'89 LeSabre Estate wagon, '90 Estate wagon, '86-'87 Regal,<br /> '86 Cadillac Fleetwood Brougham, '87-'90 Brougham |- |Y||LD8||4.6&nbsp;L||V8||Fuel injection#Sequential Multi-port injection|SFI||DOHC,<br /> 32 valve||Cadillac Northstar V8 (Torque tuned FWD) (Premium V). '93-'02 Cadillac Eldorado,<br /> '94-'04 Cadillac Seville SLS, '94-'05 Cadillac DeVille, '06-'11 Cadillac DTS,<br /> '04-'05 Pontiac Bonneville GXP, '06-'08 Buick Lucerne |- |Y||L76||6.0&nbsp;L||V8||Fuel injection#Sequential Multi-port fuel injection|SFI||OHV||Gen IV Chevy Small-Block V8. Aluminum Block & Heads. With Active Fuel Management.<br /> '08-'09 Pontiac G8 GT. |- |Y||LF1||3.0L||V6||Direct Injection|DI||DOHC,<br /> 24 valve||GM High Feature V6. VVT. 2011 Cadillac CTS |- |Y||LF4||3.6L||V6 Twin Turbo||Direct Injection|DI||DOHC,<br /> 24 valve||GM High Feature V6. Cadillac ATS-V '16-'19 |- |Z||LH7||2.8&nbsp;L||V6||2 Barrel Carburetor |2BBL||OHV||Chevrolet 60° V6 (transversely mounted). H.O. '81-'84 Chevy Citation, '82-'84 Pontiac Phoenix, Oldsmobile Omega ES, Buick Skylark, '83-'84 Pontiac 6000 STE, '84 Chevy Celebrity |- |Z||LB4||4.3L||V6||Fuel injection#Throttle Body injection|TBI||OHV||Chevrolet 90° V6 (Chevy Small-Block V8 Derived). '85 Chevy Impala, '85-'90 Caprice,<br /> '92-'93 Caprice 9C6 taxi, '85-'88 Monte Carlo, '85-'86 Pontiac Parisienne, '86-'87 Grand Prix,<br> '86 Bonneville. |- |Z||LAT||2.4L||I4||Fuel injection#Multi-port fuel injection|MFI||DOHC,<br /> 16 valve||Mild Hybrid. GM Ecotec Gen II. VVT. '10 Chevy Malibu Hybrid |- |Z||LUZ||2.0&nbsp;L||I4 Turbo||Direct injection <br /> Common-rail Diesel||DOHC,<br /> 16 valve||GM Family B Diesel (Based on Fiat JTD engine). Made by Opel in Kaiserslautern, Germany.<br /> Iron Block, Aluminum Heads. '14-'15 Chevy Cruze Diesel. |- |1||LC1||2.8&nbsp;L||V6||2 Barrel Carburetor |2BBL||OHV||Chevrolet 60° V6 (longitudinally mounted). '82-'84 Camaro/Firebird. |- |1||LL8||2.0&nbsp;L||I4||Fuel injection#Throttle Body injection|TBI||OHV||Chevrolet "122" engine. '87-'89 Chevy/Olds/Buick J-cars & Chevy L-cars. |- |1||L67||3.8&nbsp;L||V6 Supercharged||Fuel injection#Sequential Multi-port injection|SFI||OHV||Buick V6 (3800 Supercharged Series I). '91-'95 Buick Park Avenue Ultra,<br /> '92-'95 Pontiac Bonneville, Oldsmobile 98, '95 Buick Riviera, Oldsmobile LSS |- |1||L67||3.8&nbsp;L||V6 Supercharged||Fuel injection#Sequential Multi-port injection|SFI||OHV||Buick V6 (3800 Supercharged Series II). '96-'05 Buick Park Avenue Ultra,<br /> '96-'99 Buick Riviera, Oldsmobile LSS, '96-'03 Pontiac Bonneville, '97-'03 Grand Prix,<br /> '97-'04 Buick Regal, '04-'05 Chevy Impala SS, Monte Carlo SS Supercharged |- |1||LZ9||3.9L||V6||Fuel injection#Sequential Multi-port injection|SFI||OHV||GM High Value 60° V6. VVT.<br /> '06-'07 Chevy Malibu SS, '06-'09 Pontiac G6, '06 Chevy Monte Carlo, Impala, '09-'10 Buick Lucerne |- |1||2H0||1.8&nbsp;L||Straight-4|I4||Fuel injection#Sequential Multi-port fuel injection|SFI||DOHC,<br /> 16 valve||GM Family 1 engine, Gen III. VVT. Made in Szentgotthárd, Hungary. '08 (& '09 in Canada) Saturn Astra |- |1||LE5||2.4&nbsp;L||Straight-4|I4||Fuel injection#Multi-port fuel injection|MFI||DOHC,<br /> 16 valve||GM Ecotec Gen II. VVT. '11 & some '12 Chevy Malibu w/LE5 engine. |- |2||LQ9||2.5L||I4||Fuel injection#Throttle Body injection|TBI||OHV||Pontiac Iron Duke/Tech IV engine. Longitudinally mounted. '82-'85 Camaro/Firebird. |- |2||LS3||1.0&nbsp;L||Straight-3|I3 Turbo||Fuel injection#Multi-port fuel injection|MFI||SOHC,<br /> 6 valve ||Suzuki G10T engine. '87-'88 Chevrolet Sprint Turbo |- |2||LY8||1.3&nbsp;L||Straight-4|I4||Fuel injection#Multi-port fuel injection|MFI||SOHC,<br /> 16 valve||Suzuki G13BB engine. '98-'01 Chevrolet Metro |- |2||L26||3.8&nbsp;L||V6||Fuel injection#Sequential Multi-port injection|SFI||OHV||Buick V6 (3800 Series III). '04-'08 Pontiac Grand Prix, '05-'09 Buick LaCrosse, '06-'08 Buick Lucerne |- |2||L77||6.0&nbsp;L||V8||Fuel injection#Sequential Multi-port fuel injection|SFI||OHV||Gen IV Chevy Small-Block V8. Aluminum Block & Heads. With Active Fuel Management.<br /> E85 Flex Fuel. '11-'17 Chevy Caprice PPV. |- |3||LC8||3.8&nbsp;L||V6|V6 Turbo||4 Barrel Carburetor |4BBL||OHV||Buick V6. 231 cu. in. '81-'82 Buick Regal, Riviera, '81 Chevy Monte Carlo. |- |3||LG3||3.8&nbsp;L||V6||Fuel injection#(Sequential) Multi-port injection|MFI/SFI||OHV||Buick V6. '84-'88 Oldsmobile Cutlass Ciera, Buick Century, '85 & '87 Oldsmobile 98, Buick Electra,<br /> '86-'88 Oldsmobile Delta 88, Buick LeSabre, '87 Oldsmobile Toronado, Buick Riviera,<br /> '87-'88 Pontiac Bonneville. |- |3||LW2||4.5&nbsp;L||V8||Fuel injection#Multi-port fuel injection|MFI||OHV||Cadillac High Technology V8. '90 Cadillac DeVille/Fleetwood/Sixty Special/Eldorado/Seville. |- |3||L40||2.3&nbsp;L||Straight-4|I4||Fuel injection#Multi-port fuel injection|MFI||SOHC,<br /> 8 valve||Oldsmobile Quad 4 ("Quad OHC"). '92-'94 Pontiac Grand Am, Oldsmobile Achieva, Buick Skylark |- |3||LZG||3.9L||V6||Fuel injection#Sequential Multi Port Fuel injection|SFI||OHV||E85 Flex Fuel. GM High Value 60° V6. VVT. Active Fuel Management. '08 Chevy Impala |- |3||LFX||3.6L||V6||Direct Injection|DI||DOHC,<br /> 24 valve||GM High Feature V6. VVT. E85 Flex Fuel.<br /> '12-'16 Buick LaCrosse, '12-'15 Chevrolet Camaro, Cadillac CTS, '12-'17 Chevrolet Caprice PPV,<br /> '12-'20 Chevrolet Impala, '14-'16 Chevrolet Impala Limited, '13-'15 Cadillac ATS, '13-'19 Cadillac XTS |- |3||LT6||5.5&nbsp;L||V8||Direct injection|DI||DOHC,<br /> 32 valve||Chevrolet Gemini Small-Block V8. Aluminum Block & Heads. Flat-plane crank. VVT.<br /> For mid-engine C8 Corvette Z06 '23+. |- |4||LC4||4.1&nbsp;L||V6|V6||4 Barrel Carburetor |4BBL||OHV||Buick V6. '81-'84 Buick LeSabre, Electra, Riviera, Oldsmobile Toronado, '81-'82 Cadillac DeVille, Fleetwood Brougham, Eldorado, Seville, '81-'83 Oldsmobile 98, '82-'84 Buick Regal,<br /> '82 Pontiac Grand Prix, Bonneville G |- |4||LC9||1.6&nbsp;L||Straight-4|I4||2 Barrel Carburetor |2BBL||SOHC,<br /> 8 valve||Toyota 4A-C engine. '85-'88 Chevy Nova |- |4||LN2||2.2&nbsp;L||Straight-4|I4||Fuel injection#(Sequential) Multi-port injection|MPI/SFI||OHV||Chevrolet "122" engine. '92-'02 Cavalier, '95-'02 Sunfire, '92-'96 Corsica/Beretta, '93 Lumina,<br /> '93-'96 Cutlass Ciera, Century. |- |4||L32||3.8&nbsp;L||V6 Supercharged||Fuel injection#Sequential Multi-port injection|SFI||OHV||Buick V6 (3800 Supercharged Series III). '04-'07 Pontiac Grand Prix |- |4||LUU||1.4L||I4||Fuel injection#Sequential Multi-port fuel injection|SFI||DOHC,<br /> 16 valve||GM Family 0 Engine, Gen III. VVT. ([[w:EREV|Range extender]]). Early production engines were made in Aspern, Austria; later made in Flint, MI. '11-'15 Chevy Volt, '14 & '16 Cadillac ELR. |- |4||LT2||6.2&nbsp;L||V8||Direct injection|DI||OHV||Gen V Chevy Small-Block V8. Aluminum Block & Heads. Active Fuel Management. VVT.<br /> For mid-engine C8 Corvette Stingray '20+. |- |4||LT2||6.2&nbsp;L||V8||Direct injection|DI||OHV||Full Hybrid. Gen V Chevy Small-Block V8. Aluminum Block & Heads. Active Fuel Management. VVT.<br /> For mid-engine C8 Corvette E-Ray '24+. |- |5||LW9||2.5L||I4||2 Barrel Carburetor |2BBL||OHV||Pontiac Iron Duke engine. '81 Chevy Citation, Pontiac Phoenix, Oldsmobile Omega, Buick Skylark. |- |5||LR6||4.5&nbsp;L||V8||Fuel injection#Throttle Body injection|TBI (DFI)||OHV||Cadillac High Technology V8. '88-'89 Cadillac DeVille/Fleetwood/Sixty Special/Eldorado/Seville. |- |5||LY9||1.0&nbsp;L||Straight-3|I3||2BBL||SOHC,<br /> 6 valve ||Suzuki G10A engine. '86 Chevrolet Sprint |- |5||LM9||1.0&nbsp;L||Straight-3|I3||2BBL||SOHC,<br /> 6 valve ||Suzuki G10A engine. '87-'88 Chevrolet Sprint |- |5||LW0||1.6&nbsp;L||Straight-4|I4||Fuel injection#Multi-port fuel injection|MFI||DOHC,<br /> 16 valve||Toyota 4A-GE engine. '88 Chevy Nova Twin Cam, '90-'92 Geo Prizm GSi |- |5||LW0||1.6&nbsp;L||Straight-4|I4||Fuel injection#Multi-port fuel injection|MFI||DOHC,<br /> 16 valve||Isuzu 4XE1-UW engine. '90-'91 Geo Storm GSi |- |5||LT4||5.7&nbsp;L||V8||Fuel injection#Sequential Multi-port injection|SFI||OHV||Gen II Chevy Small-Block V8. '96 Corvette (man. trans.) |- |5||LAT||2.4L||I4||Fuel injection#Multi-port fuel injection|MFI||DOHC,<br /> 16 valve||Mild Hybrid. GM Ecotec Gen II. VVT. '07-'09 Saturn Aura Green Line, '08-'09 Chevy Malibu Hybrid |- |5||LAP||2.2&nbsp;L||Straight-4|I4||Fuel injection#Multi-port fuel injection|MFI||DOHC,<br /> 16 valve||GM Ecotec Gen II. VVT. '10 Chevy Cobalt. |- |5||LFW||3.0L||V6||Direct Injection|DI||DOHC,<br /> 24 valve||GM High Feature V6. VVT. '12-'13 Cadillac CTS, '14 CTS wagon |- |5||L3A||1.5L||I4||Direct Injection|DI||DOHC,<br /> 16 valve||GM Small Gasoline Engine. VVT. ([[w:EREV|Range extender]]). '16-'19 Chevy Volt. |- |5||LWC||1.6L||I4 Turbo||Direct Injection|DI||DOHC,<br /> 16 valve||GM Medium Gasoline Engine, H.O. VVT. Made in Szentgotthárd, Hungary. '16-'19 Buick Cascada |- |5||LS6||6.7&nbsp;L||V8||Port/Direct injection||OHV||Gen VI Chevy Small-Block V8. Aluminum Block & Heads. Active Fuel Management. VVT.<br /> For mid-engine C8 Corvette Stingray, Grand Sport '27+. |- |5||LS6||6.7&nbsp;L||V8||Port/Direct injection||OHV||Full Hybrid. Gen VI Chevy Small-Block V8. Aluminum Block & Heads. Active Fuel Management. VVT.<br /> For mid-engine C8 Corvette Grand Sport X '27+. |- |6||L81||5.7&nbsp;L||V8||4 Barrel Carburetor |4BBL||OHV||Gen I Chevy Small-Block V8. '81 Corvette |- |6||LM1||5.7&nbsp;L||V8||4 Barrel Carburetor |4BBL||OHV||Gen I Chevy Small-Block V8. '83-'85 Impala 9C1 Police, '86-'88 Caprice 9C1 Police |- |6||L73||1.6&nbsp;L||Straight-4|I4||Fuel injection#Throttle Body injection|TBI||SOHC,<br /> 8 valve||GM Family 1 engine. Made in South Korea by Daewoo. '88-'93 Pontiac LeMans |- |6||LP2||1.0&nbsp;L||Straight-3|I3||Fuel injection#Throttle Body injection|TBI||SOHC,<br /> 6 valve ||Suzuki G10A engine. '89-'97 Geo Metro, '98-'00 Chevrolet Metro |- |6||L01||1.6&nbsp;L||Straight-4|I4||Fuel injection#Multi-port fuel injection|MFI||DOHC,<br /> 16 valve||Toyota 4A-FE engine. '89-'97 Geo Prizm base/LSi |- |6||L01||1.6&nbsp;L||Straight-4|I4||Fuel injection#Multi-port fuel injection|MFI||SOHC,<br /> 12 valve||Isuzu 4XE1-V engine. '90-'93 Geo Storm (base model) |- |6||L42||2.2&nbsp;L||Straight-4|I4||Fuel injection#Multi-port fuel injection|MFI||DOHC,<br /> 16 valve||GM Ecotec Gen I (Bi-Fuel Gas/CNG). '03-'04 Chevy Cavalier |- |6||L91||1.6&nbsp;L||Straight-4|I4||Fuel injection#Multi-port fuel injection|MFI||DOHC,<br /> 16 valve||E-TEC II. '04-'07 Chevy Aveo |- |6||LXT||1.6&nbsp;L||Straight-4|I4||Fuel injection#Multi-port fuel injection|MFI||DOHC,<br /> 16 valve||E-TEC II. '08 Chevy Aveo |- |6||LGW||3.0L||V6 Twin Turbo||Direct Injection|DI||DOHC,<br /> 24 valve||GM High Feature V6, 4th gen. VVT. Active Fuel Management. '16-'19 Cadillac CT6 |- |6||LT4||6.2&nbsp;L||V8 Supercharged||Direct injection|DI||OHV||Gen V Chevy Small-Block V8. Aluminum Block & Heads. With Active Fuel Management. VVT.<br /> '15-'19 Corvette Z06, '17-'24 Camaro ZL1, '16-'19 Cadillac CTS V-Series,<br /> '22+ Cadillac CT5-V Blackwing |- |7||LU5||5.0&nbsp;L||V8||Cross-Fire fuel injection|CFI||OHV||Gen I Chevy Small-Block V8. (305 cu. in.) '82 Camaro, Firebird. Dual throttle-body fuel injection. |- |7||L69||5.0&nbsp;L||V8||4 Barrel Quadrajet Carburetor |4BBL||OHV||Gen I Chevy Small-Block V8 (High Output 5.0L). (305 cu. in.). '83 F-cars, '83 Chevy Monte Carlo SS |- |7||LC5||1.5&nbsp;L||I4||2 Barrel Carburetor |2BBL||SOHC,<br /> 8 valve||Isuzu 4XC1 engine. '86-'88 Chevrolet Spectrum, '89 Geo Spectrum. |- |7||LC2||3.8&nbsp;L||V6|V6 Turbo||Fuel injection#Sequential multi-port injection|SFI||OHV||Intercooled. Buick V6. '86-'87 Buick Regal. '89 Pontiac 20th Anniversary Turbo Trans Am |- |7||LC7||4.1&nbsp;L||V8||Fuel injection#Multi-port fuel injection|MFI||OHV||Cadillac High Technology V8. '87-'88 Cadillac Allante. |- |7||L05||5.7&nbsp;L||V8||Fuel injection#Throttle Body injection|TBI||OHV||Gen I Chevy Small-Block V8. '89-'93 Chevy Caprice (police only for '89-'91),<br /> '92-'93 Buick Roadmaster, '92 Oldsmobile Custom Cruiser, '90-'92 Cadillac Brougham, '93 Fleetwood. |- |7||LL0||1.9&nbsp;L||Straight-4|I4||Fuel injection#Multi-port injection|MFI||DOHC,<br /> 16 valve||Saturn I4 engine. '91-'02 Saturn S-Series |- |7||LY7||3.6&nbsp;L||V6||Fuel injection#Sequential Multi-port injection|SFI||DOHC,<br /> 24 valve||GM High Feature V6. VVT. '04-'09 Cadillac CTS, '05-'07 STS, '05-'08 Buick LaCrosse,<br /> '07-'09 Pontiac G6, Saturn Aura, '08-'09 Pontiac G8, '08-'12 Chevy Malibu |- |7||LT1||6.2&nbsp;L||V8||Direct injection|DI||OHV||Gen V Chevy Small-Block V8. Aluminum Block & Heads. With Active Fuel Management. VVT.<br /> '14-'19 Corvette, '16-'24 Camaro SS |- |7||LT7||5.5&nbsp;L||V8 Twin Turbo||Port/Direct injection||DOHC,<br /> 32 valve||Chevrolet Gemini Small-Block V8. Aluminum Block & Heads. Flat-plane crank. VVT.<br /> For mid-engine C8 Corvette ZR1 '25+. (1,064 hp) |- |7||LT7||5.5&nbsp;L||V8 Twin Turbo||Port/Direct injection||DOHC,<br /> 32 valve||Full Hybrid. Chevrolet Gemini Small-Block V8. Aluminum Block & Heads. Flat-plane crank. VVT.<br /> For mid-engine C8 Corvette ZR1X '26+. (1,250 hp) |- |8||LV8||4.3&nbsp;L||V8||2 Barrel Carburetor |2BBL||OHV||Oldsmobile "Rocket" V8 (260 cu. in.) '82 Oldsmobile Cutlass, Delta 88. |- |8||LT8||4.1&nbsp;L||V8||Fuel injection#Throttle Body injection|TBI (DFI)||OHV||Cadillac High Technology V8. '82-'87 Cadillac DeVille, Eldorado, Seville, '82-'85 Fleetwood Brougham, '85-'87 Fleetwood, '87 Fleetwood Sixty Special. |- |8||LC8||3.8&nbsp;L||V6|V6 Turbo||4 Barrel Carburetor |4BBL||OHV||Buick V6. '83 Buick Regal, Riviera. |- |8||L83||5.7&nbsp;L||V8||Cross-Fire fuel injection|CFI||OHV||Gen I Chevy Small-Block V8. '82, '84 Corvette. Dual throttle-body fuel injection. 1st fuel injected Corvette since 1965. |- |8||L98||5.7&nbsp;L||V8||Tuned-port fuel injection|TPI||OHV||Gen I Chevy Small-Block V8. '85-'91 Corvette, '87-'92 Chevy Camaro, Pontiac Firebird. |- |8||LQ6||4.5&nbsp;L||V8||Fuel injection#Multi-port fuel injection|MFI||OHV||Cadillac High Technology V8. '89-'92 Cadillac Allante. |- |8||L24||1.9&nbsp;L||Straight-4|I4||Fuel injection#Multi-port injection|MFI||SOHC,<br /> 8 valve||Saturn I4 engine. '95-'02 Saturn S-Series |- |8||LX9||3.5&nbsp;L||V6||Fuel injection#Sequential Multi-port injection|SFI||OHV||GM High Value 60° V6. 3498cc. '04-'06 Chevy Malibu, '05-'06 Pontiac G6 |- |8||LF3||3.6L||V6 Twin Turbo||Direct Injection|DI||DOHC,<br /> 24 valve||GM High Feature V6. '14-'19 Cadillac CTS V-Sport, XTS V-Sport |- |8||LV6||1.8&nbsp;L||Straight-4|I4||Fuel injection#Multi-port fuel injection|MFI||DOHC,<br /> 16 valve||Isuzu 4XF1 engine. '92-'93 Geo Storm GSi. |- |8||LV6||1.8&nbsp;L||Straight-4|I4||Fuel injection#Multi-port fuel injection|MFI||DOHC,<br /> 16 valve||Toyota 7A-FE engine. '93-'97 Geo Prizm |- |8||LV6||1.8&nbsp;L||Straight-4|I4||Fuel injection#Multi-port fuel injection|MFI||DOHC,<br /> 16 valve||Toyota 1ZZ-FE engine. VVT-i from '00. '98-'02 Chevrolet Prizm, '03-'08 Pontiac Vibe |- |8||LAY||1.8&nbsp;L||Straight-4|I4||Fuel injection#Sequential multi-port injection|SFI||DOHC,<br /> 16 valve||Toyota 2ZR-FE engine. Dual VVT-i. '09-'10 Pontiac Vibe |- |9||L17||1.6&nbsp;L||Straight-4|I4||2 Barrel Carburetor |2BBL||SOHC,<br /> 8 valve||Isuzu G161Z engine made by GM in US. '81 Chevy Chevette, Pontiac T1000 |- |9||L62||6.0&nbsp;L||V8||Fuel injection#Throttle Body injection|TBI (DFI)||OHV||Cadillac 472-series V8 engine family. V8-6-4 cylinder deactivation.<br /> '81 Cadillacs, '82-'84 Fleetwood Limousine. |- |9||LC3||3.8&nbsp;L||V6||2 Barrel Carburetor |2BBL||OHV||Chevrolet 90° V6 (Chevy Small-Block V8 Derived). 229 cu. in. <br /> '83 Malibu, '83-'84 Monte Carlo, Impala, Caprice, '83 Pontiac Parisienne. |- |9||LG8||5.0&nbsp;L||V8||4 Barrel Carburetor |4BBL||OHV||Oldsmobile "Rocket" V8 (307 cu. in.) H.O. '83-'84 Hurst/Olds, '85-'87 Oldsmobile Cutlass 442 |- |9||LM9||3.8&nbsp;L||V6|V6 Turbo||Fuel injection#Sequential multi-port injection|SFI||OHV||Buick V6. '84-'85 Buick Regal, Riviera. |- |9||L44||2.8&nbsp;L||V6||Fuel injection#Multi-port fuel injection|MFI||OHV||Chevrolet 60° V6 (transversely mounted). H.O. '85-'88 Pontiac Fiero |- |9||LC0||1.5&nbsp;L||I4 Turbo||Fuel injection#Multi-port fuel injection|MFI||SOHC,<br /> 8 valve||Isuzu 4XC1-T engine. '87-'88 Chevrolet Spectrum Turbo |- |9||LK0||1.9&nbsp;L||Straight-4|I4||Fuel injection#Throttle Body injection|TBI||SOHC,<br /> 8 valve||Saturn I4 engine. '91-'94 Saturn S-Series |- |9||L37||4.6&nbsp;L||V8||Fuel injection#Sequential Multi-port injection|SFI||DOHC,<br /> 32 valve||Cadillac Northstar V8 (H.O. FWD) (Premium V). '93 Cadillac Allanté,<br /> '93-'02 Cadillac Eldorado Touring Coupe, '93-'04 Cadillac Seville STS, '96-'05 Cadillac DeVille,<br /> '06-'11 Cadillac DTS, '08-'11 Buick Lucerne Super |- |9||L72||1.3&nbsp;L||Straight-4|I4||Fuel injection#Throttle Body injection|TBI||SOHC,<br /> 8 valve ||Suzuki G13BA engine. '95-'97 Geo Metro |- |9||LUJ||1.4L||I4 Turbo||Fuel injection#Sequential Multi-port fuel injection|SFI||DOHC,<br /> 16 valve||GM Family 0 Engine, Gen III. VVT. Early production engines were made in Aspern, Austria; later made in Flint, MI. '11 Chevy Cruze |- |9||LL0||1.2&nbsp;L||Straight-4|I4||Fuel injection#Multi-port fuel injection|MFI||DOHC,<br /> 16 valve||Daewoo S-TEC II engine (1249 cc). VVT. Made in Changwon, S. Korea. '13-'15 Chevy Spark. |- |9||LT5||6.2&nbsp;L||V8 Supercharged||Port/Direct injection||OHV||Gen V Chevy Small-Block V8. Aluminum Block & Heads. VVT. '19 Corvette ZR1. |- |0||LH8||1.8&nbsp;L||Straight-4|I4||Fuel injection#Throttle Body injection|TBI||SOHC,<br /> 8 valve||GM Family II engine. Made in Brazil.<br /> '82-'86 Pontiac J2000/2000/Sunbird, Oldsmobile Firenza, Buick Skyhawk. |- |0||LAX||2.4&nbsp;L||Straight-4|I4||Fuel injection#Sequential multi-port injection|SFI||DOHC,<br /> 16 valve||Toyota 2AZ-FE engine. VVT-i. '09-'10 Pontiac Vibe |- |0||LE9||2.4&nbsp;L||Straight-4|I4||Fuel injection#Multi-port fuel injection|MFI||DOHC,<br /> 16 valve||GM Ecotec Gen II. E85 Flex-Fuel. 2010 Chevy Malibu. |- |0||LE5||2.4&nbsp;L||Straight-4|I4||Fuel injection#Multi-port fuel injection|MFI||DOHC,<br /> 16 valve||GM Ecotec Gen II. VVT. Most '12 Chevy Malibu w/LE5 engine. |} H.O.=High Output, CNG=Compressed Natural Gas, VVT=Variable Valve Timing, VVL=Variable Valve Lift ====Motor codes for electric passenger cars==== {| class="wikitable" |- ! VIN !! RPO !! Fuel !! Drive Wheels !! Application/Notes |- | 5 ||LN1|| Electricity || Front || '97, '99 General Motors EV1 |- | 0 ||EN0|| Electricity || Front || '14-'16 Chevrolet Spark EV |- | 0 ||EN0|| Electricity || Front || '17-'23 Chevrolet Bolt EV |- | 0 ||EN0|| Electricity || Front || '22-'23 Chevrolet Bolt EUV |- |} ====Motor codes for LFP-powered electric passenger cars==== {| class="wikitable" |- ! VIN !! Motor <br /> RPO code !! # of Motors !! Battery Pack <br /> RPO code !! Fuel !! Drive Wheels !! Application/Notes |- |- | V ||P9D (HPB)|| 1 || EJW || Electricity || Front || '27 Chevrolet Bolt |} LFP=Lithium Iron Phosphate ====Motor codes for Ultium-powered electric passenger cars==== {| class="wikitable" |- ! VIN !! Motor <br /> RPO code !! # of Motors !! Battery Module <br /> RPO code !! # of Modules !! Fuel !! Drive Wheels !! Application/Notes |- |- | 1 ||X0E|| 2 || EXN || 16 || Electricity || All || '25- Cadillac Celestiq |- | 2 ||X0E|| 2 || EHT || 16 || Electricity || All || '25- Cadillac Celestiq <br> (Battery Module RPO code EHT is Configuration B) |} ====Engine codes for light trucks==== GM encodes the engine type in character 8 of the VIN. The following table outlines the various engines encoded there: {| class="wikitable" |- ! VIN !! RPO !! Size !! Type !! Fuel !! Valvetrain !! Engine Family/Notes/Applications |- | A ||LD5|| 3.8L || V6 || Gas ||OHV||2-bbl carb. Buick V6. (231 cu. in.) '81-'84 Chevy El Camino, GMC Caballero (CA emissions). |- | A ||LR1|| 1.9L || I4 || Gas ||SOHC,<br /> 8 valve||2-bbl carb. Isuzu G200 engine imported from Japan.<br /> '82-'85 Chevy S-10/GMC S-15, '83-'85 Chevy S-10 Blazer/GMC S-15 Jimmy |- | A ||L38|| 2.5L || I4 || Gas ||OHV||TBI. Pontiac Iron Duke/Tech IV engine. '91-'93 Chevy S-10/GMC Sonoma. |- | A ||LH2|| 4.6L || V8 || Gas ||DOHC,<br /> 32 valve||Cadillac Northstar V8 (For RWD) (Premium V). '04-'09 Cadillac SRX |- | A ||L20|| 4.8L || V8 || Gas/E85 ||OHV|| Flex Fuel. SFI. Gen IV Chevrolet Small-Block V8. Iron Block/Aluminum Heads. VVT.<br /> '10-'13 GMT900 pickups, '10-'14 Express/Savana |- | A ||LCV|| 2.5L || I4 || Gas ||DOHC,<br /> 16 valve||GM Ecotec engine, Gen III. Direct Injection. VVT. '15-'22 Chevy Colorado, GMC Canyon,<br /> '17-'20 Buick Envision, '17-'21 GMC Acadia, '19-'21 Chevy Blazer |- | B ||LR2|| 2.8L || V6 || Gas ||OHV||2-bbl carb. Chevrolet 60° V6.<br /> '82-'85 Chevy S-10/GMC S-15, '83-'85 Chevy S-10 Blazer/GMC S-15 Jimmy |- | B ||LU2|| 4.3L || V6 || Gas ||OHV|| TBI. Chevrolet 90° V6 (Chevy Small-Block V8 Derived). '90-'91 Astro/Safari higher output engine option. |- | B ||L81|| 3.0L || V6 || Gas ||DOHC,<br /> 24 valve||Opel 54° V6 engine (Made in the UK). '02-'03 Saturn Vue |- | B ||L33|| 5.3L || V8 || Gas ||OHV|| Gen III Chevrolet Small-Block V8. Vortec 5300 H.O. 310hp. Aluminum Block & Heads.<br /> '05-'07 Silverado/Sierra 1500 4wd ext. cab short bed. |- | B ||LE8|| 2.2L || I4 || Gas/E85 ||DOHC,<br /> 16 valve||Flex-Fuel. GM Ecotec Gen II. VVT. '09-'10 Chevy HHR |- | B ||LC8|| 6.0L || V8 || Gas/CNG ||OHV||Bi-Fuel (Also Gas/LPG in Express/Savana). SFI. Gen IV Chevrolet Small-Block V8. Iron Block & Aluminum Heads. VVT. '11-'20 Express/Savana, '13-'19 Silverado HD/Sierra HD. |- | B ||LUV|| 1.4L ||I4 Turbo|| Gas ||DOHC,<br /> 16 valve||GM Family 0 Engine, Gen III. SFI. VVT.<br /> '13-'21 Buick Encore, '15-'21 Chevy Trax (also '13-'14 Trax in Canada) |- | C ||LH6|| 6.2L || V8 || Diesel ||OHV||Detroit Diesel V8. For sub-8,500 lb. GVWR trucks '82-'93. '82-'86 C/K pickups, '87 R/V pickups,<br /> '88-'93 C/K, Sierra pickups, '82-'91 Blazer/Jimmy, Suburban, '83-'93 full-size vans |- | C ||L34|| 2.0L || I4 || Gas ||DOHC,<br /> 16 valve||Suzuki J20A engine. MFI. '99-'03 Chevrolet Tracker |- | C ||LY2|| 4.8L || V8 || Gas ||OHV||SFI. Gen IV Chevrolet Small-Block V8. Iron Block/Aluminum Heads.<br /> '07-'09 GMT900 pickups, '07-'09 Tahoe/Yukon, '08-'09 Express/Savana |- | C ||LAF|| 2.4L || I4 || Gas ||DOHC,<br /> 16 valve||GM Ecotec engine, Gen II. Direct Injection. VVT. Chevy Equinox, GMC Terrain '11. |- | C ||L83|| 5.3L || V8 || Gas/E85 ||OHV|| Flex Fuel. Gen V Chevrolet Small-Block V8 (EcoTec3). Direct injection, VVT. Active Fuel Management<br /> '14-'19 K2XX pickups, '15-'20 K2XX SUVs. |- | C ||L2R|| 2.7L ||I4 Turbo||| Gas ||DOHC,<br /> 16 valve||GM L3B Tripower engine ("TurboMax") - Detuned version. Direct Injection. VVT, VVL. Active Fuel Management. '23-'24 Chevy Colorado. |- | D ||LE3|| 4.1L || I6 || Gas ||OHV||2-bbl carb. Chevrolet Turbo-Thrift I6.<br /> '81-'84 Chevy/GMC C/K pickups, full-size vans, '81-'82 Blazer/Jimmy |- | D ||LG6|| 3.1L || V6 || Gas ||OHV||TBI. Chevrolet 60° V6. '90-'95 U-body minivans. |- | D ||L61|| 2.2L || I4 || Gas ||DOHC,<br /> 16 valve||GM Ecotec Gen I. '02-'07 Saturn Vue, '06 Chevy HHR. |- | D ||L61|| 2.2L || I4 || Gas ||DOHC,<br /> 16 valve||GM Ecotec Gen II. '07-'08 Chevy HHR. |- | D ||LLT|| 3.6L || V6 || Gas ||DOHC,<br /> 24 valve||GM High Feature V6. Direct Injection. '09-'16 GMC Acadia, '17 GMC Acadia Limited,<br /> '09-'17 Chevrolet Traverse, Buick Enclave, '09-'10 Saturn Outlook |- | D ||LBZ|| 6.6L || V8 Turbo || Diesel ||OHV,<br /> 32 valve||Duramax 6600 V8 engine.<br /> Mid '06 Silverado HD/Sierra HD & '07 Silverado Classic HD/Sierra Classic HD |- | D ||L84|| 5.3L || V8 || Gas/E85 ||OHV|| Gen V Chevrolet Small-Block V8 (EcoTec3). Direct injection, VVT. With Dynamic Fuel Management<br /> '19+ Chevy/GMC Silverado 1500/Sierra 1500, '21+ Tahoe/Yukon, Suburban/Yukon XL. |- | E ||LN8|| 2.5L || I4 || Gas ||OHV||TBI. Pontiac Iron Duke/Tech IV engine.<br /> '85-'90 Chevy/GMC S-10/S-15, Astro/Safari Cargo Van, '85-'88 S-10 Blazer/S-15 Jimmy. |- | E ||LLR|| 3.7L || I5 || Gas ||DOHC,<br /> 20 valve||Atlas I5. SFI. VVT.<br /> '07-'12 Colorado/Canyon, '07-'08 Isuzu i-370, '07-'10 Hummer H3, '09-'10 Hummer H3T |- | E ||LA1|| 3.4L || V6 || Gas ||OHV||Chevrolet 60° V6. '96 GMT199 (U-body) minivans, '97-'05 GMT200 (U-body) minivans,<br /> '01-'05 Pontiac Aztek, '02-'05 Buick Rendezvous |- | F ||LF3|| 5.0L || V8 || Gas ||OHV|| 4-bbl carb. Gen I Chevrolet Small-Block V8. '81-'86 C/K, full-size vans, '81-'82 Blazer/Jimmy.<br /> CA emissions version of LE9 5.0 V8. |- | F ||L65|| 6.5L || V8 Turbo || Diesel ||OHV||Detroit Diesel V8. For over-8,500 lb. GVWR Chevy C/K, GMC Sierra trucks '92-'02,<br /> Chevy/GMC Suburban 1500/2500 '94-'99, over-8,500 lb. GVWR Express/Savana '96-'02 |- | F ||LNJ|| 3.4L || V6 || Gas ||OHV||Chevrolet 60° V6. Made in China by SAIC-GM. '05-'09 Chevy Equinox, '06-'09 Pontiac Torrent. |- | F ||L94|| 6.2L || V8 || Gas/E85 ||OHV||Flex-Fuel. Gen IV Chevrolet Small-Block V8. Aluminum Block & Heads. SFI. VVT. Active Fuel Management. '10-'14 GMC Yukon Denali/Yukon XL Denali, Cadillac Escalade/Escalade ESV. |- | F ||L20|| 4.8L || V8 || Gas/E85 ||OHV|| Flex Fuel. SFI. Gen IV Chevrolet Small-Block V8. Iron Block/Aluminum Heads. VVT.<br /> '15-'17 Express/Savana |- | F ||L82|| 5.3L || V8 || Gas ||OHV|| Gen V Chevrolet Small-Block V8 (EcoTec3). Direct injection, VVT. With Active Fuel Management<br /> '19-'21 Chevy Silverado 1500, GMC Sierra 1500 (T1XX). |- | G ||LG9|| 5.0L || V8 || Gas ||OHV|| 2-bbl carb. Gen I Chevrolet Small-Block V8. '81 Chevy/GMC C/K pickups, Blazer/Jimmy, full-size van |- | G ||L18|| 8.1L || V8 || Gas ||OHV||MFI. Vortec 8100. Gen VII Chevrolet Big-Block V8. '01-'02 C3500HD, '01-'06 Silverado HD/Sierra HD, '07 Silverado Classic HD/Sierra Classic HD, '01-'06 Suburban/Yukon XL 2500, '02-'06 Avalanche 2500, '01-'02 Express/Savana |- | G ||L96|| 6.0L || V8 || Gas/E85 ||OHV||Flex Fuel. SFI. Gen IV Chevrolet Small-Block V8. Iron Block & Aluminum Heads. VVT.<br /> '10-'19 Silverado HD/Sierra HD, '10-'13 Suburban 2500/Yukon XL 2500, '16-'19 Suburban 3500,<br /> '10-'20 Express/Savana. |- | G ||LSD|| 1.5L || I4 Turbo || Gas ||DOHC,<br /> 16 valve||GM Small Gasoline Engine. Direct Injection. VVT. '23+ Chevy Equinox, GMC Terrain |- | H ||LG4|| 5.0L || V8 || Gas ||OHV||4-bbl carb. Gen I Chevy Small-Block V8. (305 cu. in.) '81-'87 Chevy El Camino, GMC Caballero. |- | H ||LE9|| 5.0L || V8 || Gas ||OHV|| 4-bbl carb. Gen I Chevrolet Small-Block V8. '81-'86 C/K pickups, Blazer/Jimmy, Suburban, full-size vans |- | H ||L03|| 5.0L || V8 || Gas ||OHV|| TBI. Gen I Chevrolet Small-Block V8. '87 R/V pickups, '88-'95 C/K, Sierra pickups, '87-'95 full-size vans, '87 Blazer/Jimmy, Suburban. |- | H ||LN2|| 2.2L || I4 || Gas ||OHV||SFI. Chevrolet "122" engine. '03 Chevy S-10/GMC Sonoma |- | H ||LS2|| 6.0L || V8 || Gas ||OHV||SFI. Gen IV Chevy Small-Block V8. Chevy SSR '05-'06, Trailblazer SS '06-'09, Saab 9-7X Aero '08-'09. |- | H ||LV3|| 4.3L || V6 || Gas/E85 ||OHV||Flex Fuel. Chevrolet 90° V6 - Gen V Chevrolet Small-Block V6 (EcoTec3). Direct injection, VVT. Active Fuel Management. '14-'21 Chevy Silverado 1500/GMC Sierra 1500. |- | J ||L39|| 4.4L || V8 || Gas ||OHV||2-bbl carb. Gen I Chevy Small-Block V8 (267 cu. in.) '81-82 Chevy El Camino, GMC Caballero. |- | J ||LL4|| 6.2L || V8 || Diesel ||OHV||Detroit Diesel V8. For over-8,500 lb. GVWR trucks '82-'93. '82-'86 C/K pickups, '87-'91 R/V pickups,<br /> '88-'93 C/K, Sierra pickups, '82-'91 Blazer/Jimmy, Suburban, '83-'93 full-size vans |- | J ||L29|| 7.4L || V8 || Gas ||OHV|| MFI. Vortec 7400. Gen VI Chevrolet Big-Block V8.<br /> '96-'00 C/K, Sierra pickups, Express/Savana, '96-'99 Suburban 2500 |- | J ||LY5|| 5.3L || V8 || Gas ||OHV||SFI. Gen IV Chevrolet Small-Block V8. Active Fuel Management. Iron Block & Aluminum Heads.<br /> '07-'09 Silverado/Sierra 1500, Tahoe/Yukon, Suburban/Yukon XL 1500, Avalanche |- | J ||LZ1|| 6.0L || V8 || Gas ||OHV||2-Mode Hybrid. Gen IV Chevrolet Small-Block V8. Aluminum Block & Heads. VVT. Active Fuel Management. '10-'13 Tahoe Hybrid, Yukon Hybrid, Escalade Hybrid, Silverado Hybrid, Sierra Hybrid |- | J ||L86|| 6.2L || V8 || Gas ||OHV||Gen V Chevrolet Small-Block V8 (EcoTec3). Direct injection, VVT. Active Fuel Management. <br /> '14-18 Chevy/GMC Silverado 1500/Sierra 1500,<br /> '18-20 Chevy Tahoe Premier, '19-'20 Chevy Suburban Premier, GMC Yukon/Yukon XL SLT,<br /> '15-'20 GMC Yukon Denali/Yukon XL Denali, Cadillac Escalade/Escalade ESV. |- | K ||LC3|| 3.8L || V6 || Gas ||OHV||2-bbl carb. Chevrolet 90° V6 (Chevy Small-Block V8 Derived). 229 cu. in. <br /> '81-'82 Chevy El Camino, GMC Caballero (49-state emissions) |- | K ||L05|| 5.7L || V8 || Gas ||OHV|| TBI. Gen I Chevrolet Small-Block V8. '87 R/V pickups, '88-'95 C/K, Sierra pickups, '87-'95 full-size vans, '96 G-Classic full-size vans, '87-'94 Blazer, '95 Tahoe, '87-'91 Jimmy, '92-'95 Yukon, '87-'95 Suburban. |- | K ||LY6|| 6.0L || V8 || Gas ||OHV||SFI. Gen IV Chevrolet Small-Block V8. Iron Block & Aluminum Heads. VVT.<br /> '07-'09 Silverado HD/Sierra HD, '07-'09 Suburban 2500/Yukon XL 2500, '08-'09 Express/Savana |- | K ||LEA|| 2.4L || I4 || Gas/E85 ||DOHC,<br /> 16 valve||Flex Fuel. GM Ecotec engine, Gen II. Direct Injection. VVT. Chevy Equinox, GMC Terrain '12-'17,<br /> Chevy Captiva Sport '12-'14, Chevy Orlando '14. |- | K ||L3B|| 2.7L ||I4 Turbo||| Gas ||DOHC,<br /> 16 valve||GM L3B Tripower engine ("TurboMax"). Direct Injection. VVT, VVL. Active Fuel Management.<br /> '19+ Chevy Silverado 1500, GMC Sierra 1500, '23+ Chevy Colorado, GMC Canyon. |- | L ||LS9|| 5.7L || V8 || Gas ||OHV|| 4-bbl carb. Gen I Chevrolet Small-Block V8. For sub-8,500 lb. GVWR trucks, vans, Suburban, Blazer/Jimmy (CA) '81-'86. |- | L ||L27|| 3.8L || V6 || Gas ||OHV||Buick V6 (3800 Series I). '92-'95 U-body minivans |- | L ||LX9|| 3.5L || V6 || Gas ||OHV||GM High Value 60° V6. 3498cc. SFI. '05-'06 GMT201 minivans, '06-'07 Buick Rendezvous |- | L ||LH8|| 5.3L || V8 || Gas ||OHV||SFI. Gen IV Chevrolet Small-Block V8. Aluminum Block & Heads.<br /> '08-'09 Hummer H3 Alpha, '09 Colorado/Canyon, Hummer H3T Alpha |- | L ||LGH|| 6.6L || V8 Turbo || Diesel ||OHV,<br /> 32 valve||Duramax 6600 V8 engine. Mid '10-'16 Express/Savana, '11-'12 Silverado HD/Sierra HD chassis cabs |- | L ||L87|| 6.2L || V8 || Gas ||OHV||Gen V Chevrolet Small-Block V8 (EcoTec3). Direct injection, VVT. Dynamic Fuel Management.<br /> '19+ Chevy/GMC Silverado 1500/Sierra 1500, '21+ Tahoe/Yukon, Suburban/Yukon XL,<br /> Cadillac Escalade/Escalade ESV. |- | L ||L3T|| 1.3L || I3 Turbo || Gas ||DOHC,<br /> 12 valve||GM E-Turbo Engine. Direct Injection. VVT. '20+ Buick Encore GX, '21+ Chevy Trailblazer. |- | M ||LT9|| 5.7L || V8 || Gas ||OHV|| 4-bbl carb. Gen I Chevy Small-Block V8.<br /> For over-8,500 lb. GVWR C/K trucks, full-size vans, Suburban '81-'86, full-size van cutaway '81-'88.<br /> '88 Chevy/GMC R30/3500 Chassis Cab w/C7C (10,500 lb. GVWR),<br /> V30/3500 Chassis Cab w/C7E (11,000 lb. GVWR) |- | M ||L30|| 5.0L || V8 || Gas ||OHV||Gen 1+ Chevrolet Small-Block V8. Vortec 5000. CPI.<br /> '96-'99 Chevy C/K, GMC Sierra, '96-'02 Express/Savana |- | M ||LNF|| 2.0L || I4 Turbo || Gas ||DOHC,<br /> 16 valve||GM Ecotec engine, Gen II. Direct Injection. VVT. 2010 Chevy HHR SS. |- | M ||LH6|| 5.3L || V8 || Gas ||OHV||SFI. Gen IV Chevrolet Small-Block V8. Active Fuel Management. Aluminum Block & Heads.<br /> '05-'06 GMT370 SUVs (Trailblazer EXT/Envoy XL/Isuzu Ascender 7-psgr.), '05-'07 Buick Rainier,<br /> '05-'09 GMC Envoy Denali, Saab 9-7X, '06-'08 Chevy Trailblazer, '05 GMC Envoy XUV,<br /> '07-'09 Silverado/Sierra 1500 |- | M ||LAF|| 2.4L || I4 || Gas ||DOHC,<br /> 16 valve||GM Ecotec engine, Gen II. Direct Injection. VVT. Chevy Orlando '12. |- | M ||LE2|| 1.4L || I4 Turbo || Gas ||DOHC,<br /> 16 valve||GM Small Gasoline Engine. Direct Injection. VVT. '16-'19 & '21-'22 Buick Encore, '21-'22 Chevy Trax. |- | N ||L10|| 1.8L || I4 || Gas ||SOHC,<br /> 8 valve||2-bbl carb. Isuzu G180Z engine imported from Japan. '81-'82 Chevy LUV |- | N ||LF9|| 5.7L || V8 || Diesel ||OHV||Oldsmobile Diesel V8. '83-'84 Chevy El Camino/GMC Caballero. |- | N ||LB1|| 4.3L || V6 || Gas ||OHV|| 4-bbl carb. Chevrolet 90° V6 (Chevy Small-Block V8 Derived).<br /> '85 Astro/Safari, '85-'86 C/K pickups & full-size vans |- | N ||L19|| 7.4L || V8 || Gas ||OHV|| Mark IV Chevrolet Big-Block V8. TBI.<br /> '87-'90 R/V pickups, Suburban 2500, '88-'90 C/K, Sierra pickups, full-size vans |- | N ||L19|| 7.4L || V8 || Gas ||OHV|| Gen V Chevrolet Big-Block V8. TBI.<br /> '91 R/V pickups, '91-'95 C/K, Sierra pickups, Suburban 2500, full-size vans. '96 G-Classic full-size vans |- | N ||LZ4|| 3.5L || V6 || Gas ||OHV||GM High Value 60° V6. 3510cc. SFI. VVT. '08-'09 Saturn Vue |- | N ||LQ9|| 6.0L || V8 || Gas ||OHV|| Gen III Chevrolet Small-Block V8. Vortec 6000 H.O. or VortecMAX. Iron Block/Aluminum Heads. 345 hp.<br /> '02-'06 Cadillac Escalade, '03-'06 Cadillac Escalade ESV, '03-'06 Chevy Silverado SS, '05-'06 GMC Sierra Denali. |- | N ||LGZ|| 3.6L || V6 || Gas ||DOHC,<br /> 24 valve||GM High Feature V6, 4th gen. Direct Injection. VVT. Active Fuel Management.<br /> '17-'22 Chevy Colorado, GMC Canyon. |- | P ||L49|| 6.5L || V8 || Diesel ||OHV||Detroit Diesel V8. For sub-8,500 lb. GVWR Chevy C/K, GMC Sierra trucks & full-size vans '94-'95 |- | P ||LM4|| 5.3L || V8 || Gas ||OHV||Gen III Chevrolet Small-Block V8. Vortec 5300. 290hp. Aluminum Block & Heads.<br /> '03-'04 Chevy SSR, '03-'04 GMT370 SUVs (Trailblazer EXT/Envoy XL/Isuzu Ascender 7-psgr.),<br /> '04 Buick Rainier, GMC Envoy XUV |- | P ||LE5|| 2.4L || I4 || Gas ||DOHC,<br /> 16 valve||MFI. GM Ecotec Gen II. VVT. '06-'08 Chevy HHR, '08-'09 Saturn Vue |- | P ||LH9|| 5.3L || V8 || Gas/E85 ||OHV||Flex Fuel. SFI. Gen IV Chevrolet Small-Block V8. Aluminum Block & Heads. VVT.<br /> '10-'12 Colorado/Canyon, '10 Hummer H3 Alpha, H3T Alpha |- | P ||LV1|| 4.3L || V6 || Gas ||OHV||Chevrolet 90° V6 - Gen V Chevrolet Small-Block V6 (EcoTec3). Direct injection, VVT.<br /> '18+ Chevy Express/GMC Savana. |- | P ||LBP|| 1.2L || I3 Turbo || Gas/E85 ||DOHC,<br /> 12 valve||Flex Fuel. GM E-Turbo Engine. Direct Injection. VVT.<br /> '25+ Buick Encore GX, Chevy Trailblazer, '25- Chevy Trax, Buick Envista. |- | R ||LL2|| 2.8L || V6 || Gas ||OHV||TBI. Chevrolet 60° V6. '86-'93 Chevy S-10, GMC S-15/Sonoma,<br /> '86-'89 Chevy S-10 Blazer/GMC S-15 Jimmy |- | R ||L31|| 5.7L || V8 || Gas ||OHV||Gen 1+ Chevrolet Small-Block V8. Vortec 5700. CPI.<br /> '96-'99 Chevy C/K, GMC Sierra, '96-'99 Chevy Tahoe/GMC Yukon, Chevy/GMC Suburban, '99-'00 GMC Yukon Denali, Cadillac Escalade, '00 Chevy Tahoe Limited/Z71, '96-'02 Chevy Express/GMC Savana. |- | R ||L8B|| 5.3L || V8 || Gas ||OHV||Mild Hybrid. Gen V Chevrolet Small-Block V8 (EcoTec3). Direct injection, VVT. Active Fuel Management. '16-'18 Chevy Silverado 1500, GMC Sierra 1500. |- | S ||LQ7|| 2.2L || I4 || Diesel ||OHV||Isuzu C220 engine imported from Japan. '81-'82 Chevy LUV, '84-'85 Chevy S-10/GMC S-15 |- | S ||L56|| 6.5L || V8 Turbo || Diesel ||OHV||Detroit Diesel V8. For sub-8,500 lb. GVWR Chevy C/K, GMC Sierra trucks '94-'99,<br /> Chevy Blazer '94, Chevy Tahoe 2-d '95-'99, GMC Yukon 2-d '94-'97 |- | S ||LL8|| 4.2L || I6 || Gas ||DOHC,<br /> 24 valve||Atlas I6. SFI. VVT. '02-'09 GMT360/370 SUVs (Chevy Trailblazer, GMC Envoy, Oldsmobile Bravada, Buick Rainier, Isuzu Ascender, Saab 9-7X) |- | S ||LGX|| 3.6L || V6 || Gas ||DOHC,<br /> 24 valve||GM High Feature V6, 4th gen. Direct Injection. VVT. Active Fuel Management.<br /> '17+ Cadillac XT5, '17-'23 GMC Acadia, '19+ Chevrolet Blazer, '20-'25 Cadillac XT6. |- | S ||LK0|| 2.5L || I4 Turbo || Gas ||DOHC,<br /> 16 valve||L3B engine family. Direct Injection. VVT. '24- Chevy Traverse, GMC Acadia, '25- Buick Enclave |- | T ||L25|| 4.8L || I6 || Gas ||OHV||1-bbl carb. Chevrolet Turbo-Thrift I6. '81-'86 Chevy/GMC C/K pickups, '88 R/V pickups |- | T ||LM7|| 5.3L || V8 || Gas ||OHV|| Gen III Chevrolet Small-Block V8. Iron Block & Aluminum Heads. Vortec 5300. 270/285/295hp.<br /> '99-'07 GMT800 pickups & SUVs including '02-'05 Escalade 2wd, '03-'07 Express/Savana |- | T ||LEA|| 2.4L || I4 || Gas/E85 ||DOHC,<br /> 16 valve||Flex Fuel. GM Ecotec engine, Gen II. Direct Injection. VVT. Chevy Orlando '13. |- | T ||LM2|| 3.0L || I6 Turbo|| Diesel ||DOHC,<br /> 24 valve|| Duramax Diesel I6. Aluminum Block & Heads. '20-'22 Silverado/Sierra 1500, '21-'24 Tahoe/Suburban, Yukon/Yukon XL, Escalade/Escalade ESV. |- | U ||LS5|| 1.6L || I4 || Gas ||SOHC,<br /> 8 valve||Suzuki G16A engine. TBI. '89-'95 Geo Tracker |- | U ||LQ4|| 6.0L || V8 || Gas ||OHV|| Gen III Chevrolet Small-Block V8. Iron Block & Aluminum Heads (Iron Heads in '99-'00).<br /> '99-'06 GMT800 pickups, '00-'06 Suburban/Yukon XL 2500, '01-'06 Yukon Denali/Yukon XL Denali,<br> '06 Suburban LTZ, '03-'07 Express/Savana, '03-'07 Hummer H2. |- | U ||LE9|| 2.4L || I4 || Gas/E85 ||DOHC,<br /> 16 valve||Flex-Fuel. GM Ecotec Gen II. 2011 Chevy HHR |- | U ||LH7|| 1.6L ||I4 Turbo|| Diesel ||DOHC,<br /> 16 valve||GM Medium Diesel engine ("Whisper Diesel"). Made by Opel in Szentgotthárd, Hungary.<br /> Aluminum Block & Heads. '18-'19 Chevy Equinox & GMC Terrain Diesel. |- | V ||LR4|| 4.8L || V8 || Gas ||OHV||Gen III Chevrolet Small-Block V8. Iron Block/Aluminum Heads. '99-'06 GMT800 pickups,<br /> '00-'06 Tahoe/Yukon, '03-'07 Express/Savana |- | V ||LE9|| 2.4L || I4 || Gas/E85 ||DOHC,<br /> 16 valve||Flex-Fuel. GM Ecotec Gen II. 2009-2010 Chevy HHR |- | V ||LYX|| 1.5L || I4 Turbo || Gas ||DOHC,<br /> 16 valve||GM Small Gasoline Engine. Direct Injection. VVT. '18-'22 Chevy Equinox, GMC Terrain |- | W ||LE8|| 7.4L || V8 || Gas ||OHV|| Mark IV Chevrolet Big-Block V8. 4bbl carb. '81-'86 Chevy/GMC C/K pickups, Suburban.<br /> '88-'89 Chevy/GMC R30/3500 Chassis Cab w/C7C (10,500 lb. GVWR),<br /> V30/3500 Chassis Cab w/C7E (11,000 lb. GVWR) |- | W ||L35|| 4.3L || V6 || Gas ||OHV|| CPI. Vortec 4300 H.O. Chevrolet 90° V6 (Chevy Small-Block V8 Derived).<br /> '92-'95 Sonoma, S-10 Blazer/Jimmy, Astro/Safari, '94-'95 S-10, '92-'94 Oldsmobile Bravada |- | W ||L35|| 4.3L || V6 || Gas ||OHV|| SFI. Vortec 4300 H.O. Chevrolet 90° V6 (Chevy Small-Block V8 Derived). '96-'02 S-10/Sonoma, Blazer/Jimmy, Express/Savana, C/K, Silverado, Sierra, '96-'01 Bravada, Astro/Safari, '00 Isuzu Hombre |- | W ||LGD|| 3.9L || V6 || Gas/E85 ||OHV||Flex Fuel. GM High Value 60° V6. SFI. VVT. '07-'09 GMT201 minivans |- | W ||LAF|| 2.4L || I4 || Gas ||DOHC,<br /> 16 valve||GM Ecotec engine, Gen II. Direct Injection. VVT. Chevy Equinox, GMC Terrain '10. |- | W ||LE8|| 2.2L || I4 || Gas/E85 ||DOHC,<br /> 16 valve||Flex-Fuel. GM Ecotec Gen II. VVT. 2011 Chevy HHR. |- | W ||LFY|| 3.6L || V6 || Gas ||DOHC,<br /> 24 valve||GM High Feature V6. Direct Injection.<br> '18-'23 Chevrolet Traverse, '24 Chevrolet Traverse Limited, '18-'24 Buick Enclave. |- | X ||LF6|| 4.3L || V6 || Gas ||OHV||SFI. Vortec 4300. Chevrolet 90° V6 (Chevy Small-Block V8 Derived).<br /> '96-'99 S-10/Sonoma, '97-'99 Isuzu Hombre. |- | X ||LU3|| 4.3L || V6 || Gas ||OHV||Vortec 4300. Chevrolet 90° V6 (Chevy Small-Block V8 Derived). '03-'04 S-10/Sonoma,<br /> '03-'05 Blazer/Jimmy, '02-'05 Astro/Safari, '03-'14 Express/Savana, '03-'13 Silverado/Sierra |- | X ||LNF|| 2.0L || I4 Turbo || Gas ||DOHC,<br /> 16 valve||GM Ecotec engine, Gen II. Direct Injection. VVT. '08-'09 Chevy HHR SS. |- | X ||LTG|| 2.0L || I4 Turbo || Gas ||DOHC,<br /> 16 valve||GM Ecotec engine, Gen III. Direct Injection. VVT.<br /> '16-'20 Buick Envision, '18-'20 Chevy Equinox, GMC Terrain, '18-'19 Chevy Traverse RS |- | Y ||LQ2|| 2.0L || I4 || Gas ||OHV||2-bbl carb. Chevrolet "122" engine.<br /> '83-'84 Chevy S-10/GMC S-15, '83-'84 Chevy S-10 Blazer/GMC S-15 Jimmy |- | Y ||L57|| 6.5L || V8 || Diesel ||OHV||Detroit Diesel V8. For over-8,500 lb. GVWR full-size vans '94-'95 & '96 G-Classic full-size vans |- | Y ||L76|| 6.0L || V8 || Gas ||OHV||SFI. Gen IV Chevy Small-Block V8. Aluminum Block & Heads. VVT. With Active Fuel Management.<br /> '07-'09 Silverado/Sierra, Suburban/Yukon XL, Chevy Avalanche |- | Y ||LF1|| 3.0L || V6 || Gas ||DOHC,<br /> 24 valve||GM High Feature V6. Direct Injection. VVT.<br /> '10-'11 Cadillac SRX, '11 Saab 9-4X, '10 Chevy Equinox, GMC Terrain |- | Y ||L5P|| 6.6L || V8 Turbo || Diesel ||OHV,<br /> 32 valve||Duramax 6600 V8 engine. '17+ Silverado HD/Sierra HD. Engine updated in '24. |- | Z ||LF9|| 5.7L || V8 || Diesel ||OHV||Oldsmobile Diesel V8. '81 Chevy C10/GMC C1500 full-size pickups. |- | Z ||LB4|| 4.3L || V6 || Gas ||OHV|| TBI. Chevrolet 90° V6 (Chevy Small-Block V8 Derived). '85-'87 Chevy El Camino/GMC Caballero,<br /> '86-'94 Astro/Safari, '87 R/V pickups, '88-'95 C/K & Sierra pickups, '87-'95 full-size vans & <br /> '96 G-Classic full-size vans, '88-'95 S-10, S-15/Sonoma, '88-'94 S-10 Blazer, S-15 Jimmy,<br /> '91-'92 Oldsmobile Bravada |- | Z ||LB4|| 4.3L || V6 Turbo || Gas ||OHV|| MPI. For GMC Syclone & Typhoon. Chevrolet 90° V6 (Chevy Small-Block V8 Derived) |- | Z ||L59|| 5.3L || V8 || Gas/E85 ||OHV||Flex Fuel. Gen III Chevrolet Small-Block V8. Iron Block & Aluminum Heads. Vortec 5300. 285/295hp.<br /> '02-'07 GMT800 pickups, '02-'06 Suburban/Yukon XL, Avalanche. |- | Z ||LAT|| 2.4L || I4 || Gas ||DOHC,<br /> 16 valve||Mild Hybrid. MFI. GM Ecotec Gen II. VVT. '07-'09 Saturn Vue Green Line |- | 1 ||LZ9|| 3.9L || V6 || Gas ||OHV||GM High Value 60° V6. SFI. VVT. '06-'09 GMT201 minivans |- | 1 ||LE5|| 2.4L || I4 || Gas ||DOHC,<br /> 16 valve||MFI. GM Ecotec Gen II. VVT. '10 Saturn Vue. |- | 1 ||LB7|| 6.6L || V8 Turbo || Diesel ||OHV,<br /> 32 valve||Duramax 6600 V8 engine. First version of the Duramax V8. '01-Mid '04 Silverado HD/Sierra HD |- | 1 ||LWN|| 2.8L || I4 Turbo || Diesel ||DOHC,<br /> 16 valve||Based on VM Motori A428 engine. Made by GM Powertrain Thailand 2016-2020. Made in Brazil for '22. '16-'22 Colorado/Canyon, '17-'22 Express/Savana. |- | 2 ||LLY|| 6.6L || V8 Turbo || Diesel ||OHV,<br /> 32 valve||Duramax 6600 V8 engine. Mid '04-Mid '06 Silverado HD/Sierra HD, '06-Mid '07 Express/Savana |- | 2 ||L9H|| 6.2L || V8 || Gas/E85 ||OHV||Flex-Fuel. Gen IV Chevrolet Small-Block V8. Aluminum Block & Heads. SFI. VVT.<br /> '09-'13 Chevy Silverado 1500, GMC Sierra 1500, Sierra Denali 1500,<br /> '09 Chevy Tahoe LTZ, GMC Yukon Denali/Yukon XL Denali, Cadillac Escalade/Escalade ESV,<br> Hummer H2 |- | 2 ||LIH|| 1.2L || I3 Turbo || Gas ||DOHC,<br /> 12 valve||GM E-Turbo Engine. Direct Injection. VVT.<br /> '20-'24 Buick Encore GX, '21-'24 Chevy Trailblazer, '24 Chevy Trax, Buick Envista,<br> '25 Chevy Trax, Buick Envista (Canada only). |- | 3 ||LC9|| 5.3L || V8 || Gas/E85 ||OHV||Flex Fuel. SFI. Gen IV Chevrolet Small-Block V8. Active Fuel Management. VVT added for '10. Aluminum Block & Heads.<br /> '07-'11 Silverado/Sierra 1500, Tahoe/Yukon, Suburban/Yukon XL 1500, '07-'09 & '11 Avalanche |- | 3 ||LFX|| 3.6L || V6 || Gas ||DOHC,<br /> 24 valve||GM High Feature V6. Direct Injection. VVT. E85 Flex Fuel.<br /> '12-'16 Cadillac SRX, '13-'17 Chevrolet Equinox, GMC Terrain, '15-'16 Colorado/Canyon |- | 4 ||LN2|| 2.2L || I4 || Gas ||OHV||MFI (94-95). SFI (96-00). Chevrolet "122" engine. '94-'00 S-10/Sonoma, '96-'00 Isuzu Hombre |- | 4 ||LE8|| 2.5L || V6 || Gas ||DOHC,<br /> 24 valve||Suzuki H25A engine. MFI. '01-'04 Chevrolet Tracker |- | 4 ||L66|| 3.5L || V6 || Gas ||SOHC,<br /> 24 valve||Honda J35S1 V6. VTEC. '04-'07 Saturn Vue |- | 4 ||LMF|| 5.3L || V8 || Gas/E85 ||OHV||Flex Fuel. SFI. Gen IV Chevrolet Small-Block V8. Iron Block & Aluminum Heads. VVT.<br /> '08-'14 Express/Savana 1500 |- | 4 ||LAU|| 2.8L || V6 Turbo || Gas ||DOHC,<br /> 24 valve||GM High Feature V6. SFI. '10 Cadillac SRX |- | 4 ||LSY|| 2.0L || I4 Turbo || Gas ||DOHC,<br /> 16 valve||GM Ecotec engine, Gen III. Direct Injection. Active Fuel Management. VVT. VVL.<br /> '19-'25 Cadillac XT4, '20+ Chevy Blazer, Cadillac XT5, '20-'23 GMC Acadia,<br /> '21+ Buick Envision, '21-'25 Cadillac XT6 |- | 5 ||L43|| 2.2L || I4 || Gas/E85 ||OHV||Flex-Fuel. SFI. Chevrolet "122" engine. '00-'02 S-10/Sonoma, '00 Isuzu Hombre |- | 5 ||LFA|| 6.0L || V8 || Gas ||OHV||2-Mode Hybrid. Gen IV Chevrolet Small-Block V8. Aluminum Block & Heads. VVT. Active Fuel Management. '08-'09 Tahoe Hybrid/Yukon Hybrid, '09 Escalade Hybrid, Silverado Hybrid/Sierra Hybrid |- | 5 ||LFW|| 3.0L || V6 || Gas/E85 ||DOHC,<br /> 24 valve||Flex-Fuel. GM High Feature V6. Direct Injection. VVT. '11-'12 Chevy Equinox, GMC Terrain,<br /> '12 Chevy Captiva Sport |- | 6 ||L01|| 1.6L || I4 || Gas ||SOHC,<br /> 16 valve||Suzuki G16B engine. MFI. '94-'97 Geo Tracker, '98-'00 Chevrolet Tracker |- | 6 ||L52|| 3.5L || I5 || Gas ||DOHC,<br /> 20 valve||Atlas I5. SFI. VVT. '04-'06 Colorado/Canyon, '06 Isuzu i-350, '06 Hummer H3 |- | 6 ||LAU|| 2.8L || V6 Turbo || Gas ||DOHC,<br /> 24 valve||GM High Feature V6. SFI. '11 Cadillac SRX, Saab 9-4X |- | 6 ||LMM|| 6.6L || V8 Turbo || Diesel ||OHV,<br /> 32 valve||Duramax 6600 V8 engine. '07-'10 Silverado HD/Sierra HD (GMT900), Mid '07-Mid '10 Express/Savana |- | 7 ||LY7|| 3.6L || V6 || Gas ||DOHC,<br /> 24 valve||GM High Feature V6. '04-'06 Buick Rendezvous, '04-'09 Cadillac SRX,<br /> '07-'08 GMC Acadia, Saturn Outlook, '08 Buick Enclave, '08-'10 Saturn Vue |- | 7 ||LC9|| 5.3L || V8 || Gas/E85 ||OHV||Flex Fuel. SFI. Gen IV Chevrolet Small-Block V8. Active Fuel Management. VVT.<br /> Aluminum Block & Heads.<br /> '12-'13 Silverado/Sierra 1500, Avalanche, '12-'14 Tahoe/Yukon, Suburban/Yukon XL 1500 |- | 7 ||L8T|| 6.6L || V8 || Gas ||OHV||Gen V Chevrolet Small-Block V8. Iron Block/Aluminum Heads. Direct injection, VVT.<br /> '20+ Silverado HD/Sierra HD, '21+ Express/Savana |- | 8 ||LK5|| 2.8L || I4 || Gas ||DOHC,<br /> 16 valve||Atlas I4. SFI. VVT. '04-'06 Colorado/Canyon, '06 Isuzu i-280. |- | 8 ||L92|| 6.2L || V8 || Gas ||OHV||Gen IV Chevrolet Small-Block V8. Aluminum Block & Heads. SFI. VVT.<br /> '07-'08 GMC Sierra Denali, Yukon Denali/Yukon XL Denali, Cadillac Escalade/Escalade ESV,<br> '08 Chevy Tahoe LTZ, Hummer H2. |- | 8 ||LML|| 6.6L || V8 Turbo || Diesel ||OHV,<br /> 32 valve||Duramax 6600 V8 engine.<br /> '11-'16 Silverado HD/Sierra HD pickups, '13-'16 Silverado HD/Sierra HD chassis cabs. |- | 8 ||LZ0|| 3.0L || I6 Turbo|| Diesel ||DOHC,<br /> 24 valve|| Duramax Diesel I6. Aluminum Block & Heads.<br> '23+ Silverado/Sierra 1500, '24+ Suburban HD, '25+ Tahoe/Suburban, Yukon/Yukon XL. |- | 9 ||LC3|| 3.8L || V6 || Gas ||OHV||2-bbl carb. Chevrolet 90° V6 (Chevy Small-Block V8 Derived). 229 cu. in. <br /> '83-'84 Chevy El Camino, GMC Caballero (49-state emissions). |- | 9 ||LLV|| 2.9L || I4 || Gas ||DOHC,<br /> 16 valve||Atlas I4. SFI. VVT. '07-'12 Colorado/Canyon, '07-'08 Isuzu i-290. |- | 9 ||LT4|| 6.2L ||V8 Supercharged|| Gas ||OHV||Gen V Chevy Small-Block V8. Aluminum Block & Heads. Direct injection. VVT. Active Fuel Management. '23+ Cadillac Escalade/Escalade ESV V-Series. |- | 0 ||LMG|| 5.3L || V8 || Gas/E85 ||OHV||Flex-Fuel. SFI. Gen IV Chevrolet Small-Block V8. Active Fuel Management. VVT added for '10.<br /> Iron Block & Aluminum Heads.<br /> '07-'13 Silverado/Sierra 1500, Avalanche, '07-'14 Tahoe/Yukon, Suburban/Yukon XL 1500. |} H.O.=High Output, VVT=Variable Valve Timing, VVL=Variable Valve Lift, GVWR=Gross Vehicle Weight Rating, CNG=Compressed Natural Gas, LPG=Liquefied Petroleum Gas (Propane Autogas) ====Motor codes for electric light trucks==== {| class="wikitable" |- ! VIN !! RPO !! Fuel !! Drive Wheels !! Application/Notes |- | H ||LN1|| Electricity || Front || '97-'98 Chevrolet S-10 Electric. |- |} ====Motor codes for Ultium-powered electric light trucks==== {| class="wikitable" |- ! VIN !! Motor <br /> RPO code !! # of Motors !! Battery Module <br /> RPO code !! # of Modules !! Fuel !! Drive Wheels !! Application/Notes |- | A ||XRL|| 3 || ETN || 24 || Electricity || All || '22- GMC Hummer EV pickup 3X |- | B ||XRL|| 3 || ETI || 20 || Electricity || All || '24- GMC Hummer EV pickup 3X |- | C ||XRL|| 3 || ETJ || 20 || Electricity || All || '24- GMC Hummer EV SUV 3X |- | D ||XRJ|| 2 || ETI || 20 || Electricity || All || '24 Chevrolet Silverado EV 3WT, '25- Silverado EV 5WT, 3LT,<br> '25 Silverado EV RST (2SP), '26- Silverado EV Trail Boss (2TR),<br> '24- GMC Hummer EV pickup 2X, '25- GMC Sierra EV Denali 5SC,<br> '26- Sierra EV Elevation 3SC, AT4 4SC |- | E ||XRJ|| 2 || ETJ || 20 || Electricity || All || '24- GMC Hummer EV SUV 2X |- | G ||XRJ|| 2 || ETJ || 20 || Electricity || All || '23 BrightDrop Zevo 600 |- | H ||XRJ|| 2 || EWX || 14 || Electricity || All ||'26- Chevrolet Silverado EV 4WT, 2LT,<br> '26- GMC Sierra EV Elevation 3SB, Denali 5SB |- | J ||X0C|| 2 || EC5 || 10 || Electricity || All || '24 Chevy Blazer EV 2LT, 1RS AWD,<br> '25- Chevy Blazer EV 4LT, 3RS AWD, '24- Honda Prologue AWD |- | K ||X0D|| 1 || EC6 || 12 || Electricity || Rear || '23- Cadillac Lyriq RWD, '24-'25 Chevrolet Blazer EV 2RS RWD,<br> '24 Acura ZDX A-Spec RWD |- | L ||X0E|| 2 || EC6 || 12 || Electricity || All || '23- Cadillac Lyriq AWD, '24- Chevrolet Blazer EV PPV AWD,<br> '25- Chevrolet Blazer EV SS AWD, '26- Cadillac Vistiq AWD,<br> '24 Acura ZDX A-Spec, Type S AWD |- | L ||XRJ|| 2 || ETN || 24 || Electricity || All || '24 Chevrolet Silverado EV 4WT, RST (3SP), '25- Silverado EV 8WT,<br> '25 Silverado EV RST (3SP), '26- Silverado EV 4LT, Trail Boss (3TR),<br> '24- GMC Sierra EV Denali 5SD, '26- Sierra EV AT4 4SD,<br> '25- Cadillac Escalade IQ, '26- Cadillac Escalade IQL |- | M ||X0B|| 1 || EC5 || 10 || Electricity || Front || '24- Honda Prologue FWD, '25- Chevy Blazer EV 2LT, 1RS FWD |- | P ||X0B|| 1 || EC3 || 10 || Electricity || Front || '24- Chevrolet Equinox EV FWD |- | R ||X0C|| 2 || EC3 || 10 || Electricity || All || '24- Chevrolet Equinox EV AWD, '25 Cadillac Optiq AWD |- | Y ||XRJ|| 2 || ETC || 12 || Electricity || All || '24 BrightDrop Zevo 400, Zevo 600,<br> '25-'26 Chevrolet BrightDrop 400/600 AWD |- | Z ||XRJ|| 2 || ETJ || 20 || Electricity || All || '24 BrightDrop Zevo 400, Zevo 600,<br> '25-'26 Chevrolet BrightDrop 400/600 AWD |- | 4 ||X0E|| 2 || EC3 || 10 || Electricity || All || '26- Cadillac Optiq AWD |- | 5 ||X0D|| 1 || EC3 || 10 || Electricity || Rear|| '26- Cadillac Optiq RWD |- | 6 ||XRM|| 1 || ETC || 12 || Electricity || Front || '25-'26 Chevrolet BrightDrop 400/600 FWD |- | 7 ||XRJ|| 2 || EWU || 14 || Electricity || All || '26 Chevrolet BrightDrop 600 AWD |} SB=Standard Range, SC=Extended Range, SD=Max Range ====Engine codes for medium duty trucks 2016-==== GM encodes the engine type in character 8 of the VIN. The following table outlines the various engines encoded there: {| class="wikitable" |- ! VIN !! RPO !! Size !! Type !! Fuel !! Valvetrain !! Engine Family/Notes/Applications |- | B ||L96|| 6.0L || V8 || Gas ||OHV||SFI. Gen IV Chevrolet Small-Block V8. Iron Block & Aluminum Heads. VVT.<br /> '16-'20 Chevy LCF 3500/4500. |- | C ||LC8|| 6.0L || V8 || Gas/CNG or<br>Gas/LPG ||OHV||Bi-Fuel. SFI. Gen IV Chevrolet Small-Block V8. Iron Block & Aluminum Heads. VVT.<br /> '16-'20 Chevy LCF 3500/4500. |- | D ||L8T|| 6.6L || V8 || Gas ||OHV||Gen V Chevrolet Small-Block V8. Iron Block/Aluminum Heads. Direct injection, VVT.<br /> '21-'23 Chevy LCF 3500/4500, '24- Chevy LCF 3500HG/4500HG/5500HG/5500XG. |- | F ||LCB|| 6.7L || I6 Turbo || Diesel ||OHV,<br /> 32 valve||Cummins B Series ISB engine. '22- Chevy LCF 6500XD, '23- Chevy LCF 7500XD. |- | 6 ||I1B|| 5.2L || I4 Turbo || Diesel ||SOHC,<br /> 16 valve||Isuzu 4HK1-TC engine. '17- Chevy LCF 4500HD/XD, 5500XD, '17-'24 Chevy LCF 5500HD,<br /> '18-'21 Chevy LCF 6500XD. |- | 7 ||IZ3|| 3.0L || I4 Turbo || Diesel ||DOHC,<br /> 16 valve||Isuzu 4JJ1-TC engine. '16-'18 Chevy LCF 3500HD. |- |} ====Engine codes for AM General-built Hummer H1 2000-2006==== AM General encodes the engine type in character 4 of the VIN. {| class="wikitable" |- ! VIN !! RPO !! Size !! Type !! Fuel !! Valvetrain !! Engine Family/Notes |- | F || || 6.5L || V8 Turbo || Diesel ||OHV||Detroit Diesel V8 built by GEP (General Engine Products), a subsidiary of AM General.<br> '01-'04 Hummer H1 & '06 H1 Fleet models. |- | P ||LLY|| 6.6L || V8 Turbo || Diesel ||OHV,<br /> 32 valve||Duramax 6600 V8 engine. '06 Hummer H1 Alpha. |- | Z ||L65|| 6.5L || V8 Turbo || Diesel ||OHV||Detroit Diesel V8 built by GM. '00-'01 Hummer H1. |- |} ====Engine codes for Nissan-built vans==== Nissan encodes the engine type in character 4 of the VIN. {| class="wikitable" |- ! VIN !! RPO !! Size !! Type !! Fuel !! Valvetrain !! Engine Family/Notes |- | 3 ||L0A|| 2.0L || I4 || Gas ||DOHC,<br /> 16 valve||Nissan MR20DE engine. SFI. VVT. For the '15-'18 Chevrolet City Express. |- |} ====Engine codes for Navistar-built medium-duty trucks==== Navistar encodes the engine type in character 6 & 7 of the VIN. {| class="wikitable" |- ! VIN !! RPO !! Size !! Type !! Fuel !! Valvetrain !! Engine Family/Notes |- | PV ||L5D|| 6.6L || V8 Turbo || Diesel ||OHV,<br /> 32 valve||Duramax 6600 V8 engine. For the Chevy Silverado Medium Duty '19+. |- |} ==GM factories supplying North America== ===North American GM factories=== [[w:List_of_General_Motors_factories | List of GM Factories]] {| class="wikitable" !VIN code !Location !Notes |- |A |Lakewood Assembly (Lakewood Heights, Atlanta, Georgia) |through 1990 model year |- |A |Artisan Center (Warren, Michigan) |From 2026 model year. Cadillac CT5-V Blackwing "Curated by Cadillac" program only. |- |B |Baltimore Assembly (Baltimore, Maryland) |through 2005 model year |- |B |Reatta Craft Centre/Lansing Craft Centre (Lansing Township, Michigan) |1988-2006 model year (except GM EV1) |- |B |GM Defense-Manufacturing Customer Innovation Center (MCIC) (Concord, North Carolina) |From 2024 model year. Chevrolet Suburban HD (a.k.a. HD SUV) (for US govt. only). |- |C |South Gate Assembly (South Gate, California) |through 1982 model year |- |C |Lansing Car Assembly (Lansing, Michigan) |South assembly line 1985-2004 model year |- |D |Doraville Assembly (Doraville, Georgia) |through 2009 model year |- |E |Linden Assembly (Linden, New Jersey) |through 1991 model year |- |E |Pontiac East Assembly (Pontiac, Michigan) |1988-2009 model year |- |E |AM General Military plant (Mishawaka, Indiana) |1992-2006 Hummer H1 |- |F |Flint Truck Assembly (Flint, Michigan) |since 1953 |- |F |Fairfax II Assembly (Kansas City, Kansas) |since 1988 model year |- |G |Framingham Assembly (Framingham, Massachusetts) |through 1989 model year |- |G |Silao Assembly (Silao, Guanajuato, Mexico) |since 1995 model year |- |H |Buick City Assembly (Flint, Michigan) |through 1999 model year |- |H |AM General Commercial plant (Mishawaka, Indiana) |2003-2009 Hummer H2 |- |H |Navistar Springfield plant (Main Line) (Springfield, Ohio) |2019- Chevrolet Silverado Medium Duty (4500HD/5500HD/6500HD) |- |J |Janesville Assembly (Janesville, Wisconsin) |through 2009 model year |- |J |Lansing Delta Township Assembly (Lansing, Michigan) |since 2007 model year |- |K |Leeds Assembly (Leeds, Kansas City, Missouri) |through 1988 model year |- |K |Linden Assembly (Linden, New Jersey) |from 1994-2005 model year |- |K |Nissan plant (Cuernavaca, Morelos, Mexico) |2015-2018 Chevrolet City Express |- |L |Van Nuys Assembly (Van Nuys, California) |through 1992 model year |- |L |San Luis Potosí Assembly (San Luis Potosí, Mexico) |since 2009 model year |- |M |Lansing Car Assembly (Lansing, Michigan) |through 1984 model year, North assembly line 1985-2005 model year |- |M |Toluca Assembly (Toluca, Mexico state, Mexico) |through 2008 model year |- |N |Norwood Assembly (Norwood, Ohio) |through 1987 model year |- |N |Navistar Springfield plant (Secondary Line) (Springfield, Ohio) |2017- Chevrolet Express cutaway, GMC Savana cutaway |- |P |Pontiac Assembly (Pontiac, Michigan) |through 1988 model year |- |R |Arlington Assembly (Arlington, Texas) |since 1965 [all GM brands]. (R plant code used only by Chevrolet in 1963-64) |- |S |St. Louis Assembly (St. Louis, Missouri) |through 1987 model year |- |S |Spring Hill Manufacturing (Spring Hill, Tennessee) |2002-2007 Saturn Vue & 2009-2010 Chevrolet Traverse only |- |S |Spartan Motors/Shyft Group plant (Charlotte, Michigan) |2016- Chevrolet Low Cab Forward 3500/3500HG/4500/4500HG/5500HG/5500XG/6500XD/7500XD |- |S |Ramos Arizpe Assembly (Ramos Arizpe, Coahuila, Mexico) |since 1982 |- |T |Tarrytown Assembly (North Tarrytown, New York) |through 1996 model year |- |U |Detroit/Hamtramck Assembly (Factory Zero) <br /> (Detroit & Hamtramck, Michigan) |since 1986 model year |- |U |Artisan Center (Warren, Michigan) |From 2025 model year. Cadillac Celestiq only. |- |V |Pontiac Central Assembly (Pontiac, Michigan) |through 1991 model year |- |V |Pontiac East Assembly (Pontiac, Michigan) |through 1985 model year |- |W |Willow Run Assembly (Ypsilanti Township, Michigan) |through 1993 model year |- |X |Fairfax Assembly (Fairfax I) (Kansas City, Kansas) |through 1987 model year |- |Y |Wilmington Assembly (Wilmington, Delaware) |through 2010 model year |- |Z |Fremont Assembly (Fremont, California) |through 1982 model year |- |Z |NUMMI (Fremont, California) |1985-2010 model year |- |Z |Spring Hill Manufacturing (Spring Hill, Tennessee) |since 1991 model year (except Vue & Traverse) |- |Z |Fort Wayne Assembly (Roanoke, Indiana) |since 1988 model year |- |0 |Pontiac West Assembly (Pontiac, Michigan) |through 1994 model year |- |0 |Lansing Craft Centre (Lansing Township, Michigan) |GM EV1 only |- |0 |Lansing Grand River Assembly (Lansing, Michigan) |since 2003 model year |- |0 |Artisan Center (Warren, Michigan) |2024 Cadillac CT5-V Blackwing 20th Anniversary Edition where the final eight digits of the VIN are R0912004 through R0912024 or R0962004 through R0962024 |- |1 |Wentzville Assembly (Wentzville, Missouri) |since 1985 model year |- |1 |Oshawa Car Assembly (Oshawa, Ontario, Canada) |from 1967-1983 model year |- |1 |Oshawa Car Assembly (Line 2 a.k.a. Consolidated Line) (Oshawa, Ontario, Canada) |from 1984-2019 model year; switched to pickup trucks for 2019 model year |- |1 |Oshawa Car Assembly (Oshawa, Ontario, Canada) |Silverado pickup trucks since 2022 model year |- |1 |Oshawa Truck Assembly (Oshawa, Ontario, Canada) |through 2009 model year |- |2 |Moraine Assembly (Moraine, Ohio) |through 2009 model year |- |2 |Sainte-Thérèse Assembly (Boisbriand, Quebec, Canada) |through 2002 model year |- |3 |Detroit Truck & Bus plant (Piquette Ave., Detroit, Michigan) |through 1999 model year |- |3 |Saint-Eustache Bus Plant (Saint-Eustache, Quebec, Canada) |through 1987 model year |- |4 |Orion Assembly (Orion Township, Michigan) |since 1985 model year |- |4 |Scarborough Van Assembly (Scarborough, Ontario, Canada) |through 1993 model year |- |5 |Bowling Green Assembly (Bowling Green, Kentucky) |since 1981 model year |- |6 |Oklahoma City Assembly (Oklahoma City, Oklahoma) |through 2006 model year |- |6 |CAMI plant (Ingersoll, Ontario, Canada) |1990-2022 model year |- |7 |Lordstown Assembly (Warren, Ohio) |from 1979-2019 model year |- |8 |Shreveport Assembly (Shreveport, Louisiana) |through 2012 model year |- |9 |Detroit Assembly (Clark Street, Detroit, Michigan)<br> (Cadillac plant) |from 1979-1988 model year |- |9 |Oshawa Car Assembly (Line 1 a.k.a. Flex Line)<br> (Oshawa, Ontario, Canada) |from 1984-2020 model year |- |9 |KUKA plant (Livonia, Michigan) |2022 model year only (BrightDrop Zevo 600) |- |9 |CAMI plant (Ingersoll, Ontario, Canada) |since 2023 model year (BrightDrop Zevo/Chevrolet BrightDrop) |} ===Non-North American GM factories supplying North America=== {| class="wikitable" !VIN code !Location !Models Sourced |- |A |SAIC-GM plant: Jinqiao, Pudong district, Shanghai, China |2017-2018 Cadillac CT6 Plug-in Hybrid |- |B |Daewoo/GM Daewoo/GM Korea plant: Bupyeong, South Korea |1988-1993 Pontiac LeMans, 2004-2011 Chevrolet Aveo, 2005-2010 Pontiac Wave/G3, 2004-2006 Chevrolet <br /> Epica (Canada), 2013-2022 Chevrolet Trax, Buick Encore, 2021- Chevrolet Trailblazer, 2020- Buick Encore GX, 2024- Buick Envista |- |C |GM Daewoo/GM Korea plant: Changwon, South Korea |2003-2010 Pontiac Matiz/Matiz G2 (Mexico), 2013-2022 Chevrolet Spark, 2024- Chevrolet Trax |- |D |SAIC-GM Dongyue Motors plant: Yantai, Shandong province, China |2016- Buick Envision, 2019-2023 Chevrolet Aveo (Mexico), 2023- Chevrolet Onix (Mexico) |- |G |Opel plant: Gliwice, Poland |2016-2019 Buick Cascada |- |K |Suzuki plant: Kosai, Shizuoka prefecture, Japan |1985-1988 Chevrolet Sprint, 1989-1990 Geo Metro hatchback, 1990-1993 Geo Metro convertible, 1985-1990 Pontiac Firefly (Canada), 1991 & 1994 Pontiac Firefly convertible & sedan (Canada) |- |K |GM Daewoo/GM Korea plant: Kunsan, South Korea |2004-2007 Chevrolet Optra (Canada), 2012-2014 Chevrolet Orlando (Canada) |- |L |Holden plant: Elizabeth, South Australia, Australia |2004-2006 Pontiac GTO, 2008-2009 Pontiac G8, 2011-2017 Chevrolet Caprice PPV, 2014-2017 Chevrolet SS |- |R |Opel plant: Rüsselsheim, Germany |1997-2001 Cadillac Catera |- |T |GM India plant: Talegaon, Maharashtra, India |2017-2021 Chevrolet Spark Classic/Beat (Mexico) |- |V |SAIC-GM Wuhan plant: Wuhan, Hubei province, China |2018-2021 Chevrolet Cavalier (Mexico), 2022- Chevrolet Cavalier Turbo (Mexico) |- |W |Suzuki plant: Iwata, Shizuoka prefecture, Japan |1989-1990 Geo Tracker |- |1 |Opel plant: Rüsselsheim, Germany |2011, 2018-2020 Buick Regal |- |3 |Isuzu plant: Kawasaki, Kanagawa prefecture, Japan |1987-1998 Chevrolet/GMC W5, 1989-1996 Chevrolet/GMC W6, 1984-1996 Chevrolet/GMC W7 |- |5 |Opel plant: Antwerp, Belgium |2008-2009 Saturn Astra |- |7 |Isuzu plant: Fujisawa, Kanagawa prefecture, Japan |1988 Chevrolet Spectrum, 1988 Pontiac Sunburst (Canada), 1989 Geo Spectrum, 1990-1993 Geo Storm,<br /> 1999-2008 Chevrolet/GMC W3500, 1988-2009 Chevrolet/GMC W4, 1999-2009 Chevrolet/GMC W5,<br /> 2000-2004 Chevrolet/GMC WT5500,<br /> 2016- Chevrolet Low Cab Forward 3500HD/4500HD/4500XD/5500HD/5500XD |- |8 |Isuzu plant: Fujisawa, Kanagawa prefecture, Japan |1981-1982 Chevrolet LUV, 1985-1987 Chevrolet Spectrum, 1985-1987 Pontiac Sunburst (Canada),<br /> 1986-1987 Chevrolet/GMC W4 |} ==GM WMIs== {| class=wikitable !WMI !Marque !Country |- |1G1||rowspan=57|Chevrolet||United States |- |1G8||United States (MPV 1981-1986) |- |1GA||United States (bus [van with more than 3 rows of seats]) |- |1GB||United States (incomplete vehicle) |- |1GC||United States (truck) |- |1GN||United States (MPV 1987-) |- |1HA||United States (Express incomplete vehicle made by Navistar) |- |1HT||United States ([[w:Chevrolet Silverado#Medium duty version_(4500HD,_5500HD,_6500HD,_and_International_CV)|Silverado Medium Duty]] incomplete vehicle made by Navistar) |- |1Y1||United States (made by NUMMI) |- |2C1||Canada (car made by CAMI) |- |2CN||Canada (SUV made by CAMI - 1998-2011) |- |2G1||Canada |- |2G5||Canada (truck - Chevrolet BrightDrop '25) |- |2G8||Canada (MPV 1981-1986) |- |2GA||Canada (bus [van with more than 3 rows of seats]) |- |2GB||Canada (incomplete vehicle) |- |2GC||Canada (truck - includes Chevrolet BrightDrop '26) |- |2GN||Canada (MPV 1987-) |- |3G1||Mexico |- |3GC||Mexico (truck) |- |3GN||Mexico (MPV) |- |3N6||Mexico (Truck - City Express made by Nissan) |- |4G1||United States (made by Genasys L.C.) |- |4KB||United States (W-Series incomplete vehicle made by GM - through 2009) |- |4W1||United States (MPV - Chevrolet Suburban HD made for US govt. in Concord, NC) |- |54D||United States (incomplete vehicle made by Spartan Motors/The Shyft Group) |- |6G1||Australia (2011-2013 Caprice PPV) |- |6G3||Australia (2014-2017 Caprice PPV & SS performance sedan) |- |ADM||South Africa |- |J81||Japan (car made by Isuzu) |- |J8B||Japan (incomplete vehicle made by Isuzu - through 2009) |- |J8Z||Japan (LUV pickup made by Isuzu) |- |JAL||Japan (incomplete vehicle made by Isuzu - 2016+) |- |JG1||Japan (car made by Suzuki) |- |KL1||South Korea (car) |- |KL7||South Korea (MPV - 2012+) |- |KL8||South Korea (Spark) |- |LSF||China (S-10 Max made by SAIC-Maxus - Mexico only) |- |LSG||China (SAIC-GM) |- |LSH||China (Express Max made by SAIC-Maxus - Mexico only) |- |LZW||China (SAIC-GM-Wuling) |- |MA6||India |- |MJB||Indonesia (GM Indonesia) |- |MK3||Indonesia (SGMW Motor Indonesia) |- |MMM||Thailand |- |XUF||Russia (GM Russia - St. Petersburg plant) |- |XUU||Russia (Chevrolet Korea models made by Avtotor in Kaliningrad) |- |XWB||Uzbekistan (GM Uzbekistan, UzAuto Motors) |- |XWF||Russia (Chevrolet Tahoe & Trailblazer [GMT360] made by Avtotor in Kaliningrad) |- |X9L||Russia (GM-AvtoVAZ) |- |8AG||Argentina |- |8GG||Chile |- |8LD||Ecuador |- |8Z1||Venezuela |- |9BG||Brazil |- |93C||Brazil |- |9GC||Colombia |- |J81||rowspan=6|Geo||Japan (car made by Isuzu) |- |JG1||Japan (car made by Suzuki) |- |JGC||Japan (SUV made by Suzuki) |- |1Y1||United States (car made by NUMMI) |- |2C1||Canada (car made by CAMI) |- |2CN||Canada (SUV made by CAMI - 1990-1997) |- |KLA||rowspan=3|GM Daewoo/<br />GM Korea||South Korea (Bupyeong & Kunsan plants) |- |KLY||South Korea (Changwon plant) |- |5GD||United States (G2X) |- |1G2||rowspan=12|Pontiac||United States |- |1G5||United States (incomplete vehicle - for '89-'90 Turbo Grand Prix by ASC/McLaren) |- |1GM||United States (MPV) |- |2CK||Canada (2006-2009 Torrent made by CAMI) |- |2G2||Canada |- |2G7||Canada (US market 1983 Pontiac Parisienne) |- |3G2||Mexico |- |3G7||Mexico (MPV: 2001-2005 Aztek) |- |4G2||United States (made by Genasys L.C.) |- |5Y2||United States (made by NUMMI) |- |6G2||Australia |- |KL2||South Korea (made by Daewoo/GM Daewoo) |- |1G7||rowspan=6|Pontiac<br />(Canada only)||United States |- |2C7||Canada (car made by CAMI) |- |2CG||Canada (SUV made by CAMI) |- |2G7||Canada |- |J87||Japan (car made by Isuzu) |- |JG7||Japan (car made by Suzuki) |- |KL7||Passport<br />(Canada only)||South Korea (car made by Daewoo) |- |J87||rowspan=3|Asüna<br />(Canada only)||Japan (car made by Isuzu) |- |KL7||South Korea (car made by Daewoo) |- |2CG||Canada (SUV made by CAMI) |- |1G3||rowspan=3|Oldsmobile||United States |- |1GH||United States (MPV/SUV) |- |2G3||Canada |- |1G4||rowspan=9|Buick||United States |- |2G4||Canada |- |3G4||Mexico |- |3G5||Mexico (MPV) |- |4GL||United States (incomplete vehicle) |- |5GA||United States (MPV) |- |KL4||South Korea (MPV) |- |LRB||China (SAIC-GM) |- |W04||Germany & Poland |- |KLA||Alpheon||South Korea (2011-2015) |- |1G6||rowspan=10|Cadillac||United States |- |1GE||United States (incomplete vehicle) |- |1GY||United States (SUV) |- |2G6||Canada |- |2GE||Canada (incomplete vehicle) |- |3GY||Mexico (SUV) |- |LRE||China (SAIC-GM) |- |W06||Germany |- |XWF||Russia (made by Avtotor in Kaliningrad) |- |YSC||Sweden |- |1G8||rowspan=4|Saturn||United States |- |3GS||Mexico (SUV) |- |5GZ||United States (MPV/SUV) |- |W08||Belgium |- |1G0||rowspan=22|GMC||United States (bus 1981-1986) |- |1G5||United States (MPV 1981-1986) |- |1GD||United States (incomplete vehicle) |- |1GJ||United States (bus 1987-) |- |1GK||United States (MPV 1987-) |- |1GT||United States (truck) |- |2CK||Canada (1990-1991 Tracker made by CAMI - Canada only) |- |2CT||Canada (2010-2011 Terrain made by CAMI) |- |2G0||Canada (bus [van with more than 3 rows of seats] 1981-1986) |- |2G5||Canada (MPV 1981-1986) |- |2GD||Canada (incomplete vehicle) |- |2GH||Canada (transit bus) |- |2GJ||Canada (bus [van with more than 3 rows of seats] 1987-) |- |2GK||Canada (MPV 1987-) |- |2GT||Canada (truck) |- |3GK||Mexico (SUV) |- |3GT||Mexico (truck) |- |4KD||United States (W-Series incomplete vehicle made by GM - through 2009) |- |7GZ||United States (incomplete vehicle made by Navistar) |- |J8D||Japan (incomplete vehicle made by Isuzu - through 2009) |- |JGT||Japan (SUV made by Suzuki - Canada only) |- |KL6||South Korea (Middle East market Terrain '08-'10) |- |4GD||WhiteGMC||United States (1988-1989 Brigadier made by GM) |- |137||rowspan=6|Hummer||United States (H1 made by AM General) |- |5GN||United States (H3T) |- |5GR||United States (H2 made by AM General) |- |5GT||United States (H3) |- |ADM||South Africa (H3) |- |XWF||Russia (H2 & H3 made by Avtotor in Kaliningrad) |- |4G5||General Motors||United States (EV1) |- |2G5||rowspan=2|BrightDrop||Canada (Truck 2023-2024) |- |5G5||United States (Truck made by Kuka AG - 2022 only) |- |5G2||rowspan=2|Cruise||United States (car) (Cruise AV) |- |5G3||United States (MPV) (Cruise Origin AV) |- |YS3||rowspan=4|Saab||Sweden |- |JF4||Japan (9-2X made by Subaru) |- |3G0||Mexico (9-4X) |- |5S3||United States (9-7X) |- |W0L||rowspan=19|Opel/Vauxhall||Germany & the rest of Europe (2017 and earlier) |- |W0V||Germany & the rest of Europe (2018 and later) & Opel Ampera-e Mid-2017 - 2019 |- |W0L||when plant code is H: Thailand (Zafira A) |- |W0L||when plant code is 0: South Korea (Antara) or B: South Korea (Antara, Mokka A, Mokka X [A]) |- |W0L||when plant code is C: South Korea (Opel Karl/Vauxhall Viva) |- |W0V||when plant code is B: South Korea (Mokka X [A]) or C: South Korea (Opel Karl/Vauxhall Viva) |- |SCC||UK (Opel Lotus Omega made by Lotus) |- |SED||UK (made by IBC Vehicles) |- |TW8||Portugal |- |VF1||France (Arena made by Renault) |- |VN1||France (Movano A made by Renault at SOVAB plant in Batilly, France) |- |VSX||Spain |- |XUF||Russia (Opel made by GM Russia - St. Petersburg plant) |- |XWF||Russia (Opel made by Avtotor in Kaliningrad) |- |1G0||United States (Opel GT, Opel/Vauxhall Ampera, Opel Ampera-e Early - Mid-2017) |- |4GD||United States (Sintra) |- |ADM||South Africa |- |JAA||Japan (Opel Campo made by Isuzu) |- |JAC||Japan (Monterey made by Isuzu) |- |SKA||rowspan=4|Vauxhall Motors||UK |- |SCC||UK (Vauxhall Lotus Carlton made by Lotus) |- |6G1||Australia (Vauxhall Monaro & VXR8 made by Holden) |- |JAA||Japan (Vauxhall Brava made by Isuzu) |- |SKF||rowspan=2|Bedford Vehicles||UK |- |JAA||Japan (Bedford Brava made by Isuzu) |- |6G1||rowspan=18|Holden||Australia (2003-2017) |- |6H8||Australia (1989-2002) |- |JAA||Japan (Rodeo pickup [TF] made by Isuzu) |- |JAC||Japan (Jackaroo/Monterey made by Isuzu) |- |JSA||Japan (YG Cruze made by Suzuki) |- |KL3||South Korea |- |MMM||Thailand ('09-'11 Colorado pickup [RC] made by GM Thailand) |- |MMU||Thailand ('13-'20 Colorado pickup [RG], '13-'16 Colorado 7, '17-'20 Trailblazer made by GM Thailand) |- |MPA||Thailand ('04-'08 Rodeo pickup [RA] made by Isuzu Thailand) |- |SED||UK (1st gen. Frontera made by IBC Vehicles) |- |W0L||Germany & the rest of Europe (2017 and earlier) |- |W0L||when plant code is H: Thailand (Zafira A) |- |W0V||Germany & the rest of Europe (2018-2020) |- |1GH||United States (Acadia) |- |3G0||Mexico (Equinox) |- |3GM||Mexico (Suburban) |- |4S2||United States (2nd gen. Frontera made by [[w:Subaru Isuzu Automotive|SIA]]) |- |5G8||United States (Volt) |- |1GG||rowspan=4|Isuzu||United States (Truck - Hombre & i-Series made by GM) |- |4GT||United States (H-Series & T-Series incomplete vehicle made by GM - through 2009) |- |4KL||United States (N-Series incomplete vehicle made by GM - through 2009) |- |4NU||United States (MPV/SUV - Ascender made by GM) |- |W0L||Subaru||Thailand [plant code H] (Traviq made by GM Thailand for export to Japan) |- |4G3||Toyota||United States (Cavalier made by GM for export to Japan) |- |3GP||Honda||Mexico (MPV/SUV: 2024- Prologue made by GM) |- |4W5||Acura||United States (MPV/SUV: 2024 ZDX EV made by GM) |} {{BookCat}} 0hvuxv6ly7x3a9nheps5csqu2rwhz91 4654488 4654487 2026-07-14T21:02:55Z JustTheFacts33 3434282 /* Body style codes 1981-2009 Light Duty Truck & Multi-Purpose Passenger Vehicle */ 4654488 wikitext text/x-wiki {{Vehicle Identification Numbers (VIN codes)/Warning}}{{clear}} It is the tenth digit that gives you the model year for GM. I've been working at a Chevy dealer for years running codes/vins. For example (my examples only apply to 2001-2015 gm vehicles) Remember 10th digit from the beginning, (left to right). 2001... 1, 2002...2, 2003...3, etc., 2009...9. After 2009, the tenth digit was given a letter 2010... A, 2011...B, 2012...C, 2013...D, 2014...E, 2015...F, Etc... We have another 20 years worth of letters. Thanks for reading. You can always check your model year by looking in your drivers side door jamb and it will give you model year. If it was assembled in July or later, the model year is probably a year later than the calendar year of the manufacturing date listed. ==American GM== ===American VIN format 1981-1984 Passenger Car=== GM's VIN format is as follows: <table border=1 style="margin:auto;"> <tr> <th>Position</th> <th>Sample</th><th></th><th></th><th>Description</th> </tr><tr> <td>1</td> <td>1</td><td></td><td></td><td rowspan=3>[[#GM WMIs|World Manufacturer Identifier]]</td> </tr><tr> <td>2</td> <td>G</td><td></td><td></td></tr><tr> <td>3</td> <td>6</td><td></td><td></td></tr><tr> <td>4</td> <td>A</td><td></td><td></td><td>[[#American restraint types 1981-1984|Restraint type]]</td> </tr><tr> <td>5</td> <td>M</td><td></td><td></td><td>[[#Car Line & Series Code 1981-1984|Car Line & Series Code]]</td> </tr><tr> <td>6</td> <td>4</td><td></td><td></td><td rowspan=2>[[#Body style codes 1981-1986|Body style]]</td> </tr><tr> <td>7</td> <td>7</td><td></td><td></td><td> </td> </tr><tr> <td>8</td> <td>8</td><td></td><td></td><td>[[#American engine codes 1981-|Engine type]]</td> </tr><tr> <td>9</td> <td>0</td><td></td><td></td><td>[[Vehicle Identification Numbers (VIN codes)/Check digit |Check digit]]</td> </tr><tr> <td>10</td> <td>E</td><td></td><td></td><td>[[Vehicle Identification Numbers (VIN codes)/Model year|Model year]]</td> </tr><tr> <td>11</td> <td>9</td><td></td><td></td><td>[[#GM factories supplying North America|Factory ID]]</td> </tr><tr> <td>12</td> <td>1</td><td></td><td></td><td rowspan=6>Sequential number </tr><tr> <td>13</td> <td>2</td><td></td><td></td></tr><tr> <td>14</td> <td>3</td><td></td><td></td></tr><tr> <td>15</td> <td>7</td><td></td><td></td></tr><tr> <td>16</td> <td>6</td><td></td><td></td></tr><tr> <td>17</td> <td>2</td><td></td><td></td> </table> ====American restraint types 1981-1984==== The restraint type is specified as character four of the American GM VIN for passenger cars. {| border=1 style="margin:auto;" !VIN Code !Description |- |A||Manual Seatbelts only - No Passive Restraint |} ====Car Line & Series Code 1981-1984==== The Car Line & Series Code is specified as character five of the American GM VIN for passenger cars. {| border=1 style="margin:auto;" !List of GM platforms !Car Line & <br> Series Code !:Category:General Motors vehicles|Model |- |rowspan=19|GM A platform - rear-wheel drive |T||Chevrolet Malibu 1981 |- |W||Chevrolet Malibu Classic 1981 |- |Z||Chevrolet Monte Carlo 1981 |- |D||Pontiac LeMans 1981 |- |F||Pontiac Grand LeMans 1981 |- |J||Pontiac Grand Prix 1981 |- |K||Pontiac Grand Prix LJ 1981 |- |P||Pontiac Grand Prix Brougham 1981 |- |G||Oldsmobile Cutlass sedan, Cutlass Cruiser wagon 1981 |- |H||Oldsmobile Cutlass Cruiser ''Brougham'' wagon 1981 |- |K||Oldsmobile Cutlass Calais coupe 1981 |- |M||Oldsmobile Cutlass Supreme ''Brougham'' 1981 |- |R||Oldsmobile Cutlass Supreme coupe, Cutlass LS sedan 1981 |- |E||Buick Century wagon 1981 |- |H||Buick Century sedan, Estate wagon 1981 |- |J||Buick Regal 1981 |- |K||Buick Regal ''Sport'' 1981 |- |L||Buick Century ''Limited'' 1981 |- |M||Buick Regal ''Limited'' 1981 |- |rowspan=10|GM A platform - front-wheel drive |W||Chevrolet Celebrity 1982-1984 |- |F||Pontiac 6000 1982-1984 |- |G||Pontiac 6000 ''LE'' 1982-1984 |- |H||Pontiac 6000 ''STE'' 1983-1984 |- |G||Oldsmobile Cutlass Ciera 1982 |- |J||Oldsmobile Cutlass Ciera ''LS'' 1982-1984, Cutlass Cruiser ''LS'' 1984 |- |M||Oldsmobile Cutlass Ciera ''Brougham'' 1982-1984 |- |G||Buick Century ''T-Type'' 1983-1984 |- |H||Buick Century ''Custom'' 1982-1984 |- |L||Buick Century ''Limited'' 1982-1984 |- |rowspan=19|GM B platform |D||Chevrolet Bel Air 1981 (Canada only) |- |L||Chevrolet Impala 1981-1984 |- |N||Chevrolet Caprice Classic 1981-1984 |- |F||Pontiac Laurentian 1981 (Canada only) |- |L||Pontiac Catalina 1981, Parisienne 1984 |- |L||Pontiac Parisienne 1982-1983 (Canada only) |- |N||Pontiac Bonneville 1981 |- |N||Pontiac Parisienne 1981, Parisienne Brougham 1982-1983 (Canada only) |- |R||Pontiac Bonneville Brougham 1981 |- |T||Pontiac Parisienne Brougham 1984 |- |L||Oldsmobile Delta 88 1981-1983 |- |N||Oldsmobile Delta 88 Royale 1981-1984 |- |P||Oldsmobile Custom Cruiser 1981-1984 |- |V||Oldsmobile Delta 88 Royale Brougham LS 1984 |- |Y||Oldsmobile Delta 88 Royale Brougham 1981-1984 |- |N||Buick Le Sabre 1981, Le Sabre ''Custom'' 1982-1984 |- |P||Buick Le Sabre ''Limited'' 1981-1984 |- |R||Buick Le Sabre Estate Wagon 1981-1983 |- |V||Buick Electra Estate Wagon 1981-1984 |- |rowspan=13|GM C platform - rear-wheel drive |G||Oldsmobile 98 Regency 1984 |- |H||Oldsmobile 98 Regency Brougham 1984 |- |V||Oldsmobile 98 Luxury 1981 |- |W||Oldsmobile 98 Regency Brougham 1982-1983 |- |X||Oldsmobile 98 Regency 1981-1983 |- |R||Buick Electra Limited 1984 |- |U||Buick Electra Park Avenue 1984 |- |W||Buick Electra Park Avenue 1981-1983 |- |X||Buick Electra Limited 1981-1983 |- |B||Cadillac Fleetwood Brougham 1981-1983 |- |D||Cadillac DeVille 1981-1983 |- |M||Cadillac DeVille 1984 |- |W||Cadillac Fleetwood Brougham 1984 |- |rowspan=1|GM D platform - rear-wheel drive |F||Cadillac Fleetwood Limousine 1981-1984 |- |rowspan=4|GM E platform |Z||Oldsmobile Toronado Brougham 1981-1984 |- |Y||Buick Riviera T-Type 1981-1984 |- |Z||Buick Riviera 1981-1984 |- |L||Cadillac Eldorado 1981-1984 |- |rowspan=7|GM F platform |P||Chevrolet Camaro Sport Coupe 1981-1984 |- |S||Chevrolet Camaro Berlinetta 1981-1984 |- |S||Pontiac Firebird 1981-1984 |- |T||Pontiac Firebird ''Esprit'' 1981 |- |V||Pontiac Firebird ''Formula'' 1981 |- |W||Pontiac Firebird ''Trans Am'' 1981-1984 |- |X||Pontiac Firebird ''Trans Am'' Turbo Special Edition 1981, Firebird ''S/E'' 1982-1984 |- |rowspan=15|GM G platform - rear-wheel drive |W||Chevrolet Malibu Classic 1982, Malibu 1983 |- |Z||Chevrolet Monte Carlo 1982-1984 |- |J||Pontiac Grand Prix 1982-1984 |- |K||Pontiac Grand Prix LJ 1982-1983, Grand Prix LE 1984 |- |N||Pontiac Bonneville G 1982-1984 |- |P||Pontiac Grand Prix Brougham 1982-1984 |- |R||Pontiac Bonneville G Brougham 1982-1984 |- |S||Pontiac Bonneville G ''LE'' 1984 |- |H||Oldsmobile Cutlass Cruiser wagon 1982-1983 |- |K||Oldsmobile Cutlass Calais coupe 1982-1984 |- |M||Oldsmobile Cutlass Supreme ''Brougham'' 1982-1984 |- |R||Oldsmobile Cutlass Supreme coupe & sedan 1982-1984 |- |J||Buick Regal 1982-1984 |- |K||Buick Regal ''Sport'' 1982, Regal ''T-Type'' 1983-1984 |- |M||Buick Regal ''Limited'' 1982-1984 |- |rowspan=13|GM J platform |C||Chevrolet Cavalier 1983-1984 |- |D||Chevrolet Cavalier 2-d/4-d/wagon 1982, Cavalier CS 1983-1984 |- |E||Chevrolet Cavalier 3-door hatchback 1982, Cavalier CS 3-door hatchback 1983, Cavalier Type 10 2-d/3-d/Convertible 1984 |- |B||Pontiac J2000 1982, 2000 1983, 2000 Sunbird 1984 |- |C||Pontiac J2000 LE 1982, 2000 LE 1983, 2000 Sunbird LE Convertible 1983, 2000 Sunbird LE 1984 |- |D||Pontiac J2000 SE 1982, 2000 SE 1983, 2000 Sunbird SE 1984 |- |E||Pontiac J2000 S 1982 |- |C||Oldsmobile Firenza Base model 1982-1984, Firenza S 1982-1984 |- |D||Oldsmobile Firenza LX 1982-1984, Firenza SX 1982-1984 |- |E||Buick Skyhawk T-Type 1983-1984 |- |S||Buick Skyhawk Custom 1982-1984 |- |T||Buick Skyhawk Limited 1982-1984 |- |G||Cadillac Cimarron 1982-1984 |- |rowspan=1|GM K platform |S||Cadillac Seville 1981-1984 |- |rowspan=3|GM P platform ||E||Pontiac Fiero ''Coupe'' 1984 |- ||F||Pontiac Fiero ''SE'' 1984 |- ||M||Pontiac Fiero ''Sport coupe'' 1984 |- |rowspan=6|GM T platform - rear-wheel drive |B||Chevrolet Chevette 1981-1983, Chevette CS 1984 |- |J||Chevrolet Chevette Scooter 1981-1983, Chevette 1984 |- |B||Pontiac Acadian 1981-1984 (Canada only) |- |J||Pontiac Acadian S 1981-1982, Pontiac Acadian Scooter 1983-1984 (Canada only) |- |L||Pontiac T1000 1982, 1000 1983-1984 |- |M||Pontiac T1000 1981 |- |rowspan=10|GM X platform |H||Chevrolet Citation 2-door coupe 1982-1983, Citation II 2-door coupe 1984 |- |X||Chevrolet Citation hatchback 1981-1983, Citation II hatchback 1984 |- |T||Pontiac Phoenix SJ 1982-1983, Phoenix SE 1984 |- |Y||Pontiac Phoenix 1981-1984 |- |Z||Pontiac Phoenix LJ 1981-1983, Phoenix LE 1984 |- |B||Oldsmobile Omega 1981-1984 |- |E||Oldsmobile Omega Brougham 1981-1984 |- |B||Buick Skylark 1981-1982, Skylark Custom 1983-1984 |- |C||Buick Skylark Limited 1981-1984 |- |D||Buick Skylark Sport 1981-1982, Skylark T-Type 1983-1984 |- |rowspan=1|GM Y platform |Y||Chevrolet Corvette 1981-1982, 1984 |} ===American VIN format 1985-1986 Passenger Car=== GM has traditionally encoded the platform as the fourth character of the VIN. Other content includes an engine code and manufacturing plant. GM's VIN format is as follows: <table border=1 style="margin:auto;"> <tr> <th>Position</th> <th>Sample</th><th></th><th></th><th>Description</th> </tr><tr> <td>1</td> <td>1</td><td></td><td></td><td rowspan=3>[[#GM WMIs|World Manufacturer Identifier]]</td> </tr><tr> <td>2</td> <td>G</td><td></td><td></td></tr><tr> <td>3</td> <td>6</td><td></td><td></td></tr><tr> <td>4</td> <td>D</td><td></td><td></td><td>[[#Platform & Series Codes 1985- Passenger Car|Platform]]</td> </tr><tr> <td>5</td> <td>W</td><td></td><td></td><td>[[#Platform & Series Codes 1985- Passenger Car|Series Code]]</td> </tr><tr> <td>6</td> <td>6</td><td></td><td></td><td rowspan=2>[[#Body style codes 1981-1986|Body style]]</td> </tr><tr> <td>7</td> <td>9</td><td></td><td></td><td> </td> </tr><tr> <td>8</td> <td>Y</td><td></td><td></td><td>[[#American engine codes 1981-|Engine type]]</td> </tr><tr> <td>9</td> <td>0</td><td></td><td></td><td>[[Vehicle Identification Numbers (VIN codes)/Check digit |Check digit]]</td> </tr><tr> <td>10</td> <td>G</td><td></td><td></td><td>[[Vehicle Identification Numbers (VIN codes)/Model year|Model year]]</td> </tr><tr> <td>11</td> <td>9</td><td></td><td></td><td>[[#GM factories supplying North America|Factory ID]]</td> </tr><tr> <td>12</td> <td>1</td><td></td><td></td><td rowspan=6>Sequential number </tr><tr> <td>13</td> <td>2</td><td></td><td></td></tr><tr> <td>14</td> <td>3</td><td></td><td></td></tr><tr> <td>15</td> <td>7</td><td></td><td></td></tr><tr> <td>16</td> <td>6</td><td></td><td></td></tr><tr> <td>17</td> <td>2</td><td></td><td></td> </table> ====Body style codes 1981-1986==== The Body type is specified as characters six and seven of the American GM VIN for passenger cars from 1981-1986. {| border=1 style="margin:auto;" !VIN !Description |- |11,27,37,47,57,97||Two-Door Coupe/Sedan |- |07,08,77,87||Two-Door Hatchback |- |67||Two-Door Convertible |- |19,69||Four-Door Sedan |- |68||Four-Door Hatchback |- |23||Four-Door Limousine, 8-passenger ("Limousine") |- |33||Four-Door Limousine w/Center Partition, 7-passenger ("Formal Limousine") |- |35||Four-Door Station Wagon |} ===American VIN format 1987- Passenger Car=== GM has traditionally encoded the platform as the fourth character of the VIN. Other content includes an engine code and manufacturing plant. GM's VIN format is as follows: <table border=1 style="margin:auto;"> <tr> <th>Position</th> <th>Sample</th><th></th><th></th><th>Description</th> </tr><tr> <td>1</td> <td>1</td><td></td><td></td><td rowspan=3>[[#GM WMIs|World Manufacturer Identifier]]</td> </tr><tr> <td>2</td> <td>G</td><td></td><td></td></tr><tr> <td>3</td> <td>6</td><td></td><td></td></tr><tr> <td>4</td> <td>D</td><td></td><td></td><td>[[#Platform & Series Codes 1985- Passenger Car|Platform]]</td> </tr><tr> <td>5</td> <td>M</td><td></td><td></td><td>[[#Platform & Series Codes 1985- Passenger Car|Series Code]]</td> </tr><tr> <td>6</td> <td>5</td><td></td><td></td><td>[[#Body style codes 1987- Passenger Car|Body style]]</td> </tr><tr> <td>7</td> <td>7</td><td></td><td></td><td>[[#American restraint types 1987-|Restraint type]]</td> </tr><tr> <td>8</td> <td>N</td><td></td><td></td><td>[[#American engine codes 1981-|Engine type]]</td> </tr><tr> <td>9</td> <td>0</td><td></td><td></td><td>[[Vehicle Identification Numbers (VIN codes)/Check digit |Check digit]]</td> </tr><tr> <td>10</td> <td>3</td><td></td><td></td><td>[[Vehicle Identification Numbers (VIN codes)/Model year|Model year]]</td> </tr><tr> <td>11</td> <td>0</td><td></td><td></td><td>[[#GM factories supplying North America|Factory ID]]</td> </tr><tr> <td>12</td> <td>1</td><td></td><td></td><td rowspan=6>Sequential number </tr><tr> <td>13</td> <td>2</td><td></td><td></td></tr><tr> <td>14</td> <td>3</td><td></td><td></td></tr><tr> <td>15</td> <td>7</td><td></td><td></td></tr><tr> <td>16</td> <td>6</td><td></td><td></td></tr><tr> <td>17</td> <td>2</td><td></td><td></td> </table> ===American VIN format 1981-2009 Light Duty Truck & Multi-Purpose Passenger Vehicle=== GM's VIN format is as follows: <table border=1 style="margin:auto;"> <tr> <th>Position</th> <th>Sample</th><th></th><th></th><th>Description</th> </tr><tr> <td>1</td> <td>1</td><td></td><td></td><td rowspan=3>[[#GM WMIs|World Manufacturer Identifier]]</td> </tr><tr> <td>2</td> <td>G</td><td></td><td></td></tr><tr> <td>3</td> <td>K</td><td></td><td></td></tr><tr> <td>4</td> <td>E</td><td></td><td></td><td>[[#GVWR/Brake System 1981-2009 Light Duty Truck & Multi-Purpose Passenger Vehicle|GVWR/Brake System]]</td> </tr><tr> <td>5</td> <td>K</td><td></td><td></td><td>[[#Line & Chassis Type 1981-1999 Light Duty Truck & Multi-Purpose Passenger Vehicle|Line & Chassis Type for 1981-1999]]</td> </tr><tr> <td>5</td> <td>K</td><td></td><td></td><td>[[#Line & Chassis Type 2000-2009 Light Duty Truck & Multi-Purpose Passenger Vehicle|Line & Chassis Type for 2000-2009]]</td> </tr><tr> <td>6</td> <td>1</td><td></td><td></td><td>[[#Series 1981-1999 Light Duty Truck & Multi-Purpose Passenger Vehicle|Series]]</td> </tr><tr> <td>7</td> <td>8</td><td></td><td></td><td>[[#Body style codes 1981-2009 Light Duty Truck & Multi-Purpose Passenger Vehicle|Body type]]</td> </tr><tr> <td>8</td> <td>K</td><td></td><td></td><td>[[#Engine codes for light trucks|Engine type]]</td> </tr><tr> <td>9</td> <td>0</td><td></td><td></td><td>[[Vehicle Identification Numbers (VIN codes)/Check digit |Check digit]]</td> </tr><tr> <td>10</td> <td>N</td><td></td><td></td><td>[[Vehicle Identification Numbers (VIN codes)/Model year|Model year]]</td> </tr><tr> <td>11</td> <td>J</td><td></td><td></td><td>[[#GM factories supplying North America|Factory ID]]</td> </tr><tr> <td>12</td> <td>1</td><td></td><td></td><td rowspan=6>Sequential number </tr><tr> <td>13</td> <td>2</td><td></td><td></td></tr><tr> <td>14</td> <td>3</td><td></td><td></td></tr><tr> <td>15</td> <td>7</td><td></td><td></td></tr><tr> <td>16</td> <td>6</td><td></td><td></td></tr><tr> <td>17</td> <td>2</td><td></td><td></td> </table> ====GVWR/Brake System 1981-2009 Light Duty Truck & Multi-Purpose Passenger Vehicle==== The GVWR/Brake System is specified as character four of the American GM VIN for light trucks. {| border=1 style="margin:auto;" !VIN !GVWR Range in lbs. & Weight Class !Brake System |- |A||Class A: 0-3,000||Hydraulic |- |B||Class B: 3,001-4,000||Hydraulic |- |C||Class C: 4,001-5,000||Hydraulic |- |D||Class D: 5,001-6,000||Hydraulic |- |E||Class E: 6,001-7,000||Hydraulic |- |F||Class F: 7,001-8,000||Hydraulic |- |G||Class G: 8,001-9,000||Hydraulic |- |H||Class H: 9,001-10,000||Hydraulic |- |J||Class 3: 10,001-14,000||Hydraulic |- |K||Class 4: 14,001-16,000||Hydraulic |- |L||Class 5: 16,001-19,500||Hydraulic |} ====Line & Chassis Type 1981-1999 Light Duty Truck & Multi-Purpose Passenger Vehicle==== The Line & Chassis Type is specified as character five of the American GM VIN for light trucks. {| border=1 style="margin:auto;" !VIN !Description |- |B||Special Body Buick, Chevrolet |- |C||Chevy full-size pickups & chassis cabs 2wd (C-series) '81-'86, '88-'99,<br /> GMC full-size pickups & chassis cabs 2wd (C-series) '81-'86, Sierra 2wd (C-series) '88-'99 |- |C||Chevy C10 Blazer 2wd ('81-'82), Tahoe 4-door 2wd ('95-'99), Suburban 2wd ('81-'86, '92-'99),<br /> GMC C1500 Jimmy 2wd ('81-'82), Yukon 4-door 2wd ('95-'99), Suburban 2wd ('81-'86, '92-'99) |- |D||Military Truck 4wd |- |E||'91-'97 Geo Tracker 2wd, '98-'99 Chevrolet Tracker 2wd |- |E||'97-'98 Chevy S-10 EV |- |G||Chevy/GMC full-size vans (Chevy Van, Sportvan, Express, GMC Vandura, Rally Van, Savana) |- |H||'93-'96 Chevy G30HD/GMC G3500HD cutaway van |- |H||Cadillac chassis cutaway/special body (Based on Rwd Fleetwood '93-'96, Fwd DeVille '97-'99) |- |J||'89-'97 Geo Tracker 4wd, '98-'99 Chevrolet Tracker 4wd |- |K||Chevy full-size pickups & chassis cabs 4wd (K-series) '81-'86, '88-'99,<br /> GMC full-size pickups & chassis cabs 4wd (K-series) '81-'86, Sierra 4wd (K-series) '88-'99 |- |K||Chevy K10/K5 Blazer 4wd ('81-'86, '92-'94), Tahoe 4wd ('95-'99), Suburban 4wd ('81-'86, '92-'99),<br /> GMC K1500 Jimmy 4wd ('81-'86), Yukon 4wd ('92-'99), Suburban 4wd ('81-'86, '92-'99), '99 Cadillac Escalade 4wd |- |L||Chevy Luv 2wd '81-'82 |- |L||Chevy Astro/GMC Safari 4wd '90-'99 |- |M||Chevy Astro/GMC Safari 2wd '85-'99 |- |P||Forward Control (includes Chevrolet Step-Van/GMC Value-Van, Chevy/GMC P-Series) |- |R||Chevy Luv 4wd '81-'82 |- |R||Chevy full-size pickups & chassis cabs 2wd (R-series), Suburban 2wd '87-'91,<br /> GMC full-size pickups & chassis cabs 2wd (R-series), Suburban 2wd '87-'91 |- |S||Chevy S-10 2wd ('82-'99), S-10 Blazer 2wd ('83-'94), Blazer 2wd ('95-'99), GMC S-15 2wd ('82-'90), Sonoma 2wd ('91-'99),<br> S-15 Jimmy 2wd ('83-'91), Jimmy 2wd ('92-'99), Isuzu Hombre 2wd ('96-'99) |- |T||Chevy S-10 4wd ('83-'99), S-10 Blazer 4wd ('83-'94), Blazer 4wd ('95-'99), GMC S-15 4wd ('83-'90), Sonoma 4wd ('91-'99), Syclone 4wd ('91),<br> S-15 Jimmy 4wd ('83-'91), Jimmy 4wd ('92-'99), Typhoon 4wd ('92-93), Envoy 4wd ('98-'99), Oldsmobile Bravada 4wd ('91-'94, '96-'99),<br> Isuzu Hombre 4wd ('98-'99) |- |U||Regular length All-Purpose Vehicle ('90-'99 U-body fwd minivans) |- |V||Chevy full-size pickups & chassis cabs 4wd (V-series), V10/V1500 Blazer 4wd, Suburban 4wd '87-'91,<br /> GMC full-size pickups & chassis cabs 4wd (V-series), V1500 Jimmy 4wd, Suburban 4wd '87-'91 |- |W||'81-'87 Chevy El Camino, GMC Caballero |- |X||Extended length All-Purpose Vehicle ('97-'99 U-body fwd extended length minivans) |- |Z||Cadillac chassis cutaway/special body (Based on Rwd Fleetwood '81-'84, Fwd Fleetwood '85-'92) |} ====Line & Chassis Type 2000-2009 Light Duty Truck & Multi-Purpose Passenger Vehicle==== The Line & Chassis Type is specified as character five of the American GM VIN for light trucks. {| border=1 style="margin:auto;" !VIN !Description |- |A||Pontiac Aztek 2wd '01-'05, Buick Rendezvous 2wd '02-'07 |- |A||Chevrolet HHR '06-'09, HHR Panel '07-'09 |- |B||Pontiac Aztek Awd '01-'05, Buick Rendezvous Awd '02-'06 |- |C||Chevy full-size pickups & chassis cabs 2wd (C-series) '00, full-size chassis cabs 2wd (C3500HD) '01-'02, Silverado 2wd '00-'09, Silverado Classic 2wd '07,<br /> GMC Sierra 2wd (C-series) '00-'09, Sierra Classic 2wd '00, '07 |- |C||Chevy Tahoe 2wd ('00-'09), Suburban 2wd ('00-'09), Avalanche 2wd ('02-'09),<br /> GMC Yukon 2wd ('00-'09), Yukon XL 2wd ('00-'09), Cadillac Escalade 2wd ('02-'09), Escalade ESV 2wd ('08-'09) |- |E||Chevrolet Tracker 2wd '00-'04 |- |E||Cadillac SRX 2wd & Awd '04-'09 |- |G||Chevy/GMC full-size vans 2wd (Chevy Express, GMC Savana) '00-09 |- |H||Chevy/GMC full-size vans 4wd (Chevy Express, GMC Savana) '03-09 |- |H||Cadillac Commercial Chassis for Hearse (Based on Fwd DeVille '02-'05, DTS '06-'09) |- |H||Cadillac Professional Chassis for Limousine (Based on Fwd DeVille '00-'05, DTS '06-'07) |- |J||Chevrolet Tracker 4wd '00-'04 |- |K||Chevy full-size pickups & chassis cabs 4wd (K-series) '00, Silverado 4wd '00-'09, Silverado Classic 4wd '07,<br /> GMC Sierra 4wd (K-series) '00-'09, Sierra Classic 4wd '00, '07 |- |K||Chevy Tahoe 4wd ('00-'09), Suburban 4wd ('00-'09), Avalanche 4wd ('02-'09), GMC Yukon 4wd ('00-'09), Yukon XL 4wd ('00-'09),<br> Cadillac Escalade 4wd ('00, '02-'09), Escalade ESV 4wd ('03-'09), Escalade EXT 4wd ('02-'09) |- |K||Cadillac Professional Chassis for Limousine (Based on Fwd DTS '08-'09) |- |L||Chevy Astro/GMC Safari 4wd '00-'05 |- |L||Chevy Equinox 2wd & Awd '05-'09, Pontiac Torrent 2wd & Awd '06-'09, Saturn Vue 2wd & Awd '08-'09 |- |M||Chevy Astro/GMC Safari 2wd '00-'05 |- |N||Hummer H2 '03-'09, H2 SUT '05-'09 |- |N||Hummer H3 '06-'09, H3T '09 |- |R||GMC Acadia 2wd, Saturn Outlook 2wd '07-'09, Buick Enclave 2wd '08-'09, Chevy Traverse 2wd '09 |- |S||Chevy S-10 2wd ('00-'03), Blazer 2wd ('00-'05), GMC Sonoma 2wd ('00-'03), Jimmy 2wd ('00-'01), Isuzu Hombre 2wd ('00) |- |S||Chevy Trailblazer 2wd ('02-'09), SSR ('03-'06), GMC Envoy 2wd ('02-'09), Envoy XUV 2wd ('04-'05), Oldsmobile Bravada 2wd ('02-'04),<br> Buick Rainier 2wd ('04-'07), Isuzu Ascender 2wd ('03-'08) |- |S||Chevy Colorado 2wd ('04-'09), GMC Canyon 2wd ('04-'09), Isuzu i-series 2wd ('06-'08) |- |T||Chevy S-10 4wd ('00-'04), Blazer 4wd ('00-'05), GMC Sonoma 4wd ('00-'04), Jimmy 4wd ('00-'01, Canada only: '02-'05), Envoy 4wd ('00),<br> Oldsmobile Bravada 4wd ('00-'01), Isuzu Hombre 4wd ('00) |- |T||Chevy Trailblazer 4wd ('02-'09), GMC Envoy 4wd ('02-'09), Envoy XUV 2wd ('04-'05), Oldsmobile Bravada 4wd ('02-'04), Buick Rainier 4wd ('04-'07),<br> Isuzu Ascender 4wd ('03-'08), Saab 9-7X 4wd ('05-'09) |- |T||Chevy Colorado 4wd ('04-'09), GMC Canyon 4wd ('04-'09), Isuzu i-series 4wd ('06-'08) |- |U||Regular length All-Purpose Vehicle [Minivan] ('00-'04 Chevy Venture, Pontiac Montana) |- |U||Regular length All-Purpose Vehicle [Minivan] (Chevy Uplander [US: '06-'08, Canada only: '05-'09], Pontiac Montana SV6 [Canada only: '05-'09]) |- |V||Extended length AWD All-Purpose Vehicle [Minivan] ('02-'04 Chevy Venture, Pontiac Montana, Oldsmobile Silhouette Extended length AWD) |- |V||Extended length FWD All-Purpose Vehicle [Minivan] ('05 Chevy Venture, Pontiac Montana Extended length FWD) |- |V||Extended length FWD All-Purpose Vehicle [Minivan] (Chevy Uplander ['05-'08, Canada only: '09], Pontiac Montana SV6 ['05-'06, Canada only: '07-'09],<br> Buick Terraza ['05-'07], Saturn Relay ['05-'07]) |- |V||GMC Acadia Awd, Saturn Outlook Awd '07-'09, Buick Enclave Awd '08-'09, Chevy Traverse Awd '09 |- |X||Extended length FWD All-Purpose Vehicle [Minivan] ('00-'04 Chevy Venture, Pontiac Montana, Oldsmobile Silhouette Extended length FWD) |- |X||Extended length AWD All-Purpose Vehicle [Minivan] ('05-'06 Chevy Uplander AWD, Pontiac Montana SV6 AWD, Buick Terraza AWD, Saturn Relay AWD) |- |Z||Saturn Vue 2wd & Awd '02-'07 |} ====Series 1981-1999 Light Duty Truck & Multi-Purpose Passenger Vehicle==== The Series is specified as character six of the American GM VIN for light trucks. {| border=1 style="margin:auto;" !VIN !Description |- |1||1/2 Ton (includes '96-'99 Isuzu Hombre) |- |2||3/4 Ton |- |3||1 Ton |- |8||1/2 Ton ('81-'87 El Camino, Caballero) |- |9||Cadillac, Buick, Chevrolet Commercial Body/Chassis |- |0||All-Purpose Vehicle ('90-'99 U-body fwd minivans) |} ====Series 2000-2009 Light Duty Truck & Multi-Purpose Passenger Vehicle==== The Series is specified as character six of the American GM VIN for light trucks. {| border=1 style="margin:auto;" !VIN !Description |- |1 (following S)||Isuzu Hombre 2wd ('00), Isuzu i280 2wd ('06), Isuzu i290 2wd ('07-'08), Isuzu i370 2wd ('07-'08) |- |2 (following S)||Isuzu i290 2wd w/Preferred Equip. Pkg. ('08), Isuzu i370 2wd w/Comfort Pkg. or upgrade model ('08) |- |1 (following T)||Isuzu Hombre 4wd ('00), Isuzu i350 4wd ('06), Isuzu i370 4wd ('07-'08) |- |2 (following T)||Isuzu i370 4wd w/Comfort Pkg. ('08) |- |1 (following S)||Isuzu Ascender 2wd ('03-'08) |- |1 (following T)||Isuzu Ascender 4wd ('03-'08) |- |1 (following T)||Saab 9-7X ('05-'08: All, '09: 4.2i, 5.3i) |- |2 (following T)||Saab 9-7X Aero ('09) |} ====Body style codes 1981-2009 Light Duty Truck & Multi-Purpose Passenger Vehicle==== The Body type is specified as character seven of the American GM VIN for light trucks. {| border=1 style="margin:auto;" !VIN !Description |- |0||Sedan Pickup/Pickup Delivery ('81-'87 El Camino, Caballero) |- |0||Cadillac, Buick, Chevrolet Commercial Body/Chassis |- |0||Chassis Only |- |1||Cutaway Van |- |2||Forward Control ('81-'03) (includes '93-'95 Chevy G30HD/GMC G3500HD) |- |2||Sport Utility Truck (SUT) ('04-'09 Avalanche & Escalade EXT, '04-'05 Envoy XUV, '05-'09 Hummer H2 SUT) |- |3||Four-Door Cab pickup (Crew Cab) (includes '06-'08 Isuzu i-Series Crew Cab) |- |3||4-door Passenger Minivan ('97-'09 U-bodies) |- |3||4-door SUV or MPV ('06-'09 HHR) (also includes '02-'03 Avalanche & Escalade EXT) ('05-'09 Saab 9-7X) |- |4||Two-Door Cab pickup (includes '83-'87 S-10/S-15 extended cab pickups, '03-'06 Chevy SSR, '96-'00 Isuzu Hombre Reg. Cab) |- |5||Van (Astro/Safari & full-size vans & '07-'09 HHR Panel) |- |6||Extended length 4-door SUV (Suburban, Yukon XL, Escalade ESV, Trailblazer EXT, Envoy XL, Isuzu Ascender 7-psgr.) |- |6||3-door Passenger Minivan ('90-'99 U-bodies) |- |7||Motor Home Chassis ('81-'09) |- |8||Two-Door SUV (Utility) (2-d Tracker, S-10 Blazer, S-15 Jimmy, Blazer, Jimmy, Tahoe, Yukon) |- |9||Stake (81-87) |- |9||Extended Cab pickup ('88-) (includes '97-'00 Isuzu Hombre Spacecab, '06-'08 Isuzu i-Series Ext. Cab) |- |9||Extended length van ('90-) (Astro/Safari & full-size vans) |} ===American VIN format 2010- Light Duty Truck & Multi-Purpose Passenger Vehicle=== GM's VIN format is as follows: <table border=1 style="margin:auto;"> <tr> <th>Position</th> <th>Sample</th><th></th><th></th><th>Description</th> </tr><tr> <td>1</td> <td>1</td><td></td><td></td><td rowspan=3>[[#GM WMIs|World Manufacturer Identifier]]</td> </tr><tr> <td>2</td> <td>G</td><td></td><td></td></tr><tr> <td>3</td> <td>K</td><td></td><td></td></tr><tr> <td>4</td> <td>L</td><td></td><td></td><td>[[#GVWR/Brake System/Body Style 2010- Light Duty Truck & Multi-Purpose Passenger Vehicle|GVWR/Brake System/Body Style 2010-]]</td> </tr><tr> <td>5</td> <td>R</td><td></td><td></td><td>[[#Line & Chassis Type 2010- Light Duty Truck & Multi-Purpose Passenger Vehicle|Line & Chassis Type for 2010-]]</td> </tr><tr> <td>6</td> <td>L</td><td></td><td></td><td>[[#Series 2010- Light Duty Truck & Multi-Purpose Passenger Vehicle|Series 2010- Light Duty Truck & Multi-Purpose Passenger Vehicle]]</td> </tr><tr> <td>7</td> <td>E</td><td></td><td></td><td>[[#Restraint codes for light trucks 2010-|Restraint type]]</td> </tr><tr> <td>8</td> <td>D</td><td></td><td></td><td>[[#Engine codes for light trucks|Engine type]]</td> </tr><tr> <td>9</td> <td>0</td><td></td><td></td><td>[[Vehicle Identification Numbers (VIN codes)/Check digit |Check digit]]</td> </tr><tr> <td>10</td> <td>A</td><td></td><td></td><td>[[Vehicle Identification Numbers (VIN codes)/Model year|Model year]]</td> </tr><tr> <td>11</td> <td>J</td><td></td><td></td><td>[[#GM factories supplying North America|Factory ID]]</td> </tr><tr> <td>12</td> <td>1</td><td></td><td></td><td rowspan=6>Sequential number </tr><tr> <td>13</td> <td>2</td><td></td><td></td></tr><tr> <td>14</td> <td>3</td><td></td><td></td></tr><tr> <td>15</td> <td>7</td><td></td><td></td></tr><tr> <td>16</td> <td>6</td><td></td><td></td></tr><tr> <td>17</td> <td>2</td><td></td><td></td> </table> ====GVWR/Brake System/Body Style 2010- Light Duty Truck & Multi-Purpose Passenger Vehicle==== The GVWR/Brake System is specified as character four of the American GM VIN for light trucks. {| border=1 style="margin:auto;" !VIN !GVWR Range in lbs. & Weight Class !Brake System !Body Style |- | ||Class A: 0-3,000||Hydraulic|| |- | ||Class B: 3,001-4,000||Hydraulic|| |- |A||Class C: 4,001-5,000||Hydraulic||26: 4-door SUV or MPV ('10-'11 Chevy HHR Panel, '10-'26 Chevy Equinox, GMC Terrain, '10 Saturn Vue,<br> '12-'15 Chevy Captiva Sport, '19-'24 Cadillac XT4, '24-'26 Buick Encore GX) |- |B||Class C: 4,001-5,000||Hydraulic||46: 4-door MPV ('10-'11 Chevy HHR) |- |J||Class C: 4,001-5,000||Hydraulic||48: 4-door, 4 window Hatchback ('18-'23 Chevy Bolt EV w/Rear Seat Delete pkg. - incomplete vehicle) |- |C||Class C: 4,001-5,000||Hydraulic||03: Regular Cab pickup or Chassis Cab ('10-'12 Chevy Colorado, GMC Canyon) |- |D||Class C: 4,001-5,000||Hydraulic||43: Crew Cab pickup or Chassis Cab ('10-'12 Chevy Colorado, GMC Canyon) |- |E||Class C: 4,001-5,000||Hydraulic||53: Extended Cab pickup or Chassis Cab ('10-'12 Chevy Colorado, GMC Canyon) |- |7||Class C: 4,001-5,000||Hydraulic||75: Four-Door Wagon - High Roof Monocab (Canada only: '12-'14 Chevy Orlando) |- |M||Class C: 4,001-5,000||Hydraulic||06: 4-door SUV ('20-'23 Buick Encore GX) |- |9||Class C: 4,001-5,000||Hydraulic||56: 4-door SUV Extended ('21-'26 Chevy Trailblazer) |- |7||Class C: 4,001-5,000||Hydraulic||58: 4-door Utility Extended ('24-'26 Chevy Trax, Buick Envista) |- |C||Class C: 4,001-5,000||Hydraulic||76: 4-door SUV ('13-'22 Buick Encore, Canada only: '13-'14 Chevy Trax, US & Canada: '15-'22 Chevy Trax) |- |F||Class D: 5,001-6,000||Hydraulic||26: 4-door SUV ('10-'17 Chevy Equinox, GMC Terrain, '10 Saturn Vue, '10-'16 Cadillac SRX, '11 Saab 9-4X,<br> '12-'13 Chevy Captiva Sport, '16-'26 Buick Envision, '17 Cadillac XT5, '19-'25 Cadillac XT4) |- |H||Class D: 5,001-6,000||Hydraulic||03: Regular Cab pickup or Chassis Cab ('10 Chevy Colorado, GMC Canyon) |- |G||Class D: 5,001-6,000||Hydraulic||03: Regular Cab pickup or Chassis Cab ('11-'12 Chevy Colorado, GMC Canyon) |- |J||Class D: 5,001-6,000||Hydraulic||43: Crew Cab pickup or Chassis Cab ('10 Chevy Colorado, GMC Canyon) |- |H||Class D: 5,001-6,000||Hydraulic||43: Crew Cab pickup or Chassis Cab ('11-'12 Chevy Colorado, GMC Canyon) |- |G||Class D: 5,001-6,000||Hydraulic||43: Crew Cab pickup or Chassis Cab ('15-'24 Chevy Colorado, '15-'22 GMC Canyon) |- |K||Class D: 5,001-6,000||Hydraulic||53: Extended Cab pickup or Chassis Cab ('10 Chevy Colorado, GMC Canyon) |- |J||Class D: 5,001-6,000||Hydraulic||53: Extended Cab pickup or Chassis Cab ('11-'12 Chevy Colorado, GMC Canyon) |- |H||Class D: 5,001-6,000||Hydraulic||53: Extended Cab pickup or Chassis Cab ('15-'22 Chevy Colorado, GMC Canyon) |- |T||Class D: 5,001-6,000||Hydraulic||69: Commercial Chassis ('10 Cadillac DTS chassis for Limo/Hearse) |- |7||Class D: 5,001-6,000||Hydraulic||69: Commercial Chassis ('11 Cadillac DTS chassis for Limo/Hearse) |- |L||Class E: 6,001-7,000||Hydraulic||26: 4-door SUV ('10 Chevy Traverse, GMC Acadia, Buick Enclave, Saturn Outlook) |- |K||Class E: 6,001-7,000||Hydraulic||26: 4-door SUV ('11-'17 Chevy Traverse, Buick Enclave, '11-'23 GMC Acadia, '17 Acadia Limited,<br> '17-'26 Cadillac XT5, '19-'26 Chevy Blazer, '20-'25 Cadillac XT6, '23-'26 Cadillac Lyriq EV,<br> '24-'26 Chevy Blazer EV, '25-'26 Cadillac Optiq EV, '24-'26 Honda Prologue EV, '24 Acura ZDX EV A-Spec) |- |7||Class E: 6,001-7,000||Hydraulic||48: 4-door SUV ('24-'25 Chevy Equinox EV) |- |E||Class E: 6,001-7,000||Hydraulic||56: 4-door SUV Extended ('18-'26 Chevy Traverse, Buick Enclave, '24 Chevy Traverse Limited,<br> '24-'26 GMC Acadia |- |M||Class E: 6,001-7,000||Hydraulic||05: Cargo Van ('10 Chevy Express, GMC Savana) |- |L||Class E: 6,001-7,000||Hydraulic||05: Cargo Van ('11-'14 Chevy Express, GMC Savana) |- |M||Class E: 6,001-7,000||Hydraulic||06: 4-door SUV ('10 Chevy Tahoe, GMC Yukon, Hummer H3) |- |L||Class E: 6,001-7,000||Hydraulic||06: 4-door SUV ('11-'20 Chevy Tahoe Police Pursuit Vehicle 2wd) |- |N||Class E: 6,001-7,000||Hydraulic||36: Sport Utility Truck (SUT) ('10 Chevy Avalanche 2wd) |- |M||Class E: 6,001-7,000||Hydraulic||36: Sport Utility Truck (SUT) ('11-13 Chevy Avalanche 2wd) |- |P||Class E: 6,001-7,000||Hydraulic||03: Regular Cab pickup or Chassis Cab ('10 Chevy Silverado, GMC Sierra) |- |N||Class E: 6,001-7,000||Hydraulic||03: Regular Cab pickup or Chassis Cab ('11-'26 Chevy Silverado, GMC Sierra,<br> '22 Chevy Silverado LTD, GMC Sierra Limited) |- |R||Class E: 6,001-7,000||Hydraulic||43: Crew Cab pickup or Chassis Cab ('10 Chevy Silverado, GMC Sierra, Hummer H3T) |- |P||Class E: 6,001-7,000||Hydraulic||43: Crew Cab pickup or Chassis Cab ('11-'26 Chevy Silverado, GMC Sierra,<br> '22 Chevy Silverado LTD, GMC Sierra Limited, '16-'26 Chevy Colorado, GMC Canyon) |- |S||Class E: 6,001-7,000||Hydraulic||53: Extended Cab pickup or Chassis Cab ('10 Chevy Silverado, GMC Sierra) |- |R||Class E: 6,001-7,000||Hydraulic||53: Extended Cab pickup or Chassis Cab ('11-'26 Chevy Silverado, GMC Sierra,<br> '19 Chevy Silverado LD, GMC Sierra Limited, '22 Chevy Silverado LTD, GMC Sierra Limited,<br> '16-'22 Chevy Colorado) |- |G||Class E: 6,001-7,000||Hydraulic||69: Commercial Chassis ('10 Cadillac DTS chassis for Limo/Hearse) |- |8||Class E: 6,001-7,000||Hydraulic||69: Commercial Chassis ('11 Cadillac DTS chassis for Limo/Hearse) |- |X||Class E: 6,001-7,000||Hydraulic||69: Commercial Chassis ('13-'19 Cadillac XTS chassis for Limo/Hearse) |- |U||Class F: 7,001-8,000||Hydraulic||05: Cargo Van or Incomplete Vehicle ('10 Chevy Express, GMC Savana) |- |S||Class F: 7,001-8,000||Hydraulic||05: Cargo Van or Incomplete Vehicle ('11-'14 Chevy Express, GMC Savana) |- |U||Class F: 7,001-8,000||Hydraulic||06: Passenger Van ('10 Chevy Express, GMC Savana) |- |S||Class F: 7,001-8,000||Hydraulic||06: Passenger Van ('11-'14 Chevy Express, GMC Savana) |- |U||Class F: 7,001-8,000||Hydraulic||06: 4-door SUV ('10 Chevy Tahoe, Suburban 1500, GMC Yukon, Yukon XL 1500, Cadillac Escalade, Escalade ESV) |- |S||Class F: 7,001-8,000||Hydraulic||06: 4-door SUV ('11-'26 Chevy Tahoe, Suburban 1500, GMC Yukon, Yukon XL 1500, Cadillac Escalade, Escalade ESV) |- |V||Class F: 7,001-8,000||Hydraulic||36: Sport Utility Truck (SUT) ('10 Chevy Avalanche 4wd, Cadillac Escalade EXT 4wd) |- |T||Class F: 7,001-8,000||Hydraulic||36: Sport Utility Truck (SUT) ('11-'13 Chevy Avalanche 4wd, Cadillac Escalade EXT 4wd) |- |X||Class F: 7,001-8,000||Hydraulic||26: 4-door SUV ('24 Acura ZDX EV Type S) |- |C||Class F: 7,001-8,000||Hydraulic||56: 4-door SUV Extended ('26- Cadillac Vistiq EV) |- |W||Class F: 7,001-8,000||Hydraulic||03: Regular Cab pickup or Chassis Cab ('10 Chevy Silverado, GMC Sierra) |- |X||Class F: 7,001-8,000||Hydraulic||43: Crew Cab pickup or Chassis Cab ('10 Chevy Silverado, GMC Sierra) |- |U||Class F: 7,001-8,000||Hydraulic||43: Crew Cab pickup or Chassis Cab ('11-'26 Chevy Silverado, GMC Sierra,<br> '22 Chevy Silverado LTD, GMC Sierra Limited) |- |Y||Class F: 7,001-8,000||Hydraulic||53: Extended Cab pickup or Chassis Cab ('10 Chevy Silverado, GMC Sierra) |- |V||Class F: 7,001-8,000||Hydraulic||53: Extended Cab pickup or Chassis Cab ('11-'26 Chevy Silverado, GMC Sierra,<br> '19 Chevy Silverado LD, GMC Sierra Limited, '22 Chevy Silverado LTD, GMC Sierra Limited) |- |U||Class F: 7,001-8,000||Hydraulic||69: Commercial Chassis ('10 Cadillac DTS chassis for Limo/Hearse) |- |9||Class F: 7,001-8,000||Hydraulic||69: Commercial Chassis ('11 Cadillac DTS chassis for Limo/Hearse) |- |Z||Class G: 8,001-9,000||Hydraulic||05: Cargo Van or Incomplete Vehicle ('10 Chevy Express, GMC Savana) |- |W||Class G: 8,001-9,000||Hydraulic||05: Cargo Van or Incomplete Vehicle ('11-'26 Chevy Express, GMC Savana) |- |Z||Class G: 8,001-9,000||Hydraulic||06: Passenger Van ('10 Chevy Express, GMC Savana) |- |W||Class G: 8,001-9,000||Hydraulic||06: Passenger Van ('11-'26 Chevy Express, GMC Savana) |- |Z||Class G: 8,001-9,000||Hydraulic||06: 4-door SUV ('10 Chevy Suburban 2500, GMC Yukon XL 2500) |- |W||Class G: 8,001-9,000||Hydraulic||06: 4-door SUV ('11-'13 Chevy Suburban 2500, GMC Yukon XL 2500) |- |2||Class H: 9,001-10,000||Hydraulic||05: Cargo Van or Incomplete Vehicle ('10 Chevy Express, GMC Savana) |- |Z||Class H: 9,001-10,000||Hydraulic||05: Cargo Van or Incomplete Vehicle ('11-'26 Chevy Express, GMC Savana,<br> '23-'24 BrightDrop Zevo 600, '24 BrightDrop Zevo 400, '25-'26 Chevrolet BrightDrop 400/600) |- |2||Class H: 9,001-10,000||Hydraulic||06: Passenger Van ('10 Chevy Express, GMC Savana) |- |Z||Class H: 9,001-10,000||Hydraulic||06: Passenger Van ('11-'26 Chevy Express, GMC Savana) |- |3||Class H: 9,001-10,000||Hydraulic||03: Van Cutaway ('10 Chevy Express, GMC Savana) |- |0||Class H: 9,001-10,000||Hydraulic||03: Van Cutaway ('11-'26 Chevy Express, GMC Savana) |- |3||Class H: 9,001-10,000||Hydraulic||03: Regular Cab pickup or Chassis Cab ('10 Chevy Silverado, GMC Sierra) |- |0||Class H: 9,001-10,000||Hydraulic||03: Regular Cab pickup or Chassis Cab ('11-'26 Chevy Silverado, GMC Sierra) |- |4||Class H: 9,001-10,000||Hydraulic||43: Crew Cab pickup or Chassis Cab ('10 Chevy Silverado, GMC Sierra) |- |1||Class H: 9,001-10,000||Hydraulic||43: Crew Cab pickup or Chassis Cab ('11-'26 Chevy Silverado, GMC Sierra,<br> '24-'25 GMC Hummer EV pickup w/20 module battery pack,<br> '24-'26 Chevy Silverado EV, '25-'26 GMC Sierra EV) |- |5||Class H: 9,001-10,000||Hydraulic||53: Extended Cab pickup or Chassis Cab ('10 Chevy Silverado, GMC Sierra) |- |2||Class H: 9,001-10,000||Hydraulic||53: Extended Cab pickup or Chassis Cab ('11-'13, '15-'26 Chevy Silverado, GMC Sierra) |- |B||Class H: 9,001-10,000||Hydraulic||26: 4-door SUV ('24-'25 GMC Hummer EV SUV) |- |6||Class 3: 10,001-14,000||Hydraulic||03: Van Cutaway ('10 Chevy Express, GMC Savana) |- |3||Class 3: 10,001-14,000||Hydraulic||03: Van Cutaway ('11-'26 Chevy Express, GMC Savana) |- |6||Class 3: 10,001-14,000||Hydraulic||03: Regular Cab pickup or Chassis Cab ('10 Chevy Silverado, GMC Sierra) |- |3||Class 3: 10,001-14,000||Hydraulic||03: Regular Cab pickup or Chassis Cab ('11-'26 Chevy Silverado, GMC Sierra) |- |7||Class 3: 10,001-14,000||Hydraulic||43: Crew Cab pickup or Chassis Cab ('10 Chevy Silverado, GMC Sierra) |- |4||Class 3: 10,001-14,000||Hydraulic||43: Crew Cab pickup or Chassis Cab ('11-'26 Chevy Silverado, GMC Sierra,<br> '22-'24 GMC Hummer EV pickup w/24 module battery pack, '25 GMC Hummer EV pickup w/20 or 24 module battery pack, '26 GMC Hummer EV pickup, '24-'25 Chevy Silverado EV, GMC Sierra EV) |- |8||Class 3: 10,001-14,000||Hydraulic||53: Extended Cab pickup or Chassis Cab ('10 Chevy Silverado, GMC Sierra) |- |5||Class 3: 10,001-14,000||Hydraulic||53: Extended Cab pickup or Chassis Cab ('11-'13, '15-'18, '20-'26 Chevy Silverado, GMC Sierra) |- |8||Class 3: 10,001-14,000||Hydraulic||06: 4-door SUV ('16-'19, '24-'26 Chevy Suburban 3500HD) |- |8||Class 3: 10,001-14,000||Hydraulic||05: Cargo Van ('22 BrightDrop EV600, '23-'24 BrightDrop Zevo 600, '24 BrightDrop Zevo 400,<br> '25-'26 Chevrolet BrightDrop 400/600) |- |T||Class 3: 10,001-14,000||Hydraulic||26: 4-door SUV ('25-'26 GMC Hummer EV SUV, '25-'26 Cadillac Escalade IQ [EV]) |- |L||Class 3: 10,001-14,000||Hydraulic||56: 4-door SUV Extended ('26- Cadillac Escalade IQL [EV]) |- |9||Class 4: 14,001-16,000||Hydraulic||03: Van Cutaway ('10 Chevy Express, GMC Savana) |- |6||Class 4: 14,001-16,000||Hydraulic||03: Van Cutaway ('11-'26 Chevy Express, GMC Savana) |- | ||Class 5: 16,001-19,500||Hydraulic|| |} ====Line & Chassis Type 2010- Light Duty Truck & Multi-Purpose Passenger Vehicle==== The Line & Chassis Type is specified as character five of the American GM VIN for light trucks. {| border=1 style="margin:auto;" !VIN !Description |- |A||Chevrolet HHR ('10-'11), HHR Panel ('10-'11) |- |A||Chevy Silverado 1500 2wd ('22-'26), Silverado HD 2500/3500 2wd ('25-'26) |- |B||Chevy Blazer 2wd & Awd '19-'26 |- |C||Chevy Silverado 2wd ('10-'18), Silverado LD 1500 2wd '19, Silverado HD 2500/3500 2wd '19, GMC Sierra 2wd ('10) |- |C||Chevy Tahoe 2wd ('10-'24), Suburban 2wd ('10-'24), Avalanche 2wd ('10-'13),<br /> GMC Yukon 2wd ('10), Yukon XL 2wd ('10), Cadillac Escalade 2wd ('10), Escalade ESV 2wd ('10) |- |D||Chevy Silverado 1500 4wd ('22-'24) |- |D||Chevy Blazer EV ('24-'26), Chevy Equinox EV ('24-'26) |- |E||Cadillac Escalade IQ [EV] ('25-'26), Escalade IQL [EV] ('26-), GMC Hummer EV pickup ('26-), GMC Hummer EV SUV ('26-), GMC Sierra EV ('26-) |- |F||Chevy Bolt EV w/Rear Seat Delete pkg. - incomplete vehicle ('18-'23) |- |G||Cadillac Chassis for Limousine & for Armored Vehicle (Based on XTS '13-'19) |- |G||Cadillac Chassis for Hearse (Based on XTS '13-'19) |- |G||Chevy Express 2wd ('10-'26), GMC Savana 2wd ('10) |- |H||Chevy Express 4wd ('10-'14), GMC Savana 4wd ('10) |- |H||GMC Sierra 1500 2wd ('22-'26), Sierra HD 2500/3500 2wd ('25-'26) |- |H||Honda Prologue EV ('24-'26), Acura ZDX EV ('24) |- |J||Buick Encore 2wd & Awd ('13-'22), Chevy Trax 2wd & Awd (Canada: '13-'22, US: '15-'22) |- |J||BrightDrop EV600 ('22), BrightDrop Zevo 600 ('23-'24), BrightDrop Zevo 400 ('24), Chevrolet BrightDrop 400/600 ('25-'26) |- |K||Chevy Silverado 4wd ('10-'18), Silverado LD 1500 4wd ('19), Silverado HD 2500/3500 4wd ('19), GMC Sierra 4wd ('10) |- |K||Chevy Silverado 1500 4wd ('25-'26), Silverado HD 2500/3500 4wd ('25-'26) |- |K||Chevy Tahoe 4wd ('10-'24), Suburban 4wd ('10-'24), Suburban HD 4wd ('24-'26), Avalanche 4wd ('10-'13), GMC Yukon 4wd ('10), Yukon XL 4wd ('10),<br> Cadillac Escalade 4wd ('10), Escalade ESV 4wd ('10), Escalade EXT 4wd ('10) |- |K||Cadillac Professional Chassis for Limousine (Based on DTS '10-'11) |- |K||Cadillac Commercial Chassis for Hearse (Based on DTS '10-'11) |- |L||Chevy Equinox 2wd & Awd '10-'17, Captiva Sport 2wd '12-'15, Captiva Sport Awd '12, GMC Terrain 2wd & Awd '10-'17, Saturn Vue 2wd & Awd '10 |- |L||GMC Terrain 2wd & Awd '18-'26 |- |L||Buick Envista '24-'26, Chevy Trax '24-'26 |- |M||Buick Encore GX 2wd & Awd ('20-'26), Chevy Trailblazer 2wd & Awd ('21-'26) |- |N||Cadillac SRX 2wd & Awd '10-'16, Saab 9-4X 2011 |- |N||GMC Acadia 2wd & Awd '17-'26, Cadillac XT5 2wd & Awd '17-'26 |- |N||Hummer H3, H3T 2010 |- |P||Chevy Orlando (Canada only: '12-'14) |- |P||Cadillac XT6 2wd & Awd '20-'25 |- |P||Cadillac Lyriq EV 2wd & Awd '23-'25 |- |R||GMC Acadia 2wd '10-'16, Acadia Limited 2wd '17, Saturn Outlook 2wd '10, Buick Enclave 2wd '10-'17, Chevy Traverse 2wd '10-'17 |- |R||Buick Enclave 2wd '18-'24, Chevy Traverse 2wd '18-'23 |- |R||Buick Enclave 2wd '25-'26, Chevy Traverse 2wd '24-'26 |- |S||Chevy Traverse Limited 2wd '24 |- |S||Chevy Colorado 2wd ('10-'12, '15-'26), GMC Canyon 2wd ('10) |- |T||Chevy Colorado 4wd ('10-'12, '15-'26), GMC Canyon 4wd ('10) |- |T||Chevy Traverse Limited Awd '24 |- |U||GMC Sierra 1500 4wd ('22-'26), Sierra HD 2500/3500 4wd ('25-'26) |- |V||GMC Acadia Awd '10-'16, Acadia Limited Awd '17, Saturn Outlook Awd '10, Buick Enclave Awd '10-'17, Chevy Traverse Awd '10-'17 |- |V||Buick Enclave Awd '18-'24, Chevy Traverse Awd '18-'23 |- |V||Buick Enclave Awd '25-'26, Chevy Traverse Awd '24-'26 |- |W||Chevy Silverado 1500 2wd ('19-'21), Silverado LTD 1500 2wd ('22), Silverado HD 2500/3500 2wd ('20-'24) |- |X||Buick Envision 2wd & Awd '16-'20, Chevy Equinox 2wd & Awd '18-'26 |- |Y||Chevy Silverado 1500 4wd ('19-'21), Silverado LTD 1500 4wd ('22), Silverado HD 2500/3500 4wd ('20-'24) |- |Z||Cadillac XT4 2wd & Awd '19-'25, Buick Envision 2wd '21-'23, Buick Envision Awd '21-'26 |- |1||GMC Sierra 2wd ('11-'18), Sierra Limited 1500 2wd ('19), Sierra HD 2500/3500 2wd ('19), Yukon 2wd ('11-'26), Yukon XL 2wd ('11-'26) |- |1||GMC Canyon 2wd ('25-'26) |- |2||GMC Sierra 4wd ('11-'18), Sierra Limited 1500 4wd ('19), Sierra HD 2500/3500 4wd ('19), Yukon 4wd ('11-'26), Yukon XL 4wd ('11-'26) |- |2||GMC Canyon 4wd ('25-'26) |- |3||Cadillac Escalade 2wd ('11-'24), Escalade ESV 2wd ('11-'24) |- |3||Cadillac Optiq EV ('25-), Cadillac Vistiq EV ('26-) |- |4||Cadillac Escalade 4wd ('11-'24), Escalade ESV 4wd ('11-'24), Escalade EXT 4wd ('11-'13) |- |5||GMC Canyon 2wd ('11-'12, '15-'24) |- |5||Chevy Tahoe 2wd ('25-'26), Suburban 2wd ('25-'26) |- |6||GMC Canyon 4wd ('11-'12, '15-'24) |- |6||Chevy Tahoe 4wd ('25-'26), Suburban 4wd ('25-'26) |- |7||GMC Savana 2wd ('11-'26) |- |8||GMC Savana 4wd ('11-'14) |- |8||GMC Sierra 1500 2wd ('19-'21), Sierra Limited 1500 2wd ('22), Sierra HD 2500/3500 2wd ('20-'24) |- |8||Cadillac Escalade 2wd ('25-'26), Escalade ESV 2wd ('25-'26) |- |9||GMC Sierra 1500 4wd ('19-'21), Sierra Limited 1500 4wd ('22), Sierra HD 2500/3500 4wd ('20-'24) |- |9||Cadillac Escalade 4wd ('25-'26), Escalade ESV 4wd ('25-'26) |- |0||GMC Hummer EV pickup ('22-'25), GMC Hummer EV SUV ('24-'25), Chevy Silverado EV ('24-'26), GMC Sierra EV ('24-'25) |} ====Series 2010- Light Duty Truck & Multi-Purpose Passenger Vehicle==== The Series is specified as character six of the American GM VIN for light trucks. {| border=1 style="margin:auto;" !VIN !Description |- |P (following N)||Saab 9-4X 3.0i 2wd ('11) |- |R (following N)||Saab 9-4X 3.0i Awd ('11) |- |S (following N)||Saab 9-4X 3.0i Premium 2wd ('11) |- |T (following N)||Saab 9-4X 3.0i Premium Awd ('11) |- |U (following N)||Saab 9-4X Aero Awd ('11) |} ===Platform & Series Codes 1985- Passenger Car=== GM used a lettered system of automobile platform codes for three decades. These letters were used as the fourth position of the VIN. Though today's GM platforms use Greek characters, they are still encoded with Latin characters in the fourth position. Position five encodes the specific model and trim level of the vehicle. {| border=1 style="margin:auto;" !List of GM platforms !Platform<br>Code !Series<br>Code !:Category:General Motors vehicles|Model |- |rowspan=14|GM A platform |rowspan=14|A||W||Chevrolet Celebrity 1985-1990 |- |E||Pontiac 6000 ''SE'' 1986-1988 |- |F||Pontiac 6000 1985-1988, 6000 ''LE'' 1989-1991 |- |G||Pontiac 6000 ''LE'' 1985-1988 |- |H||Pontiac 6000 ''STE'' 1985-1989 |- |J||Pontiac 6000 ''SE'' 1989-1991 |- |G||Oldsmobile Cutlass Ciera ''S'' Sedan 1993-1994 |- |J||Oldsmobile Cutlass Ciera ''LS'' 1985, Cutlass Ciera 1986-1989 & Cutlass Cruiser 1985-1989,<br /> Cutlass Ciera ''S'' Coupe 1986-1987, Cutlass Ciera ''S'' 1990-1991 & Cutlass Cruiser ''S'' 1990-1994, Cutlass Ciera ''SL'' & Cutlass Cruiser ''SL'' 1995, Ciera ''SL'' sedan & wagon 1996 |- |L||Oldsmobile Cutlass Ciera 1990-1991, Cutlass Ciera ''S'' Sedan 1992 |- |M||Oldsmobile Cutlass Ciera ''Brougham'' 1985-1988, Cutlass Ciera ''SL'' Coupe 1986-1989, Cutlass Ciera ''SL'' Sedan 1989-1993, Cutlass Cruiser ''Brougham'' 1987-1988, Cutlass Cruiser ''SL'' 1989-1993 |- |S||Oldsmobile Cutlass Ciera ''International Series'' 1988-1990 |- |G||Buick Century ''T-Type'' 1985-1986, Century ''Special'' 1991-1996 |- |H||Buick Century ''Custom'' 1985-1995 |- |L||Buick Century ''Limited'' 1985-1993, Century Estate Wagon 1986-1989 |- |rowspan=14|GM B platform |rowspan=14|B||L||Chevrolet Impala 1985, Caprice 1986-1992, Caprice Classic 1993-1996, Impala SS 1995-96 |- |N||Chevrolet Caprice Classic 1985-1992, Caprice Classic LS 1993-1994,<br /> Caprice Classic LTZ 1991-1993, Impala SS 1994 |- |U||Chevrolet Caprice Classic Brougham/Brougham LS 1987-1990 |- |L||Pontiac Parisienne 1985-1986, Safari Wagon 1987-1989 |- |T||Pontiac Parisienne Brougham 1985-1986 |- |N||Oldsmobile Delta 88 Royale 1985 |- |P||Oldsmobile Custom Cruiser 1985-1992 |- |V||Oldsmobile Delta 88 Royale Brougham LS 1985 |- |Y||Oldsmobile Delta 88 Royale Brougham 1985 |- |N||Buick Le Sabre ''Custom'' 1985, Roadmaster sedan 1992-1996 |- |P||Buick Le Sabre ''Limited'' 1985 |- |R||Buick Le Sabre Estate Wagon 1985-1989, Estate Wagon 1990,<br /> Roadmaster Estate Wagon 1991-1996 |- |T||Buick Roadmaster ''Limited'' sedan 1992-1996 |- |V||Buick Electra Estate Wagon 1985-1989 |- |rowspan=13|GM C platform - front-wheel drive |rowspan=13|C |V||Oldsmobile Touring Sedan 1988-1990, 98 Touring Sedan 1991-1993 |- |W||Oldsmobile 98 Regency Brougham 1985-1990, 98 Regency Elite 1991-1996 |- |X||Oldsmobile 98 Regency 1985-1990, 1992-1994 |- |F||Buick Electra T-Type 1985-1990 |- |U||Buick Electra Park Avenue Ultra 1989-1990, Park Avenue Ultra 1991-1996 |- |W||Buick Electra Park Avenue 1985-1990, Park Avenue 1991-1996 |- |X||Buick Electra 1985-1986, Electra Limited 1987-1990 |- |B||1985-1992 Cadillac Fleetwood, Fleetwood D'Elegance, 1993 Cadillac Sixty Special |- |D||1985-1993 Cadillac DeVille |- |G||1991-1992 Cadillac Fleetwood Sixty Special |- |H||1985-1987 Cadillac Fleetwood Limousine |- |S||1987-1990 Cadillac Fleetwood Sixty Special |- |T||1991-1993 Cadillac DeVille Touring Sedan |- |rowspan=3|GM G platform (models formerly on C platform) |rowspan=3|C |- |U||Buick Park Avenue Ultra 1997-2005 |- |W||Buick Park Avenue 1997-2005 |- |rowspan=2|GM D platform |rowspan=2|D||W||1985-1986 Cadillac Fleetwood Brougham, 1987-1992 Cadillac Brougham |- |W||1993-1996 Cadillac Fleetwood |- |rowspan=31|GM Delta I platform |rowspan=31|A |- |A||Chevrolet Cobalt LS w/manual trans. 2010 |- |B||Chevrolet Cobalt LS w/automatic trans. 2010 |- |C||Chevrolet Cobalt 1LT w/manual trans. 2010 |- |D||Chevrolet Cobalt 1LT w/automatic trans. 2010 |- |E||Chevrolet Cobalt 2LT w/manual trans. 2010 |- |F||Chevrolet Cobalt 2LT w/automatic trans. 2010 |- |G||Chevrolet Cobalt SS Turbo 2010 |- |H||Chevrolet Cobalt (base model w/XFE) 2010 |- |K||Chevrolet Cobalt (base model) 2005, Cobalt LS 2006-2008, Cobalt LS w/man. trans. 2009 |- |L||Chevrolet Cobalt LS 2005, Cobalt LT 2006-2008, Cobalt LT w/manual trans. 2009 |- |M||Chevrolet Cobalt SS 2006-2007, Cobalt Sport 2008 |- |P||Chevrolet Cobalt SS Supercharged 2005-2007, SS Turbo 2008-2009 |- |S||Chevrolet Cobalt LS w/automatic trans. 2009 |- |T||Chevrolet Cobalt LT w/automatic trans. 2009 |- |Z||Chevrolet Cobalt LT 2005, Cobalt LTZ 2006-2007 |- |L||Pontiac G5 2007-2008, G5 w/manual trans. 2009 |- |N||Pontiac G5 GT 2007-2008, G5 GT w/manual trans. 2009 |- |S||Pontiac G5 w/automatic trans. 2009 |- |T||Pontiac G5 GT w/automatic trans. 2009 |- |F||Saturn Ion sedan Level 1 w/manual trans. 2003-2005 |- |G||Saturn Ion sedan Level 1 w/automatic trans. 2003-2005 |- |J||Saturn Ion sedan Level 2 w/automatic trans. 2003-2007 |- |K||Saturn Ion sedan Level 3 w/manual trans. 2003-2007 |- |L||Saturn Ion sedan Level 3 w/automatic trans. 2003-2007 |- |M||Saturn Ion coupe Level 2 w/manual trans. 2003-2007 |- |N||Saturn Ion coupe Level 2 w/automatic trans. 2003-2007 |- |V||Saturn Ion coupe Level 3 w/manual trans. 2003-2007 |- |W||Saturn Ion coupe Level 3 w/automatic trans. 2003-2007 |- |Y||Saturn Ion coupe Red Line 2004-2007 |- |Z||Saturn Ion sedan Level 2 w/manual trans. 2003-2007 |- |rowspan=9|GM E platform |rowspan=9|E |- |V||Oldsmobile Toronado Trofeo 1988-1992 |- |Z||Oldsmobile Toronado Brougham 1985-1986, Toronado 1987-1992 |- |C||Buick Reatta 1988-1991 |- |Y||Buick Riviera T-Type 1985-1986 |- |Z||Buick Riviera 1985-1993 |- |C||Cadillac Eldorado Collector Series 2002 |- |L||Cadillac Eldorado 1985-2002 |- |T||Cadillac Eldorado Touring Coupe 1994-2002 |- |rowspan=26|GM Epsilon I platform |rowspan=26|Z||A||Chevrolet Malibu Fleet 2010-2012 |- |B||Chevrolet Malibu LS 2010-2012 |- |C||Chevrolet Malibu 1LT 2010-2012 |- |D||Chevrolet Malibu 2LT 2010-2012 |- |E||Chevrolet Malibu LTZ 2010-2011, Malibu 1LZ 2012 |- |F||Chevrolet Malibu Hybrid 2008-2010, Malibu 3LT 2012 |- |G||Chevrolet Malibu LS 2008-2009, Malibu 2LZ 2012 |- |H||Chevrolet Malibu 1LT 2008-2009 |- |J||Chevrolet Malibu 2LT 2008-2009 |- |K||Chevrolet Malibu LTZ 2008-2009 |- |S||Chevrolet Malibu 2004-2005, Malibu LS 2006-2007, Malibu Classic LS 2008 |- |T||Chevrolet Malibu LS 2004-2005, Malibu LT 2006-2007, Malibu Classic LT 2008 |- |U||Chevrolet Malibu LT 2004-2005, Malibu LTZ 2006-2007 |- |W||Chevrolet Malibu SS 2006-2007 |- |A||Pontiac G6 Sedan 2010 |- |F||Pontiac G6 2.4L Sedan (Base model) 2006, G6 Value Leader (Base model w/1SV) 2007-2008 |- |G||Pontiac G6 3.5L Sedan (Base model) 2005-2006, G6 (Base model) 2007-2009 |- |H||Pontiac G6 GT 2005-2009 |- |J||Pontiac G6 (Base model) 2009 1/2 (Mid-Cycle Revision) |- |K||Pontiac G6 GT 2009 1/2 (Mid-Cycle Revision) |- |L||Pontiac G6 GXP 2009 1/2 (Mid-Cycle Revision) |- |M||Pontiac G6 GTP 2006-2007, G6 GXP 2008-2009 |- |R||Saturn Aura Green Line 2007-2009 |- |S||Saturn Aura XE 2007-2009 |- |V||Saturn Aura XR 2007-2008, Aura XR 2.4L 2009 |- |X||Saturn Aura XR V6 2009 |- |rowspan=6|GM F platform |rowspan=6|F||P||Chevrolet Camaro Sport Coupe 1985-2002, Convertible 1987-1992, 1994-2002 |- |S||Chevrolet Camaro Berlinetta 1985-1986 |- |S||Pontiac Firebird 1985-2002, Firebird ''Formula'' 1987-1992 |- |V||Pontiac Firebird ''Formula / Trans Am'' 1993-2002, Firebird ''Trans Am GT'' 1994 |- |W||Pontiac Firebird ''Trans Am'' 1985-1992, Firebird ''Trans Am GTA'' 1987-1992 |- |X||Pontiac Firebird ''S/E'' 1985-1986 |- |rowspan=13|GM G platform - rear-wheel drive |rowspan=13|G||Z||Chevrolet Monte Carlo 1985-1988 |- |J||Pontiac Grand Prix 1985-1987 |- |K||Pontiac Grand Prix LE 1985-1987 |- |N||Pontiac Bonneville 1985-1986 |- |P||Pontiac Grand Prix Brougham 1985-1987 |- |R||Pontiac Bonneville Brougham 1985-1986 |- |S||Pontiac Bonneville LE 1985-1986 |- |K||Oldsmobile Cutlass Salon coupe 1985-1987 |- |M||Oldsmobile Cutlass Supreme ''Brougham'' 1985-1987,<br /> Cutlass Supreme Classic ''Brougham'' 1988 |- |R||Oldsmobile Cutlass Supreme 1985-1987, Cutlass Supreme Classic 1988 |- |J||Buick Regal 1985-1987 |- |K||Buick Regal T-Type 1985-1987 |- |M||Buick Regal ''Limited'' 1985-1987 |- |rowspan=4|GM G platform - front-wheel drive |rowspan=4|G||D||1995-1999 Buick Riviera |- |R||1995-1999 Oldsmobile Aurora |- |R||2001-2002 Oldsmobile Aurora 3.5 |- |S||2001-2003 Oldsmobile Aurora 4.0 |- |rowspan=9|GM H platform |rowspan=9|H||H||Buick Le Sabre 1987 |- |P||Buick Le Sabre ''Custom'' 1986-1999 |- |R||Buick Le Sabre ''Limited'' 1986-1999 |- |C||Oldsmobile Regency 1997-1998, Eighty Eight 50th Anniversary Edition 1999 |- |N||Oldsmobile Delta 88 Royale 1986-1988, 88 Royale 1989-1995, Eighty Eight & Eighty Eight LS 1996-99 |- |Y||Oldsmobile Delta 88 Royale Brougham 1986-1988, 88 Royale Brougham 1989-91, Eighty Eight Royale LS 1992-1995, LSS 1996-1999 |- |X||Pontiac Bonneville 1987, Bonneville LE 1988-1991, Bonneville ''SE'' 1992-1999 |- |Y||Pontiac Bonneville SSE 1988-1991, Bonneville ''SSEi'' 1992-1993 |- |Z||Pontiac Bonneville LE 1987, Bonneville SE 1988-1991, Bonneville ''SSE'' 1992-1999, Bonneville ''SSEi'' 1994-1999 |- |rowspan=17|GM G platform (models formerly on H platform or their successors) |rowspan=17|H||A||Buick Lucerne ''CX'' 2010-2011 |- |B||Buick Lucerne ''CX-2'' 2010 |- |C||Buick Lucerne ''CXL'' 2010-2011 |- |D||Buick Lucerne ''CXL V6'' 2006-2009, Lucerne ''CXL Special Edition'' 2010 |- |E||Buick Lucerne ''CXS'' 2006-2008, Lucerne ''CXL-3'' 2010 |- |F||Buick Lucerne ''Super'' 2008-2009, Lucerne ''CXL-4'' 2010 |- |G||Buick Lucerne ''CXL-5'' 2010 |- |H||Buick Lucerne ''Super 1SP'' 2010 |- |J||Buick Lucerne ''CXL Premium'' 2010-2011 |- |K||Buick Lucerne ''Super 1XS'' 2010, Lucerne ''Super'' 2011 |- |P||Buick Lucerne ''CX'' 2006-2009 |- |R||Buick Lucerne ''CXL V8'' 2006-2007, Lucerne ''CXL Special Edition V8'' 2008 |- |P||Buick Le Sabre ''Custom'' 2000-2005 |- |R||Buick Le Sabre ''Limited'' 2000-2005 |- |X||Pontiac Bonneville ''SE'' 2000-2005 |- |Y||Pontiac Bonneville ''SLE'' 2000-2005 |- |Z||Pontiac Bonneville ''SSEi'' 2000-2003, Bonneville GXP 2004-2005 |- |rowspan=23|GM J platform |rowspan=23|J |- |C||Chevrolet Cavalier 1985-1994, RS Convertible 1991-1994 |- |D||Chevrolet Cavalier CS 1985-1987 |- |E||Chevrolet Cavalier Type 10 1985, RS 1986-1988,<br /> Type 10 Convertible 1985, RS Convertible 1986-1987 |- |F||Chevrolet Cavalier Z24 1986-1994, Z24 Convertible 1988-1989, 1992-1994 |- |C||Chevrolet Cavalier 1995-2005, Cavalier RS 1997-1999 |- |F||Chevrolet Cavalier LS Sedan 1995-2005, LS Coupe 2003-2005, Z24 Coupe 1995-2001,<br /> LS Convertible 1995-1997, Z24 Convertible 1998-2000 |- |H||Chevrolet Cavalier Z24 Coupe/Sedan 2002, LS Sport 2002-2005 |- |S||Chevrolet Cavalier LS Coupe 2002 |- |B||Pontiac Sunbird 1985-1989, Sunbird LE 1990-1991, Sunbird SE 1992-1993,<br /> Sunbird LE 1994 |- |C||Pontiac Sunbird LE 1985, Sunbird 1991, Sunbird LE 1992-1993 |- |D||Pontiac Sunbird SE 1985-1991, Sunbird GT 1992-1993 |- |L||Pontiac Sunbird SE 1994 |- |U||Pontiac Sunbird GT 1986-1991 |- |B||Pontiac Sunfire SE 1995-2002, Convertible 1995-2000, Sunfire 2003-2005 |- |D||Pontiac Sunfire GT 1995-2002 |- |C||Oldsmobile Firenza Base model 1985-1987, Firenza S 1985-1987, Firenza 1988 |- |D||Oldsmobile Firenza LX 1985-1987, Firenza SX 1985, Firenza LC, GT 1986-1987 |- |E||Buick Skyhawk T-Type 1985-1986 |- |S||Buick Skyhawk Custom 1985-1987, Skyhawk Sport 1986-1987, Skyhawk 1988-1989 |- |T||Buick Skyhawk Limited 1985-1987 |- |G||Cadillac Cimarron 1985-1988 |- |G, H||Toyota Cavalier (Japan only) |- |rowspan=8|GM2900 platform |rowspan=8|J||C||Saturn L-Series|2004 Saturn L300.1 |- |D||Saturn L-Series|2004 Saturn L300.2, 2005 Saturn L300 |- |L||Saturn L-Series|2004 Saturn L300.3 |- |R||Saturn L-Series|Saturn LS w/manual transmission '00/L100 w/manual transmission '01 |- |S||Saturn L-Series|Saturn LS w/automatic transmission '00/L100 w/automatic transmission '01-'02 |- |T||Saturn L-Series|Saturn LS1 w/manual transmission '00/L200 w/manual transmission '01-'03, LW200 w/manual trans. '02 |- |U||Saturn L-Series|Saturn LS1 w/automatic transmission '00/L200 w/automatic transmission '01-'03,<br> Saturn LW1 w/automatic transmission '00/LW200 w/automatic transmission '01-'03 |- |W||Saturn L-Series|Saturn LS2 '00, LW2 '00, L300 '01-'03, LW300 '01-'03 |- |rowspan=5|GM K platform |rowspan=5|K||D||Cadillac Deville 1994-1999 |- |E||Cadillac Deville D'Elegance 1997-1999 |- |F||Cadillac Deville Concours 1994-1999 |- |S||Cadillac Seville 1985-1993 / Cadillac Seville SLS 1994-1997 |- |Y||Cadillac Seville Touring Sedan / Cadillac Seville STS 1990-1997 |- |rowspan=9|GM G platform (models formerly on K platform) |rowspan=9|K||A||2010-2011 Cadillac DTS |- |D||2000-2005 Cadillac Deville, 2006-2009 Cadillac DTS, 2010-2011 DTS Luxury |- |E||2000-2005 Cadillac Deville DHS |- |F||2000-2005 Cadillac Deville DTS |- |H||2010-2011 Cadillac DTS Premium |- |P||2010-2011 Cadillac DTS Platinum |- |R||2010-2011 Cadillac DTS Livery |- |S|| 1998-2004 Cadillac Seville SLS |- |Y|| 1998-2003 Cadillac Seville STS |- |rowspan=33|GM Kappa platform |rowspan=33|M||A||Pontiac Solstice w/automatic transmission 2010 |- |B||Pontiac Solstice 2006-2007, Solstice w/manual transmission 2008-2009 |- |B||Pontiac Solstice GXP w/automatic transmission 2010 |- |C||Pontiac Solstice w/automatic transmission 2008 |- |D||Pontiac Solstice w/manual transmission 2010 |- |E||Pontiac Solstice GXP w/manual transmission 2010 |- |F||Pontiac Solstice GXP w/automatic transmission 2008 |- |G||Pontiac Solstice GXP 2007, Solstice GXP w/manual transmission 2008-2009 |- |K||Pontiac Solstice Street Edition w/manual transmission 2009 |- |N||Pontiac Solstice w/automatic transmission 2009 |- |S||Pontiac Solstice SCCA SSB Championship Edition (2.4L) 2008 |- |T||Pontiac Solstice SCCA T2 Championship Edition (2.0L Turbo) 2008 |- |T||Pontiac Solstice GXP w/automatic transmission 2009 |- |Z||Pontiac Solstice Street Edition w/automatic transmission 2009 |- |B||Saturn Sky 2007, Sky w/manual transmission 2008-2009 |- |B||Saturn Sky Redline w/automatic transmission 2010 |- |C||Saturn Sky w/automatic transmission 2008 |- |C||Saturn Sky Ruby Red (Merlot Jewel) Special Edition w/manual transmission 2009 |- |C||Saturn Sky Preferred w/automatic transmission 2010 |- |D||Saturn Sky Hydro Blue Special Edition w/manual transmission 2009 |- |E||Saturn Sky Redline w/manual transmission 2010 |- |F||Saturn Sky Redline w/automatic transmission 2008 |- |F||Saturn Sky Preferred w/manual transmission 2010 |- |G||Saturn Sky Redline 2007, Sky Redline w/manual transmission 2008-2009 |- |H||Saturn Sky Redline Ruby Red (Merlot Jewel) Special Edition w/manual transmission 2009 |- |L||Saturn Sky Redline Hydro Blue Special Edition w/manual transmission 2009 |- |N||Saturn Sky w/automatic transmission 2009 |- |P||Saturn Sky Ruby Red (Merlot Jewel) Special Edition w/automatic transmission 2009 |- |R||Saturn Sky Hydro Blue Special Edition w/automatic transmission 2009 |- |T||Saturn Sky Redline w/automatic transmission 2009 |- |V||Saturn Sky Redline Ruby Red (Merlot Jewel) Special Edition w/automatic transmission 2009 |- |X||Saturn Sky Redline Hydro Blue Special Edition w/automatic transmission 2009 |- |G||Opel GT 2007-2010, Daewoo G2X 2007-2009 |- |rowspan=8|GM L platform |rowspan=8|L |- |D||Chevrolet Corsica ''Base'' 1994-1996 |- |T||Chevrolet Corsica ''Base'' 1987-1989, Corsica ''LT'' 1990-1993 |- |V||Chevrolet Beretta ''Base'' 1987-1996 |- |W||Chevrolet Beretta "GT" 1989-1993 (RPO Z21) & Beretta ''Z26'' 1994-1996 (RPO Z04) |- |Z||Chevrolet Corsica ''LTZ'' 1989-1990 (RPO Z54) |- |Z||Chevrolet Beretta "GTZ" 1990-1993 (RPO Z04) |- |T||Pontiac Tempest (Canada only) |- |rowspan=5|GM M platform |rowspan=5|M||R||Chevrolet Sprint |- |R||Geo Metro LSi, Metro |- |R||Pontiac Firefly (Canada only) |- |S||Chevrolet Sprint ER |- |S||Geo Metro, Metro XFi |- |rowspan=32|GM N platform |rowspan=32|N |- |B||Oldsmobile Cutlass 1997, Cutlass ''GL'' 1998-1999 |- |C||Buick Skylark 4-door ''Custom'' 1987-1991 |- |D||Buick Skylark 4-door ''Limited'' 1987-1989, Skylark 4-door ''Luxury Edition'' 1990-1991 |- |D||Chevrolet Malibu 1997-2003, Chevrolet Classic 2004-2005 |- |E||Chevrolet Malibu ''LS'' 1997-2003 |- |E||Pontiac Grand Am 1985-1988, Grand Am ''LE'' 1989-1991 |- |E||Pontiac Grand Am ''SE'' 1992-2005 |- |F||Oldsmobile Calais 1985-1987, Cutlass Calais 1988, Cutlass Calais ''S'' 1989-1991 |- |F||Oldsmobile Achieva ''SL'' 1992-1994, Achieva ''SC'' 1994 |- |F||Oldsmobile Alero ''GLS'' 1999-2004 |- |F||Pontiac Grand Am ''SE1'' 2000-2004 |- |G||Oldsmobile Cutlass ''GLS'' 1997-1999 |- |G||Pontiac Grand Am 1991 |- |G||Pontiac Grand Am ''SE2'' 2000, 2003-2004 |- |J||Buick Somerset Regal 1985, Somerset ''Custom'' 1986-1987, Skylark 2-door ''Custom'' 1988-91, Skylark 4-door ''Custom'' 1986 |- |J||Buick Skylark 1992, Skylark ''Limited'' 1993-1994, Skylark ''Custom'' 1996-1998,<br /> Skylark ''Limited'' & ''Gran Sport'' 1996-1997 |- |K||Buick Somerset ''T-Type'' 1986 |- |K||Oldsmobile Cutlass Calais ''International Series'' 1988-1991 |- |K||Oldsmobile Alero ''GX'' 1999-2004 |- |L||Oldsmobile Cutlass Calais 1989-1991 |- |L||Oldsmobile Achieva ''S'' 1992-1995, Achieva ''SL'' 1996-1998, Achieva ''SC'' 1996-1997 |- |L||Oldsmobile Alero ''GL'' 1999-2004 |- |M||Buick Somerset Regal ''Limited'' 1985, Somerset ''Limited'' 1986-'87, Skylark 2-door ''Limited'' '88-'89, Skylark 2-door ''Gran Sport'' 1990-1991, Skylark 4-door ''Limited'' 1986 |- |M||Buick Skylark ''Gran Sport'' 1992-1994 |- |T||Oldsmobile Calais ''Supreme'' 1985-1987, Cutlass Calais ''SL'' 1988-1991 |- |V||Buick Skylark 1990-1991 |- |V||Buick Skylark ''Custom'' 1993-1995, ''Limited'' 1995, ''Gran Sport'' 1995 |- |V||Pontiac Grand Am ''LE'' 1985-1988 |- |V||Pontiac Grand Am ''GT1'' 2000-2005 |- |W||Pontiac Grand Am ''SE'' 1986-1991 |- |W||Pontiac Grand Am ''GT'' 1992-2005 |- |rowspan=5|GM P platform - rear-wheel drive |rowspan=5|P |- ||E||Pontiac Fiero ''Coupe'' 1985-1988 |- ||F||Pontiac Fiero ''SE'' 1985-1987 |- ||G||Pontiac Fiero ''GT'' 1985-1988 |- ||M||Pontiac Fiero ''Sport coupe'' 1985-1987 |- |rowspan=1|GM P platform - front-wheel drive |rowspan=1|P||X||General Motors EV1 1997, 1999 |- |rowspan=6|GM R platform |rowspan=6|R |- ||F||1985-1986 Chevrolet Spectrum |- ||F||1987-1988 Chevrolet Spectrum 3-door hatchback, 1989 Geo Spectrum 3-door hatchback |- ||F||1990-1993 Geo Storm |- ||G||1987-1988 Chevrolet Spectrum 4-door sedan, 1989 Geo Spectrum 4-door sedan |- ||T||1990-1993 Geo Storm GSi |- |rowspan=8|GM S platform |rowspan=8|S||K||1985-1988 Chevrolet Nova |- |K||1989-1997 Geo Prizm, 1998-2002 Chevrolet Prizm |- |L||1988 Chevrolet Nova Twin Cam, 1990-1992 Geo Prizm GSi |- |L||2003-2008 Pontiac Vibe, 2009-2010 Pontiac Vibe FWD w/manual transmission |- |M||2003-2006 Pontiac Vibe ''AWD'', 2009-2010 Pontiac Vibe AWD w/automatic transmission |- |N||2003-2006 Pontiac Vibe ''GT'', 2009-2010 Pontiac Vibe GT FWD w/manual transmission |- |P||2009-2010 Pontiac Vibe FWD w/automatic transmission |- |R||2009-2010 Pontiac Vibe GT FWD w/automatic transmission |- |rowspan=32|GM Sigma platform |rowspan=32|D||A||Cadillac CTS Base model RWD 2010-2013, CTS Coupe Base model RWD 2014 |- |B||Cadillac CTS Wagon Luxury Collection RWD 2014 |- |C||Cadillac CTS Base model AWD 2010-2013, CTS Coupe/Wagon Performance Collection RWD 2014 |- |D||Cadillac CTS Coupe/Wagon Premium Collection RWD 2014 |- |E||Cadillac CTS Luxury Collection RWD 2010-2013, CTS Coupe Base model AWD 2014 |- |F||Cadillac CTS Auto. Trans. RWD 2008-2009, CTS Luxury Collection RWD w/Navigation 2010-2013, CTS Wagon Luxury Collection AWD 2014 |- |G||Cadillac CTS Auto. Trans. AWD 2008-2009, CTS Luxury Collection AWD 2010-2013, CTS Coupe/Wagon Performance Collection AWD 2014 |- |H||Cadillac CTS Auto. Trans. AWD w/Navigation 2008-2009, CTS Luxury Collection AWD w/Navigation 2010-2013, CTS Coupe/Wagon Premium Collection AWD 2014 |- |J||Cadillac CTS Auto. Trans. RWD w/Navigation 2008-2009, CTS Performance Collection RWD 2010-2013 |- |K||Cadillac CTS Performance Collection RWD w/Navigation 2010-2013 |- |L||Cadillac CTS Performance Collection AWD 2010-2013 |- |M||Cadillac CTS V6 2003-2004, CTS 2.8L 2005-2007, CTS Man. Trans. RWD 2008-2009, CTS Performance Collection AWD w/Navigation 2010-2013 |- |N||Cadillac CTS V-Series 2004-2007, 2009 |- |P||Cadillac CTS 3.6L 2005-2007, CTS Direct Inj. V6 Man. Trans. RWD 2008-2009, CTS Premium Collection RWD w/Navigation 2010-2013 |- |R||Cadillac CTS Direct Inj. V6 Auto. Trans. RWD 2008 |- |S||Cadillac CTS Direct Inj. V6 Auto. Trans. AWD 2008-2009, CTS Premium Collection AWD w/Navigation 2010-2013 |- |T||Cadillac CTS Direct Inj. V6 Auto. Trans. AWD w/Navigation 2008-2009 |- |U||Cadillac CTS Direct Inj. V6 Auto. Trans. RWD 2009 |- |V||Cadillac CTS Direct Inj. V6 Auto. Trans. RWD w/Navigation 2008-2009, CTS sedan V-Series 2010-2014, CTS Wagon V-Series 2011-2014, CTS Coupe V-Series 2011-2015 |- |0||Cadillac CTS Sport Appearance Pkg. 2010 |- |1||Cadillac CTS Eco Luxury Pkg. 2010 |- |2||Cadillac CTS Sport Appearance Pkg. 2011 |- |A||Cadillac STS V6 AWD 2008-2009 |- |B||Cadillac STS V8 AWD 2008-2009 |- |C||Cadillac STS V8 2005-2007, STS V8 RWD 2008-2009 |- |D||Cadillac STS V6 AWD w/Navigation 2008-2009 |- |K||Cadillac STS V6 RWD w/Navigation 2008-2009 |- |L||Cadillac STS V8 AWD w/Navigation 2008-2009 |- |U||Cadillac STS (all models) 2010, STS (Base model) 2011 |- |W||Cadillac STS V6 2005-2007, STS V6 RWD 2008-2009, STS Luxury 2011 |- |X||Cadillac STS V-Series 2006-2009, STS Luxury Performance 2011 |- |Z||Cadillac STS V8 RWD w/Navigation 2008-2009 |- |rowspan=4|GM T platform - rear-wheel drive |rowspan=4|T||B|| 1985-1987 Chevrolet Chevette CS |- |B||1985-1987 Pontiac Acadian (Canada only) |- |J||1985 Pontiac Acadian Scooter (Canada only) |- |L||1985-1987 Pontiac 1000 |- |rowspan=4|GM T platform - front-wheel drive |rowspan=4|T||N|| Pontiac LeMans 1988, LeMans LE 1989-1991, LeMans SE 1992-1993 |- |R||1988-1989 Pontiac LeMans SE sedan |- |S||1988-1990 Pontiac LeMans GSE AeroCoupe |- |X||1988-1993 Pontiac LeMans VL AeroCoupe |- |rowspan=3|GM T platform - front-wheel drive |rowspan=3|A |- |R||Saturn Astra XE (US: 2008, Canada: 2008-2009) |- |T||Saturn Astra XR (US: 2008, Canada: 2008-2009) |- |rowspan=4|Daewoo T200 platform |rowspan=4|T||D||Chevrolet Aveo Special Value 2004-2008, Base model 2004, LS 2005-2011, Aveo 1LT 2009-2011 |- |G||Chevrolet Aveo LT 2005-2008, Aveo 2LT 2009-2011 |- |J||Chevrolet Aveo LS 2004 |- |D||Pontiac G3 2009 |- |rowspan=2|GM V platform - front-wheel drive |rowspan=2|V||R||1987-1992 Cadillac Allanté with standard removable hardtop |- |S||1990-1993 Cadillac Allanté |- |rowspan=2|GM V platform - rear-wheel drive |rowspan=2|V||R||1997-2001 Cadillac Catera |- |X||2004-2006 Pontiac GTO coupe |- |rowspan=49|GM W platform |rowspan=49|W |- |A||Chevrolet Impala ''LS'' 2010-2013, Impala Limited ''LS'' 2014-2016 |- |B||Chevrolet Impala ''LS'' 2006-2009, Impala ''LT'' 2010-2013, Impala Limited ''LT'' 2014-2016 |- |C||Chevrolet Impala ''LT'' 3.9L 2006-2009, Impala ''LTZ'' 2010-2013, Impala Limited ''LTZ'' 2014-2016 |- |D||Chevrolet Impala ''SS'' 2006-2009, Impala ''Police'' 2010-2013, Impala Limited ''Police'' 2014-2016 |- |E||Chevrolet Impala ''Taxi'' 2010-2012 |- |F||Chevrolet Impala 2000-2005, Impala ''LS'' Fleet (1FL) 2011-2013 |- |G||Chevrolet Impala ''LT'' Fleet (2FL) 2011-2013 |- |H||Chevrolet Impala ''LS'' 2000-2005 |- |J||Chevrolet Monte Carlo ''LS'' 2006-2007 |- |K||Chevrolet Monte Carlo ''LT'' 3.9L 2006, Monte Carlo ''LT'' 3.5L 2007 |- |L||Chevrolet Lumina 1990-2001, Lumina ''LS'' 1997-1999 |- |L||Chevrolet Monte Carlo ''SS'' 2006-2007 |- |M||Chevrolet Monte Carlo ''LT'' 3.5L 2006 |- |N||Chevrolet Lumina ''Euro'' 1990-1994, Lumina ''LS'' 1995-1996, Lumina ''LTZ'' 1997-1999 |- |N||Chevrolet Monte Carlo ''LTZ'' 2006 |- |P||Chevrolet Lumina ''Z34'' 1991-1994, Impala ''SS'' 2004-2005 |- |S||Chevrolet Impala ''Police'' 2006-2009 |- |T||Chevrolet Impala ''LT'' 3.5L 2006-2009 |- |U||Chevrolet Impala ''LTZ'' 2006-2009 |- |V||Chevrolet Impala ''50th Anniversary Edition'' 2008 |- |W||Chevrolet Monte Carlo ''LS'' 1995-2005 |- |X||Chevrolet Monte Carlo ''Z34'' 1995-1999, Monte Carlo ''SS'' 2000-2004, Monte Carlo ''LT'' 2005 |- |Z||Chevrolet Monte Carlo ''SS Supercharged'' 2004-2005 |- |C||Pontiac Grand Prix ''GXP'' 2005-2008 |- |H||Pontiac Grand Prix ''LE'' 1991-1993 |- |J||Pontiac Grand Prix 1988-1989, Grand Prix ''LE'' 1990, Grand Prix ''SE'' 1991-2000 |- |K||Pontiac Grand Prix ''LE'' 1988-1989, Grand Prix ''SE1'' 2000-2003 |- |P||Pontiac Grand Prix ''SE'' 1988-1990, Grand Prix ''GT'' 1991-1993, 1997-2003,<br /> Grand Prix ''GT1'' 2004, Grand Prix 2005-2008 |- |R||Pontiac Grand Prix ''GTP'' 1999-2005, Grand Prix ''GT'' 2006-2007 |- |S||Pontiac Grand Prix ''GT2'' 2004, Grand Prix ''GT'' 2005 |- |T||Pontiac Grand Prix ''STE'' 1990-1993 |- |H||Oldsmobile Cutlass Supreme 1988-1991, Cutlass Supreme ''S'' 1992-1994,<br /> Cutlass Supreme ''SL'' 1995-1997, Intrigue 1998, Intrigue ''GX'' 1999-2002 |- |R||Oldsmobile Cutlass Supreme ''International Series'' 1988-1993 |- |S||Oldsmobile Cutlass Supreme ''SL'' 1988-1991, Intrigue ''GL'' 1998-2002 |- |T||Oldsmobile Cutlass Supreme Convertible 1990-1995 |- |X||Oldsmobile Intrigue ''GLS'' 1998-2002 |- |B||Buick Regal ''Custom'' 1988-1996, Regal ''GS'' Coupe 1995-1996, Regal ''LS'' 1997-2004 |- |C||Buick Lacrosse ''CX'' 2005-2009 |- |D||Buick Regal ''Limited'' 1988-1996, Lacrosse ''CXL'' 2005-2009 |- |E||Buick Lacrosse ''CXS'' 2005-2008 |- |F||Buick Regal ''GS'' Coupe 1992-1994, Regal ''GS'' Sedan 1992-2004 |- |F||Buick Allure ''CX'' 2005-2009 (Canada only) |- |H||Buick Allure ''CXS'' 2005-2008 (Canada only) |- |J||Buick Allure ''CXL'' 2005-2009 (Canada only) |- |N||Buick Lacrosse ''Super'' 2008-2009 |- |P||Buick Allure ''Super'' 2008-2009 (Canada only) |- |S||Buick Century ''Custom'' 1997-2005 |- |Y||Buick Century ''Limited'' 1997-2002 |- |rowspan=3|GM X platform |rowspan=3|X||B||1985 Buick Skylark Custom |- |C||1985 Buick Skylark Limited |- |X||1985 Chevrolet Citation II |- |rowspan=39|GM Y platform |rowspan=39|Y||V||2004-2009 Cadillac XLR |- |X||2006-2009 Cadillac XLR V-Series |- |Y||1985-2008 Chevrolet Corvette (all models except '90-'95 ZR-1) |- |Z||1990-1995 Chevrolet Corvette ZR-1 |- |G||2009 Chevrolet Corvette GT1 Championship Edition (Base & Z06) |- |R||2009 Chevrolet Corvette ZR1 (after early production) |- |Y||2009 Chevrolet Corvette (Base model, Early production Z06, Early production ZR1) |- |Z||2009 Chevrolet Corvette Z06 (after early production) |- |A||2010-2013 Chevrolet Corvette Standard 1LT Man. Trans. |- |B||2010-2013 Chevrolet Corvette Preferred 2LT Man. Trans. |- |C||2010-2013 Chevrolet Corvette Premium 3LT Man. Trans. |- |D||2010-2013 Chevrolet Corvette Custom 4LT Man. Trans. |- |E||2010-2013 Chevrolet Corvette Standard 1LT Auto. Trans. |- |F||2010-2013 Chevrolet Corvette Preferred 2LT Auto. Trans. |- |G||2010-2013 Chevrolet Corvette Premium 3LT Auto. Trans. |- |H||2010-2013 Chevrolet Corvette Custom 4LT Auto. Trans. |- |J||2010-2013 Chevrolet Corvette Z06 Standard 1LZ Man. Trans. |- |K||2010-2013 Chevrolet Corvette Z06 Premium 2LZ Man. Trans. |- |L||2010-2013 Chevrolet Corvette Z06 Custom 3LZ Man. Trans. |- |M||2010-2013 Chevrolet Corvette ZR1 Standard 1ZR Man. Trans. |- |N||2010-2013 Chevrolet Corvette ZR1 Custom 3ZR Man. Trans. |- |P||2010-2013 Chevrolet Corvette Grand Sport Standard 1LT Man. Trans. |- |R||2010-2013 Chevrolet Corvette Grand Sport Preferred 2LT Man. Trans. |- |S||2010-2013 Chevrolet Corvette Grand Sport Premium 3LT Man. Trans. |- |T||2010-2013 Chevrolet Corvette Grand Sport Custom 4LT Man. Trans. |- |U||2010-2013 Chevrolet Corvette Grand Sport Standard 1LT Auto. Trans. |- |V||2010-2013 Chevrolet Corvette Grand Sport Preferred 2LT Auto. Trans. |- |W||2010-2013 Chevrolet Corvette Grand Sport Premium 3LT Auto. Trans. |- |X||2010-2013 Chevrolet Corvette Grand Sport Custom 4LT Auto. Trans. |- |Y||2013 Chevrolet Corvette 427 Convertible Collector Edition Premium 3LT Man. Trans. |- |Z||2013 Chevrolet Corvette 427 Convertible Collector Edition Custom 4LT Man. Trans. |- |1||2013 Chevrolet Corvette 60th Anniversary Edition Custom 4LT Man. Trans. |- |2||2013 Chevrolet Corvette 60th Anniversary Edition Custom 4LT Auto. Trans. |- |3||2013 Chevrolet Corvette Grand Sport 60th Anniversary Edition Custom 4LT Man. Trans. |- |4||2013 Chevrolet Corvette Grand Sport 60th Anniversary Edition Custom 4LT Auto. Trans. |- |5||2013 Chevrolet Corvette Z06 60th Anniversary Edition Custom 3LZ Man. Trans. |- |6||2013 Chevrolet Corvette ZR1 60th Anniversary Edition Custom 3ZR Man. Trans. |- |7||2013 Chevrolet Corvette 427 Convertible 60th Anniversary Edition Custom 4LT Man. Trans. |- |8||2013 Chevrolet Corvette 427 Convertible Collector Edition Preferred 2LT Man. Trans. |- |rowspan=13|GM Z platform |rowspan=13|Z |- |E||Saturn SC1 (manual transmission 2-Door) 1993-1999 |- |F||Saturn SC1 (automatic transmission 2-Door) 1993-1999, SL (manual transmission) 1991-02 |- |G||Saturn SC (manual transmission) 1991-1992, SC2 (manual transmission 2-Door) 1993-99,<br /> SL1 (manual transmission) 1991-2002, SW1 (manual transmission) 1993-1999 |- |H||Saturn SC (automatic transmission) 1991-92, SC2 (automatic transmission 2-Door) '93-'99,<br /> SL1 (automatic transmission) 1991-02, SW1 (automatic transmission LHD) '93-'99 |- |J||Saturn SL2 (manual transmission) 1991-2002, SW2 (manual transmission) 1993-2001 |- |K||Saturn SL2 (automatic transmission) 1991-2002, SW2 (automatic transmission 1993-1999) |- |M||Saturn SW1 "Postal" [SWP] (automatic transmission RHD) 1999-2001 <br>(Made for US Postal Service rural route mail carriers) |- |N||Saturn SC1 (manual transmission 3-Door) 1999-2002, SW2 (automatic transmission 2000-01) |- |P||Saturn SC1 (automatic transmission 3-Door) 1999-2002 |- |R||Saturn SC2 (manual transmission 3-Door) 1999-2002 |- |S||Saturn SL Spring Special 2002 |- |Y||Saturn SC2 (automatic transmission 3-Door) 1999-2002 |- |rowspan=3|GM Zeta platform (VE) |rowspan=3|E||C||Pontiac G8 GT |- |P||Pontiac G8 GXP |- |R||Pontiac G8 (Base model) |- |rowspan=2|GM Zeta platform (VF) |rowspan=2|F||1||2014-2017 Chevrolet SS w/automatic transmission |- |2||2015-2017 Chevrolet SS w/manual transmission |- |GM Zeta platform (WM) |M||K||2011-2013 Chevrolet Caprice PPV |- |GM Zeta platform (WN) |N||S||2014-2017 Chevrolet Caprice PPV |- |rowspan=19|GM Zeta platform (models formerly on F platform) |rowspan=19|F||A||Chevrolet Camaro ''LS'' automatic transmission 2010-2011, ''2LS'' automatic transmission 2012-2014, ''LS'' manual transmission 2015 |- |B||Chevrolet Camaro ''LT'' automatic transmission 2010-2014, ''2LS'' automatic transmission 2015 |- |C||Chevrolet Camaro ''2LT'' automatic transmission 2010-2014, ''LT'' manual transmission 2015 |- |D||Chevrolet Camaro ''LT'' automatic transmission 2015 |- |E||Chevrolet Camaro ''LS'' manual transmission 2010-2014, ''2LT'' manual transmission 2015 |- |F||Chevrolet Camaro ''LT'' manual transmission 2010-2014, ''2LT'' automatic transmission 2015 |- |G||Chevrolet Camaro ''2LT'' manual transmission 2010-2014, ''SS'' manual transmission 2015 |- |H||Chevrolet Camaro ''SS'' automatic transmission 2015 |- |J||Chevrolet Camaro ''SS'' automatic transmission 2010-2014. Note: Must have "J" in 8th position of VIN. |- |J||Chevrolet Camaro ''ZL1'' automatic transmission 2012. Note: Must have "P" in 8th position of VIN. |- |J||Chevrolet Camaro ''2SS'' manual transmission 2015 |- |K||Chevrolet Camaro ''2SS'' automatic transmission 2010-2015 |- |L||Chevrolet Camaro ''ZL1'' automatic transmission 2013-2014, ''ZL1'' manual transmission 2015 |- |M||Chevrolet Camaro ''ZL1'' automatic transmission 2015 |- |S||Chevrolet Camaro ''SS'' manual transmission 2010-2014. Note: Must have "W" in 8th position of VIN. |- |S||Chevrolet Camaro ''ZL1'' manual transmission 2012. Note: Must have "P" in 8th position of VIN. |- |S||Chevrolet Camaro ''Z/28'' manual transmission 2014. Note: Must have "E" in 8th position of VIN. |- |T||Chevrolet Camaro ''2SS'' manual transmission 2010-2014 |- |Z||Chevrolet Camaro ''ZL1'' manual transmission 2013-2014, ''Z/28'' manual transmission 2015 |- |} RHD= Right-Hand Drive ====Model Line 2010- Passenger Car (Using Vehicle Platforms introduced 2010 or later)==== The Model Line is specified as character four of the American GM VIN for Passenger Cars. {| border=1 style="margin:auto;" !VIN !Description |- |A||Cadillac ATS 2013-2019 |- |A||Cadillac CTS sedan 2014-2019, CTS V-Series sedan 2016-2019 |- |B||Chevrolet Cruze 2016-2019 |- |C||Chevrolet Spark 2013-2022, Spark EV 2014-2016 |- |D||Cadillac CT4 2020-2026 |- |D||Cadillac CT5 2020- |- |F||Chevrolet Camaro 2016-2024 |- |F||Chevrolet Bolt EV 2017-2023, Bolt EUV 2022-2023, Bolt 2027 |- |G||Buick LaCrosse 2010-2016 |- |G||Buick Regal 2011-2020, Buick Regal TourX 2018-2020 |- |J||Chevrolet Sonic 2016-2020 |- |K||Cadillac CT6 2016-2020 |- |M||Cadillac Celestiq EV 2025- |- |P||Buick Verano 2012-2017 |- |P||Chevrolet Cruze 2011-2015, Cruze Limited 2016 |- |R||Cadillac ELR 2014, 2016 |- |R||Chevrolet Volt 2011-2019 |- |W||Buick Cascada 2016-2019 |- |Y||Chevrolet Corvette 2014- |- |Z||Buick LaCrosse 2017-2019 |- |Z||Chevrolet Malibu 2016-2025 |- |1||Cadillac XTS 2013-2019 |- |1||Chevrolet Impala 2014-2020 |- |1||Chevrolet Malibu 2013-2015, Malibu Limited 2016 |- |} ===Body style codes 1987- Passenger Car=== The Body type is specified as character six of the American GM VIN for passenger cars. {| border=1 style="margin:auto;" !VIN !Description |- |1||Two-Door Coupe/Sedan |- |2||Two-Door Hatchback |- |3||Two-Door Convertible |- |4||Two-Door Wagon ('91-'92 Geo Storm Hatchback) |- |5||Four-Door Sedan |- |6||Four-Door Hatchback |- |7||Four-Door Hatchback ('89-'90 Geo Prizm hatchback) |- |8||Four-Door Station Wagon |- |9||Four-Door Station Wagon - High Roof Monocab |} ===American restraint types 1987-=== The restraint type is specified as character seven of the American GM VIN for passenger cars. {{center/top}} ====Restraint codes for passenger cars 1987-2009==== {{center/end}} {| border=1 style="margin:auto;" !VIN Code !Description |- |1||Active (Manual) belts 1987-1996 |- |2||Active (Manual) belts plus driver and passenger front airbags 1992-2005<br />(For '94-'96 Pontiac Grand Prix coupe: Passive (Automatic) belts plus driver and passenger front airbags) |- |3||Active (Manual) belts plus driver side front airbag 1988-1996 <br />(For '94 Geo Prizm: Active (Manual) belts plus driver and passenger front airbags) |- |4||Passive (Automatic) belts 1987-1996 |- |4||Active (Manual) belts plus driver and passenger front & side airbags 1997-2005 |- |4||Active (Manual) belts plus driver and passenger front & side curtain airbags 2006-2009 |- |5||Passive (Automatic) belts plus driver side front airbag 1992-1996 |- |5||Active (Manual) belts plus driver and passenger front airbags & driver-side side impact airbag 2000-2005 |- |5||Active (Manual) belts plus driver and passenger front airbags & occupant sensor 2006-2009 |- |6||Passive (Automatic) belts plus driver and passenger front airbags 1994-1996 |- |6||Active (Manual) belts plus driver and passenger front & side airbags & occupant sensor 2000-2009 |- |7||Active (Manual) belt driver & Passive (Automatic) belt passenger plus driver and passenger front airbags 1996 |- |7||Active (Manual) belts plus driver and passenger front & side airbags & rear side airbags 2000-2005 |- |7||Active (Manual) belts plus driver and passenger front & side & side curtain airbags & occupant sensor 2006-2009 |- |8||Active (Manual) belts plus driver and passenger front & side curtain airbags & occupant sensor 2006-2009 |- |9|| |} {{center/top}} ====Restraint codes for passenger cars 2010-==== {{center/end}} {| border=1 style="margin:auto;" !VIN Code !Description |- |D||Active (Manual) belts plus driver and passenger front & side airbags 2010- |- |E||Active (Manual) belts plus driver and passenger front & side & side curtain airbags 2010-2017, 2027 |- |F||Active (Manual) belts plus driver and passenger front & side curtain airbags 2010 |- |G||Active (Manual) belts plus driver and passenger front & side & rear side & side curtain airbags 2010-2017 |- |N||Active (Manual) belts plus driver and passenger front & side & front knee airbags 2016-2019 |- |R||Active (Manual) belts plus driver and passenger front & side & side curtain & front knee airbags 2012- |- |S||Active (Manual) belts plus driver and passenger front & side & rear side & side curtain & front knee airbags 2011- |- |T||Active (Manual) belts plus driver and passenger front & side & front row side curtain airbags 2011 |- |U||Active (Manual) belts plus driver and passenger front & side & front row side curtain & front knee airbags 2012-2017 |} {{center/top}} ====Restraint codes for light trucks 2010-==== {{center/end}} {| border=1 style="margin:auto;" !VIN Code !Description |- |A||Active (Manual) belts plus driver-side front airbag 2010 |- |B||Active (Manual) belts plus driver-side front airbag 2011- |- |B||Active (Manual) belts plus driver and passenger front airbags 2010 |- |C||Active (Manual) belts plus driver and passenger front airbags 2011- |- |C||Active (Manual) belts plus driver and passenger front & side airbags 2010 |- |D||Active (Manual) belts plus driver and passenger front & side airbags 2011- |- |D||Active (Manual) belts plus driver and passenger front airbags & side curtain airbags for up to 3 rows of seating 2010 |- |E||Active (Manual) belts plus driver and passenger front & side & side curtain airbags 2010- |- |F||Active (Manual) belts plus driver and passenger front airbags & side curtain airbags for up to 3 rows of seating 2011-2015 |- |F||Active (Manual) belts plus driver and passenger front & side airbags & side curtain airbags for up to 3 rows of seating 2016- |- |H||Active (Manual) belts plus driver-side front airbag & driver-side side-impact airbag & driver-side side curtain airbag 2023-2024 |- |K||Active (Manual) belts plus driver and passenger front & side & side curtain & front center airbags 2013- |- |L||Active (Manual) belts plus driver and passenger front & side & side curtain & front center & driver-side knee airbags 2017-2023 |- |M||Active (Manual) belts plus driver and passenger front & side & side curtain & front center & front knee airbags 2025- |- |R||Active (Manual) belts plus driver and passenger front & side & side curtain & front knee airbags 2017- |- |S||Active (Manual) belts plus driver and passenger front & side & rear side & side curtain & front knee airbags 2013- |- |T||Active (Manual) belts plus driver-side front airbag & driver- and passenger-side side-impact airbags & side curtain airbags 2023- |- |U||Active (Manual) belts plus driver and passenger front & side & front row side curtain & front knee airbags 2013-2019 |} ===American engine codes 1981-=== GM encodes the engine type in character 8 of the VIN. The following table outlines the various engines encoded there: ====Engine codes for passenger cars==== Warning: Issues with decoding are related to year/model combinations. Each year has a different breakdown for each code along with plants and some model/trim breakdowns over years. Entry: 1985-1988 Pontiac Fiero has a 9 engine code for the 2.8L L44 V6. Entry: 1986-1990 Cadillac Brougham, Oldsmobile 307 Cu. In. V8 vin code Y. {| border=1 style="margin:auto;" !VIN !RPO !Size !Type !Fuel !Valvetrain !Engine Family/Notes/Applications |- |A||LD5||3.8&nbsp;L||V6||2 Barrel Carburetor |2BBL||OHV||Buick V6. (231 cu. in.) '81 Chevy Camaro (CA), Pontiac Catalina, Firebird, LeMans, Buick Century,<br /> '81-'83 Chevy Malibu (CA), '81-'84 Monte Carlo, Caprice, Impala (CA), '81-'87 Pontiac Grand Prix, Oldsmobile Cutlass/Cutlass Supreme, Buick Regal, '81-'85 Oldsmobile Delta 88, Buick LeSabre,<br /> '81-'86 Pontiac Bonneville, '84 Parisienne |- |A||LG0||2.3&nbsp;L||Straight-4|I4||Fuel injection#Multi-port fuel injection|MFI||DOHC,<br /> 16 valve||Oldsmobile Quad 4 H.O. '89-'94 Pontiac Grand Am, '89-'91 Oldsmobile Cutlass Calais, '92-'94 Achieva, '90 Cutlass Supreme, '90-'94 Chevy Beretta |- |A||LH2||4.6&nbsp;L||V8||Fuel injection#Sequential Multi-port injection|SFI||DOHC,<br /> 32 valve||Cadillac Northstar V8 (For RWD) (Premium V). '04-'09 Cadillac XLR, '05-'10 Cadillac STS |- |A||LCV||2.5&nbsp;L||Straight-4|I4||Direct Injection|DI||DOHC,<br /> 16 valve||GM Ecotec engine, Gen III. VVT. '13 Chevy Malibu, '16 Malibu Limited, '16-'19 Impala,<br /> '13-'16 Cadillac ATS |- |A||LV7||1.4&nbsp;L||Straight-4|I4||Fuel injection#Multi-port fuel injection|MFI||DOHC,<br /> 16 valve||GM Small Gasoline Engine. VVT. Made in Changwon, S. Korea. '16-'22 Chevy Spark. |- |B||LG2||3.8&nbsp;L||V6||Fuel injection#Sequential Multi-port injection|SFI||OHV||Buick V6. '86 Oldsmobile 98, Toronado, Buick Electra, Riviera. |- |B||L26||4.9&nbsp;L||V8||Fuel injection#Multi-port fuel injection|MFI||OHV||Cadillac High Technology V8.<br /> '91-'93 Cadillac Eldorado, Seville, '91-'95 DeVille, '91-'92 Fleetwood, '91-'93 Sixty Special |- |B||LE5||2.4&nbsp;L||Straight-4|I4||Fuel injection#Multi-port fuel injection|MFI||DOHC,<br /> 16 valve||GM Ecotec Gen II. VVT. '06-'08 Chevy Cobalt, '06-'07 Saturn Ion, '06-'10 Pontiac G6, Solstice,<br /> '07-'08 Pontiac G5, '07-'10 Saturn Sky, '08-'09 Saturn Aura, '08-'10 Chevy Malibu |- |B||LUV||1.4L||I4 Turbo||Fuel injection#Sequential Multi-port fuel injection|SFI||DOHC,<br /> 16 valve||GM Family 0 Engine, Gen III. VVT. '12-'20 Chevy Sonic, '13-'15 Chevy Cruze, '16 Cruze Limited |- |C||L17||1.6&nbsp;L||Straight-4|I4||2 Barrel Carburetor |2BBL||SOHC,<br /> 8 valve||Isuzu G161Z engine made by GM in US. '82-'87 Chevy Chevette, Pontiac T1000/1000 |- |C||LN3||3.8&nbsp;L||V6||Fuel injection#Multi-port fuel injection|MFI||OHV||Buick V6 (3800). '88-'90 Oldsmobile 98, Toronado, Buick Electra, Riviera, Reatta, <br /> '88-'91 Buick LeSabre, Oldsmobile Delta 88/Eighty Eight, Pontiac Bonneville |- |C||L47||4.0&nbsp;L||V8||Fuel injection#Sequential Multi-port injection|SFI||DOHC,<br /> 32 valve||Oldsmobile Aurora V8 (Premium V). Oldsmobile Aurora '95-'99, Aurora 4.0 '01-'03 |- |C||LS4||5.3 L||V8||Fuel injection#Sequential Multi-port injection|SFI||OHV||Gen IV Chevrolet Small-Block V8. Aluminum Block & Heads. Active Fuel Management.<br /> Transversely mounted for FWD. '05-'08 Pontiac Grand Prix GXP, '06-'07 Chevy Monte Carlo SS,<br /> '06-'09 Chevy Impala SS, '08-'09 Buick LaCrosse Super. |- |C||LAF||2.4&nbsp;L||Straight-4|I4||Direct Injection|DI||DOHC,<br /> 16 valve||GM Ecotec engine, Gen II. VVT. Buick LaCrosse '10-'11, Regal '11. |- |C||LUJ||1.4L||I4 Turbo||Fuel injection#Sequential Multi-port fuel injection|SFI||DOHC,<br /> 16 valve||GM Family 0 Engine, Gen III. VVT. Early production engines were made in Aspern, Austria; later made in Flint, MI. '12 Chevy Cruze |- |D||LJ5||1.8&nbsp;L||Straight-4|I4||Indirect injection Diesel||SOHC,<br /> 8 valve||Isuzu 4FB1 diesel engine imported from Japan. '81-'86 Chevy Chevette |- |D||LD2||2.3&nbsp;L||Straight-4|I4||Fuel injection#Multi-port fuel injection|MFI||DOHC,<br /> 16 valve||Oldsmobile Quad 4. '88-'95 Pontiac Grand Am, '88-'91 Oldsmobile Cutlass Calais, '92-'95 Achieva,<br /> '88-'91 &'95 Buick Skylark, '90-'91 Pontiac Grand Prix, Oldsmobile Cutlass Supreme,<br /> '95 Chevy Cavalier, Pontiac Sunfire |- |D||LC3||4.4&nbsp;L||V8 Supercharged||Fuel injection#Sequential Multi-port point injection|SFI||DOHC,<br /> 32 valve||Cadillac Northstar V8 (Premium V). '06-'09 Cadillac XLR V-Series, Cadillac STS V-Series |- |E||LK9||3.0&nbsp;L||V6||2 Barrel Carburetor |2BBL||OHV||Buick V6. '82-'85 Oldsmobile Cutlass Ciera, Buick Century, '85 Oldsmobile 98, Buick Electra |- |E||LA1||3.4&nbsp;L||V6||Fuel injection#Sequential Multi-port point injection|SFI||OHV||Chevrolet 60° V6. '99-'05 Grand Am, '99-'04 Alero, '00-'05 Impala, Monte Carlo |- |E||L03||5.0&nbsp;L||V8||Fuel injection#Throttle Body injection|TBI||OHV||Gen I Chevy Small-Block V8 (305 cu. in.). '88-'92 Camaro/Firebird, '89-'93 Chevy Caprice,<br /> '91 Buick Roadmaster Estate wagon, '91-'92 Oldsmobile Custom Cruiser, Cadillac Brougham. |- |E||LXV||1.6&nbsp;L||Straight-4|I4||Fuel injection#Multi-port fuel injection|MFI||DOHC,<br /> 16 valve||Family 1 Gen 3 engine. W/VVT. '09-'11 Chevy Aveo, '09 Pontiac G3 |- |E||LS7||7.0&nbsp;L||V8||Fuel injection#Sequential Multi-port point injection|SFI||OHV||Gen IV Chevy Small-Block V8. Aluminum Block & Heads.<br /> '06-'13 Corvette Z06, '13 Corvette 427, '14-'15 Camaro Z/28 |- |E||LH7||1.6&nbsp;L||I4 Turbo||Direct injection <br /> Common-rail Diesel||DOHC,<br /> 16 valve||GM Medium Diesel engine ("Whisper Diesel"). Made by Opel in Szentgotthárd, Hungary.<br /> Aluminum Block & Heads. '17-'19 Chevy Cruze Diesel. |- |F||LV8||4.3&nbsp;L||V8||2 Barrel Carburetor |2BBL||OHV||Oldsmobile "Rocket" V8 (260 cu. in.) '81 Oldsmobile Cutlass, Delta 88. |- |F||L61||2.2&nbsp;L||Straight-4|I4||Fuel injection#Multi-port fuel injection|MFI||DOHC,<br /> 16 valve||GM Ecotec Gen I. '00-'04 Saturn L-Series, '02-'05 Chevy Cavalier, Pontiac Sunfire, Grand Am,<br /> '02-'04 Oldsmobile Alero, '03-'06 Saturn Ion, '04-'06 Chevy Malibu, '05-'06 Chevy Cobalt |- |F||L61||2.2&nbsp;L||Straight-4|I4||Fuel injection#Multi-port fuel injection|MFI||DOHC,<br /> 16 valve||GM Ecotec Gen II. '07-'08 Chevy Cobalt, Malibu, Pontiac G5, '07 Saturn Ion. |- |F||LB9||5.0&nbsp;L||V8||Tuned-port fuel injection|TPI||OHV||Gen I Chevy Small-Block V8. (305 cu. in.). '85-'92 Chevy Camaro, Pontiac Firebird. |- |G||L46||1.8&nbsp;L||I4||2 Barrel Carburetor |2BBL||OHV||Chevrolet "122" engine. '82 J-cars. |- |G||L69||5.0&nbsp;L||V8||4 Barrel Quadrajet Carburetor |4BBL||OHV||Gen I Chevy Small-Block V8 (High Output 5.0L). (305 cu. in.)<br /> '84-'86 Camaro/Firebird, '84-'88 Chevy Monte Carlo SS |- |G||LM3||2.2&nbsp;L||I4||Fuel injection#Throttle Body injection|TBI||OHV||Chevrolet "122" engine. '90-'91 Chevy Cavalier & Corsica/Beretta. |- |G||LS1||5.7&nbsp;L||V8||Fuel injection#Multi-port fuel injection|MFI||OHV||Gen III Chevy Small-Block V8. (346 cu. in.) Aluminum Block & Heads.<br /> '97-'04 Corvette, '98-'02 Camaro/Firebird, '04 Pontiac GTO |- |G||LF1||3.0L||V6||Direct Injection|DI||DOHC,<br /> 24 valve||GM High Feature V6. VVT. 2010 Buick LaCrosse, Cadillac CTS |- |G||LWE||1.8&nbsp;L||Straight-4|I4||Fuel injection#Sequential Multi-port fuel injection|SFI||DOHC,<br /> 16 valve||GM Family 1 engine, Gen III. VVT. PZEV emissions.<br /> '13-'15 Chevy Cruze, '16 Cruze Limited, '13-'18 Sonic. |- |H||LG4||5.0&nbsp;L||V8||4 Barrel Quadrajet Carburetor |4BBL||OHV||Gen I Chevy Small-Block V8. (305 cu. in.) '81-'87 F-bodies, '81-'83 Chevy Malibu, '81-'85 Impala,<br /> '81-'88 Caprice, Monte Carlo, '83-'86 Pontiac Bonneville, Parisienne, '83-'87 Grand Prix |- |H||LE4||2.0&nbsp;L||Straight-4|I4||Fuel injection#Multi-port fuel injection|MFI||SOHC,<br /> 8 valve||GM Family II engine. Made in Brazil. '92-'94 Pontiac Sunbird. |- |H||LX5||3.5&nbsp;L||V6||Fuel injection#Sequential Multi-port injection|SFI||DOHC,<br /> 24 valve||Oldsmobile "Shortstar" V6 (Premium V). Oldsmobile Intrigue '99-'02, Aurora 3.5 '01-'02. |- |H||LAP||2.2&nbsp;L||Straight-4|I4||Fuel injection#Multi-port fuel injection|MFI||DOHC,<br /> 16 valve||GM Ecotec Gen II. VVT. '09 Chevy Cobalt, Pontiac G5. |- |H||LUW||1.8&nbsp;L||Straight-4|I4||Fuel injection#Sequential Multi-port fuel injection|SFI||DOHC,<br /> 16 valve||GM Family 1 engine, Gen III. VVT. '11-'15 Chevy Cruze, '16 Cruze Limited, '12-'18 Sonic. |- |J||L39||4.4&nbsp;L||V8||2 Barrel Carburetor |2BBL||OHV||Gen I Chevy Small-Block V8 (267 cu. in.) '81-'82 Chevy Caprice, Impala, Malibu, Monte Carlo,<br /> '81 Chevy Camaro |- |J||LA5||1.8&nbsp;L||Straight-4|I4 Turbo||Fuel injection#Multi-port fuel injection|MFI||SOHC,<br /> 8 valve||GM Family II engine. Made in Brazil. '84-'86 Pontiac Sunbird, Buick Skyhawk. |- |J||LT5||5.7&nbsp;L||V8||Fuel injection#Multi-port fuel injection|MFI||DOHC,<br /> 32 valve||Based on Chevy Small-Block V8. Designed with Lotus Engineering.<br /> Made by Mercury Marine. Aluminum Block & Heads. '90-'95 Corvette ZR-1 |- |J||LG8||3.1&nbsp;L||V6||Fuel injection#Sequential Multi-port injection|SFI||OHV||Chevrolet 60° V6. Gen III. 3100. '99-'03 Chevy Malibu, '99 Oldsmobile Cutlass, '00-'01 Chevy Lumina,<br /> '00-'03 Pontiac Grand Prix SE, '00-'05 Buick Century |- |J||L99||6.2&nbsp;L||V8||Fuel injection#Sequential Multi-port injection|SFI||OHV||Gen IV Chevy Small-Block V8. VVT. With Active Fuel Management. Aluminum Block & Heads.<br /> '10-'15 Camaro SS (auto. trans.) |- |J||LTA||4.2&nbsp;L||V8 Twin Turbo||Direct injection|DI||DOHC,<br /> 32 valve||Cadillac Blackwing V8. VVT. '19-'20 Cadillac CT6 Platinum & V-series |- |K||LC3||3.8&nbsp;L||V6||2 Barrel Carburetor |2BBL||OHV||Chevrolet 90° V6 (Chevy Small-Block V8 Derived). 229 cu. in. <br /> '81-'82 Malibu, Monte Carlo, Impala, Caprice, '81 Camaro. |- |K||LC5||1.5&nbsp;L||I4||2 Barrel Carburetor |2BBL||SOHC,<br /> 8 valve||Isuzu 4XC1 engine. '85 Chevrolet Spectrum. |- |K||LT2||2.0&nbsp;L||Straight-4|I4||Fuel injection#Throttle Body injection|TBI||SOHC,<br /> 8 valve||GM Family II engine. Made in Brazil.<br /> '87-'91 Pontiac Sunbird, '87-'88 Oldsmobile Firenza, Buick Skyhawk. |- |K||LT2||2.0&nbsp;L||Straight-4|I4||Fuel injection#Throttle Body injection|TBI||SOHC,<br /> 8 valve||GM Family II engine. Made in Australia by Holden.<br /> '89-'90 Pontiac LeMans GSE Aerocoupe, '89 LeMans SE sedan |- |K||L36||3.8&nbsp;L||V6||Fuel injection#Sequential Multi-port injection|SFI||OHV||Buick V6 (3800 Series II). '95-'05: Various W-, H-, C-, & G-body models. '95-'02 Camaro/Firebird. |- |K||LZE||3.5L||V6||Fuel injection#Sequential Multi-port injection|SFI||OHV||GM High Value 60° V6. 3510cc. VVT. Flex-Fuel E85 compatible.<br /> '06-'07 Chevy Monte Carlo, '06-'11 Chevy Impala, '09-'10 Chevy Malibu, Pontiac G6 |- |K||LEA||2.4&nbsp;L||Straight-4|I4||Direct Injection|DI||DOHC,<br /> 16 valve||E85 Flex Fuel. GM Ecotec engine, Gen II. VVT. Buick Regal, Verano '12-'17 (except '13 Regal). |- |K||LSY||2.0&nbsp;L||Straight-4|I4 Turbo||Direct Injection|DI||DOHC,<br /> 16 valve||GM Ecotec engine, Gen III. Active Fuel Management. VVT. VVL.<br /> '19 Cadillac CT6, '20+ Cadillac CT4, CT5 |- |L||LM1||5.7&nbsp;L||V8||4 Barrel Carburetor |4BBL||OHV||Gen I Chevy Small-Block V8.<br> '81 Camaro Z28 (only w/auto. trans. in US), '81-'82 Impala 9C1 Police, '81 Malibu 9C1 Police |- |L||LL1||2.8&nbsp;L||V6||2 Barrel Carburetor |2BBL||OHV||Chevrolet 60° V6 H.O. (longitudinally mounted). '83-'84 Pontiac Firebird. |- |L||LN7||3.0&nbsp;L||V6||Fuel injection#Multi-port fuel injection|MFI||OHV||Buick V6. '85-'87 Pontiac Grand Am, '85-'88 Oldsmobile & Buick N-bodies,<br /> '86 Oldsmobile Delta 88, Buick LeSabre |- |L||L27||3.8&nbsp;L||V6||Fuel injection#Tuned port injection|TPI||OHV||Buick V6 (3800 Series I). '90-'95 Buick Regal, '91-'94 Oldsmobile 98, Buick Park Avenue, '91 Reatta, '91-'93 Riviera, '91-'92 Oldsmobile Toronado, '92-'95 Buick LeSabre, '92-'94 Pontiac Bonneville, Oldsmobile 88 |- |L||LNK||1.8&nbsp;L||Straight-4|I4||Fuel injection#Sequential multi-port injection|SFI||DOHC,<br /> 16 valve||Toyota 2ZZ-GE engine. VVTL-i. '03-'06 Pontiac Vibe GT |- |L||LKW||2.5&nbsp;L||Straight-4|I4||Direct Injection|DI||DOHC,<br /> 16 valve||GM Ecotec engine, Gen III. VVT. VVL. '14-'15 Chevy Malibu, Impala |- |L||L3B||2.7L||I4 Turbo||Direct Injection|DI||DOHC,<br /> 16 valve||GM L3B Tripower engine. VVT, VVL. Active Fuel Management. '20+ Cadillac CT4, CT4-V |- |M||LY9||1.0&nbsp;L||Straight-3|I3||2BBL||SOHC,<br /> 6 valve ||Suzuki G10A engine. '85 Chevrolet Sprint |- |M||LT3||2.0&nbsp;L||Straight-4|I4 Turbo||Fuel injection#Multi-port fuel injection|MFI||SOHC,<br /> 8 valve||GM Family II engine. Made in Brazil.<br /> '87-'90 Pontiac Sunbird, '87 Buick Skyhawk T-Type, '87-'89 Pontiac Grand Am SE. |- |M||L82||3.1&nbsp;L||V6||Fuel injection#Sequential Multi Port Fuel injection|SFI||OHV||Chevrolet 60° V6 (transversely mounted). Gen III. 3100. '93-'97 Oldsmobile Cutlass Supreme,<br /> '94-'98 Pontiac Grand Am, Oldsmobile Achieva, Buick Skylark, '94-'99 Pontiac Grand Prix,<br /> '94-'96 Chevy Corsica/Beretta, Oldsmobile Cutlass Ciera, Buick Regal, '94-'99 Century,<br /> '95-'99 Chevy Lumina, Monte Carlo, '97-'99 Chevy Malibu, Oldsmobile Cutlass |- |M||LY9||2.6&nbsp;L||V6||Fuel injection#Multi-port fuel injection|MFI||DOHC,<br /> 24 valve||Opel 54° V6 engine (Made in the UK). Euro-market Cadillac CTS '03-'04. |- |M||LGD||3.9L||V6||Fuel injection#Sequential Multi Port Fuel injection|SFI||OHV||E85 Flex Fuel. GM High Value 60° V6. VVT. '09-'11 Chevy Impala, Buick Lucerne |- |M||LE2||1.4&nbsp;L||Straight-4|I4 Turbo||Direct Injection|DI||DOHC,<br /> 16 valve||GM Small Gasoline Engine. VVT. '16-'19 Chevy Cruze. |- |N||LF9||5.7&nbsp;L||V8||Indirect injection Diesel||OHV||Oldsmobile Diesel V8. '81-'85 Chevy Caprice, Impala, '82-'83 Malibu, '82-'84 Monte Carlo,<br /> '81-'84 Pontiac Grand Prix, Bonneville, '81 Catalina, '83-'85 Parisienne,<br /> '81-'84 Oldsmobile 98, '81-'85 Cutlass/Cutlass Supreme, Delta 88, Custom Cruiser, Toronado,<br /> '81-'83 Buick Electra, '81-'85 LeSabre, Electra Estate wagon, Riviera, '82-'83 Regal,<br /> '81-'84 Cadillac DeVille, '81-'85 Fleetwood Brougham, Eldorado, Seville |- |N||LG7||3.3&nbsp;L||V6||Fuel injection#Multi-port fuel injection|MFI||OHV||Buick V6 (3300). '89-'93 Buick Century, Skylark, Oldsmobile Cutlass Ciera, '89-'91 Cutlass Calais,<br /> '92-'93 Achieva, Pontiac Grand Am. |- |N||LA3||3.2&nbsp;L||V6||Fuel injection#Multi-port fuel injection|MFI||DOHC,<br /> 24 valve||Opel 54° V6 engine (Made in the UK). '03-'04 Cadillac CTS |- |N||LZ4||3.5L||V6||Fuel injection#Sequential Multi-port injection|SFI||OHV||GM High Value 60° V6. 3510cc. VVT. '06-'07 Chevy Monte Carlo, '06-'10 Chevy Impala,<br /> '07-'10 Chevy Malibu, Pontiac G6, '07-'08 Saturn Aura |- |N||LFR||3.6L||V6||Fuel injection#Multi-port fuel injection|MFI||DOHC,<br /> 24 valve||(Bi-Fuel Gas/CNG). GM High Feature V6. '15-'17 Chevy Impala Bi-Fuel |- |P||LQ5||2.0&nbsp;L||I4||Fuel injection#Throttle Body injection|TBI||OHV||Chevrolet "122" engine. '83-'86 J-cars ('83-'84 for Pontiac). |- |P||LT1||5.7&nbsp;L||V8||Fuel injection#Sequential Multi-port injection|SFI||OHV||Gen II Chevy Small-Block V8. Aluminum Heads: '92-'96 Corvette, '93-'97 Camaro/Firebird.<br /> Iron Heads: '94-'96 Chevy Caprice, Impala SS, Buick Roadmaster, Cadillac Fleetwood. |- |P||LSJ||2.0&nbsp;L||SC Straight-4|I4 Supercharged||Fuel injection#Sequential central point injection|SFI||DOHC,<br /> 16 valve||GM Ecotec Gen I. Made by Opel in Kaiserslautern, Germany.<br /> '04-'07 Saturn Ion Red Line, '05-'07 Chevy Cobalt SS Supercharged. |- |P||LSA||6.2&nbsp;L||V8 Supercharged||Fuel injection#Sequential Multi-port injection|SFI||OHV||Gen IV Chevy Small-Block V8. Aluminum Block & Heads.<br /> Cadillac CTS V-Series '09-'15, Camaro ZL1 '12-'15 |- |P||LF4||3.6L||V6 Twin Turbo||Direct Injection|DI||DOHC,<br /> 24 valve||GM High Feature V6. Cadillac CT4-V Blackwing '22+ |- |R||LR8||2.5L||I4||Fuel injection#Throttle Body injection|TBI||OHV||Pontiac Iron Duke/Tech IV engine. Transversely mounted. '82-'85 Chevy Citation, Buick Skylark,<br /> '82-'84 Pontiac Phoenix, Oldsmobile Omega, '82-'90 Chevy Celebrity, '82-'91 Pontiac 6000,<br /> '82-'92 Oldsmobile Cutlass Ciera, Buick Century, '84-'88 Pontiac Fiero, '90-'92 Chevy Lumina |- |R||L81||3.0&nbsp;L||V6||Fuel injection#Multi-port fuel injection|MFI||DOHC,<br /> 24 valve||Opel 54° V6 engine (Made in the UK). '97-'01 Cadillac Catera, '00-'05 Saturn L-Series |- |R||LZ8||3.9L||V6||Fuel injection#Sequential Multi Port Fuel injection|SFI||OHV||GM High Value 60° V6. VVT. Active Fuel Management. '07 Chevy Impala |- |R||LS9||6.2&nbsp;L||V8 Supercharged||Fuel injection#Sequential Multi-port injection|SFI||OHV||Gen IV Chevy Small-Block V8. Aluminum Block & Heads. '09 Corvette ZR1. |- |R||LUK||2.4L||I4||Direct Injection|DI||DOHC,<br /> 16 valve||Mild Hybrid. GM Ecotec Gen II. VVT. '12-'16 Buick LaCrosse eAssist, Regal eAssist,<br /> '13-'14 Chevy Malibu Eco, '14 Chevy Impala Eco |- |S||LS5||4.3&nbsp;L||V8||2 Barrel Carburetor |2BBL||OHV||Pontiac V8. 265 cu. in.<br /> '81 Pontiac Bonneville, Catalina, Firebird, Grand Prix, LeMans, Buick Century, Regal. |- |S||LU5||5.0&nbsp;L||V8||Cross-Fire fuel injection|CFI||OHV||Gen I Chevy Small-Block V8. (305 cu. in.) '83 Camaro, Firebird. Dual throttle-body fuel injection. |- |S||LB8||2.8&nbsp;L||V6||Fuel injection#Multi Port Fuel injection|MPFi||OHV||Chevrolet 60° V6 (longitudinally mounted). '85-'89 Chevy Camaro, Pontiac Firebird. |- |S||L32||3.4&nbsp;L||V6||Fuel injection#Multi Port Fuel injection|MPFi||OHV||Chevrolet 60° V6 (longitudinally mounted). '93-'95 Chevy Camaro, Pontiac Firebird. |- |S||LS6||5.7&nbsp;L||V8||Fuel injection#Sequential Multi Port injection|SFI||OHV||Gen III Chevy Small-Block V8. (346 cu. in.) Aluminum Block & Heads.<br /> '01-'04 Corvette Z06, '04-'05 Cadillac CTS V-Series |- |S||LGX||3.6L||V6||Direct Injection|DI||DOHC,<br /> 24 valve||GM High Feature V6, 4th gen. VVT. Active Fuel Management. '16-'19 Cadillac ATS, CTS, '16-'20 CT6, '16-'24 Chevrolet Camaro, '17-'19 Buick LaCrosse, '18–'20 Buick Regal GS |- |T||LU8||4.9&nbsp;L||V8 Turbo||4 Barrel Carburetor |4BBL||OHV||Pontiac V8. 301 cu. in. '81 Pontiac Firebird Formula & Trans Am. |- |T||LT7||4.3&nbsp;L||V6||Indirect injection Diesel||OHV||Oldsmobile Diesel V6. FWD version for '82-'85 GM A-bodies. |- |T||LS2||4.3&nbsp;L||V6||Indirect injection Diesel||OHV||Oldsmobile Diesel V6. FWD version for '85 GM C-bodies. |- |T||LH0||3.1&nbsp;L||V6||Fuel injection#Multi Port Fuel injection|MPFi||OHV||Chevrolet 60° V6 (longitudinally mounted). '90-'92 Chevy Camaro, Pontiac Firebird. |- |T||LH0||3.1&nbsp;L||V6||Fuel injection#Multi Port Fuel injection|MPFi||OHV||Chevrolet 60° V6 (transversely mounted). Gen II. '88-'91 Pontiac 6000,<br /> '89-'93 Grand Prix, Oldsmobile Cutlass Supreme, Buick Regal, '90-'94 Chevy Cavalier, Lumina,<br /> '91-'94 Pontiac Sunbird, '90-'93 Chevy Corsica/Beretta, '90 Celebrity |- |T||LD9||2.4&nbsp;L||Straight-4|I4||Fuel injection#Sequential Multi-port injection|SFI||DOHC,<br /> 16 valve||Oldsmobile Quad 4 ("2.4 Twin Cam"). '96-'01 Pontiac Grand Am, '96-'97 Oldsmobile Achieva, Buick Skylark, '99-'01 Oldsmobile Alero, '97-'99 Chevy Malibu, '96-'02 Chevy Cavalier, Pontiac Sunfire |- |T||LP1||2.8&nbsp;L||V6||Fuel injection#Sequential Multi-port injection|SFI||DOHC,<br /> 24 valve||GM High Feature V6. '05-'07 Cadillac CTS |- |T||LS9||6.2&nbsp;L||V8 Supercharged||Fuel injection#Sequential Multi-port injection|SFI||OHV||Gen IV Chevy Small-Block V8. Aluminum Block & Heads. '10-'13 Corvette ZR1. |- |T||LFV||1.5L||I4 Turbo||Direct Injection|DI||DOHC,<br /> 16 valve||GM Small Gasoline Engine. VVT. '16-'25 Chevy Malibu. |- |U||L68||2.5L||I4||Fuel injection#Throttle Body injection|TBI||OHV||Pontiac Iron Duke/Tech IV engine. Transversely mounted. '85-'91 N-bodies |- |U||LS2||6.0&nbsp;L||V8||Fuel injection#Sequential Multi-port fuel injection|SFI||OHV||Gen IV Chevy Small-Block V8. Aluminum Block & Heads.<br /> '05-'07 Corvette, '05-'06 Pontiac GTO, '06-'07 Cadillac CTS V-Series |- |U||LE9||2.4&nbsp;L||Straight-4|I4||Fuel injection#Multi-port fuel injection|MFI||DOHC,<br /> 16 valve||GM Ecotec Gen II. E85 Flex-Fuel. 2011-12 Chevy Malibu. |- |U||LKN||1.8L||I4||Direct Injection|DI||DOHC,<br /> 16 valve||Full Hybrid. GM Medium Gasoline Engine. VVT. Made in Szentgotthárd, Hungary.<br> '16-'19 Chevy Malibu Hybrid |- |V||LT6||4.3&nbsp;L||V6||Indirect injection Diesel||OHV||Oldsmobile Diesel V6. RWD version.<br /> '82-'83 Chevy Malibu, Monte Carlo, '82-'85 Oldsmobile Cutlass Supreme, Buick Regal |- |V||LG5||3.1&nbsp;L||V6 Turbo||Fuel injection#Multi-port fuel injection|MPFI||OHV||Chevrolet 60° V6. Gen II. Intercooled. (ASC/McLaren modified).<br /> '89-'90 Pontiac Grand Prix Turbo coupe, '90 Grand Prix STE Turbo sedan |- |V||LLT||3.6L||V6||Direct Injection|DI||DOHC,<br /> 24 valve||GM High Feature V6. '08-'11 Cadillac CTS, STS, '10-'11 Chevrolet Camaro, Buick LaCrosse |- |V||LHU||2.0&nbsp;L||Straight-4|I4 Turbo||Direct Injection|DI||DOHC,<br /> 16 valve||E85 Flex Fuel (N/A on Regal GS). GM Ecotec engine, Gen II. VVT.<br /> Buick Regal '11-'13, Verano '13-'16. |- |W||L37||4.9&nbsp;L||V8||4 Barrel Carburetor |4BBL||OHV||Pontiac V8. 301 cu. in. '81 Pontiac Firebird, LeMans Safari wagon. |- |W||LB6||2.8&nbsp;L||V6||Fuel injection#Multi-port fuel injection|MFI||OHV||Gen I/II Chevrolet 60° V6 (transversely mounted). '85 Chevy Citation, Buick Skylark,<br /> '85-'89 Chevy Cavalier, Celebrity, Pontiac 6000, '85-'88 Cadillac Cimarron,<br /> '85-'87 Oldsmobile Firenza, '86-'89 Cutlass Ciera, '87-'88 Buick Century, '87-'89 Chevy Corsica/Beretta, '88-'89 Pontiac Grand Prix, Oldsmobile Cutlass Supreme, Buick Regal |- |W||L64||3.1&nbsp;L||V6||Fuel injection#Multi-port fuel injection|MFI||OHV||Flex-fuel: Gas/M85 or Gas/E85 (2 versions). Gen II Chevrolet 60° V6. '93 Chevy Lumina VFV |- |W||L99||4.3&nbsp;L||V8||Fuel injection#Sequential Multi-port injection|SFI||OHV||Gen II Chevy Small-Block V8. '94-'96 Chevy Caprice. |- |W||LS3||6.2&nbsp;L||V8||Fuel injection#Sequential Multi-port injection|SFI||OHV||Gen IV Chevy Small-Block V8. Aluminum Block & Heads.<br /> '08-'13 Corvette, '10-'15 Camaro SS (man. trans.), '09 Pontiac G8 GXP, '14-'17 Chevy SS |- |W||LGY||3.0L||V6 Twin Turbo||Direct Injection|DI||DOHC,<br /> 24 valve||GM High Feature V6, 4th gen. VVT. Active Fuel Management. '20+ Cadillac CT5, CT5-V |- |X||LE2||2.8&nbsp;L||V6||2 Barrel Carburetor |2BBL||OHV||Chevrolet 60° V6 (transversely mounted). '81-'85 Chevy Citation, Buick Skylark,<br /> '81-'84 Pontiac Phoenix, Oldsmobile Omega, '82-'86 Chevy Celebrity, Pontiac 6000,<br /> '86 Oldsmobile Cutlass Ciera, Buick Century |- |X||LQ1||3.4&nbsp;L||V6||Fuel injection#Multi-port fuel injection|MPFI||DOHC,<br /> 24 valve||Chevrolet 60° V6 ("Twin Dual Cam V6"). '91-'97 Chevy Lumina, '95-'97 Chevy Monte Carlo,<br /> '91-'96 Pontiac Grand Prix, Oldsmobile Cutlass Supreme |- |X||LNF||2.0&nbsp;L||Straight-4|I4 Turbo||Direct Injection|DI||DOHC,<br /> 16 valve||GM Ecotec engine, Gen II. VVT.<br /> '07-'10 Pontiac Solstice GXP, Saturn Sky Red Line, '08-'10 Chevy Cobalt SS Turbo. |- |X||LTG||2.0&nbsp;L||Straight-4|I4 Turbo||Direct Injection|DI||DOHC,<br /> 16 valve||GM Ecotec engine, Gen III. VVT. '13-'22 Chevy Malibu, '13-'19 Cadillac ATS, '14-'20 Buick Regal,<br /> '14-'19 Cadillac CTS, '16-'23 Chevy Camaro, '16-'18 Cadillac CT6. |- |X||LTG||2.0&nbsp;L||Straight-4|I4 Turbo||Direct Injection|DI||DOHC,<br /> 16 valve||Plug-in hybrid. GM Ecotec engine, Gen III. VVT. '17-'18 Cadillac CT6 PHEV. (VIN starts with LRE) |- |Y||LV2||5.0&nbsp;L||V8||4 Barrel Carburetor |4BBL||OHV||Oldsmobile "Rocket" V8 (307 cu. in.) '86-'90 Chevy Caprice wagon, '87 Caprice sedan (Can.),<br /> '81 Pontiac Bonneville, Catalina, '86 Parisienne, '87-'89 Safari wagon, '81-'84 Oldsmobile 98,<br /> '81-'85 Delta 88, Toronado, '81-'90 Custom Cruiser, '81 Cutlass Cruiser, '82-'87 Cutlass Supreme,<br /> '88 Cutlass Supreme Classic, '81-'84 Buick Electra, '85-'89 Electra Estate wagon,<br /> '81-'85 LeSabre, Riviera, '86-'89 LeSabre Estate wagon, '90 Estate wagon, '86-'87 Regal,<br /> '86 Cadillac Fleetwood Brougham, '87-'90 Brougham |- |Y||LD8||4.6&nbsp;L||V8||Fuel injection#Sequential Multi-port injection|SFI||DOHC,<br /> 32 valve||Cadillac Northstar V8 (Torque tuned FWD) (Premium V). '93-'02 Cadillac Eldorado,<br /> '94-'04 Cadillac Seville SLS, '94-'05 Cadillac DeVille, '06-'11 Cadillac DTS,<br /> '04-'05 Pontiac Bonneville GXP, '06-'08 Buick Lucerne |- |Y||L76||6.0&nbsp;L||V8||Fuel injection#Sequential Multi-port fuel injection|SFI||OHV||Gen IV Chevy Small-Block V8. Aluminum Block & Heads. With Active Fuel Management.<br /> '08-'09 Pontiac G8 GT. |- |Y||LF1||3.0L||V6||Direct Injection|DI||DOHC,<br /> 24 valve||GM High Feature V6. VVT. 2011 Cadillac CTS |- |Y||LF4||3.6L||V6 Twin Turbo||Direct Injection|DI||DOHC,<br /> 24 valve||GM High Feature V6. Cadillac ATS-V '16-'19 |- |Z||LH7||2.8&nbsp;L||V6||2 Barrel Carburetor |2BBL||OHV||Chevrolet 60° V6 (transversely mounted). H.O. '81-'84 Chevy Citation, '82-'84 Pontiac Phoenix, Oldsmobile Omega ES, Buick Skylark, '83-'84 Pontiac 6000 STE, '84 Chevy Celebrity |- |Z||LB4||4.3L||V6||Fuel injection#Throttle Body injection|TBI||OHV||Chevrolet 90° V6 (Chevy Small-Block V8 Derived). '85 Chevy Impala, '85-'90 Caprice,<br /> '92-'93 Caprice 9C6 taxi, '85-'88 Monte Carlo, '85-'86 Pontiac Parisienne, '86-'87 Grand Prix,<br> '86 Bonneville. |- |Z||LAT||2.4L||I4||Fuel injection#Multi-port fuel injection|MFI||DOHC,<br /> 16 valve||Mild Hybrid. GM Ecotec Gen II. VVT. '10 Chevy Malibu Hybrid |- |Z||LUZ||2.0&nbsp;L||I4 Turbo||Direct injection <br /> Common-rail Diesel||DOHC,<br /> 16 valve||GM Family B Diesel (Based on Fiat JTD engine). Made by Opel in Kaiserslautern, Germany.<br /> Iron Block, Aluminum Heads. '14-'15 Chevy Cruze Diesel. |- |1||LC1||2.8&nbsp;L||V6||2 Barrel Carburetor |2BBL||OHV||Chevrolet 60° V6 (longitudinally mounted). '82-'84 Camaro/Firebird. |- |1||LL8||2.0&nbsp;L||I4||Fuel injection#Throttle Body injection|TBI||OHV||Chevrolet "122" engine. '87-'89 Chevy/Olds/Buick J-cars & Chevy L-cars. |- |1||L67||3.8&nbsp;L||V6 Supercharged||Fuel injection#Sequential Multi-port injection|SFI||OHV||Buick V6 (3800 Supercharged Series I). '91-'95 Buick Park Avenue Ultra,<br /> '92-'95 Pontiac Bonneville, Oldsmobile 98, '95 Buick Riviera, Oldsmobile LSS |- |1||L67||3.8&nbsp;L||V6 Supercharged||Fuel injection#Sequential Multi-port injection|SFI||OHV||Buick V6 (3800 Supercharged Series II). '96-'05 Buick Park Avenue Ultra,<br /> '96-'99 Buick Riviera, Oldsmobile LSS, '96-'03 Pontiac Bonneville, '97-'03 Grand Prix,<br /> '97-'04 Buick Regal, '04-'05 Chevy Impala SS, Monte Carlo SS Supercharged |- |1||LZ9||3.9L||V6||Fuel injection#Sequential Multi-port injection|SFI||OHV||GM High Value 60° V6. VVT.<br /> '06-'07 Chevy Malibu SS, '06-'09 Pontiac G6, '06 Chevy Monte Carlo, Impala, '09-'10 Buick Lucerne |- |1||2H0||1.8&nbsp;L||Straight-4|I4||Fuel injection#Sequential Multi-port fuel injection|SFI||DOHC,<br /> 16 valve||GM Family 1 engine, Gen III. VVT. Made in Szentgotthárd, Hungary. '08 (& '09 in Canada) Saturn Astra |- |1||LE5||2.4&nbsp;L||Straight-4|I4||Fuel injection#Multi-port fuel injection|MFI||DOHC,<br /> 16 valve||GM Ecotec Gen II. VVT. '11 & some '12 Chevy Malibu w/LE5 engine. |- |2||LQ9||2.5L||I4||Fuel injection#Throttle Body injection|TBI||OHV||Pontiac Iron Duke/Tech IV engine. Longitudinally mounted. '82-'85 Camaro/Firebird. |- |2||LS3||1.0&nbsp;L||Straight-3|I3 Turbo||Fuel injection#Multi-port fuel injection|MFI||SOHC,<br /> 6 valve ||Suzuki G10T engine. '87-'88 Chevrolet Sprint Turbo |- |2||LY8||1.3&nbsp;L||Straight-4|I4||Fuel injection#Multi-port fuel injection|MFI||SOHC,<br /> 16 valve||Suzuki G13BB engine. '98-'01 Chevrolet Metro |- |2||L26||3.8&nbsp;L||V6||Fuel injection#Sequential Multi-port injection|SFI||OHV||Buick V6 (3800 Series III). '04-'08 Pontiac Grand Prix, '05-'09 Buick LaCrosse, '06-'08 Buick Lucerne |- |2||L77||6.0&nbsp;L||V8||Fuel injection#Sequential Multi-port fuel injection|SFI||OHV||Gen IV Chevy Small-Block V8. Aluminum Block & Heads. With Active Fuel Management.<br /> E85 Flex Fuel. '11-'17 Chevy Caprice PPV. |- |3||LC8||3.8&nbsp;L||V6|V6 Turbo||4 Barrel Carburetor |4BBL||OHV||Buick V6. 231 cu. in. '81-'82 Buick Regal, Riviera, '81 Chevy Monte Carlo. |- |3||LG3||3.8&nbsp;L||V6||Fuel injection#(Sequential) Multi-port injection|MFI/SFI||OHV||Buick V6. '84-'88 Oldsmobile Cutlass Ciera, Buick Century, '85 & '87 Oldsmobile 98, Buick Electra,<br /> '86-'88 Oldsmobile Delta 88, Buick LeSabre, '87 Oldsmobile Toronado, Buick Riviera,<br /> '87-'88 Pontiac Bonneville. |- |3||LW2||4.5&nbsp;L||V8||Fuel injection#Multi-port fuel injection|MFI||OHV||Cadillac High Technology V8. '90 Cadillac DeVille/Fleetwood/Sixty Special/Eldorado/Seville. |- |3||L40||2.3&nbsp;L||Straight-4|I4||Fuel injection#Multi-port fuel injection|MFI||SOHC,<br /> 8 valve||Oldsmobile Quad 4 ("Quad OHC"). '92-'94 Pontiac Grand Am, Oldsmobile Achieva, Buick Skylark |- |3||LZG||3.9L||V6||Fuel injection#Sequential Multi Port Fuel injection|SFI||OHV||E85 Flex Fuel. GM High Value 60° V6. VVT. Active Fuel Management. '08 Chevy Impala |- |3||LFX||3.6L||V6||Direct Injection|DI||DOHC,<br /> 24 valve||GM High Feature V6. VVT. E85 Flex Fuel.<br /> '12-'16 Buick LaCrosse, '12-'15 Chevrolet Camaro, Cadillac CTS, '12-'17 Chevrolet Caprice PPV,<br /> '12-'20 Chevrolet Impala, '14-'16 Chevrolet Impala Limited, '13-'15 Cadillac ATS, '13-'19 Cadillac XTS |- |3||LT6||5.5&nbsp;L||V8||Direct injection|DI||DOHC,<br /> 32 valve||Chevrolet Gemini Small-Block V8. Aluminum Block & Heads. Flat-plane crank. VVT.<br /> For mid-engine C8 Corvette Z06 '23+. |- |4||LC4||4.1&nbsp;L||V6|V6||4 Barrel Carburetor |4BBL||OHV||Buick V6. '81-'84 Buick LeSabre, Electra, Riviera, Oldsmobile Toronado, '81-'82 Cadillac DeVille, Fleetwood Brougham, Eldorado, Seville, '81-'83 Oldsmobile 98, '82-'84 Buick Regal,<br /> '82 Pontiac Grand Prix, Bonneville G |- |4||LC9||1.6&nbsp;L||Straight-4|I4||2 Barrel Carburetor |2BBL||SOHC,<br /> 8 valve||Toyota 4A-C engine. '85-'88 Chevy Nova |- |4||LN2||2.2&nbsp;L||Straight-4|I4||Fuel injection#(Sequential) Multi-port injection|MPI/SFI||OHV||Chevrolet "122" engine. '92-'02 Cavalier, '95-'02 Sunfire, '92-'96 Corsica/Beretta, '93 Lumina,<br /> '93-'96 Cutlass Ciera, Century. |- |4||L32||3.8&nbsp;L||V6 Supercharged||Fuel injection#Sequential Multi-port injection|SFI||OHV||Buick V6 (3800 Supercharged Series III). '04-'07 Pontiac Grand Prix |- |4||LUU||1.4L||I4||Fuel injection#Sequential Multi-port fuel injection|SFI||DOHC,<br /> 16 valve||GM Family 0 Engine, Gen III. VVT. ([[w:EREV|Range extender]]). Early production engines were made in Aspern, Austria; later made in Flint, MI. '11-'15 Chevy Volt, '14 & '16 Cadillac ELR. |- |4||LT2||6.2&nbsp;L||V8||Direct injection|DI||OHV||Gen V Chevy Small-Block V8. Aluminum Block & Heads. Active Fuel Management. VVT.<br /> For mid-engine C8 Corvette Stingray '20+. |- |4||LT2||6.2&nbsp;L||V8||Direct injection|DI||OHV||Full Hybrid. Gen V Chevy Small-Block V8. Aluminum Block & Heads. Active Fuel Management. VVT.<br /> For mid-engine C8 Corvette E-Ray '24+. |- |5||LW9||2.5L||I4||2 Barrel Carburetor |2BBL||OHV||Pontiac Iron Duke engine. '81 Chevy Citation, Pontiac Phoenix, Oldsmobile Omega, Buick Skylark. |- |5||LR6||4.5&nbsp;L||V8||Fuel injection#Throttle Body injection|TBI (DFI)||OHV||Cadillac High Technology V8. '88-'89 Cadillac DeVille/Fleetwood/Sixty Special/Eldorado/Seville. |- |5||LY9||1.0&nbsp;L||Straight-3|I3||2BBL||SOHC,<br /> 6 valve ||Suzuki G10A engine. '86 Chevrolet Sprint |- |5||LM9||1.0&nbsp;L||Straight-3|I3||2BBL||SOHC,<br /> 6 valve ||Suzuki G10A engine. '87-'88 Chevrolet Sprint |- |5||LW0||1.6&nbsp;L||Straight-4|I4||Fuel injection#Multi-port fuel injection|MFI||DOHC,<br /> 16 valve||Toyota 4A-GE engine. '88 Chevy Nova Twin Cam, '90-'92 Geo Prizm GSi |- |5||LW0||1.6&nbsp;L||Straight-4|I4||Fuel injection#Multi-port fuel injection|MFI||DOHC,<br /> 16 valve||Isuzu 4XE1-UW engine. '90-'91 Geo Storm GSi |- |5||LT4||5.7&nbsp;L||V8||Fuel injection#Sequential Multi-port injection|SFI||OHV||Gen II Chevy Small-Block V8. '96 Corvette (man. trans.) |- |5||LAT||2.4L||I4||Fuel injection#Multi-port fuel injection|MFI||DOHC,<br /> 16 valve||Mild Hybrid. GM Ecotec Gen II. VVT. '07-'09 Saturn Aura Green Line, '08-'09 Chevy Malibu Hybrid |- |5||LAP||2.2&nbsp;L||Straight-4|I4||Fuel injection#Multi-port fuel injection|MFI||DOHC,<br /> 16 valve||GM Ecotec Gen II. VVT. '10 Chevy Cobalt. |- |5||LFW||3.0L||V6||Direct Injection|DI||DOHC,<br /> 24 valve||GM High Feature V6. VVT. '12-'13 Cadillac CTS, '14 CTS wagon |- |5||L3A||1.5L||I4||Direct Injection|DI||DOHC,<br /> 16 valve||GM Small Gasoline Engine. VVT. ([[w:EREV|Range extender]]). '16-'19 Chevy Volt. |- |5||LWC||1.6L||I4 Turbo||Direct Injection|DI||DOHC,<br /> 16 valve||GM Medium Gasoline Engine, H.O. VVT. Made in Szentgotthárd, Hungary. '16-'19 Buick Cascada |- |5||LS6||6.7&nbsp;L||V8||Port/Direct injection||OHV||Gen VI Chevy Small-Block V8. Aluminum Block & Heads. Active Fuel Management. VVT.<br /> For mid-engine C8 Corvette Stingray, Grand Sport '27+. |- |5||LS6||6.7&nbsp;L||V8||Port/Direct injection||OHV||Full Hybrid. Gen VI Chevy Small-Block V8. Aluminum Block & Heads. Active Fuel Management. VVT.<br /> For mid-engine C8 Corvette Grand Sport X '27+. |- |6||L81||5.7&nbsp;L||V8||4 Barrel Carburetor |4BBL||OHV||Gen I Chevy Small-Block V8. '81 Corvette |- |6||LM1||5.7&nbsp;L||V8||4 Barrel Carburetor |4BBL||OHV||Gen I Chevy Small-Block V8. '83-'85 Impala 9C1 Police, '86-'88 Caprice 9C1 Police |- |6||L73||1.6&nbsp;L||Straight-4|I4||Fuel injection#Throttle Body injection|TBI||SOHC,<br /> 8 valve||GM Family 1 engine. Made in South Korea by Daewoo. '88-'93 Pontiac LeMans |- |6||LP2||1.0&nbsp;L||Straight-3|I3||Fuel injection#Throttle Body injection|TBI||SOHC,<br /> 6 valve ||Suzuki G10A engine. '89-'97 Geo Metro, '98-'00 Chevrolet Metro |- |6||L01||1.6&nbsp;L||Straight-4|I4||Fuel injection#Multi-port fuel injection|MFI||DOHC,<br /> 16 valve||Toyota 4A-FE engine. '89-'97 Geo Prizm base/LSi |- |6||L01||1.6&nbsp;L||Straight-4|I4||Fuel injection#Multi-port fuel injection|MFI||SOHC,<br /> 12 valve||Isuzu 4XE1-V engine. '90-'93 Geo Storm (base model) |- |6||L42||2.2&nbsp;L||Straight-4|I4||Fuel injection#Multi-port fuel injection|MFI||DOHC,<br /> 16 valve||GM Ecotec Gen I (Bi-Fuel Gas/CNG). '03-'04 Chevy Cavalier |- |6||L91||1.6&nbsp;L||Straight-4|I4||Fuel injection#Multi-port fuel injection|MFI||DOHC,<br /> 16 valve||E-TEC II. '04-'07 Chevy Aveo |- |6||LXT||1.6&nbsp;L||Straight-4|I4||Fuel injection#Multi-port fuel injection|MFI||DOHC,<br /> 16 valve||E-TEC II. '08 Chevy Aveo |- |6||LGW||3.0L||V6 Twin Turbo||Direct Injection|DI||DOHC,<br /> 24 valve||GM High Feature V6, 4th gen. VVT. Active Fuel Management. '16-'19 Cadillac CT6 |- |6||LT4||6.2&nbsp;L||V8 Supercharged||Direct injection|DI||OHV||Gen V Chevy Small-Block V8. Aluminum Block & Heads. With Active Fuel Management. VVT.<br /> '15-'19 Corvette Z06, '17-'24 Camaro ZL1, '16-'19 Cadillac CTS V-Series,<br /> '22+ Cadillac CT5-V Blackwing |- |7||LU5||5.0&nbsp;L||V8||Cross-Fire fuel injection|CFI||OHV||Gen I Chevy Small-Block V8. (305 cu. in.) '82 Camaro, Firebird. Dual throttle-body fuel injection. |- |7||L69||5.0&nbsp;L||V8||4 Barrel Quadrajet Carburetor |4BBL||OHV||Gen I Chevy Small-Block V8 (High Output 5.0L). (305 cu. in.). '83 F-cars, '83 Chevy Monte Carlo SS |- |7||LC5||1.5&nbsp;L||I4||2 Barrel Carburetor |2BBL||SOHC,<br /> 8 valve||Isuzu 4XC1 engine. '86-'88 Chevrolet Spectrum, '89 Geo Spectrum. |- |7||LC2||3.8&nbsp;L||V6|V6 Turbo||Fuel injection#Sequential multi-port injection|SFI||OHV||Intercooled. Buick V6. '86-'87 Buick Regal. '89 Pontiac 20th Anniversary Turbo Trans Am |- |7||LC7||4.1&nbsp;L||V8||Fuel injection#Multi-port fuel injection|MFI||OHV||Cadillac High Technology V8. '87-'88 Cadillac Allante. |- |7||L05||5.7&nbsp;L||V8||Fuel injection#Throttle Body injection|TBI||OHV||Gen I Chevy Small-Block V8. '89-'93 Chevy Caprice (police only for '89-'91),<br /> '92-'93 Buick Roadmaster, '92 Oldsmobile Custom Cruiser, '90-'92 Cadillac Brougham, '93 Fleetwood. |- |7||LL0||1.9&nbsp;L||Straight-4|I4||Fuel injection#Multi-port injection|MFI||DOHC,<br /> 16 valve||Saturn I4 engine. '91-'02 Saturn S-Series |- |7||LY7||3.6&nbsp;L||V6||Fuel injection#Sequential Multi-port injection|SFI||DOHC,<br /> 24 valve||GM High Feature V6. VVT. '04-'09 Cadillac CTS, '05-'07 STS, '05-'08 Buick LaCrosse,<br /> '07-'09 Pontiac G6, Saturn Aura, '08-'09 Pontiac G8, '08-'12 Chevy Malibu |- |7||LT1||6.2&nbsp;L||V8||Direct injection|DI||OHV||Gen V Chevy Small-Block V8. Aluminum Block & Heads. With Active Fuel Management. VVT.<br /> '14-'19 Corvette, '16-'24 Camaro SS |- |7||LT7||5.5&nbsp;L||V8 Twin Turbo||Port/Direct injection||DOHC,<br /> 32 valve||Chevrolet Gemini Small-Block V8. Aluminum Block & Heads. Flat-plane crank. VVT.<br /> For mid-engine C8 Corvette ZR1 '25+. (1,064 hp) |- |7||LT7||5.5&nbsp;L||V8 Twin Turbo||Port/Direct injection||DOHC,<br /> 32 valve||Full Hybrid. Chevrolet Gemini Small-Block V8. Aluminum Block & Heads. Flat-plane crank. VVT.<br /> For mid-engine C8 Corvette ZR1X '26+. (1,250 hp) |- |8||LV8||4.3&nbsp;L||V8||2 Barrel Carburetor |2BBL||OHV||Oldsmobile "Rocket" V8 (260 cu. in.) '82 Oldsmobile Cutlass, Delta 88. |- |8||LT8||4.1&nbsp;L||V8||Fuel injection#Throttle Body injection|TBI (DFI)||OHV||Cadillac High Technology V8. '82-'87 Cadillac DeVille, Eldorado, Seville, '82-'85 Fleetwood Brougham, '85-'87 Fleetwood, '87 Fleetwood Sixty Special. |- |8||LC8||3.8&nbsp;L||V6|V6 Turbo||4 Barrel Carburetor |4BBL||OHV||Buick V6. '83 Buick Regal, Riviera. |- |8||L83||5.7&nbsp;L||V8||Cross-Fire fuel injection|CFI||OHV||Gen I Chevy Small-Block V8. '82, '84 Corvette. Dual throttle-body fuel injection. 1st fuel injected Corvette since 1965. |- |8||L98||5.7&nbsp;L||V8||Tuned-port fuel injection|TPI||OHV||Gen I Chevy Small-Block V8. '85-'91 Corvette, '87-'92 Chevy Camaro, Pontiac Firebird. |- |8||LQ6||4.5&nbsp;L||V8||Fuel injection#Multi-port fuel injection|MFI||OHV||Cadillac High Technology V8. '89-'92 Cadillac Allante. |- |8||L24||1.9&nbsp;L||Straight-4|I4||Fuel injection#Multi-port injection|MFI||SOHC,<br /> 8 valve||Saturn I4 engine. '95-'02 Saturn S-Series |- |8||LX9||3.5&nbsp;L||V6||Fuel injection#Sequential Multi-port injection|SFI||OHV||GM High Value 60° V6. 3498cc. '04-'06 Chevy Malibu, '05-'06 Pontiac G6 |- |8||LF3||3.6L||V6 Twin Turbo||Direct Injection|DI||DOHC,<br /> 24 valve||GM High Feature V6. '14-'19 Cadillac CTS V-Sport, XTS V-Sport |- |8||LV6||1.8&nbsp;L||Straight-4|I4||Fuel injection#Multi-port fuel injection|MFI||DOHC,<br /> 16 valve||Isuzu 4XF1 engine. '92-'93 Geo Storm GSi. |- |8||LV6||1.8&nbsp;L||Straight-4|I4||Fuel injection#Multi-port fuel injection|MFI||DOHC,<br /> 16 valve||Toyota 7A-FE engine. '93-'97 Geo Prizm |- |8||LV6||1.8&nbsp;L||Straight-4|I4||Fuel injection#Multi-port fuel injection|MFI||DOHC,<br /> 16 valve||Toyota 1ZZ-FE engine. VVT-i from '00. '98-'02 Chevrolet Prizm, '03-'08 Pontiac Vibe |- |8||LAY||1.8&nbsp;L||Straight-4|I4||Fuel injection#Sequential multi-port injection|SFI||DOHC,<br /> 16 valve||Toyota 2ZR-FE engine. Dual VVT-i. '09-'10 Pontiac Vibe |- |9||L17||1.6&nbsp;L||Straight-4|I4||2 Barrel Carburetor |2BBL||SOHC,<br /> 8 valve||Isuzu G161Z engine made by GM in US. '81 Chevy Chevette, Pontiac T1000 |- |9||L62||6.0&nbsp;L||V8||Fuel injection#Throttle Body injection|TBI (DFI)||OHV||Cadillac 472-series V8 engine family. V8-6-4 cylinder deactivation.<br /> '81 Cadillacs, '82-'84 Fleetwood Limousine. |- |9||LC3||3.8&nbsp;L||V6||2 Barrel Carburetor |2BBL||OHV||Chevrolet 90° V6 (Chevy Small-Block V8 Derived). 229 cu. in. <br /> '83 Malibu, '83-'84 Monte Carlo, Impala, Caprice, '83 Pontiac Parisienne. |- |9||LG8||5.0&nbsp;L||V8||4 Barrel Carburetor |4BBL||OHV||Oldsmobile "Rocket" V8 (307 cu. in.) H.O. '83-'84 Hurst/Olds, '85-'87 Oldsmobile Cutlass 442 |- |9||LM9||3.8&nbsp;L||V6|V6 Turbo||Fuel injection#Sequential multi-port injection|SFI||OHV||Buick V6. '84-'85 Buick Regal, Riviera. |- |9||L44||2.8&nbsp;L||V6||Fuel injection#Multi-port fuel injection|MFI||OHV||Chevrolet 60° V6 (transversely mounted). H.O. '85-'88 Pontiac Fiero |- |9||LC0||1.5&nbsp;L||I4 Turbo||Fuel injection#Multi-port fuel injection|MFI||SOHC,<br /> 8 valve||Isuzu 4XC1-T engine. '87-'88 Chevrolet Spectrum Turbo |- |9||LK0||1.9&nbsp;L||Straight-4|I4||Fuel injection#Throttle Body injection|TBI||SOHC,<br /> 8 valve||Saturn I4 engine. '91-'94 Saturn S-Series |- |9||L37||4.6&nbsp;L||V8||Fuel injection#Sequential Multi-port injection|SFI||DOHC,<br /> 32 valve||Cadillac Northstar V8 (H.O. FWD) (Premium V). '93 Cadillac Allanté,<br /> '93-'02 Cadillac Eldorado Touring Coupe, '93-'04 Cadillac Seville STS, '96-'05 Cadillac DeVille,<br /> '06-'11 Cadillac DTS, '08-'11 Buick Lucerne Super |- |9||L72||1.3&nbsp;L||Straight-4|I4||Fuel injection#Throttle Body injection|TBI||SOHC,<br /> 8 valve ||Suzuki G13BA engine. '95-'97 Geo Metro |- |9||LUJ||1.4L||I4 Turbo||Fuel injection#Sequential Multi-port fuel injection|SFI||DOHC,<br /> 16 valve||GM Family 0 Engine, Gen III. VVT. Early production engines were made in Aspern, Austria; later made in Flint, MI. '11 Chevy Cruze |- |9||LL0||1.2&nbsp;L||Straight-4|I4||Fuel injection#Multi-port fuel injection|MFI||DOHC,<br /> 16 valve||Daewoo S-TEC II engine (1249 cc). VVT. Made in Changwon, S. Korea. '13-'15 Chevy Spark. |- |9||LT5||6.2&nbsp;L||V8 Supercharged||Port/Direct injection||OHV||Gen V Chevy Small-Block V8. Aluminum Block & Heads. VVT. '19 Corvette ZR1. |- |0||LH8||1.8&nbsp;L||Straight-4|I4||Fuel injection#Throttle Body injection|TBI||SOHC,<br /> 8 valve||GM Family II engine. Made in Brazil.<br /> '82-'86 Pontiac J2000/2000/Sunbird, Oldsmobile Firenza, Buick Skyhawk. |- |0||LAX||2.4&nbsp;L||Straight-4|I4||Fuel injection#Sequential multi-port injection|SFI||DOHC,<br /> 16 valve||Toyota 2AZ-FE engine. VVT-i. '09-'10 Pontiac Vibe |- |0||LE9||2.4&nbsp;L||Straight-4|I4||Fuel injection#Multi-port fuel injection|MFI||DOHC,<br /> 16 valve||GM Ecotec Gen II. E85 Flex-Fuel. 2010 Chevy Malibu. |- |0||LE5||2.4&nbsp;L||Straight-4|I4||Fuel injection#Multi-port fuel injection|MFI||DOHC,<br /> 16 valve||GM Ecotec Gen II. VVT. Most '12 Chevy Malibu w/LE5 engine. |} H.O.=High Output, CNG=Compressed Natural Gas, VVT=Variable Valve Timing, VVL=Variable Valve Lift ====Motor codes for electric passenger cars==== {| class="wikitable" |- ! VIN !! RPO !! Fuel !! Drive Wheels !! Application/Notes |- | 5 ||LN1|| Electricity || Front || '97, '99 General Motors EV1 |- | 0 ||EN0|| Electricity || Front || '14-'16 Chevrolet Spark EV |- | 0 ||EN0|| Electricity || Front || '17-'23 Chevrolet Bolt EV |- | 0 ||EN0|| Electricity || Front || '22-'23 Chevrolet Bolt EUV |- |} ====Motor codes for LFP-powered electric passenger cars==== {| class="wikitable" |- ! VIN !! Motor <br /> RPO code !! # of Motors !! Battery Pack <br /> RPO code !! Fuel !! Drive Wheels !! Application/Notes |- |- | V ||P9D (HPB)|| 1 || EJW || Electricity || Front || '27 Chevrolet Bolt |} LFP=Lithium Iron Phosphate ====Motor codes for Ultium-powered electric passenger cars==== {| class="wikitable" |- ! VIN !! Motor <br /> RPO code !! # of Motors !! Battery Module <br /> RPO code !! # of Modules !! Fuel !! Drive Wheels !! Application/Notes |- |- | 1 ||X0E|| 2 || EXN || 16 || Electricity || All || '25- Cadillac Celestiq |- | 2 ||X0E|| 2 || EHT || 16 || Electricity || All || '25- Cadillac Celestiq <br> (Battery Module RPO code EHT is Configuration B) |} ====Engine codes for light trucks==== GM encodes the engine type in character 8 of the VIN. The following table outlines the various engines encoded there: {| class="wikitable" |- ! VIN !! RPO !! Size !! Type !! Fuel !! Valvetrain !! Engine Family/Notes/Applications |- | A ||LD5|| 3.8L || V6 || Gas ||OHV||2-bbl carb. Buick V6. (231 cu. in.) '81-'84 Chevy El Camino, GMC Caballero (CA emissions). |- | A ||LR1|| 1.9L || I4 || Gas ||SOHC,<br /> 8 valve||2-bbl carb. Isuzu G200 engine imported from Japan.<br /> '82-'85 Chevy S-10/GMC S-15, '83-'85 Chevy S-10 Blazer/GMC S-15 Jimmy |- | A ||L38|| 2.5L || I4 || Gas ||OHV||TBI. Pontiac Iron Duke/Tech IV engine. '91-'93 Chevy S-10/GMC Sonoma. |- | A ||LH2|| 4.6L || V8 || Gas ||DOHC,<br /> 32 valve||Cadillac Northstar V8 (For RWD) (Premium V). '04-'09 Cadillac SRX |- | A ||L20|| 4.8L || V8 || Gas/E85 ||OHV|| Flex Fuel. SFI. Gen IV Chevrolet Small-Block V8. Iron Block/Aluminum Heads. VVT.<br /> '10-'13 GMT900 pickups, '10-'14 Express/Savana |- | A ||LCV|| 2.5L || I4 || Gas ||DOHC,<br /> 16 valve||GM Ecotec engine, Gen III. Direct Injection. VVT. '15-'22 Chevy Colorado, GMC Canyon,<br /> '17-'20 Buick Envision, '17-'21 GMC Acadia, '19-'21 Chevy Blazer |- | B ||LR2|| 2.8L || V6 || Gas ||OHV||2-bbl carb. Chevrolet 60° V6.<br /> '82-'85 Chevy S-10/GMC S-15, '83-'85 Chevy S-10 Blazer/GMC S-15 Jimmy |- | B ||LU2|| 4.3L || V6 || Gas ||OHV|| TBI. Chevrolet 90° V6 (Chevy Small-Block V8 Derived). '90-'91 Astro/Safari higher output engine option. |- | B ||L81|| 3.0L || V6 || Gas ||DOHC,<br /> 24 valve||Opel 54° V6 engine (Made in the UK). '02-'03 Saturn Vue |- | B ||L33|| 5.3L || V8 || Gas ||OHV|| Gen III Chevrolet Small-Block V8. Vortec 5300 H.O. 310hp. Aluminum Block & Heads.<br /> '05-'07 Silverado/Sierra 1500 4wd ext. cab short bed. |- | B ||LE8|| 2.2L || I4 || Gas/E85 ||DOHC,<br /> 16 valve||Flex-Fuel. GM Ecotec Gen II. VVT. '09-'10 Chevy HHR |- | B ||LC8|| 6.0L || V8 || Gas/CNG ||OHV||Bi-Fuel (Also Gas/LPG in Express/Savana). SFI. Gen IV Chevrolet Small-Block V8. Iron Block & Aluminum Heads. VVT. '11-'20 Express/Savana, '13-'19 Silverado HD/Sierra HD. |- | B ||LUV|| 1.4L ||I4 Turbo|| Gas ||DOHC,<br /> 16 valve||GM Family 0 Engine, Gen III. SFI. VVT.<br /> '13-'21 Buick Encore, '15-'21 Chevy Trax (also '13-'14 Trax in Canada) |- | C ||LH6|| 6.2L || V8 || Diesel ||OHV||Detroit Diesel V8. For sub-8,500 lb. GVWR trucks '82-'93. '82-'86 C/K pickups, '87 R/V pickups,<br /> '88-'93 C/K, Sierra pickups, '82-'91 Blazer/Jimmy, Suburban, '83-'93 full-size vans |- | C ||L34|| 2.0L || I4 || Gas ||DOHC,<br /> 16 valve||Suzuki J20A engine. MFI. '99-'03 Chevrolet Tracker |- | C ||LY2|| 4.8L || V8 || Gas ||OHV||SFI. Gen IV Chevrolet Small-Block V8. Iron Block/Aluminum Heads.<br /> '07-'09 GMT900 pickups, '07-'09 Tahoe/Yukon, '08-'09 Express/Savana |- | C ||LAF|| 2.4L || I4 || Gas ||DOHC,<br /> 16 valve||GM Ecotec engine, Gen II. Direct Injection. VVT. Chevy Equinox, GMC Terrain '11. |- | C ||L83|| 5.3L || V8 || Gas/E85 ||OHV|| Flex Fuel. Gen V Chevrolet Small-Block V8 (EcoTec3). Direct injection, VVT. Active Fuel Management<br /> '14-'19 K2XX pickups, '15-'20 K2XX SUVs. |- | C ||L2R|| 2.7L ||I4 Turbo||| Gas ||DOHC,<br /> 16 valve||GM L3B Tripower engine ("TurboMax") - Detuned version. Direct Injection. VVT, VVL. Active Fuel Management. '23-'24 Chevy Colorado. |- | D ||LE3|| 4.1L || I6 || Gas ||OHV||2-bbl carb. Chevrolet Turbo-Thrift I6.<br /> '81-'84 Chevy/GMC C/K pickups, full-size vans, '81-'82 Blazer/Jimmy |- | D ||LG6|| 3.1L || V6 || Gas ||OHV||TBI. Chevrolet 60° V6. '90-'95 U-body minivans. |- | D ||L61|| 2.2L || I4 || Gas ||DOHC,<br /> 16 valve||GM Ecotec Gen I. '02-'07 Saturn Vue, '06 Chevy HHR. |- | D ||L61|| 2.2L || I4 || Gas ||DOHC,<br /> 16 valve||GM Ecotec Gen II. '07-'08 Chevy HHR. |- | D ||LLT|| 3.6L || V6 || Gas ||DOHC,<br /> 24 valve||GM High Feature V6. Direct Injection. '09-'16 GMC Acadia, '17 GMC Acadia Limited,<br /> '09-'17 Chevrolet Traverse, Buick Enclave, '09-'10 Saturn Outlook |- | D ||LBZ|| 6.6L || V8 Turbo || Diesel ||OHV,<br /> 32 valve||Duramax 6600 V8 engine.<br /> Mid '06 Silverado HD/Sierra HD & '07 Silverado Classic HD/Sierra Classic HD |- | D ||L84|| 5.3L || V8 || Gas/E85 ||OHV|| Gen V Chevrolet Small-Block V8 (EcoTec3). Direct injection, VVT. With Dynamic Fuel Management<br /> '19+ Chevy/GMC Silverado 1500/Sierra 1500, '21+ Tahoe/Yukon, Suburban/Yukon XL. |- | E ||LN8|| 2.5L || I4 || Gas ||OHV||TBI. Pontiac Iron Duke/Tech IV engine.<br /> '85-'90 Chevy/GMC S-10/S-15, Astro/Safari Cargo Van, '85-'88 S-10 Blazer/S-15 Jimmy. |- | E ||LLR|| 3.7L || I5 || Gas ||DOHC,<br /> 20 valve||Atlas I5. SFI. VVT.<br /> '07-'12 Colorado/Canyon, '07-'08 Isuzu i-370, '07-'10 Hummer H3, '09-'10 Hummer H3T |- | E ||LA1|| 3.4L || V6 || Gas ||OHV||Chevrolet 60° V6. '96 GMT199 (U-body) minivans, '97-'05 GMT200 (U-body) minivans,<br /> '01-'05 Pontiac Aztek, '02-'05 Buick Rendezvous |- | F ||LF3|| 5.0L || V8 || Gas ||OHV|| 4-bbl carb. Gen I Chevrolet Small-Block V8. '81-'86 C/K, full-size vans, '81-'82 Blazer/Jimmy.<br /> CA emissions version of LE9 5.0 V8. |- | F ||L65|| 6.5L || V8 Turbo || Diesel ||OHV||Detroit Diesel V8. For over-8,500 lb. GVWR Chevy C/K, GMC Sierra trucks '92-'02,<br /> Chevy/GMC Suburban 1500/2500 '94-'99, over-8,500 lb. GVWR Express/Savana '96-'02 |- | F ||LNJ|| 3.4L || V6 || Gas ||OHV||Chevrolet 60° V6. Made in China by SAIC-GM. '05-'09 Chevy Equinox, '06-'09 Pontiac Torrent. |- | F ||L94|| 6.2L || V8 || Gas/E85 ||OHV||Flex-Fuel. Gen IV Chevrolet Small-Block V8. Aluminum Block & Heads. SFI. VVT. Active Fuel Management. '10-'14 GMC Yukon Denali/Yukon XL Denali, Cadillac Escalade/Escalade ESV. |- | F ||L20|| 4.8L || V8 || Gas/E85 ||OHV|| Flex Fuel. SFI. Gen IV Chevrolet Small-Block V8. Iron Block/Aluminum Heads. VVT.<br /> '15-'17 Express/Savana |- | F ||L82|| 5.3L || V8 || Gas ||OHV|| Gen V Chevrolet Small-Block V8 (EcoTec3). Direct injection, VVT. With Active Fuel Management<br /> '19-'21 Chevy Silverado 1500, GMC Sierra 1500 (T1XX). |- | G ||LG9|| 5.0L || V8 || Gas ||OHV|| 2-bbl carb. Gen I Chevrolet Small-Block V8. '81 Chevy/GMC C/K pickups, Blazer/Jimmy, full-size van |- | G ||L18|| 8.1L || V8 || Gas ||OHV||MFI. Vortec 8100. Gen VII Chevrolet Big-Block V8. '01-'02 C3500HD, '01-'06 Silverado HD/Sierra HD, '07 Silverado Classic HD/Sierra Classic HD, '01-'06 Suburban/Yukon XL 2500, '02-'06 Avalanche 2500, '01-'02 Express/Savana |- | G ||L96|| 6.0L || V8 || Gas/E85 ||OHV||Flex Fuel. SFI. Gen IV Chevrolet Small-Block V8. Iron Block & Aluminum Heads. VVT.<br /> '10-'19 Silverado HD/Sierra HD, '10-'13 Suburban 2500/Yukon XL 2500, '16-'19 Suburban 3500,<br /> '10-'20 Express/Savana. |- | G ||LSD|| 1.5L || I4 Turbo || Gas ||DOHC,<br /> 16 valve||GM Small Gasoline Engine. Direct Injection. VVT. '23+ Chevy Equinox, GMC Terrain |- | H ||LG4|| 5.0L || V8 || Gas ||OHV||4-bbl carb. Gen I Chevy Small-Block V8. (305 cu. in.) '81-'87 Chevy El Camino, GMC Caballero. |- | H ||LE9|| 5.0L || V8 || Gas ||OHV|| 4-bbl carb. Gen I Chevrolet Small-Block V8. '81-'86 C/K pickups, Blazer/Jimmy, Suburban, full-size vans |- | H ||L03|| 5.0L || V8 || Gas ||OHV|| TBI. Gen I Chevrolet Small-Block V8. '87 R/V pickups, '88-'95 C/K, Sierra pickups, '87-'95 full-size vans, '87 Blazer/Jimmy, Suburban. |- | H ||LN2|| 2.2L || I4 || Gas ||OHV||SFI. Chevrolet "122" engine. '03 Chevy S-10/GMC Sonoma |- | H ||LS2|| 6.0L || V8 || Gas ||OHV||SFI. Gen IV Chevy Small-Block V8. Chevy SSR '05-'06, Trailblazer SS '06-'09, Saab 9-7X Aero '08-'09. |- | H ||LV3|| 4.3L || V6 || Gas/E85 ||OHV||Flex Fuel. Chevrolet 90° V6 - Gen V Chevrolet Small-Block V6 (EcoTec3). Direct injection, VVT. Active Fuel Management. '14-'21 Chevy Silverado 1500/GMC Sierra 1500. |- | J ||L39|| 4.4L || V8 || Gas ||OHV||2-bbl carb. Gen I Chevy Small-Block V8 (267 cu. in.) '81-82 Chevy El Camino, GMC Caballero. |- | J ||LL4|| 6.2L || V8 || Diesel ||OHV||Detroit Diesel V8. For over-8,500 lb. GVWR trucks '82-'93. '82-'86 C/K pickups, '87-'91 R/V pickups,<br /> '88-'93 C/K, Sierra pickups, '82-'91 Blazer/Jimmy, Suburban, '83-'93 full-size vans |- | J ||L29|| 7.4L || V8 || Gas ||OHV|| MFI. Vortec 7400. Gen VI Chevrolet Big-Block V8.<br /> '96-'00 C/K, Sierra pickups, Express/Savana, '96-'99 Suburban 2500 |- | J ||LY5|| 5.3L || V8 || Gas ||OHV||SFI. Gen IV Chevrolet Small-Block V8. Active Fuel Management. Iron Block & Aluminum Heads.<br /> '07-'09 Silverado/Sierra 1500, Tahoe/Yukon, Suburban/Yukon XL 1500, Avalanche |- | J ||LZ1|| 6.0L || V8 || Gas ||OHV||2-Mode Hybrid. Gen IV Chevrolet Small-Block V8. Aluminum Block & Heads. VVT. Active Fuel Management. '10-'13 Tahoe Hybrid, Yukon Hybrid, Escalade Hybrid, Silverado Hybrid, Sierra Hybrid |- | J ||L86|| 6.2L || V8 || Gas ||OHV||Gen V Chevrolet Small-Block V8 (EcoTec3). Direct injection, VVT. Active Fuel Management. <br /> '14-18 Chevy/GMC Silverado 1500/Sierra 1500,<br /> '18-20 Chevy Tahoe Premier, '19-'20 Chevy Suburban Premier, GMC Yukon/Yukon XL SLT,<br /> '15-'20 GMC Yukon Denali/Yukon XL Denali, Cadillac Escalade/Escalade ESV. |- | K ||LC3|| 3.8L || V6 || Gas ||OHV||2-bbl carb. Chevrolet 90° V6 (Chevy Small-Block V8 Derived). 229 cu. in. <br /> '81-'82 Chevy El Camino, GMC Caballero (49-state emissions) |- | K ||L05|| 5.7L || V8 || Gas ||OHV|| TBI. Gen I Chevrolet Small-Block V8. '87 R/V pickups, '88-'95 C/K, Sierra pickups, '87-'95 full-size vans, '96 G-Classic full-size vans, '87-'94 Blazer, '95 Tahoe, '87-'91 Jimmy, '92-'95 Yukon, '87-'95 Suburban. |- | K ||LY6|| 6.0L || V8 || Gas ||OHV||SFI. Gen IV Chevrolet Small-Block V8. Iron Block & Aluminum Heads. VVT.<br /> '07-'09 Silverado HD/Sierra HD, '07-'09 Suburban 2500/Yukon XL 2500, '08-'09 Express/Savana |- | K ||LEA|| 2.4L || I4 || Gas/E85 ||DOHC,<br /> 16 valve||Flex Fuel. GM Ecotec engine, Gen II. Direct Injection. VVT. Chevy Equinox, GMC Terrain '12-'17,<br /> Chevy Captiva Sport '12-'14, Chevy Orlando '14. |- | K ||L3B|| 2.7L ||I4 Turbo||| Gas ||DOHC,<br /> 16 valve||GM L3B Tripower engine ("TurboMax"). Direct Injection. VVT, VVL. Active Fuel Management.<br /> '19+ Chevy Silverado 1500, GMC Sierra 1500, '23+ Chevy Colorado, GMC Canyon. |- | L ||LS9|| 5.7L || V8 || Gas ||OHV|| 4-bbl carb. Gen I Chevrolet Small-Block V8. For sub-8,500 lb. GVWR trucks, vans, Suburban, Blazer/Jimmy (CA) '81-'86. |- | L ||L27|| 3.8L || V6 || Gas ||OHV||Buick V6 (3800 Series I). '92-'95 U-body minivans |- | L ||LX9|| 3.5L || V6 || Gas ||OHV||GM High Value 60° V6. 3498cc. SFI. '05-'06 GMT201 minivans, '06-'07 Buick Rendezvous |- | L ||LH8|| 5.3L || V8 || Gas ||OHV||SFI. Gen IV Chevrolet Small-Block V8. Aluminum Block & Heads.<br /> '08-'09 Hummer H3 Alpha, '09 Colorado/Canyon, Hummer H3T Alpha |- | L ||LGH|| 6.6L || V8 Turbo || Diesel ||OHV,<br /> 32 valve||Duramax 6600 V8 engine. Mid '10-'16 Express/Savana, '11-'12 Silverado HD/Sierra HD chassis cabs |- | L ||L87|| 6.2L || V8 || Gas ||OHV||Gen V Chevrolet Small-Block V8 (EcoTec3). Direct injection, VVT. Dynamic Fuel Management.<br /> '19+ Chevy/GMC Silverado 1500/Sierra 1500, '21+ Tahoe/Yukon, Suburban/Yukon XL,<br /> Cadillac Escalade/Escalade ESV. |- | L ||L3T|| 1.3L || I3 Turbo || Gas ||DOHC,<br /> 12 valve||GM E-Turbo Engine. Direct Injection. VVT. '20+ Buick Encore GX, '21+ Chevy Trailblazer. |- | M ||LT9|| 5.7L || V8 || Gas ||OHV|| 4-bbl carb. Gen I Chevy Small-Block V8.<br /> For over-8,500 lb. GVWR C/K trucks, full-size vans, Suburban '81-'86, full-size van cutaway '81-'88.<br /> '88 Chevy/GMC R30/3500 Chassis Cab w/C7C (10,500 lb. GVWR),<br /> V30/3500 Chassis Cab w/C7E (11,000 lb. GVWR) |- | M ||L30|| 5.0L || V8 || Gas ||OHV||Gen 1+ Chevrolet Small-Block V8. Vortec 5000. CPI.<br /> '96-'99 Chevy C/K, GMC Sierra, '96-'02 Express/Savana |- | M ||LNF|| 2.0L || I4 Turbo || Gas ||DOHC,<br /> 16 valve||GM Ecotec engine, Gen II. Direct Injection. VVT. 2010 Chevy HHR SS. |- | M ||LH6|| 5.3L || V8 || Gas ||OHV||SFI. Gen IV Chevrolet Small-Block V8. Active Fuel Management. Aluminum Block & Heads.<br /> '05-'06 GMT370 SUVs (Trailblazer EXT/Envoy XL/Isuzu Ascender 7-psgr.), '05-'07 Buick Rainier,<br /> '05-'09 GMC Envoy Denali, Saab 9-7X, '06-'08 Chevy Trailblazer, '05 GMC Envoy XUV,<br /> '07-'09 Silverado/Sierra 1500 |- | M ||LAF|| 2.4L || I4 || Gas ||DOHC,<br /> 16 valve||GM Ecotec engine, Gen II. Direct Injection. VVT. Chevy Orlando '12. |- | M ||LE2|| 1.4L || I4 Turbo || Gas ||DOHC,<br /> 16 valve||GM Small Gasoline Engine. Direct Injection. VVT. '16-'19 & '21-'22 Buick Encore, '21-'22 Chevy Trax. |- | N ||L10|| 1.8L || I4 || Gas ||SOHC,<br /> 8 valve||2-bbl carb. Isuzu G180Z engine imported from Japan. '81-'82 Chevy LUV |- | N ||LF9|| 5.7L || V8 || Diesel ||OHV||Oldsmobile Diesel V8. '83-'84 Chevy El Camino/GMC Caballero. |- | N ||LB1|| 4.3L || V6 || Gas ||OHV|| 4-bbl carb. Chevrolet 90° V6 (Chevy Small-Block V8 Derived).<br /> '85 Astro/Safari, '85-'86 C/K pickups & full-size vans |- | N ||L19|| 7.4L || V8 || Gas ||OHV|| Mark IV Chevrolet Big-Block V8. TBI.<br /> '87-'90 R/V pickups, Suburban 2500, '88-'90 C/K, Sierra pickups, full-size vans |- | N ||L19|| 7.4L || V8 || Gas ||OHV|| Gen V Chevrolet Big-Block V8. TBI.<br /> '91 R/V pickups, '91-'95 C/K, Sierra pickups, Suburban 2500, full-size vans. '96 G-Classic full-size vans |- | N ||LZ4|| 3.5L || V6 || Gas ||OHV||GM High Value 60° V6. 3510cc. SFI. VVT. '08-'09 Saturn Vue |- | N ||LQ9|| 6.0L || V8 || Gas ||OHV|| Gen III Chevrolet Small-Block V8. Vortec 6000 H.O. or VortecMAX. Iron Block/Aluminum Heads. 345 hp.<br /> '02-'06 Cadillac Escalade, '03-'06 Cadillac Escalade ESV, '03-'06 Chevy Silverado SS, '05-'06 GMC Sierra Denali. |- | N ||LGZ|| 3.6L || V6 || Gas ||DOHC,<br /> 24 valve||GM High Feature V6, 4th gen. Direct Injection. VVT. Active Fuel Management.<br /> '17-'22 Chevy Colorado, GMC Canyon. |- | P ||L49|| 6.5L || V8 || Diesel ||OHV||Detroit Diesel V8. For sub-8,500 lb. GVWR Chevy C/K, GMC Sierra trucks & full-size vans '94-'95 |- | P ||LM4|| 5.3L || V8 || Gas ||OHV||Gen III Chevrolet Small-Block V8. Vortec 5300. 290hp. Aluminum Block & Heads.<br /> '03-'04 Chevy SSR, '03-'04 GMT370 SUVs (Trailblazer EXT/Envoy XL/Isuzu Ascender 7-psgr.),<br /> '04 Buick Rainier, GMC Envoy XUV |- | P ||LE5|| 2.4L || I4 || Gas ||DOHC,<br /> 16 valve||MFI. GM Ecotec Gen II. VVT. '06-'08 Chevy HHR, '08-'09 Saturn Vue |- | P ||LH9|| 5.3L || V8 || Gas/E85 ||OHV||Flex Fuel. SFI. Gen IV Chevrolet Small-Block V8. Aluminum Block & Heads. VVT.<br /> '10-'12 Colorado/Canyon, '10 Hummer H3 Alpha, H3T Alpha |- | P ||LV1|| 4.3L || V6 || Gas ||OHV||Chevrolet 90° V6 - Gen V Chevrolet Small-Block V6 (EcoTec3). Direct injection, VVT.<br /> '18+ Chevy Express/GMC Savana. |- | P ||LBP|| 1.2L || I3 Turbo || Gas/E85 ||DOHC,<br /> 12 valve||Flex Fuel. GM E-Turbo Engine. Direct Injection. VVT.<br /> '25+ Buick Encore GX, Chevy Trailblazer, '25- Chevy Trax, Buick Envista. |- | R ||LL2|| 2.8L || V6 || Gas ||OHV||TBI. Chevrolet 60° V6. '86-'93 Chevy S-10, GMC S-15/Sonoma,<br /> '86-'89 Chevy S-10 Blazer/GMC S-15 Jimmy |- | R ||L31|| 5.7L || V8 || Gas ||OHV||Gen 1+ Chevrolet Small-Block V8. Vortec 5700. CPI.<br /> '96-'99 Chevy C/K, GMC Sierra, '96-'99 Chevy Tahoe/GMC Yukon, Chevy/GMC Suburban, '99-'00 GMC Yukon Denali, Cadillac Escalade, '00 Chevy Tahoe Limited/Z71, '96-'02 Chevy Express/GMC Savana. |- | R ||L8B|| 5.3L || V8 || Gas ||OHV||Mild Hybrid. Gen V Chevrolet Small-Block V8 (EcoTec3). Direct injection, VVT. Active Fuel Management. '16-'18 Chevy Silverado 1500, GMC Sierra 1500. |- | S ||LQ7|| 2.2L || I4 || Diesel ||OHV||Isuzu C220 engine imported from Japan. '81-'82 Chevy LUV, '84-'85 Chevy S-10/GMC S-15 |- | S ||L56|| 6.5L || V8 Turbo || Diesel ||OHV||Detroit Diesel V8. For sub-8,500 lb. GVWR Chevy C/K, GMC Sierra trucks '94-'99,<br /> Chevy Blazer '94, Chevy Tahoe 2-d '95-'99, GMC Yukon 2-d '94-'97 |- | S ||LL8|| 4.2L || I6 || Gas ||DOHC,<br /> 24 valve||Atlas I6. SFI. VVT. '02-'09 GMT360/370 SUVs (Chevy Trailblazer, GMC Envoy, Oldsmobile Bravada, Buick Rainier, Isuzu Ascender, Saab 9-7X) |- | S ||LGX|| 3.6L || V6 || Gas ||DOHC,<br /> 24 valve||GM High Feature V6, 4th gen. Direct Injection. VVT. Active Fuel Management.<br /> '17+ Cadillac XT5, '17-'23 GMC Acadia, '19+ Chevrolet Blazer, '20-'25 Cadillac XT6. |- | S ||LK0|| 2.5L || I4 Turbo || Gas ||DOHC,<br /> 16 valve||L3B engine family. Direct Injection. VVT. '24- Chevy Traverse, GMC Acadia, '25- Buick Enclave |- | T ||L25|| 4.8L || I6 || Gas ||OHV||1-bbl carb. Chevrolet Turbo-Thrift I6. '81-'86 Chevy/GMC C/K pickups, '88 R/V pickups |- | T ||LM7|| 5.3L || V8 || Gas ||OHV|| Gen III Chevrolet Small-Block V8. Iron Block & Aluminum Heads. Vortec 5300. 270/285/295hp.<br /> '99-'07 GMT800 pickups & SUVs including '02-'05 Escalade 2wd, '03-'07 Express/Savana |- | T ||LEA|| 2.4L || I4 || Gas/E85 ||DOHC,<br /> 16 valve||Flex Fuel. GM Ecotec engine, Gen II. Direct Injection. VVT. Chevy Orlando '13. |- | T ||LM2|| 3.0L || I6 Turbo|| Diesel ||DOHC,<br /> 24 valve|| Duramax Diesel I6. Aluminum Block & Heads. '20-'22 Silverado/Sierra 1500, '21-'24 Tahoe/Suburban, Yukon/Yukon XL, Escalade/Escalade ESV. |- | U ||LS5|| 1.6L || I4 || Gas ||SOHC,<br /> 8 valve||Suzuki G16A engine. TBI. '89-'95 Geo Tracker |- | U ||LQ4|| 6.0L || V8 || Gas ||OHV|| Gen III Chevrolet Small-Block V8. Iron Block & Aluminum Heads (Iron Heads in '99-'00).<br /> '99-'06 GMT800 pickups, '00-'06 Suburban/Yukon XL 2500, '01-'06 Yukon Denali/Yukon XL Denali,<br> '06 Suburban LTZ, '03-'07 Express/Savana, '03-'07 Hummer H2. |- | U ||LE9|| 2.4L || I4 || Gas/E85 ||DOHC,<br /> 16 valve||Flex-Fuel. GM Ecotec Gen II. 2011 Chevy HHR |- | U ||LH7|| 1.6L ||I4 Turbo|| Diesel ||DOHC,<br /> 16 valve||GM Medium Diesel engine ("Whisper Diesel"). Made by Opel in Szentgotthárd, Hungary.<br /> Aluminum Block & Heads. '18-'19 Chevy Equinox & GMC Terrain Diesel. |- | V ||LR4|| 4.8L || V8 || Gas ||OHV||Gen III Chevrolet Small-Block V8. Iron Block/Aluminum Heads. '99-'06 GMT800 pickups,<br /> '00-'06 Tahoe/Yukon, '03-'07 Express/Savana |- | V ||LE9|| 2.4L || I4 || Gas/E85 ||DOHC,<br /> 16 valve||Flex-Fuel. GM Ecotec Gen II. 2009-2010 Chevy HHR |- | V ||LYX|| 1.5L || I4 Turbo || Gas ||DOHC,<br /> 16 valve||GM Small Gasoline Engine. Direct Injection. VVT. '18-'22 Chevy Equinox, GMC Terrain |- | W ||LE8|| 7.4L || V8 || Gas ||OHV|| Mark IV Chevrolet Big-Block V8. 4bbl carb. '81-'86 Chevy/GMC C/K pickups, Suburban.<br /> '88-'89 Chevy/GMC R30/3500 Chassis Cab w/C7C (10,500 lb. GVWR),<br /> V30/3500 Chassis Cab w/C7E (11,000 lb. GVWR) |- | W ||L35|| 4.3L || V6 || Gas ||OHV|| CPI. Vortec 4300 H.O. Chevrolet 90° V6 (Chevy Small-Block V8 Derived).<br /> '92-'95 Sonoma, S-10 Blazer/Jimmy, Astro/Safari, '94-'95 S-10, '92-'94 Oldsmobile Bravada |- | W ||L35|| 4.3L || V6 || Gas ||OHV|| SFI. Vortec 4300 H.O. Chevrolet 90° V6 (Chevy Small-Block V8 Derived). '96-'02 S-10/Sonoma, Blazer/Jimmy, Express/Savana, C/K, Silverado, Sierra, '96-'01 Bravada, Astro/Safari, '00 Isuzu Hombre |- | W ||LGD|| 3.9L || V6 || Gas/E85 ||OHV||Flex Fuel. GM High Value 60° V6. SFI. VVT. '07-'09 GMT201 minivans |- | W ||LAF|| 2.4L || I4 || Gas ||DOHC,<br /> 16 valve||GM Ecotec engine, Gen II. Direct Injection. VVT. Chevy Equinox, GMC Terrain '10. |- | W ||LE8|| 2.2L || I4 || Gas/E85 ||DOHC,<br /> 16 valve||Flex-Fuel. GM Ecotec Gen II. VVT. 2011 Chevy HHR. |- | W ||LFY|| 3.6L || V6 || Gas ||DOHC,<br /> 24 valve||GM High Feature V6. Direct Injection.<br> '18-'23 Chevrolet Traverse, '24 Chevrolet Traverse Limited, '18-'24 Buick Enclave. |- | X ||LF6|| 4.3L || V6 || Gas ||OHV||SFI. Vortec 4300. Chevrolet 90° V6 (Chevy Small-Block V8 Derived).<br /> '96-'99 S-10/Sonoma, '97-'99 Isuzu Hombre. |- | X ||LU3|| 4.3L || V6 || Gas ||OHV||Vortec 4300. Chevrolet 90° V6 (Chevy Small-Block V8 Derived). '03-'04 S-10/Sonoma,<br /> '03-'05 Blazer/Jimmy, '02-'05 Astro/Safari, '03-'14 Express/Savana, '03-'13 Silverado/Sierra |- | X ||LNF|| 2.0L || I4 Turbo || Gas ||DOHC,<br /> 16 valve||GM Ecotec engine, Gen II. Direct Injection. VVT. '08-'09 Chevy HHR SS. |- | X ||LTG|| 2.0L || I4 Turbo || Gas ||DOHC,<br /> 16 valve||GM Ecotec engine, Gen III. Direct Injection. VVT.<br /> '16-'20 Buick Envision, '18-'20 Chevy Equinox, GMC Terrain, '18-'19 Chevy Traverse RS |- | Y ||LQ2|| 2.0L || I4 || Gas ||OHV||2-bbl carb. Chevrolet "122" engine.<br /> '83-'84 Chevy S-10/GMC S-15, '83-'84 Chevy S-10 Blazer/GMC S-15 Jimmy |- | Y ||L57|| 6.5L || V8 || Diesel ||OHV||Detroit Diesel V8. For over-8,500 lb. GVWR full-size vans '94-'95 & '96 G-Classic full-size vans |- | Y ||L76|| 6.0L || V8 || Gas ||OHV||SFI. Gen IV Chevy Small-Block V8. Aluminum Block & Heads. VVT. With Active Fuel Management.<br /> '07-'09 Silverado/Sierra, Suburban/Yukon XL, Chevy Avalanche |- | Y ||LF1|| 3.0L || V6 || Gas ||DOHC,<br /> 24 valve||GM High Feature V6. Direct Injection. VVT.<br /> '10-'11 Cadillac SRX, '11 Saab 9-4X, '10 Chevy Equinox, GMC Terrain |- | Y ||L5P|| 6.6L || V8 Turbo || Diesel ||OHV,<br /> 32 valve||Duramax 6600 V8 engine. '17+ Silverado HD/Sierra HD. Engine updated in '24. |- | Z ||LF9|| 5.7L || V8 || Diesel ||OHV||Oldsmobile Diesel V8. '81 Chevy C10/GMC C1500 full-size pickups. |- | Z ||LB4|| 4.3L || V6 || Gas ||OHV|| TBI. Chevrolet 90° V6 (Chevy Small-Block V8 Derived). '85-'87 Chevy El Camino/GMC Caballero,<br /> '86-'94 Astro/Safari, '87 R/V pickups, '88-'95 C/K & Sierra pickups, '87-'95 full-size vans & <br /> '96 G-Classic full-size vans, '88-'95 S-10, S-15/Sonoma, '88-'94 S-10 Blazer, S-15 Jimmy,<br /> '91-'92 Oldsmobile Bravada |- | Z ||LB4|| 4.3L || V6 Turbo || Gas ||OHV|| MPI. For GMC Syclone & Typhoon. Chevrolet 90° V6 (Chevy Small-Block V8 Derived) |- | Z ||L59|| 5.3L || V8 || Gas/E85 ||OHV||Flex Fuel. Gen III Chevrolet Small-Block V8. Iron Block & Aluminum Heads. Vortec 5300. 285/295hp.<br /> '02-'07 GMT800 pickups, '02-'06 Suburban/Yukon XL, Avalanche. |- | Z ||LAT|| 2.4L || I4 || Gas ||DOHC,<br /> 16 valve||Mild Hybrid. MFI. GM Ecotec Gen II. VVT. '07-'09 Saturn Vue Green Line |- | 1 ||LZ9|| 3.9L || V6 || Gas ||OHV||GM High Value 60° V6. SFI. VVT. '06-'09 GMT201 minivans |- | 1 ||LE5|| 2.4L || I4 || Gas ||DOHC,<br /> 16 valve||MFI. GM Ecotec Gen II. VVT. '10 Saturn Vue. |- | 1 ||LB7|| 6.6L || V8 Turbo || Diesel ||OHV,<br /> 32 valve||Duramax 6600 V8 engine. First version of the Duramax V8. '01-Mid '04 Silverado HD/Sierra HD |- | 1 ||LWN|| 2.8L || I4 Turbo || Diesel ||DOHC,<br /> 16 valve||Based on VM Motori A428 engine. Made by GM Powertrain Thailand 2016-2020. Made in Brazil for '22. '16-'22 Colorado/Canyon, '17-'22 Express/Savana. |- | 2 ||LLY|| 6.6L || V8 Turbo || Diesel ||OHV,<br /> 32 valve||Duramax 6600 V8 engine. Mid '04-Mid '06 Silverado HD/Sierra HD, '06-Mid '07 Express/Savana |- | 2 ||L9H|| 6.2L || V8 || Gas/E85 ||OHV||Flex-Fuel. Gen IV Chevrolet Small-Block V8. Aluminum Block & Heads. SFI. VVT.<br /> '09-'13 Chevy Silverado 1500, GMC Sierra 1500, Sierra Denali 1500,<br /> '09 Chevy Tahoe LTZ, GMC Yukon Denali/Yukon XL Denali, Cadillac Escalade/Escalade ESV,<br> Hummer H2 |- | 2 ||LIH|| 1.2L || I3 Turbo || Gas ||DOHC,<br /> 12 valve||GM E-Turbo Engine. Direct Injection. VVT.<br /> '20-'24 Buick Encore GX, '21-'24 Chevy Trailblazer, '24 Chevy Trax, Buick Envista,<br> '25 Chevy Trax, Buick Envista (Canada only). |- | 3 ||LC9|| 5.3L || V8 || Gas/E85 ||OHV||Flex Fuel. SFI. Gen IV Chevrolet Small-Block V8. Active Fuel Management. VVT added for '10. Aluminum Block & Heads.<br /> '07-'11 Silverado/Sierra 1500, Tahoe/Yukon, Suburban/Yukon XL 1500, '07-'09 & '11 Avalanche |- | 3 ||LFX|| 3.6L || V6 || Gas ||DOHC,<br /> 24 valve||GM High Feature V6. Direct Injection. VVT. E85 Flex Fuel.<br /> '12-'16 Cadillac SRX, '13-'17 Chevrolet Equinox, GMC Terrain, '15-'16 Colorado/Canyon |- | 4 ||LN2|| 2.2L || I4 || Gas ||OHV||MFI (94-95). SFI (96-00). Chevrolet "122" engine. '94-'00 S-10/Sonoma, '96-'00 Isuzu Hombre |- | 4 ||LE8|| 2.5L || V6 || Gas ||DOHC,<br /> 24 valve||Suzuki H25A engine. MFI. '01-'04 Chevrolet Tracker |- | 4 ||L66|| 3.5L || V6 || Gas ||SOHC,<br /> 24 valve||Honda J35S1 V6. VTEC. '04-'07 Saturn Vue |- | 4 ||LMF|| 5.3L || V8 || Gas/E85 ||OHV||Flex Fuel. SFI. Gen IV Chevrolet Small-Block V8. Iron Block & Aluminum Heads. VVT.<br /> '08-'14 Express/Savana 1500 |- | 4 ||LAU|| 2.8L || V6 Turbo || Gas ||DOHC,<br /> 24 valve||GM High Feature V6. SFI. '10 Cadillac SRX |- | 4 ||LSY|| 2.0L || I4 Turbo || Gas ||DOHC,<br /> 16 valve||GM Ecotec engine, Gen III. Direct Injection. Active Fuel Management. VVT. VVL.<br /> '19-'25 Cadillac XT4, '20+ Chevy Blazer, Cadillac XT5, '20-'23 GMC Acadia,<br /> '21+ Buick Envision, '21-'25 Cadillac XT6 |- | 5 ||L43|| 2.2L || I4 || Gas/E85 ||OHV||Flex-Fuel. SFI. Chevrolet "122" engine. '00-'02 S-10/Sonoma, '00 Isuzu Hombre |- | 5 ||LFA|| 6.0L || V8 || Gas ||OHV||2-Mode Hybrid. Gen IV Chevrolet Small-Block V8. Aluminum Block & Heads. VVT. Active Fuel Management. '08-'09 Tahoe Hybrid/Yukon Hybrid, '09 Escalade Hybrid, Silverado Hybrid/Sierra Hybrid |- | 5 ||LFW|| 3.0L || V6 || Gas/E85 ||DOHC,<br /> 24 valve||Flex-Fuel. GM High Feature V6. Direct Injection. VVT. '11-'12 Chevy Equinox, GMC Terrain,<br /> '12 Chevy Captiva Sport |- | 6 ||L01|| 1.6L || I4 || Gas ||SOHC,<br /> 16 valve||Suzuki G16B engine. MFI. '94-'97 Geo Tracker, '98-'00 Chevrolet Tracker |- | 6 ||L52|| 3.5L || I5 || Gas ||DOHC,<br /> 20 valve||Atlas I5. SFI. VVT. '04-'06 Colorado/Canyon, '06 Isuzu i-350, '06 Hummer H3 |- | 6 ||LAU|| 2.8L || V6 Turbo || Gas ||DOHC,<br /> 24 valve||GM High Feature V6. SFI. '11 Cadillac SRX, Saab 9-4X |- | 6 ||LMM|| 6.6L || V8 Turbo || Diesel ||OHV,<br /> 32 valve||Duramax 6600 V8 engine. '07-'10 Silverado HD/Sierra HD (GMT900), Mid '07-Mid '10 Express/Savana |- | 7 ||LY7|| 3.6L || V6 || Gas ||DOHC,<br /> 24 valve||GM High Feature V6. '04-'06 Buick Rendezvous, '04-'09 Cadillac SRX,<br /> '07-'08 GMC Acadia, Saturn Outlook, '08 Buick Enclave, '08-'10 Saturn Vue |- | 7 ||LC9|| 5.3L || V8 || Gas/E85 ||OHV||Flex Fuel. SFI. Gen IV Chevrolet Small-Block V8. Active Fuel Management. VVT.<br /> Aluminum Block & Heads.<br /> '12-'13 Silverado/Sierra 1500, Avalanche, '12-'14 Tahoe/Yukon, Suburban/Yukon XL 1500 |- | 7 ||L8T|| 6.6L || V8 || Gas ||OHV||Gen V Chevrolet Small-Block V8. Iron Block/Aluminum Heads. Direct injection, VVT.<br /> '20+ Silverado HD/Sierra HD, '21+ Express/Savana |- | 8 ||LK5|| 2.8L || I4 || Gas ||DOHC,<br /> 16 valve||Atlas I4. SFI. VVT. '04-'06 Colorado/Canyon, '06 Isuzu i-280. |- | 8 ||L92|| 6.2L || V8 || Gas ||OHV||Gen IV Chevrolet Small-Block V8. Aluminum Block & Heads. SFI. VVT.<br /> '07-'08 GMC Sierra Denali, Yukon Denali/Yukon XL Denali, Cadillac Escalade/Escalade ESV,<br> '08 Chevy Tahoe LTZ, Hummer H2. |- | 8 ||LML|| 6.6L || V8 Turbo || Diesel ||OHV,<br /> 32 valve||Duramax 6600 V8 engine.<br /> '11-'16 Silverado HD/Sierra HD pickups, '13-'16 Silverado HD/Sierra HD chassis cabs. |- | 8 ||LZ0|| 3.0L || I6 Turbo|| Diesel ||DOHC,<br /> 24 valve|| Duramax Diesel I6. Aluminum Block & Heads.<br> '23+ Silverado/Sierra 1500, '24+ Suburban HD, '25+ Tahoe/Suburban, Yukon/Yukon XL. |- | 9 ||LC3|| 3.8L || V6 || Gas ||OHV||2-bbl carb. Chevrolet 90° V6 (Chevy Small-Block V8 Derived). 229 cu. in. <br /> '83-'84 Chevy El Camino, GMC Caballero (49-state emissions). |- | 9 ||LLV|| 2.9L || I4 || Gas ||DOHC,<br /> 16 valve||Atlas I4. SFI. VVT. '07-'12 Colorado/Canyon, '07-'08 Isuzu i-290. |- | 9 ||LT4|| 6.2L ||V8 Supercharged|| Gas ||OHV||Gen V Chevy Small-Block V8. Aluminum Block & Heads. Direct injection. VVT. Active Fuel Management. '23+ Cadillac Escalade/Escalade ESV V-Series. |- | 0 ||LMG|| 5.3L || V8 || Gas/E85 ||OHV||Flex-Fuel. SFI. Gen IV Chevrolet Small-Block V8. Active Fuel Management. VVT added for '10.<br /> Iron Block & Aluminum Heads.<br /> '07-'13 Silverado/Sierra 1500, Avalanche, '07-'14 Tahoe/Yukon, Suburban/Yukon XL 1500. |} H.O.=High Output, VVT=Variable Valve Timing, VVL=Variable Valve Lift, GVWR=Gross Vehicle Weight Rating, CNG=Compressed Natural Gas, LPG=Liquefied Petroleum Gas (Propane Autogas) ====Motor codes for electric light trucks==== {| class="wikitable" |- ! VIN !! RPO !! Fuel !! Drive Wheels !! Application/Notes |- | H ||LN1|| Electricity || Front || '97-'98 Chevrolet S-10 Electric. |- |} ====Motor codes for Ultium-powered electric light trucks==== {| class="wikitable" |- ! VIN !! Motor <br /> RPO code !! # of Motors !! Battery Module <br /> RPO code !! # of Modules !! Fuel !! Drive Wheels !! Application/Notes |- | A ||XRL|| 3 || ETN || 24 || Electricity || All || '22- GMC Hummer EV pickup 3X |- | B ||XRL|| 3 || ETI || 20 || Electricity || All || '24- GMC Hummer EV pickup 3X |- | C ||XRL|| 3 || ETJ || 20 || Electricity || All || '24- GMC Hummer EV SUV 3X |- | D ||XRJ|| 2 || ETI || 20 || Electricity || All || '24 Chevrolet Silverado EV 3WT, '25- Silverado EV 5WT, 3LT,<br> '25 Silverado EV RST (2SP), '26- Silverado EV Trail Boss (2TR),<br> '24- GMC Hummer EV pickup 2X, '25- GMC Sierra EV Denali 5SC,<br> '26- Sierra EV Elevation 3SC, AT4 4SC |- | E ||XRJ|| 2 || ETJ || 20 || Electricity || All || '24- GMC Hummer EV SUV 2X |- | G ||XRJ|| 2 || ETJ || 20 || Electricity || All || '23 BrightDrop Zevo 600 |- | H ||XRJ|| 2 || EWX || 14 || Electricity || All ||'26- Chevrolet Silverado EV 4WT, 2LT,<br> '26- GMC Sierra EV Elevation 3SB, Denali 5SB |- | J ||X0C|| 2 || EC5 || 10 || Electricity || All || '24 Chevy Blazer EV 2LT, 1RS AWD,<br> '25- Chevy Blazer EV 4LT, 3RS AWD, '24- Honda Prologue AWD |- | K ||X0D|| 1 || EC6 || 12 || Electricity || Rear || '23- Cadillac Lyriq RWD, '24-'25 Chevrolet Blazer EV 2RS RWD,<br> '24 Acura ZDX A-Spec RWD |- | L ||X0E|| 2 || EC6 || 12 || Electricity || All || '23- Cadillac Lyriq AWD, '24- Chevrolet Blazer EV PPV AWD,<br> '25- Chevrolet Blazer EV SS AWD, '26- Cadillac Vistiq AWD,<br> '24 Acura ZDX A-Spec, Type S AWD |- | L ||XRJ|| 2 || ETN || 24 || Electricity || All || '24 Chevrolet Silverado EV 4WT, RST (3SP), '25- Silverado EV 8WT,<br> '25 Silverado EV RST (3SP), '26- Silverado EV 4LT, Trail Boss (3TR),<br> '24- GMC Sierra EV Denali 5SD, '26- Sierra EV AT4 4SD,<br> '25- Cadillac Escalade IQ, '26- Cadillac Escalade IQL |- | M ||X0B|| 1 || EC5 || 10 || Electricity || Front || '24- Honda Prologue FWD, '25- Chevy Blazer EV 2LT, 1RS FWD |- | P ||X0B|| 1 || EC3 || 10 || Electricity || Front || '24- Chevrolet Equinox EV FWD |- | R ||X0C|| 2 || EC3 || 10 || Electricity || All || '24- Chevrolet Equinox EV AWD, '25 Cadillac Optiq AWD |- | Y ||XRJ|| 2 || ETC || 12 || Electricity || All || '24 BrightDrop Zevo 400, Zevo 600,<br> '25-'26 Chevrolet BrightDrop 400/600 AWD |- | Z ||XRJ|| 2 || ETJ || 20 || Electricity || All || '24 BrightDrop Zevo 400, Zevo 600,<br> '25-'26 Chevrolet BrightDrop 400/600 AWD |- | 4 ||X0E|| 2 || EC3 || 10 || Electricity || All || '26- Cadillac Optiq AWD |- | 5 ||X0D|| 1 || EC3 || 10 || Electricity || Rear|| '26- Cadillac Optiq RWD |- | 6 ||XRM|| 1 || ETC || 12 || Electricity || Front || '25-'26 Chevrolet BrightDrop 400/600 FWD |- | 7 ||XRJ|| 2 || EWU || 14 || Electricity || All || '26 Chevrolet BrightDrop 600 AWD |} SB=Standard Range, SC=Extended Range, SD=Max Range ====Engine codes for medium duty trucks 2016-==== GM encodes the engine type in character 8 of the VIN. The following table outlines the various engines encoded there: {| class="wikitable" |- ! VIN !! RPO !! Size !! Type !! Fuel !! Valvetrain !! Engine Family/Notes/Applications |- | B ||L96|| 6.0L || V8 || Gas ||OHV||SFI. Gen IV Chevrolet Small-Block V8. Iron Block & Aluminum Heads. VVT.<br /> '16-'20 Chevy LCF 3500/4500. |- | C ||LC8|| 6.0L || V8 || Gas/CNG or<br>Gas/LPG ||OHV||Bi-Fuel. SFI. Gen IV Chevrolet Small-Block V8. Iron Block & Aluminum Heads. VVT.<br /> '16-'20 Chevy LCF 3500/4500. |- | D ||L8T|| 6.6L || V8 || Gas ||OHV||Gen V Chevrolet Small-Block V8. Iron Block/Aluminum Heads. Direct injection, VVT.<br /> '21-'23 Chevy LCF 3500/4500, '24- Chevy LCF 3500HG/4500HG/5500HG/5500XG. |- | F ||LCB|| 6.7L || I6 Turbo || Diesel ||OHV,<br /> 32 valve||Cummins B Series ISB engine. '22- Chevy LCF 6500XD, '23- Chevy LCF 7500XD. |- | 6 ||I1B|| 5.2L || I4 Turbo || Diesel ||SOHC,<br /> 16 valve||Isuzu 4HK1-TC engine. '17- Chevy LCF 4500HD/XD, 5500XD, '17-'24 Chevy LCF 5500HD,<br /> '18-'21 Chevy LCF 6500XD. |- | 7 ||IZ3|| 3.0L || I4 Turbo || Diesel ||DOHC,<br /> 16 valve||Isuzu 4JJ1-TC engine. '16-'18 Chevy LCF 3500HD. |- |} ====Engine codes for AM General-built Hummer H1 2000-2006==== AM General encodes the engine type in character 4 of the VIN. {| class="wikitable" |- ! VIN !! RPO !! Size !! Type !! Fuel !! Valvetrain !! Engine Family/Notes |- | F || || 6.5L || V8 Turbo || Diesel ||OHV||Detroit Diesel V8 built by GEP (General Engine Products), a subsidiary of AM General.<br> '01-'04 Hummer H1 & '06 H1 Fleet models. |- | P ||LLY|| 6.6L || V8 Turbo || Diesel ||OHV,<br /> 32 valve||Duramax 6600 V8 engine. '06 Hummer H1 Alpha. |- | Z ||L65|| 6.5L || V8 Turbo || Diesel ||OHV||Detroit Diesel V8 built by GM. '00-'01 Hummer H1. |- |} ====Engine codes for Nissan-built vans==== Nissan encodes the engine type in character 4 of the VIN. {| class="wikitable" |- ! VIN !! RPO !! Size !! Type !! Fuel !! Valvetrain !! Engine Family/Notes |- | 3 ||L0A|| 2.0L || I4 || Gas ||DOHC,<br /> 16 valve||Nissan MR20DE engine. SFI. VVT. For the '15-'18 Chevrolet City Express. |- |} ====Engine codes for Navistar-built medium-duty trucks==== Navistar encodes the engine type in character 6 & 7 of the VIN. {| class="wikitable" |- ! VIN !! RPO !! Size !! Type !! Fuel !! Valvetrain !! Engine Family/Notes |- | PV ||L5D|| 6.6L || V8 Turbo || Diesel ||OHV,<br /> 32 valve||Duramax 6600 V8 engine. For the Chevy Silverado Medium Duty '19+. |- |} ==GM factories supplying North America== ===North American GM factories=== [[w:List_of_General_Motors_factories | List of GM Factories]] {| class="wikitable" !VIN code !Location !Notes |- |A |Lakewood Assembly (Lakewood Heights, Atlanta, Georgia) |through 1990 model year |- |A |Artisan Center (Warren, Michigan) |From 2026 model year. Cadillac CT5-V Blackwing "Curated by Cadillac" program only. |- |B |Baltimore Assembly (Baltimore, Maryland) |through 2005 model year |- |B |Reatta Craft Centre/Lansing Craft Centre (Lansing Township, Michigan) |1988-2006 model year (except GM EV1) |- |B |GM Defense-Manufacturing Customer Innovation Center (MCIC) (Concord, North Carolina) |From 2024 model year. Chevrolet Suburban HD (a.k.a. HD SUV) (for US govt. only). |- |C |South Gate Assembly (South Gate, California) |through 1982 model year |- |C |Lansing Car Assembly (Lansing, Michigan) |South assembly line 1985-2004 model year |- |D |Doraville Assembly (Doraville, Georgia) |through 2009 model year |- |E |Linden Assembly (Linden, New Jersey) |through 1991 model year |- |E |Pontiac East Assembly (Pontiac, Michigan) |1988-2009 model year |- |E |AM General Military plant (Mishawaka, Indiana) |1992-2006 Hummer H1 |- |F |Flint Truck Assembly (Flint, Michigan) |since 1953 |- |F |Fairfax II Assembly (Kansas City, Kansas) |since 1988 model year |- |G |Framingham Assembly (Framingham, Massachusetts) |through 1989 model year |- |G |Silao Assembly (Silao, Guanajuato, Mexico) |since 1995 model year |- |H |Buick City Assembly (Flint, Michigan) |through 1999 model year |- |H |AM General Commercial plant (Mishawaka, Indiana) |2003-2009 Hummer H2 |- |H |Navistar Springfield plant (Main Line) (Springfield, Ohio) |2019- Chevrolet Silverado Medium Duty (4500HD/5500HD/6500HD) |- |J |Janesville Assembly (Janesville, Wisconsin) |through 2009 model year |- |J |Lansing Delta Township Assembly (Lansing, Michigan) |since 2007 model year |- |K |Leeds Assembly (Leeds, Kansas City, Missouri) |through 1988 model year |- |K |Linden Assembly (Linden, New Jersey) |from 1994-2005 model year |- |K |Nissan plant (Cuernavaca, Morelos, Mexico) |2015-2018 Chevrolet City Express |- |L |Van Nuys Assembly (Van Nuys, California) |through 1992 model year |- |L |San Luis Potosí Assembly (San Luis Potosí, Mexico) |since 2009 model year |- |M |Lansing Car Assembly (Lansing, Michigan) |through 1984 model year, North assembly line 1985-2005 model year |- |M |Toluca Assembly (Toluca, Mexico state, Mexico) |through 2008 model year |- |N |Norwood Assembly (Norwood, Ohio) |through 1987 model year |- |N |Navistar Springfield plant (Secondary Line) (Springfield, Ohio) |2017- Chevrolet Express cutaway, GMC Savana cutaway |- |P |Pontiac Assembly (Pontiac, Michigan) |through 1988 model year |- |R |Arlington Assembly (Arlington, Texas) |since 1965 [all GM brands]. (R plant code used only by Chevrolet in 1963-64) |- |S |St. Louis Assembly (St. Louis, Missouri) |through 1987 model year |- |S |Spring Hill Manufacturing (Spring Hill, Tennessee) |2002-2007 Saturn Vue & 2009-2010 Chevrolet Traverse only |- |S |Spartan Motors/Shyft Group plant (Charlotte, Michigan) |2016- Chevrolet Low Cab Forward 3500/3500HG/4500/4500HG/5500HG/5500XG/6500XD/7500XD |- |S |Ramos Arizpe Assembly (Ramos Arizpe, Coahuila, Mexico) |since 1982 |- |T |Tarrytown Assembly (North Tarrytown, New York) |through 1996 model year |- |U |Detroit/Hamtramck Assembly (Factory Zero) <br /> (Detroit & Hamtramck, Michigan) |since 1986 model year |- |U |Artisan Center (Warren, Michigan) |From 2025 model year. Cadillac Celestiq only. |- |V |Pontiac Central Assembly (Pontiac, Michigan) |through 1991 model year |- |V |Pontiac East Assembly (Pontiac, Michigan) |through 1985 model year |- |W |Willow Run Assembly (Ypsilanti Township, Michigan) |through 1993 model year |- |X |Fairfax Assembly (Fairfax I) (Kansas City, Kansas) |through 1987 model year |- |Y |Wilmington Assembly (Wilmington, Delaware) |through 2010 model year |- |Z |Fremont Assembly (Fremont, California) |through 1982 model year |- |Z |NUMMI (Fremont, California) |1985-2010 model year |- |Z |Spring Hill Manufacturing (Spring Hill, Tennessee) |since 1991 model year (except Vue & Traverse) |- |Z |Fort Wayne Assembly (Roanoke, Indiana) |since 1988 model year |- |0 |Pontiac West Assembly (Pontiac, Michigan) |through 1994 model year |- |0 |Lansing Craft Centre (Lansing Township, Michigan) |GM EV1 only |- |0 |Lansing Grand River Assembly (Lansing, Michigan) |since 2003 model year |- |0 |Artisan Center (Warren, Michigan) |2024 Cadillac CT5-V Blackwing 20th Anniversary Edition where the final eight digits of the VIN are R0912004 through R0912024 or R0962004 through R0962024 |- |1 |Wentzville Assembly (Wentzville, Missouri) |since 1985 model year |- |1 |Oshawa Car Assembly (Oshawa, Ontario, Canada) |from 1967-1983 model year |- |1 |Oshawa Car Assembly (Line 2 a.k.a. Consolidated Line) (Oshawa, Ontario, Canada) |from 1984-2019 model year; switched to pickup trucks for 2019 model year |- |1 |Oshawa Car Assembly (Oshawa, Ontario, Canada) |Silverado pickup trucks since 2022 model year |- |1 |Oshawa Truck Assembly (Oshawa, Ontario, Canada) |through 2009 model year |- |2 |Moraine Assembly (Moraine, Ohio) |through 2009 model year |- |2 |Sainte-Thérèse Assembly (Boisbriand, Quebec, Canada) |through 2002 model year |- |3 |Detroit Truck & Bus plant (Piquette Ave., Detroit, Michigan) |through 1999 model year |- |3 |Saint-Eustache Bus Plant (Saint-Eustache, Quebec, Canada) |through 1987 model year |- |4 |Orion Assembly (Orion Township, Michigan) |since 1985 model year |- |4 |Scarborough Van Assembly (Scarborough, Ontario, Canada) |through 1993 model year |- |5 |Bowling Green Assembly (Bowling Green, Kentucky) |since 1981 model year |- |6 |Oklahoma City Assembly (Oklahoma City, Oklahoma) |through 2006 model year |- |6 |CAMI plant (Ingersoll, Ontario, Canada) |1990-2022 model year |- |7 |Lordstown Assembly (Warren, Ohio) |from 1979-2019 model year |- |8 |Shreveport Assembly (Shreveport, Louisiana) |through 2012 model year |- |9 |Detroit Assembly (Clark Street, Detroit, Michigan)<br> (Cadillac plant) |from 1979-1988 model year |- |9 |Oshawa Car Assembly (Line 1 a.k.a. Flex Line)<br> (Oshawa, Ontario, Canada) |from 1984-2020 model year |- |9 |KUKA plant (Livonia, Michigan) |2022 model year only (BrightDrop Zevo 600) |- |9 |CAMI plant (Ingersoll, Ontario, Canada) |since 2023 model year (BrightDrop Zevo/Chevrolet BrightDrop) |} ===Non-North American GM factories supplying North America=== {| class="wikitable" !VIN code !Location !Models Sourced |- |A |SAIC-GM plant: Jinqiao, Pudong district, Shanghai, China |2017-2018 Cadillac CT6 Plug-in Hybrid |- |B |Daewoo/GM Daewoo/GM Korea plant: Bupyeong, South Korea |1988-1993 Pontiac LeMans, 2004-2011 Chevrolet Aveo, 2005-2010 Pontiac Wave/G3, 2004-2006 Chevrolet <br /> Epica (Canada), 2013-2022 Chevrolet Trax, Buick Encore, 2021- Chevrolet Trailblazer, 2020- Buick Encore GX, 2024- Buick Envista |- |C |GM Daewoo/GM Korea plant: Changwon, South Korea |2003-2010 Pontiac Matiz/Matiz G2 (Mexico), 2013-2022 Chevrolet Spark, 2024- Chevrolet Trax |- |D |SAIC-GM Dongyue Motors plant: Yantai, Shandong province, China |2016- Buick Envision, 2019-2023 Chevrolet Aveo (Mexico), 2023- Chevrolet Onix (Mexico) |- |G |Opel plant: Gliwice, Poland |2016-2019 Buick Cascada |- |K |Suzuki plant: Kosai, Shizuoka prefecture, Japan |1985-1988 Chevrolet Sprint, 1989-1990 Geo Metro hatchback, 1990-1993 Geo Metro convertible, 1985-1990 Pontiac Firefly (Canada), 1991 & 1994 Pontiac Firefly convertible & sedan (Canada) |- |K |GM Daewoo/GM Korea plant: Kunsan, South Korea |2004-2007 Chevrolet Optra (Canada), 2012-2014 Chevrolet Orlando (Canada) |- |L |Holden plant: Elizabeth, South Australia, Australia |2004-2006 Pontiac GTO, 2008-2009 Pontiac G8, 2011-2017 Chevrolet Caprice PPV, 2014-2017 Chevrolet SS |- |R |Opel plant: Rüsselsheim, Germany |1997-2001 Cadillac Catera |- |T |GM India plant: Talegaon, Maharashtra, India |2017-2021 Chevrolet Spark Classic/Beat (Mexico) |- |V |SAIC-GM Wuhan plant: Wuhan, Hubei province, China |2018-2021 Chevrolet Cavalier (Mexico), 2022- Chevrolet Cavalier Turbo (Mexico) |- |W |Suzuki plant: Iwata, Shizuoka prefecture, Japan |1989-1990 Geo Tracker |- |1 |Opel plant: Rüsselsheim, Germany |2011, 2018-2020 Buick Regal |- |3 |Isuzu plant: Kawasaki, Kanagawa prefecture, Japan |1987-1998 Chevrolet/GMC W5, 1989-1996 Chevrolet/GMC W6, 1984-1996 Chevrolet/GMC W7 |- |5 |Opel plant: Antwerp, Belgium |2008-2009 Saturn Astra |- |7 |Isuzu plant: Fujisawa, Kanagawa prefecture, Japan |1988 Chevrolet Spectrum, 1988 Pontiac Sunburst (Canada), 1989 Geo Spectrum, 1990-1993 Geo Storm,<br /> 1999-2008 Chevrolet/GMC W3500, 1988-2009 Chevrolet/GMC W4, 1999-2009 Chevrolet/GMC W5,<br /> 2000-2004 Chevrolet/GMC WT5500,<br /> 2016- Chevrolet Low Cab Forward 3500HD/4500HD/4500XD/5500HD/5500XD |- |8 |Isuzu plant: Fujisawa, Kanagawa prefecture, Japan |1981-1982 Chevrolet LUV, 1985-1987 Chevrolet Spectrum, 1985-1987 Pontiac Sunburst (Canada),<br /> 1986-1987 Chevrolet/GMC W4 |} ==GM WMIs== {| class=wikitable !WMI !Marque !Country |- |1G1||rowspan=57|Chevrolet||United States |- |1G8||United States (MPV 1981-1986) |- |1GA||United States (bus [van with more than 3 rows of seats]) |- |1GB||United States (incomplete vehicle) |- |1GC||United States (truck) |- |1GN||United States (MPV 1987-) |- |1HA||United States (Express incomplete vehicle made by Navistar) |- |1HT||United States ([[w:Chevrolet Silverado#Medium duty version_(4500HD,_5500HD,_6500HD,_and_International_CV)|Silverado Medium Duty]] incomplete vehicle made by Navistar) |- |1Y1||United States (made by NUMMI) |- |2C1||Canada (car made by CAMI) |- |2CN||Canada (SUV made by CAMI - 1998-2011) |- |2G1||Canada |- |2G5||Canada (truck - Chevrolet BrightDrop '25) |- |2G8||Canada (MPV 1981-1986) |- |2GA||Canada (bus [van with more than 3 rows of seats]) |- |2GB||Canada (incomplete vehicle) |- |2GC||Canada (truck - includes Chevrolet BrightDrop '26) |- |2GN||Canada (MPV 1987-) |- |3G1||Mexico |- |3GC||Mexico (truck) |- |3GN||Mexico (MPV) |- |3N6||Mexico (Truck - City Express made by Nissan) |- |4G1||United States (made by Genasys L.C.) |- |4KB||United States (W-Series incomplete vehicle made by GM - through 2009) |- |4W1||United States (MPV - Chevrolet Suburban HD made for US govt. in Concord, NC) |- |54D||United States (incomplete vehicle made by Spartan Motors/The Shyft Group) |- |6G1||Australia (2011-2013 Caprice PPV) |- |6G3||Australia (2014-2017 Caprice PPV & SS performance sedan) |- |ADM||South Africa |- |J81||Japan (car made by Isuzu) |- |J8B||Japan (incomplete vehicle made by Isuzu - through 2009) |- |J8Z||Japan (LUV pickup made by Isuzu) |- |JAL||Japan (incomplete vehicle made by Isuzu - 2016+) |- |JG1||Japan (car made by Suzuki) |- |KL1||South Korea (car) |- |KL7||South Korea (MPV - 2012+) |- |KL8||South Korea (Spark) |- |LSF||China (S-10 Max made by SAIC-Maxus - Mexico only) |- |LSG||China (SAIC-GM) |- |LSH||China (Express Max made by SAIC-Maxus - Mexico only) |- |LZW||China (SAIC-GM-Wuling) |- |MA6||India |- |MJB||Indonesia (GM Indonesia) |- |MK3||Indonesia (SGMW Motor Indonesia) |- |MMM||Thailand |- |XUF||Russia (GM Russia - St. Petersburg plant) |- |XUU||Russia (Chevrolet Korea models made by Avtotor in Kaliningrad) |- |XWB||Uzbekistan (GM Uzbekistan, UzAuto Motors) |- |XWF||Russia (Chevrolet Tahoe & Trailblazer [GMT360] made by Avtotor in Kaliningrad) |- |X9L||Russia (GM-AvtoVAZ) |- |8AG||Argentina |- |8GG||Chile |- |8LD||Ecuador |- |8Z1||Venezuela |- |9BG||Brazil |- |93C||Brazil |- |9GC||Colombia |- |J81||rowspan=6|Geo||Japan (car made by Isuzu) |- |JG1||Japan (car made by Suzuki) |- |JGC||Japan (SUV made by Suzuki) |- |1Y1||United States (car made by NUMMI) |- |2C1||Canada (car made by CAMI) |- |2CN||Canada (SUV made by CAMI - 1990-1997) |- |KLA||rowspan=3|GM Daewoo/<br />GM Korea||South Korea (Bupyeong & Kunsan plants) |- |KLY||South Korea (Changwon plant) |- |5GD||United States (G2X) |- |1G2||rowspan=12|Pontiac||United States |- |1G5||United States (incomplete vehicle - for '89-'90 Turbo Grand Prix by ASC/McLaren) |- |1GM||United States (MPV) |- |2CK||Canada (2006-2009 Torrent made by CAMI) |- |2G2||Canada |- |2G7||Canada (US market 1983 Pontiac Parisienne) |- |3G2||Mexico |- |3G7||Mexico (MPV: 2001-2005 Aztek) |- |4G2||United States (made by Genasys L.C.) |- |5Y2||United States (made by NUMMI) |- |6G2||Australia |- |KL2||South Korea (made by Daewoo/GM Daewoo) |- |1G7||rowspan=6|Pontiac<br />(Canada only)||United States |- |2C7||Canada (car made by CAMI) |- |2CG||Canada (SUV made by CAMI) |- |2G7||Canada |- |J87||Japan (car made by Isuzu) |- |JG7||Japan (car made by Suzuki) |- |KL7||Passport<br />(Canada only)||South Korea (car made by Daewoo) |- |J87||rowspan=3|Asüna<br />(Canada only)||Japan (car made by Isuzu) |- |KL7||South Korea (car made by Daewoo) |- |2CG||Canada (SUV made by CAMI) |- |1G3||rowspan=3|Oldsmobile||United States |- |1GH||United States (MPV/SUV) |- |2G3||Canada |- |1G4||rowspan=9|Buick||United States |- |2G4||Canada |- |3G4||Mexico |- |3G5||Mexico (MPV) |- |4GL||United States (incomplete vehicle) |- |5GA||United States (MPV) |- |KL4||South Korea (MPV) |- |LRB||China (SAIC-GM) |- |W04||Germany & Poland |- |KLA||Alpheon||South Korea (2011-2015) |- |1G6||rowspan=10|Cadillac||United States |- |1GE||United States (incomplete vehicle) |- |1GY||United States (SUV) |- |2G6||Canada |- |2GE||Canada (incomplete vehicle) |- |3GY||Mexico (SUV) |- |LRE||China (SAIC-GM) |- |W06||Germany |- |XWF||Russia (made by Avtotor in Kaliningrad) |- |YSC||Sweden |- |1G8||rowspan=4|Saturn||United States |- |3GS||Mexico (SUV) |- |5GZ||United States (MPV/SUV) |- |W08||Belgium |- |1G0||rowspan=22|GMC||United States (bus 1981-1986) |- |1G5||United States (MPV 1981-1986) |- |1GD||United States (incomplete vehicle) |- |1GJ||United States (bus 1987-) |- |1GK||United States (MPV 1987-) |- |1GT||United States (truck) |- |2CK||Canada (1990-1991 Tracker made by CAMI - Canada only) |- |2CT||Canada (2010-2011 Terrain made by CAMI) |- |2G0||Canada (bus [van with more than 3 rows of seats] 1981-1986) |- |2G5||Canada (MPV 1981-1986) |- |2GD||Canada (incomplete vehicle) |- |2GH||Canada (transit bus) |- |2GJ||Canada (bus [van with more than 3 rows of seats] 1987-) |- |2GK||Canada (MPV 1987-) |- |2GT||Canada (truck) |- |3GK||Mexico (SUV) |- |3GT||Mexico (truck) |- |4KD||United States (W-Series incomplete vehicle made by GM - through 2009) |- |7GZ||United States (incomplete vehicle made by Navistar) |- |J8D||Japan (incomplete vehicle made by Isuzu - through 2009) |- |JGT||Japan (SUV made by Suzuki - Canada only) |- |KL6||South Korea (Middle East market Terrain '08-'10) |- |4GD||WhiteGMC||United States (1988-1989 Brigadier made by GM) |- |137||rowspan=6|Hummer||United States (H1 made by AM General) |- |5GN||United States (H3T) |- |5GR||United States (H2 made by AM General) |- |5GT||United States (H3) |- |ADM||South Africa (H3) |- |XWF||Russia (H2 & H3 made by Avtotor in Kaliningrad) |- |4G5||General Motors||United States (EV1) |- |2G5||rowspan=2|BrightDrop||Canada (Truck 2023-2024) |- |5G5||United States (Truck made by Kuka AG - 2022 only) |- |5G2||rowspan=2|Cruise||United States (car) (Cruise AV) |- |5G3||United States (MPV) (Cruise Origin AV) |- |YS3||rowspan=4|Saab||Sweden |- |JF4||Japan (9-2X made by Subaru) |- |3G0||Mexico (9-4X) |- |5S3||United States (9-7X) |- |W0L||rowspan=19|Opel/Vauxhall||Germany & the rest of Europe (2017 and earlier) |- |W0V||Germany & the rest of Europe (2018 and later) & Opel Ampera-e Mid-2017 - 2019 |- |W0L||when plant code is H: Thailand (Zafira A) |- |W0L||when plant code is 0: South Korea (Antara) or B: South Korea (Antara, Mokka A, Mokka X [A]) |- |W0L||when plant code is C: South Korea (Opel Karl/Vauxhall Viva) |- |W0V||when plant code is B: South Korea (Mokka X [A]) or C: South Korea (Opel Karl/Vauxhall Viva) |- |SCC||UK (Opel Lotus Omega made by Lotus) |- |SED||UK (made by IBC Vehicles) |- |TW8||Portugal |- |VF1||France (Arena made by Renault) |- |VN1||France (Movano A made by Renault at SOVAB plant in Batilly, France) |- |VSX||Spain |- |XUF||Russia (Opel made by GM Russia - St. Petersburg plant) |- |XWF||Russia (Opel made by Avtotor in Kaliningrad) |- |1G0||United States (Opel GT, Opel/Vauxhall Ampera, Opel Ampera-e Early - Mid-2017) |- |4GD||United States (Sintra) |- |ADM||South Africa |- |JAA||Japan (Opel Campo made by Isuzu) |- |JAC||Japan (Monterey made by Isuzu) |- |SKA||rowspan=4|Vauxhall Motors||UK |- |SCC||UK (Vauxhall Lotus Carlton made by Lotus) |- |6G1||Australia (Vauxhall Monaro & VXR8 made by Holden) |- |JAA||Japan (Vauxhall Brava made by Isuzu) |- |SKF||rowspan=2|Bedford Vehicles||UK |- |JAA||Japan (Bedford Brava made by Isuzu) |- |6G1||rowspan=18|Holden||Australia (2003-2017) |- |6H8||Australia (1989-2002) |- |JAA||Japan (Rodeo pickup [TF] made by Isuzu) |- |JAC||Japan (Jackaroo/Monterey made by Isuzu) |- |JSA||Japan (YG Cruze made by Suzuki) |- |KL3||South Korea |- |MMM||Thailand ('09-'11 Colorado pickup [RC] made by GM Thailand) |- |MMU||Thailand ('13-'20 Colorado pickup [RG], '13-'16 Colorado 7, '17-'20 Trailblazer made by GM Thailand) |- |MPA||Thailand ('04-'08 Rodeo pickup [RA] made by Isuzu Thailand) |- |SED||UK (1st gen. Frontera made by IBC Vehicles) |- |W0L||Germany & the rest of Europe (2017 and earlier) |- |W0L||when plant code is H: Thailand (Zafira A) |- |W0V||Germany & the rest of Europe (2018-2020) |- |1GH||United States (Acadia) |- |3G0||Mexico (Equinox) |- |3GM||Mexico (Suburban) |- |4S2||United States (2nd gen. Frontera made by [[w:Subaru Isuzu Automotive|SIA]]) |- |5G8||United States (Volt) |- |1GG||rowspan=4|Isuzu||United States (Truck - Hombre & i-Series made by GM) |- |4GT||United States (H-Series & T-Series incomplete vehicle made by GM - through 2009) |- |4KL||United States (N-Series incomplete vehicle made by GM - through 2009) |- |4NU||United States (MPV/SUV - Ascender made by GM) |- |W0L||Subaru||Thailand [plant code H] (Traviq made by GM Thailand for export to Japan) |- |4G3||Toyota||United States (Cavalier made by GM for export to Japan) |- |3GP||Honda||Mexico (MPV/SUV: 2024- Prologue made by GM) |- |4W5||Acura||United States (MPV/SUV: 2024 ZDX EV made by GM) |} {{BookCat}} qb7vxg0jvg1wyqhlds9w3b8v6p3ldla 4654489 4654488 2026-07-14T21:07:27Z JustTheFacts33 3434282 /* Body style codes 1981-2009 Light Duty Truck & Multi-Purpose Passenger Vehicle */ 4654489 wikitext text/x-wiki {{Vehicle Identification Numbers (VIN codes)/Warning}}{{clear}} It is the tenth digit that gives you the model year for GM. I've been working at a Chevy dealer for years running codes/vins. For example (my examples only apply to 2001-2015 gm vehicles) Remember 10th digit from the beginning, (left to right). 2001... 1, 2002...2, 2003...3, etc., 2009...9. After 2009, the tenth digit was given a letter 2010... A, 2011...B, 2012...C, 2013...D, 2014...E, 2015...F, Etc... We have another 20 years worth of letters. Thanks for reading. You can always check your model year by looking in your drivers side door jamb and it will give you model year. If it was assembled in July or later, the model year is probably a year later than the calendar year of the manufacturing date listed. ==American GM== ===American VIN format 1981-1984 Passenger Car=== GM's VIN format is as follows: <table border=1 style="margin:auto;"> <tr> <th>Position</th> <th>Sample</th><th></th><th></th><th>Description</th> </tr><tr> <td>1</td> <td>1</td><td></td><td></td><td rowspan=3>[[#GM WMIs|World Manufacturer Identifier]]</td> </tr><tr> <td>2</td> <td>G</td><td></td><td></td></tr><tr> <td>3</td> <td>6</td><td></td><td></td></tr><tr> <td>4</td> <td>A</td><td></td><td></td><td>[[#American restraint types 1981-1984|Restraint type]]</td> </tr><tr> <td>5</td> <td>M</td><td></td><td></td><td>[[#Car Line & Series Code 1981-1984|Car Line & Series Code]]</td> </tr><tr> <td>6</td> <td>4</td><td></td><td></td><td rowspan=2>[[#Body style codes 1981-1986|Body style]]</td> </tr><tr> <td>7</td> <td>7</td><td></td><td></td><td> </td> </tr><tr> <td>8</td> <td>8</td><td></td><td></td><td>[[#American engine codes 1981-|Engine type]]</td> </tr><tr> <td>9</td> <td>0</td><td></td><td></td><td>[[Vehicle Identification Numbers (VIN codes)/Check digit |Check digit]]</td> </tr><tr> <td>10</td> <td>E</td><td></td><td></td><td>[[Vehicle Identification Numbers (VIN codes)/Model year|Model year]]</td> </tr><tr> <td>11</td> <td>9</td><td></td><td></td><td>[[#GM factories supplying North America|Factory ID]]</td> </tr><tr> <td>12</td> <td>1</td><td></td><td></td><td rowspan=6>Sequential number </tr><tr> <td>13</td> <td>2</td><td></td><td></td></tr><tr> <td>14</td> <td>3</td><td></td><td></td></tr><tr> <td>15</td> <td>7</td><td></td><td></td></tr><tr> <td>16</td> <td>6</td><td></td><td></td></tr><tr> <td>17</td> <td>2</td><td></td><td></td> </table> ====American restraint types 1981-1984==== The restraint type is specified as character four of the American GM VIN for passenger cars. {| border=1 style="margin:auto;" !VIN Code !Description |- |A||Manual Seatbelts only - No Passive Restraint |} ====Car Line & Series Code 1981-1984==== The Car Line & Series Code is specified as character five of the American GM VIN for passenger cars. {| border=1 style="margin:auto;" !List of GM platforms !Car Line & <br> Series Code !:Category:General Motors vehicles|Model |- |rowspan=19|GM A platform - rear-wheel drive |T||Chevrolet Malibu 1981 |- |W||Chevrolet Malibu Classic 1981 |- |Z||Chevrolet Monte Carlo 1981 |- |D||Pontiac LeMans 1981 |- |F||Pontiac Grand LeMans 1981 |- |J||Pontiac Grand Prix 1981 |- |K||Pontiac Grand Prix LJ 1981 |- |P||Pontiac Grand Prix Brougham 1981 |- |G||Oldsmobile Cutlass sedan, Cutlass Cruiser wagon 1981 |- |H||Oldsmobile Cutlass Cruiser ''Brougham'' wagon 1981 |- |K||Oldsmobile Cutlass Calais coupe 1981 |- |M||Oldsmobile Cutlass Supreme ''Brougham'' 1981 |- |R||Oldsmobile Cutlass Supreme coupe, Cutlass LS sedan 1981 |- |E||Buick Century wagon 1981 |- |H||Buick Century sedan, Estate wagon 1981 |- |J||Buick Regal 1981 |- |K||Buick Regal ''Sport'' 1981 |- |L||Buick Century ''Limited'' 1981 |- |M||Buick Regal ''Limited'' 1981 |- |rowspan=10|GM A platform - front-wheel drive |W||Chevrolet Celebrity 1982-1984 |- |F||Pontiac 6000 1982-1984 |- |G||Pontiac 6000 ''LE'' 1982-1984 |- |H||Pontiac 6000 ''STE'' 1983-1984 |- |G||Oldsmobile Cutlass Ciera 1982 |- |J||Oldsmobile Cutlass Ciera ''LS'' 1982-1984, Cutlass Cruiser ''LS'' 1984 |- |M||Oldsmobile Cutlass Ciera ''Brougham'' 1982-1984 |- |G||Buick Century ''T-Type'' 1983-1984 |- |H||Buick Century ''Custom'' 1982-1984 |- |L||Buick Century ''Limited'' 1982-1984 |- |rowspan=19|GM B platform |D||Chevrolet Bel Air 1981 (Canada only) |- |L||Chevrolet Impala 1981-1984 |- |N||Chevrolet Caprice Classic 1981-1984 |- |F||Pontiac Laurentian 1981 (Canada only) |- |L||Pontiac Catalina 1981, Parisienne 1984 |- |L||Pontiac Parisienne 1982-1983 (Canada only) |- |N||Pontiac Bonneville 1981 |- |N||Pontiac Parisienne 1981, Parisienne Brougham 1982-1983 (Canada only) |- |R||Pontiac Bonneville Brougham 1981 |- |T||Pontiac Parisienne Brougham 1984 |- |L||Oldsmobile Delta 88 1981-1983 |- |N||Oldsmobile Delta 88 Royale 1981-1984 |- |P||Oldsmobile Custom Cruiser 1981-1984 |- |V||Oldsmobile Delta 88 Royale Brougham LS 1984 |- |Y||Oldsmobile Delta 88 Royale Brougham 1981-1984 |- |N||Buick Le Sabre 1981, Le Sabre ''Custom'' 1982-1984 |- |P||Buick Le Sabre ''Limited'' 1981-1984 |- |R||Buick Le Sabre Estate Wagon 1981-1983 |- |V||Buick Electra Estate Wagon 1981-1984 |- |rowspan=13|GM C platform - rear-wheel drive |G||Oldsmobile 98 Regency 1984 |- |H||Oldsmobile 98 Regency Brougham 1984 |- |V||Oldsmobile 98 Luxury 1981 |- |W||Oldsmobile 98 Regency Brougham 1982-1983 |- |X||Oldsmobile 98 Regency 1981-1983 |- |R||Buick Electra Limited 1984 |- |U||Buick Electra Park Avenue 1984 |- |W||Buick Electra Park Avenue 1981-1983 |- |X||Buick Electra Limited 1981-1983 |- |B||Cadillac Fleetwood Brougham 1981-1983 |- |D||Cadillac DeVille 1981-1983 |- |M||Cadillac DeVille 1984 |- |W||Cadillac Fleetwood Brougham 1984 |- |rowspan=1|GM D platform - rear-wheel drive |F||Cadillac Fleetwood Limousine 1981-1984 |- |rowspan=4|GM E platform |Z||Oldsmobile Toronado Brougham 1981-1984 |- |Y||Buick Riviera T-Type 1981-1984 |- |Z||Buick Riviera 1981-1984 |- |L||Cadillac Eldorado 1981-1984 |- |rowspan=7|GM F platform |P||Chevrolet Camaro Sport Coupe 1981-1984 |- |S||Chevrolet Camaro Berlinetta 1981-1984 |- |S||Pontiac Firebird 1981-1984 |- |T||Pontiac Firebird ''Esprit'' 1981 |- |V||Pontiac Firebird ''Formula'' 1981 |- |W||Pontiac Firebird ''Trans Am'' 1981-1984 |- |X||Pontiac Firebird ''Trans Am'' Turbo Special Edition 1981, Firebird ''S/E'' 1982-1984 |- |rowspan=15|GM G platform - rear-wheel drive |W||Chevrolet Malibu Classic 1982, Malibu 1983 |- |Z||Chevrolet Monte Carlo 1982-1984 |- |J||Pontiac Grand Prix 1982-1984 |- |K||Pontiac Grand Prix LJ 1982-1983, Grand Prix LE 1984 |- |N||Pontiac Bonneville G 1982-1984 |- |P||Pontiac Grand Prix Brougham 1982-1984 |- |R||Pontiac Bonneville G Brougham 1982-1984 |- |S||Pontiac Bonneville G ''LE'' 1984 |- |H||Oldsmobile Cutlass Cruiser wagon 1982-1983 |- |K||Oldsmobile Cutlass Calais coupe 1982-1984 |- |M||Oldsmobile Cutlass Supreme ''Brougham'' 1982-1984 |- |R||Oldsmobile Cutlass Supreme coupe & sedan 1982-1984 |- |J||Buick Regal 1982-1984 |- |K||Buick Regal ''Sport'' 1982, Regal ''T-Type'' 1983-1984 |- |M||Buick Regal ''Limited'' 1982-1984 |- |rowspan=13|GM J platform |C||Chevrolet Cavalier 1983-1984 |- |D||Chevrolet Cavalier 2-d/4-d/wagon 1982, Cavalier CS 1983-1984 |- |E||Chevrolet Cavalier 3-door hatchback 1982, Cavalier CS 3-door hatchback 1983, Cavalier Type 10 2-d/3-d/Convertible 1984 |- |B||Pontiac J2000 1982, 2000 1983, 2000 Sunbird 1984 |- |C||Pontiac J2000 LE 1982, 2000 LE 1983, 2000 Sunbird LE Convertible 1983, 2000 Sunbird LE 1984 |- |D||Pontiac J2000 SE 1982, 2000 SE 1983, 2000 Sunbird SE 1984 |- |E||Pontiac J2000 S 1982 |- |C||Oldsmobile Firenza Base model 1982-1984, Firenza S 1982-1984 |- |D||Oldsmobile Firenza LX 1982-1984, Firenza SX 1982-1984 |- |E||Buick Skyhawk T-Type 1983-1984 |- |S||Buick Skyhawk Custom 1982-1984 |- |T||Buick Skyhawk Limited 1982-1984 |- |G||Cadillac Cimarron 1982-1984 |- |rowspan=1|GM K platform |S||Cadillac Seville 1981-1984 |- |rowspan=3|GM P platform ||E||Pontiac Fiero ''Coupe'' 1984 |- ||F||Pontiac Fiero ''SE'' 1984 |- ||M||Pontiac Fiero ''Sport coupe'' 1984 |- |rowspan=6|GM T platform - rear-wheel drive |B||Chevrolet Chevette 1981-1983, Chevette CS 1984 |- |J||Chevrolet Chevette Scooter 1981-1983, Chevette 1984 |- |B||Pontiac Acadian 1981-1984 (Canada only) |- |J||Pontiac Acadian S 1981-1982, Pontiac Acadian Scooter 1983-1984 (Canada only) |- |L||Pontiac T1000 1982, 1000 1983-1984 |- |M||Pontiac T1000 1981 |- |rowspan=10|GM X platform |H||Chevrolet Citation 2-door coupe 1982-1983, Citation II 2-door coupe 1984 |- |X||Chevrolet Citation hatchback 1981-1983, Citation II hatchback 1984 |- |T||Pontiac Phoenix SJ 1982-1983, Phoenix SE 1984 |- |Y||Pontiac Phoenix 1981-1984 |- |Z||Pontiac Phoenix LJ 1981-1983, Phoenix LE 1984 |- |B||Oldsmobile Omega 1981-1984 |- |E||Oldsmobile Omega Brougham 1981-1984 |- |B||Buick Skylark 1981-1982, Skylark Custom 1983-1984 |- |C||Buick Skylark Limited 1981-1984 |- |D||Buick Skylark Sport 1981-1982, Skylark T-Type 1983-1984 |- |rowspan=1|GM Y platform |Y||Chevrolet Corvette 1981-1982, 1984 |} ===American VIN format 1985-1986 Passenger Car=== GM has traditionally encoded the platform as the fourth character of the VIN. Other content includes an engine code and manufacturing plant. GM's VIN format is as follows: <table border=1 style="margin:auto;"> <tr> <th>Position</th> <th>Sample</th><th></th><th></th><th>Description</th> </tr><tr> <td>1</td> <td>1</td><td></td><td></td><td rowspan=3>[[#GM WMIs|World Manufacturer Identifier]]</td> </tr><tr> <td>2</td> <td>G</td><td></td><td></td></tr><tr> <td>3</td> <td>6</td><td></td><td></td></tr><tr> <td>4</td> <td>D</td><td></td><td></td><td>[[#Platform & Series Codes 1985- Passenger Car|Platform]]</td> </tr><tr> <td>5</td> <td>W</td><td></td><td></td><td>[[#Platform & Series Codes 1985- Passenger Car|Series Code]]</td> </tr><tr> <td>6</td> <td>6</td><td></td><td></td><td rowspan=2>[[#Body style codes 1981-1986|Body style]]</td> </tr><tr> <td>7</td> <td>9</td><td></td><td></td><td> </td> </tr><tr> <td>8</td> <td>Y</td><td></td><td></td><td>[[#American engine codes 1981-|Engine type]]</td> </tr><tr> <td>9</td> <td>0</td><td></td><td></td><td>[[Vehicle Identification Numbers (VIN codes)/Check digit |Check digit]]</td> </tr><tr> <td>10</td> <td>G</td><td></td><td></td><td>[[Vehicle Identification Numbers (VIN codes)/Model year|Model year]]</td> </tr><tr> <td>11</td> <td>9</td><td></td><td></td><td>[[#GM factories supplying North America|Factory ID]]</td> </tr><tr> <td>12</td> <td>1</td><td></td><td></td><td rowspan=6>Sequential number </tr><tr> <td>13</td> <td>2</td><td></td><td></td></tr><tr> <td>14</td> <td>3</td><td></td><td></td></tr><tr> <td>15</td> <td>7</td><td></td><td></td></tr><tr> <td>16</td> <td>6</td><td></td><td></td></tr><tr> <td>17</td> <td>2</td><td></td><td></td> </table> ====Body style codes 1981-1986==== The Body type is specified as characters six and seven of the American GM VIN for passenger cars from 1981-1986. {| border=1 style="margin:auto;" !VIN !Description |- |11,27,37,47,57,97||Two-Door Coupe/Sedan |- |07,08,77,87||Two-Door Hatchback |- |67||Two-Door Convertible |- |19,69||Four-Door Sedan |- |68||Four-Door Hatchback |- |23||Four-Door Limousine, 8-passenger ("Limousine") |- |33||Four-Door Limousine w/Center Partition, 7-passenger ("Formal Limousine") |- |35||Four-Door Station Wagon |} ===American VIN format 1987- Passenger Car=== GM has traditionally encoded the platform as the fourth character of the VIN. Other content includes an engine code and manufacturing plant. GM's VIN format is as follows: <table border=1 style="margin:auto;"> <tr> <th>Position</th> <th>Sample</th><th></th><th></th><th>Description</th> </tr><tr> <td>1</td> <td>1</td><td></td><td></td><td rowspan=3>[[#GM WMIs|World Manufacturer Identifier]]</td> </tr><tr> <td>2</td> <td>G</td><td></td><td></td></tr><tr> <td>3</td> <td>6</td><td></td><td></td></tr><tr> <td>4</td> <td>D</td><td></td><td></td><td>[[#Platform & Series Codes 1985- Passenger Car|Platform]]</td> </tr><tr> <td>5</td> <td>M</td><td></td><td></td><td>[[#Platform & Series Codes 1985- Passenger Car|Series Code]]</td> </tr><tr> <td>6</td> <td>5</td><td></td><td></td><td>[[#Body style codes 1987- Passenger Car|Body style]]</td> </tr><tr> <td>7</td> <td>7</td><td></td><td></td><td>[[#American restraint types 1987-|Restraint type]]</td> </tr><tr> <td>8</td> <td>N</td><td></td><td></td><td>[[#American engine codes 1981-|Engine type]]</td> </tr><tr> <td>9</td> <td>0</td><td></td><td></td><td>[[Vehicle Identification Numbers (VIN codes)/Check digit |Check digit]]</td> </tr><tr> <td>10</td> <td>3</td><td></td><td></td><td>[[Vehicle Identification Numbers (VIN codes)/Model year|Model year]]</td> </tr><tr> <td>11</td> <td>0</td><td></td><td></td><td>[[#GM factories supplying North America|Factory ID]]</td> </tr><tr> <td>12</td> <td>1</td><td></td><td></td><td rowspan=6>Sequential number </tr><tr> <td>13</td> <td>2</td><td></td><td></td></tr><tr> <td>14</td> <td>3</td><td></td><td></td></tr><tr> <td>15</td> <td>7</td><td></td><td></td></tr><tr> <td>16</td> <td>6</td><td></td><td></td></tr><tr> <td>17</td> <td>2</td><td></td><td></td> </table> ===American VIN format 1981-2009 Light Duty Truck & Multi-Purpose Passenger Vehicle=== GM's VIN format is as follows: <table border=1 style="margin:auto;"> <tr> <th>Position</th> <th>Sample</th><th></th><th></th><th>Description</th> </tr><tr> <td>1</td> <td>1</td><td></td><td></td><td rowspan=3>[[#GM WMIs|World Manufacturer Identifier]]</td> </tr><tr> <td>2</td> <td>G</td><td></td><td></td></tr><tr> <td>3</td> <td>K</td><td></td><td></td></tr><tr> <td>4</td> <td>E</td><td></td><td></td><td>[[#GVWR/Brake System 1981-2009 Light Duty Truck & Multi-Purpose Passenger Vehicle|GVWR/Brake System]]</td> </tr><tr> <td>5</td> <td>K</td><td></td><td></td><td>[[#Line & Chassis Type 1981-1999 Light Duty Truck & Multi-Purpose Passenger Vehicle|Line & Chassis Type for 1981-1999]]</td> </tr><tr> <td>5</td> <td>K</td><td></td><td></td><td>[[#Line & Chassis Type 2000-2009 Light Duty Truck & Multi-Purpose Passenger Vehicle|Line & Chassis Type for 2000-2009]]</td> </tr><tr> <td>6</td> <td>1</td><td></td><td></td><td>[[#Series 1981-1999 Light Duty Truck & Multi-Purpose Passenger Vehicle|Series]]</td> </tr><tr> <td>7</td> <td>8</td><td></td><td></td><td>[[#Body style codes 1981-2009 Light Duty Truck & Multi-Purpose Passenger Vehicle|Body type]]</td> </tr><tr> <td>8</td> <td>K</td><td></td><td></td><td>[[#Engine codes for light trucks|Engine type]]</td> </tr><tr> <td>9</td> <td>0</td><td></td><td></td><td>[[Vehicle Identification Numbers (VIN codes)/Check digit |Check digit]]</td> </tr><tr> <td>10</td> <td>N</td><td></td><td></td><td>[[Vehicle Identification Numbers (VIN codes)/Model year|Model year]]</td> </tr><tr> <td>11</td> <td>J</td><td></td><td></td><td>[[#GM factories supplying North America|Factory ID]]</td> </tr><tr> <td>12</td> <td>1</td><td></td><td></td><td rowspan=6>Sequential number </tr><tr> <td>13</td> <td>2</td><td></td><td></td></tr><tr> <td>14</td> <td>3</td><td></td><td></td></tr><tr> <td>15</td> <td>7</td><td></td><td></td></tr><tr> <td>16</td> <td>6</td><td></td><td></td></tr><tr> <td>17</td> <td>2</td><td></td><td></td> </table> ====GVWR/Brake System 1981-2009 Light Duty Truck & Multi-Purpose Passenger Vehicle==== The GVWR/Brake System is specified as character four of the American GM VIN for light trucks. {| border=1 style="margin:auto;" !VIN !GVWR Range in lbs. & Weight Class !Brake System |- |A||Class A: 0-3,000||Hydraulic |- |B||Class B: 3,001-4,000||Hydraulic |- |C||Class C: 4,001-5,000||Hydraulic |- |D||Class D: 5,001-6,000||Hydraulic |- |E||Class E: 6,001-7,000||Hydraulic |- |F||Class F: 7,001-8,000||Hydraulic |- |G||Class G: 8,001-9,000||Hydraulic |- |H||Class H: 9,001-10,000||Hydraulic |- |J||Class 3: 10,001-14,000||Hydraulic |- |K||Class 4: 14,001-16,000||Hydraulic |- |L||Class 5: 16,001-19,500||Hydraulic |} ====Line & Chassis Type 1981-1999 Light Duty Truck & Multi-Purpose Passenger Vehicle==== The Line & Chassis Type is specified as character five of the American GM VIN for light trucks. {| border=1 style="margin:auto;" !VIN !Description |- |B||Special Body Buick, Chevrolet |- |C||Chevy full-size pickups & chassis cabs 2wd (C-series) '81-'86, '88-'99,<br /> GMC full-size pickups & chassis cabs 2wd (C-series) '81-'86, Sierra 2wd (C-series) '88-'99 |- |C||Chevy C10 Blazer 2wd ('81-'82), Tahoe 4-door 2wd ('95-'99), Suburban 2wd ('81-'86, '92-'99),<br /> GMC C1500 Jimmy 2wd ('81-'82), Yukon 4-door 2wd ('95-'99), Suburban 2wd ('81-'86, '92-'99) |- |D||Military Truck 4wd |- |E||'91-'97 Geo Tracker 2wd, '98-'99 Chevrolet Tracker 2wd |- |E||'97-'98 Chevy S-10 EV |- |G||Chevy/GMC full-size vans (Chevy Van, Sportvan, Express, GMC Vandura, Rally Van, Savana) |- |H||'93-'96 Chevy G30HD/GMC G3500HD cutaway van |- |H||Cadillac chassis cutaway/special body (Based on Rwd Fleetwood '93-'96, Fwd DeVille '97-'99) |- |J||'89-'97 Geo Tracker 4wd, '98-'99 Chevrolet Tracker 4wd |- |K||Chevy full-size pickups & chassis cabs 4wd (K-series) '81-'86, '88-'99,<br /> GMC full-size pickups & chassis cabs 4wd (K-series) '81-'86, Sierra 4wd (K-series) '88-'99 |- |K||Chevy K10/K5 Blazer 4wd ('81-'86, '92-'94), Tahoe 4wd ('95-'99), Suburban 4wd ('81-'86, '92-'99),<br /> GMC K1500 Jimmy 4wd ('81-'86), Yukon 4wd ('92-'99), Suburban 4wd ('81-'86, '92-'99), '99 Cadillac Escalade 4wd |- |L||Chevy Luv 2wd '81-'82 |- |L||Chevy Astro/GMC Safari 4wd '90-'99 |- |M||Chevy Astro/GMC Safari 2wd '85-'99 |- |P||Forward Control (includes Chevrolet Step-Van/GMC Value-Van, Chevy/GMC P-Series) |- |R||Chevy Luv 4wd '81-'82 |- |R||Chevy full-size pickups & chassis cabs 2wd (R-series), Suburban 2wd '87-'91,<br /> GMC full-size pickups & chassis cabs 2wd (R-series), Suburban 2wd '87-'91 |- |S||Chevy S-10 2wd ('82-'99), S-10 Blazer 2wd ('83-'94), Blazer 2wd ('95-'99), GMC S-15 2wd ('82-'90), Sonoma 2wd ('91-'99),<br> S-15 Jimmy 2wd ('83-'91), Jimmy 2wd ('92-'99), Isuzu Hombre 2wd ('96-'99) |- |T||Chevy S-10 4wd ('83-'99), S-10 Blazer 4wd ('83-'94), Blazer 4wd ('95-'99), GMC S-15 4wd ('83-'90), Sonoma 4wd ('91-'99), Syclone 4wd ('91),<br> S-15 Jimmy 4wd ('83-'91), Jimmy 4wd ('92-'99), Typhoon 4wd ('92-93), Envoy 4wd ('98-'99), Oldsmobile Bravada 4wd ('91-'94, '96-'99),<br> Isuzu Hombre 4wd ('98-'99) |- |U||Regular length All-Purpose Vehicle ('90-'99 U-body fwd minivans) |- |V||Chevy full-size pickups & chassis cabs 4wd (V-series), V10/V1500 Blazer 4wd, Suburban 4wd '87-'91,<br /> GMC full-size pickups & chassis cabs 4wd (V-series), V1500 Jimmy 4wd, Suburban 4wd '87-'91 |- |W||'81-'87 Chevy El Camino, GMC Caballero |- |X||Extended length All-Purpose Vehicle ('97-'99 U-body fwd extended length minivans) |- |Z||Cadillac chassis cutaway/special body (Based on Rwd Fleetwood '81-'84, Fwd Fleetwood '85-'92) |} ====Line & Chassis Type 2000-2009 Light Duty Truck & Multi-Purpose Passenger Vehicle==== The Line & Chassis Type is specified as character five of the American GM VIN for light trucks. {| border=1 style="margin:auto;" !VIN !Description |- |A||Pontiac Aztek 2wd '01-'05, Buick Rendezvous 2wd '02-'07 |- |A||Chevrolet HHR '06-'09, HHR Panel '07-'09 |- |B||Pontiac Aztek Awd '01-'05, Buick Rendezvous Awd '02-'06 |- |C||Chevy full-size pickups & chassis cabs 2wd (C-series) '00, full-size chassis cabs 2wd (C3500HD) '01-'02, Silverado 2wd '00-'09, Silverado Classic 2wd '07,<br /> GMC Sierra 2wd (C-series) '00-'09, Sierra Classic 2wd '00, '07 |- |C||Chevy Tahoe 2wd ('00-'09), Suburban 2wd ('00-'09), Avalanche 2wd ('02-'09),<br /> GMC Yukon 2wd ('00-'09), Yukon XL 2wd ('00-'09), Cadillac Escalade 2wd ('02-'09), Escalade ESV 2wd ('08-'09) |- |E||Chevrolet Tracker 2wd '00-'04 |- |E||Cadillac SRX 2wd & Awd '04-'09 |- |G||Chevy/GMC full-size vans 2wd (Chevy Express, GMC Savana) '00-09 |- |H||Chevy/GMC full-size vans 4wd (Chevy Express, GMC Savana) '03-09 |- |H||Cadillac Commercial Chassis for Hearse (Based on Fwd DeVille '02-'05, DTS '06-'09) |- |H||Cadillac Professional Chassis for Limousine (Based on Fwd DeVille '00-'05, DTS '06-'07) |- |J||Chevrolet Tracker 4wd '00-'04 |- |K||Chevy full-size pickups & chassis cabs 4wd (K-series) '00, Silverado 4wd '00-'09, Silverado Classic 4wd '07,<br /> GMC Sierra 4wd (K-series) '00-'09, Sierra Classic 4wd '00, '07 |- |K||Chevy Tahoe 4wd ('00-'09), Suburban 4wd ('00-'09), Avalanche 4wd ('02-'09), GMC Yukon 4wd ('00-'09), Yukon XL 4wd ('00-'09),<br> Cadillac Escalade 4wd ('00, '02-'09), Escalade ESV 4wd ('03-'09), Escalade EXT 4wd ('02-'09) |- |K||Cadillac Professional Chassis for Limousine (Based on Fwd DTS '08-'09) |- |L||Chevy Astro/GMC Safari 4wd '00-'05 |- |L||Chevy Equinox 2wd & Awd '05-'09, Pontiac Torrent 2wd & Awd '06-'09, Saturn Vue 2wd & Awd '08-'09 |- |M||Chevy Astro/GMC Safari 2wd '00-'05 |- |N||Hummer H2 '03-'09, H2 SUT '05-'09 |- |N||Hummer H3 '06-'09, H3T '09 |- |R||GMC Acadia 2wd, Saturn Outlook 2wd '07-'09, Buick Enclave 2wd '08-'09, Chevy Traverse 2wd '09 |- |S||Chevy S-10 2wd ('00-'03), Blazer 2wd ('00-'05), GMC Sonoma 2wd ('00-'03), Jimmy 2wd ('00-'01), Isuzu Hombre 2wd ('00) |- |S||Chevy Trailblazer 2wd ('02-'09), SSR ('03-'06), GMC Envoy 2wd ('02-'09), Envoy XUV 2wd ('04-'05), Oldsmobile Bravada 2wd ('02-'04),<br> Buick Rainier 2wd ('04-'07), Isuzu Ascender 2wd ('03-'08) |- |S||Chevy Colorado 2wd ('04-'09), GMC Canyon 2wd ('04-'09), Isuzu i-series 2wd ('06-'08) |- |T||Chevy S-10 4wd ('00-'04), Blazer 4wd ('00-'05), GMC Sonoma 4wd ('00-'04), Jimmy 4wd ('00-'01, Canada only: '02-'05), Envoy 4wd ('00),<br> Oldsmobile Bravada 4wd ('00-'01), Isuzu Hombre 4wd ('00) |- |T||Chevy Trailblazer 4wd ('02-'09), GMC Envoy 4wd ('02-'09), Envoy XUV 2wd ('04-'05), Oldsmobile Bravada 4wd ('02-'04), Buick Rainier 4wd ('04-'07),<br> Isuzu Ascender 4wd ('03-'08), Saab 9-7X 4wd ('05-'09) |- |T||Chevy Colorado 4wd ('04-'09), GMC Canyon 4wd ('04-'09), Isuzu i-series 4wd ('06-'08) |- |U||Regular length All-Purpose Vehicle [Minivan] ('00-'04 Chevy Venture, Pontiac Montana) |- |U||Regular length All-Purpose Vehicle [Minivan] (Chevy Uplander [US: '06-'08, Canada only: '05-'09], Pontiac Montana SV6 [Canada only: '05-'09]) |- |V||Extended length AWD All-Purpose Vehicle [Minivan] ('02-'04 Chevy Venture, Pontiac Montana, Oldsmobile Silhouette Extended length AWD) |- |V||Extended length FWD All-Purpose Vehicle [Minivan] ('05 Chevy Venture, Pontiac Montana Extended length FWD) |- |V||Extended length FWD All-Purpose Vehicle [Minivan] (Chevy Uplander ['05-'08, Canada only: '09], Pontiac Montana SV6 ['05-'06, Canada only: '07-'09],<br> Buick Terraza ['05-'07], Saturn Relay ['05-'07]) |- |V||GMC Acadia Awd, Saturn Outlook Awd '07-'09, Buick Enclave Awd '08-'09, Chevy Traverse Awd '09 |- |X||Extended length FWD All-Purpose Vehicle [Minivan] ('00-'04 Chevy Venture, Pontiac Montana, Oldsmobile Silhouette Extended length FWD) |- |X||Extended length AWD All-Purpose Vehicle [Minivan] ('05-'06 Chevy Uplander AWD, Pontiac Montana SV6 AWD, Buick Terraza AWD, Saturn Relay AWD) |- |Z||Saturn Vue 2wd & Awd '02-'07 |} ====Series 1981-1999 Light Duty Truck & Multi-Purpose Passenger Vehicle==== The Series is specified as character six of the American GM VIN for light trucks. {| border=1 style="margin:auto;" !VIN !Description |- |1||1/2 Ton (includes '96-'99 Isuzu Hombre) |- |2||3/4 Ton |- |3||1 Ton |- |8||1/2 Ton ('81-'87 El Camino, Caballero) |- |9||Cadillac, Buick, Chevrolet Commercial Body/Chassis |- |0||All-Purpose Vehicle ('90-'99 U-body fwd minivans) |} ====Series 2000-2009 Light Duty Truck & Multi-Purpose Passenger Vehicle==== The Series is specified as character six of the American GM VIN for light trucks. {| border=1 style="margin:auto;" !VIN !Description |- |1 (following S)||Isuzu Hombre 2wd ('00), Isuzu i280 2wd ('06), Isuzu i290 2wd ('07-'08), Isuzu i370 2wd ('07-'08) |- |2 (following S)||Isuzu i290 2wd w/Preferred Equip. Pkg. ('08), Isuzu i370 2wd w/Comfort Pkg. or upgrade model ('08) |- |1 (following T)||Isuzu Hombre 4wd ('00), Isuzu i350 4wd ('06), Isuzu i370 4wd ('07-'08) |- |2 (following T)||Isuzu i370 4wd w/Comfort Pkg. ('08) |- |1 (following S)||Isuzu Ascender 2wd ('03-'08) |- |1 (following T)||Isuzu Ascender 4wd ('03-'08) |- |1 (following T)||Saab 9-7X ('05-'08: All, '09: 4.2i, 5.3i) |- |2 (following T)||Saab 9-7X Aero ('09) |} ====Body style codes 1981-2009 Light Duty Truck & Multi-Purpose Passenger Vehicle==== The Body type is specified as character seven of the American GM VIN for light trucks. {| border=1 style="margin:auto;" !VIN !Description |- |0||Sedan Pickup/Pickup Delivery ('81-'87 El Camino, Caballero) |- |0||Cadillac, Buick, Chevrolet Commercial Body/Chassis |- |0||Chassis Only |- |1||Cutaway Van |- |2||Forward Control ('81-'03) (includes '93-'95 Chevy G30HD/GMC G3500HD) |- |2||Sport Utility Truck (SUT) ('04-'09 Avalanche & Escalade EXT, '04-'05 Envoy XUV, '05-'09 Hummer H2 SUT) |- |3||Four-Door Cab pickup (Crew Cab) (includes '06-'08 Isuzu i-Series Crew Cab, '09 Hummer H3T) |- |3||4-door Passenger Minivan ('97-'09 U-bodies) |- |3||4-door SUV or MPV ('06-'09 HHR) (also includes '02-'03 Avalanche & Escalade EXT) ('05-'09 Saab 9-7X) |- |4||Two-Door Cab pickup (includes '83-'87 S-10/S-15 extended cab pickups, '03-'06 Chevy SSR, '96-'00 Isuzu Hombre Reg. Cab) |- |5||Van (Astro/Safari & full-size vans & '07-'09 HHR Panel) |- |6||Extended length 4-door SUV (Suburban, Yukon XL, Escalade ESV, Trailblazer EXT, Envoy XL, Isuzu Ascender 7-psgr.) |- |6||3-door Passenger Minivan ('90-'99 U-bodies) |- |7||Motor Home Chassis ('81-'09) |- |8||Two-Door SUV (Utility) (2-d Tracker, S-10 Blazer, S-15 Jimmy, Blazer, Jimmy, Tahoe, Yukon) |- |9||Stake (81-87) |- |9||Extended Cab pickup ('88-) (includes '97-'00 Isuzu Hombre Spacecab, '06-'08 Isuzu i-Series Ext. Cab) |- |9||Extended length van ('90-) (Astro/Safari & full-size vans) |} ===American VIN format 2010- Light Duty Truck & Multi-Purpose Passenger Vehicle=== GM's VIN format is as follows: <table border=1 style="margin:auto;"> <tr> <th>Position</th> <th>Sample</th><th></th><th></th><th>Description</th> </tr><tr> <td>1</td> <td>1</td><td></td><td></td><td rowspan=3>[[#GM WMIs|World Manufacturer Identifier]]</td> </tr><tr> <td>2</td> <td>G</td><td></td><td></td></tr><tr> <td>3</td> <td>K</td><td></td><td></td></tr><tr> <td>4</td> <td>L</td><td></td><td></td><td>[[#GVWR/Brake System/Body Style 2010- Light Duty Truck & Multi-Purpose Passenger Vehicle|GVWR/Brake System/Body Style 2010-]]</td> </tr><tr> <td>5</td> <td>R</td><td></td><td></td><td>[[#Line & Chassis Type 2010- Light Duty Truck & Multi-Purpose Passenger Vehicle|Line & Chassis Type for 2010-]]</td> </tr><tr> <td>6</td> <td>L</td><td></td><td></td><td>[[#Series 2010- Light Duty Truck & Multi-Purpose Passenger Vehicle|Series 2010- Light Duty Truck & Multi-Purpose Passenger Vehicle]]</td> </tr><tr> <td>7</td> <td>E</td><td></td><td></td><td>[[#Restraint codes for light trucks 2010-|Restraint type]]</td> </tr><tr> <td>8</td> <td>D</td><td></td><td></td><td>[[#Engine codes for light trucks|Engine type]]</td> </tr><tr> <td>9</td> <td>0</td><td></td><td></td><td>[[Vehicle Identification Numbers (VIN codes)/Check digit |Check digit]]</td> </tr><tr> <td>10</td> <td>A</td><td></td><td></td><td>[[Vehicle Identification Numbers (VIN codes)/Model year|Model year]]</td> </tr><tr> <td>11</td> <td>J</td><td></td><td></td><td>[[#GM factories supplying North America|Factory ID]]</td> </tr><tr> <td>12</td> <td>1</td><td></td><td></td><td rowspan=6>Sequential number </tr><tr> <td>13</td> <td>2</td><td></td><td></td></tr><tr> <td>14</td> <td>3</td><td></td><td></td></tr><tr> <td>15</td> <td>7</td><td></td><td></td></tr><tr> <td>16</td> <td>6</td><td></td><td></td></tr><tr> <td>17</td> <td>2</td><td></td><td></td> </table> ====GVWR/Brake System/Body Style 2010- Light Duty Truck & Multi-Purpose Passenger Vehicle==== The GVWR/Brake System is specified as character four of the American GM VIN for light trucks. {| border=1 style="margin:auto;" !VIN !GVWR Range in lbs. & Weight Class !Brake System !Body Style |- | ||Class A: 0-3,000||Hydraulic|| |- | ||Class B: 3,001-4,000||Hydraulic|| |- |A||Class C: 4,001-5,000||Hydraulic||26: 4-door SUV or MPV ('10-'11 Chevy HHR Panel, '10-'26 Chevy Equinox, GMC Terrain, '10 Saturn Vue,<br> '12-'15 Chevy Captiva Sport, '19-'24 Cadillac XT4, '24-'26 Buick Encore GX) |- |B||Class C: 4,001-5,000||Hydraulic||46: 4-door MPV ('10-'11 Chevy HHR) |- |J||Class C: 4,001-5,000||Hydraulic||48: 4-door, 4 window Hatchback ('18-'23 Chevy Bolt EV w/Rear Seat Delete pkg. - incomplete vehicle) |- |C||Class C: 4,001-5,000||Hydraulic||03: Regular Cab pickup or Chassis Cab ('10-'12 Chevy Colorado, GMC Canyon) |- |D||Class C: 4,001-5,000||Hydraulic||43: Crew Cab pickup or Chassis Cab ('10-'12 Chevy Colorado, GMC Canyon) |- |E||Class C: 4,001-5,000||Hydraulic||53: Extended Cab pickup or Chassis Cab ('10-'12 Chevy Colorado, GMC Canyon) |- |7||Class C: 4,001-5,000||Hydraulic||75: Four-Door Wagon - High Roof Monocab (Canada only: '12-'14 Chevy Orlando) |- |M||Class C: 4,001-5,000||Hydraulic||06: 4-door SUV ('20-'23 Buick Encore GX) |- |9||Class C: 4,001-5,000||Hydraulic||56: 4-door SUV Extended ('21-'26 Chevy Trailblazer) |- |7||Class C: 4,001-5,000||Hydraulic||58: 4-door Utility Extended ('24-'26 Chevy Trax, Buick Envista) |- |C||Class C: 4,001-5,000||Hydraulic||76: 4-door SUV ('13-'22 Buick Encore, Canada only: '13-'14 Chevy Trax, US & Canada: '15-'22 Chevy Trax) |- |F||Class D: 5,001-6,000||Hydraulic||26: 4-door SUV ('10-'17 Chevy Equinox, GMC Terrain, '10 Saturn Vue, '10-'16 Cadillac SRX, '11 Saab 9-4X,<br> '12-'13 Chevy Captiva Sport, '16-'26 Buick Envision, '17 Cadillac XT5, '19-'25 Cadillac XT4) |- |H||Class D: 5,001-6,000||Hydraulic||03: Regular Cab pickup or Chassis Cab ('10 Chevy Colorado, GMC Canyon) |- |G||Class D: 5,001-6,000||Hydraulic||03: Regular Cab pickup or Chassis Cab ('11-'12 Chevy Colorado, GMC Canyon) |- |J||Class D: 5,001-6,000||Hydraulic||43: Crew Cab pickup or Chassis Cab ('10 Chevy Colorado, GMC Canyon) |- |H||Class D: 5,001-6,000||Hydraulic||43: Crew Cab pickup or Chassis Cab ('11-'12 Chevy Colorado, GMC Canyon) |- |G||Class D: 5,001-6,000||Hydraulic||43: Crew Cab pickup or Chassis Cab ('15-'24 Chevy Colorado, '15-'22 GMC Canyon) |- |K||Class D: 5,001-6,000||Hydraulic||53: Extended Cab pickup or Chassis Cab ('10 Chevy Colorado, GMC Canyon) |- |J||Class D: 5,001-6,000||Hydraulic||53: Extended Cab pickup or Chassis Cab ('11-'12 Chevy Colorado, GMC Canyon) |- |H||Class D: 5,001-6,000||Hydraulic||53: Extended Cab pickup or Chassis Cab ('15-'22 Chevy Colorado, GMC Canyon) |- |T||Class D: 5,001-6,000||Hydraulic||69: Commercial Chassis ('10 Cadillac DTS chassis for Limo/Hearse) |- |7||Class D: 5,001-6,000||Hydraulic||69: Commercial Chassis ('11 Cadillac DTS chassis for Limo/Hearse) |- |L||Class E: 6,001-7,000||Hydraulic||26: 4-door SUV ('10 Chevy Traverse, GMC Acadia, Buick Enclave, Saturn Outlook) |- |K||Class E: 6,001-7,000||Hydraulic||26: 4-door SUV ('11-'17 Chevy Traverse, Buick Enclave, '11-'23 GMC Acadia, '17 Acadia Limited,<br> '17-'26 Cadillac XT5, '19-'26 Chevy Blazer, '20-'25 Cadillac XT6, '23-'26 Cadillac Lyriq EV,<br> '24-'26 Chevy Blazer EV, '25-'26 Cadillac Optiq EV, '24-'26 Honda Prologue EV, '24 Acura ZDX EV A-Spec) |- |7||Class E: 6,001-7,000||Hydraulic||48: 4-door SUV ('24-'25 Chevy Equinox EV) |- |E||Class E: 6,001-7,000||Hydraulic||56: 4-door SUV Extended ('18-'26 Chevy Traverse, Buick Enclave, '24 Chevy Traverse Limited,<br> '24-'26 GMC Acadia |- |M||Class E: 6,001-7,000||Hydraulic||05: Cargo Van ('10 Chevy Express, GMC Savana) |- |L||Class E: 6,001-7,000||Hydraulic||05: Cargo Van ('11-'14 Chevy Express, GMC Savana) |- |M||Class E: 6,001-7,000||Hydraulic||06: 4-door SUV ('10 Chevy Tahoe, GMC Yukon, Hummer H3) |- |L||Class E: 6,001-7,000||Hydraulic||06: 4-door SUV ('11-'20 Chevy Tahoe Police Pursuit Vehicle 2wd) |- |N||Class E: 6,001-7,000||Hydraulic||36: Sport Utility Truck (SUT) ('10 Chevy Avalanche 2wd) |- |M||Class E: 6,001-7,000||Hydraulic||36: Sport Utility Truck (SUT) ('11-13 Chevy Avalanche 2wd) |- |P||Class E: 6,001-7,000||Hydraulic||03: Regular Cab pickup or Chassis Cab ('10 Chevy Silverado, GMC Sierra) |- |N||Class E: 6,001-7,000||Hydraulic||03: Regular Cab pickup or Chassis Cab ('11-'26 Chevy Silverado, GMC Sierra,<br> '22 Chevy Silverado LTD, GMC Sierra Limited) |- |R||Class E: 6,001-7,000||Hydraulic||43: Crew Cab pickup or Chassis Cab ('10 Chevy Silverado, GMC Sierra, Hummer H3T) |- |P||Class E: 6,001-7,000||Hydraulic||43: Crew Cab pickup or Chassis Cab ('11-'26 Chevy Silverado, GMC Sierra,<br> '22 Chevy Silverado LTD, GMC Sierra Limited, '16-'26 Chevy Colorado, GMC Canyon) |- |S||Class E: 6,001-7,000||Hydraulic||53: Extended Cab pickup or Chassis Cab ('10 Chevy Silverado, GMC Sierra) |- |R||Class E: 6,001-7,000||Hydraulic||53: Extended Cab pickup or Chassis Cab ('11-'26 Chevy Silverado, GMC Sierra,<br> '19 Chevy Silverado LD, GMC Sierra Limited, '22 Chevy Silverado LTD, GMC Sierra Limited,<br> '16-'22 Chevy Colorado) |- |G||Class E: 6,001-7,000||Hydraulic||69: Commercial Chassis ('10 Cadillac DTS chassis for Limo/Hearse) |- |8||Class E: 6,001-7,000||Hydraulic||69: Commercial Chassis ('11 Cadillac DTS chassis for Limo/Hearse) |- |X||Class E: 6,001-7,000||Hydraulic||69: Commercial Chassis ('13-'19 Cadillac XTS chassis for Limo/Hearse) |- |U||Class F: 7,001-8,000||Hydraulic||05: Cargo Van or Incomplete Vehicle ('10 Chevy Express, GMC Savana) |- |S||Class F: 7,001-8,000||Hydraulic||05: Cargo Van or Incomplete Vehicle ('11-'14 Chevy Express, GMC Savana) |- |U||Class F: 7,001-8,000||Hydraulic||06: Passenger Van ('10 Chevy Express, GMC Savana) |- |S||Class F: 7,001-8,000||Hydraulic||06: Passenger Van ('11-'14 Chevy Express, GMC Savana) |- |U||Class F: 7,001-8,000||Hydraulic||06: 4-door SUV ('10 Chevy Tahoe, Suburban 1500, GMC Yukon, Yukon XL 1500, Cadillac Escalade, Escalade ESV) |- |S||Class F: 7,001-8,000||Hydraulic||06: 4-door SUV ('11-'26 Chevy Tahoe, Suburban 1500, GMC Yukon, Yukon XL 1500, Cadillac Escalade, Escalade ESV) |- |V||Class F: 7,001-8,000||Hydraulic||36: Sport Utility Truck (SUT) ('10 Chevy Avalanche 4wd, Cadillac Escalade EXT 4wd) |- |T||Class F: 7,001-8,000||Hydraulic||36: Sport Utility Truck (SUT) ('11-'13 Chevy Avalanche 4wd, Cadillac Escalade EXT 4wd) |- |X||Class F: 7,001-8,000||Hydraulic||26: 4-door SUV ('24 Acura ZDX EV Type S) |- |C||Class F: 7,001-8,000||Hydraulic||56: 4-door SUV Extended ('26- Cadillac Vistiq EV) |- |W||Class F: 7,001-8,000||Hydraulic||03: Regular Cab pickup or Chassis Cab ('10 Chevy Silverado, GMC Sierra) |- |X||Class F: 7,001-8,000||Hydraulic||43: Crew Cab pickup or Chassis Cab ('10 Chevy Silverado, GMC Sierra) |- |U||Class F: 7,001-8,000||Hydraulic||43: Crew Cab pickup or Chassis Cab ('11-'26 Chevy Silverado, GMC Sierra,<br> '22 Chevy Silverado LTD, GMC Sierra Limited) |- |Y||Class F: 7,001-8,000||Hydraulic||53: Extended Cab pickup or Chassis Cab ('10 Chevy Silverado, GMC Sierra) |- |V||Class F: 7,001-8,000||Hydraulic||53: Extended Cab pickup or Chassis Cab ('11-'26 Chevy Silverado, GMC Sierra,<br> '19 Chevy Silverado LD, GMC Sierra Limited, '22 Chevy Silverado LTD, GMC Sierra Limited) |- |U||Class F: 7,001-8,000||Hydraulic||69: Commercial Chassis ('10 Cadillac DTS chassis for Limo/Hearse) |- |9||Class F: 7,001-8,000||Hydraulic||69: Commercial Chassis ('11 Cadillac DTS chassis for Limo/Hearse) |- |Z||Class G: 8,001-9,000||Hydraulic||05: Cargo Van or Incomplete Vehicle ('10 Chevy Express, GMC Savana) |- |W||Class G: 8,001-9,000||Hydraulic||05: Cargo Van or Incomplete Vehicle ('11-'26 Chevy Express, GMC Savana) |- |Z||Class G: 8,001-9,000||Hydraulic||06: Passenger Van ('10 Chevy Express, GMC Savana) |- |W||Class G: 8,001-9,000||Hydraulic||06: Passenger Van ('11-'26 Chevy Express, GMC Savana) |- |Z||Class G: 8,001-9,000||Hydraulic||06: 4-door SUV ('10 Chevy Suburban 2500, GMC Yukon XL 2500) |- |W||Class G: 8,001-9,000||Hydraulic||06: 4-door SUV ('11-'13 Chevy Suburban 2500, GMC Yukon XL 2500) |- |2||Class H: 9,001-10,000||Hydraulic||05: Cargo Van or Incomplete Vehicle ('10 Chevy Express, GMC Savana) |- |Z||Class H: 9,001-10,000||Hydraulic||05: Cargo Van or Incomplete Vehicle ('11-'26 Chevy Express, GMC Savana,<br> '23-'24 BrightDrop Zevo 600, '24 BrightDrop Zevo 400, '25-'26 Chevrolet BrightDrop 400/600) |- |2||Class H: 9,001-10,000||Hydraulic||06: Passenger Van ('10 Chevy Express, GMC Savana) |- |Z||Class H: 9,001-10,000||Hydraulic||06: Passenger Van ('11-'26 Chevy Express, GMC Savana) |- |3||Class H: 9,001-10,000||Hydraulic||03: Van Cutaway ('10 Chevy Express, GMC Savana) |- |0||Class H: 9,001-10,000||Hydraulic||03: Van Cutaway ('11-'26 Chevy Express, GMC Savana) |- |3||Class H: 9,001-10,000||Hydraulic||03: Regular Cab pickup or Chassis Cab ('10 Chevy Silverado, GMC Sierra) |- |0||Class H: 9,001-10,000||Hydraulic||03: Regular Cab pickup or Chassis Cab ('11-'26 Chevy Silverado, GMC Sierra) |- |4||Class H: 9,001-10,000||Hydraulic||43: Crew Cab pickup or Chassis Cab ('10 Chevy Silverado, GMC Sierra) |- |1||Class H: 9,001-10,000||Hydraulic||43: Crew Cab pickup or Chassis Cab ('11-'26 Chevy Silverado, GMC Sierra,<br> '24-'25 GMC Hummer EV pickup w/20 module battery pack,<br> '24-'26 Chevy Silverado EV, '25-'26 GMC Sierra EV) |- |5||Class H: 9,001-10,000||Hydraulic||53: Extended Cab pickup or Chassis Cab ('10 Chevy Silverado, GMC Sierra) |- |2||Class H: 9,001-10,000||Hydraulic||53: Extended Cab pickup or Chassis Cab ('11-'13, '15-'26 Chevy Silverado, GMC Sierra) |- |B||Class H: 9,001-10,000||Hydraulic||26: 4-door SUV ('24-'25 GMC Hummer EV SUV) |- |6||Class 3: 10,001-14,000||Hydraulic||03: Van Cutaway ('10 Chevy Express, GMC Savana) |- |3||Class 3: 10,001-14,000||Hydraulic||03: Van Cutaway ('11-'26 Chevy Express, GMC Savana) |- |6||Class 3: 10,001-14,000||Hydraulic||03: Regular Cab pickup or Chassis Cab ('10 Chevy Silverado, GMC Sierra) |- |3||Class 3: 10,001-14,000||Hydraulic||03: Regular Cab pickup or Chassis Cab ('11-'26 Chevy Silverado, GMC Sierra) |- |7||Class 3: 10,001-14,000||Hydraulic||43: Crew Cab pickup or Chassis Cab ('10 Chevy Silverado, GMC Sierra) |- |4||Class 3: 10,001-14,000||Hydraulic||43: Crew Cab pickup or Chassis Cab ('11-'26 Chevy Silverado, GMC Sierra,<br> '22-'24 GMC Hummer EV pickup w/24 module battery pack, '25 GMC Hummer EV pickup w/20 or 24 module battery pack, '26 GMC Hummer EV pickup, '24-'25 Chevy Silverado EV, GMC Sierra EV) |- |8||Class 3: 10,001-14,000||Hydraulic||53: Extended Cab pickup or Chassis Cab ('10 Chevy Silverado, GMC Sierra) |- |5||Class 3: 10,001-14,000||Hydraulic||53: Extended Cab pickup or Chassis Cab ('11-'13, '15-'18, '20-'26 Chevy Silverado, GMC Sierra) |- |8||Class 3: 10,001-14,000||Hydraulic||06: 4-door SUV ('16-'19, '24-'26 Chevy Suburban 3500HD) |- |8||Class 3: 10,001-14,000||Hydraulic||05: Cargo Van ('22 BrightDrop EV600, '23-'24 BrightDrop Zevo 600, '24 BrightDrop Zevo 400,<br> '25-'26 Chevrolet BrightDrop 400/600) |- |T||Class 3: 10,001-14,000||Hydraulic||26: 4-door SUV ('25-'26 GMC Hummer EV SUV, '25-'26 Cadillac Escalade IQ [EV]) |- |L||Class 3: 10,001-14,000||Hydraulic||56: 4-door SUV Extended ('26- Cadillac Escalade IQL [EV]) |- |9||Class 4: 14,001-16,000||Hydraulic||03: Van Cutaway ('10 Chevy Express, GMC Savana) |- |6||Class 4: 14,001-16,000||Hydraulic||03: Van Cutaway ('11-'26 Chevy Express, GMC Savana) |- | ||Class 5: 16,001-19,500||Hydraulic|| |} ====Line & Chassis Type 2010- Light Duty Truck & Multi-Purpose Passenger Vehicle==== The Line & Chassis Type is specified as character five of the American GM VIN for light trucks. {| border=1 style="margin:auto;" !VIN !Description |- |A||Chevrolet HHR ('10-'11), HHR Panel ('10-'11) |- |A||Chevy Silverado 1500 2wd ('22-'26), Silverado HD 2500/3500 2wd ('25-'26) |- |B||Chevy Blazer 2wd & Awd '19-'26 |- |C||Chevy Silverado 2wd ('10-'18), Silverado LD 1500 2wd '19, Silverado HD 2500/3500 2wd '19, GMC Sierra 2wd ('10) |- |C||Chevy Tahoe 2wd ('10-'24), Suburban 2wd ('10-'24), Avalanche 2wd ('10-'13),<br /> GMC Yukon 2wd ('10), Yukon XL 2wd ('10), Cadillac Escalade 2wd ('10), Escalade ESV 2wd ('10) |- |D||Chevy Silverado 1500 4wd ('22-'24) |- |D||Chevy Blazer EV ('24-'26), Chevy Equinox EV ('24-'26) |- |E||Cadillac Escalade IQ [EV] ('25-'26), Escalade IQL [EV] ('26-), GMC Hummer EV pickup ('26-), GMC Hummer EV SUV ('26-), GMC Sierra EV ('26-) |- |F||Chevy Bolt EV w/Rear Seat Delete pkg. - incomplete vehicle ('18-'23) |- |G||Cadillac Chassis for Limousine & for Armored Vehicle (Based on XTS '13-'19) |- |G||Cadillac Chassis for Hearse (Based on XTS '13-'19) |- |G||Chevy Express 2wd ('10-'26), GMC Savana 2wd ('10) |- |H||Chevy Express 4wd ('10-'14), GMC Savana 4wd ('10) |- |H||GMC Sierra 1500 2wd ('22-'26), Sierra HD 2500/3500 2wd ('25-'26) |- |H||Honda Prologue EV ('24-'26), Acura ZDX EV ('24) |- |J||Buick Encore 2wd & Awd ('13-'22), Chevy Trax 2wd & Awd (Canada: '13-'22, US: '15-'22) |- |J||BrightDrop EV600 ('22), BrightDrop Zevo 600 ('23-'24), BrightDrop Zevo 400 ('24), Chevrolet BrightDrop 400/600 ('25-'26) |- |K||Chevy Silverado 4wd ('10-'18), Silverado LD 1500 4wd ('19), Silverado HD 2500/3500 4wd ('19), GMC Sierra 4wd ('10) |- |K||Chevy Silverado 1500 4wd ('25-'26), Silverado HD 2500/3500 4wd ('25-'26) |- |K||Chevy Tahoe 4wd ('10-'24), Suburban 4wd ('10-'24), Suburban HD 4wd ('24-'26), Avalanche 4wd ('10-'13), GMC Yukon 4wd ('10), Yukon XL 4wd ('10),<br> Cadillac Escalade 4wd ('10), Escalade ESV 4wd ('10), Escalade EXT 4wd ('10) |- |K||Cadillac Professional Chassis for Limousine (Based on DTS '10-'11) |- |K||Cadillac Commercial Chassis for Hearse (Based on DTS '10-'11) |- |L||Chevy Equinox 2wd & Awd '10-'17, Captiva Sport 2wd '12-'15, Captiva Sport Awd '12, GMC Terrain 2wd & Awd '10-'17, Saturn Vue 2wd & Awd '10 |- |L||GMC Terrain 2wd & Awd '18-'26 |- |L||Buick Envista '24-'26, Chevy Trax '24-'26 |- |M||Buick Encore GX 2wd & Awd ('20-'26), Chevy Trailblazer 2wd & Awd ('21-'26) |- |N||Cadillac SRX 2wd & Awd '10-'16, Saab 9-4X 2011 |- |N||GMC Acadia 2wd & Awd '17-'26, Cadillac XT5 2wd & Awd '17-'26 |- |N||Hummer H3, H3T 2010 |- |P||Chevy Orlando (Canada only: '12-'14) |- |P||Cadillac XT6 2wd & Awd '20-'25 |- |P||Cadillac Lyriq EV 2wd & Awd '23-'25 |- |R||GMC Acadia 2wd '10-'16, Acadia Limited 2wd '17, Saturn Outlook 2wd '10, Buick Enclave 2wd '10-'17, Chevy Traverse 2wd '10-'17 |- |R||Buick Enclave 2wd '18-'24, Chevy Traverse 2wd '18-'23 |- |R||Buick Enclave 2wd '25-'26, Chevy Traverse 2wd '24-'26 |- |S||Chevy Traverse Limited 2wd '24 |- |S||Chevy Colorado 2wd ('10-'12, '15-'26), GMC Canyon 2wd ('10) |- |T||Chevy Colorado 4wd ('10-'12, '15-'26), GMC Canyon 4wd ('10) |- |T||Chevy Traverse Limited Awd '24 |- |U||GMC Sierra 1500 4wd ('22-'26), Sierra HD 2500/3500 4wd ('25-'26) |- |V||GMC Acadia Awd '10-'16, Acadia Limited Awd '17, Saturn Outlook Awd '10, Buick Enclave Awd '10-'17, Chevy Traverse Awd '10-'17 |- |V||Buick Enclave Awd '18-'24, Chevy Traverse Awd '18-'23 |- |V||Buick Enclave Awd '25-'26, Chevy Traverse Awd '24-'26 |- |W||Chevy Silverado 1500 2wd ('19-'21), Silverado LTD 1500 2wd ('22), Silverado HD 2500/3500 2wd ('20-'24) |- |X||Buick Envision 2wd & Awd '16-'20, Chevy Equinox 2wd & Awd '18-'26 |- |Y||Chevy Silverado 1500 4wd ('19-'21), Silverado LTD 1500 4wd ('22), Silverado HD 2500/3500 4wd ('20-'24) |- |Z||Cadillac XT4 2wd & Awd '19-'25, Buick Envision 2wd '21-'23, Buick Envision Awd '21-'26 |- |1||GMC Sierra 2wd ('11-'18), Sierra Limited 1500 2wd ('19), Sierra HD 2500/3500 2wd ('19), Yukon 2wd ('11-'26), Yukon XL 2wd ('11-'26) |- |1||GMC Canyon 2wd ('25-'26) |- |2||GMC Sierra 4wd ('11-'18), Sierra Limited 1500 4wd ('19), Sierra HD 2500/3500 4wd ('19), Yukon 4wd ('11-'26), Yukon XL 4wd ('11-'26) |- |2||GMC Canyon 4wd ('25-'26) |- |3||Cadillac Escalade 2wd ('11-'24), Escalade ESV 2wd ('11-'24) |- |3||Cadillac Optiq EV ('25-), Cadillac Vistiq EV ('26-) |- |4||Cadillac Escalade 4wd ('11-'24), Escalade ESV 4wd ('11-'24), Escalade EXT 4wd ('11-'13) |- |5||GMC Canyon 2wd ('11-'12, '15-'24) |- |5||Chevy Tahoe 2wd ('25-'26), Suburban 2wd ('25-'26) |- |6||GMC Canyon 4wd ('11-'12, '15-'24) |- |6||Chevy Tahoe 4wd ('25-'26), Suburban 4wd ('25-'26) |- |7||GMC Savana 2wd ('11-'26) |- |8||GMC Savana 4wd ('11-'14) |- |8||GMC Sierra 1500 2wd ('19-'21), Sierra Limited 1500 2wd ('22), Sierra HD 2500/3500 2wd ('20-'24) |- |8||Cadillac Escalade 2wd ('25-'26), Escalade ESV 2wd ('25-'26) |- |9||GMC Sierra 1500 4wd ('19-'21), Sierra Limited 1500 4wd ('22), Sierra HD 2500/3500 4wd ('20-'24) |- |9||Cadillac Escalade 4wd ('25-'26), Escalade ESV 4wd ('25-'26) |- |0||GMC Hummer EV pickup ('22-'25), GMC Hummer EV SUV ('24-'25), Chevy Silverado EV ('24-'26), GMC Sierra EV ('24-'25) |} ====Series 2010- Light Duty Truck & Multi-Purpose Passenger Vehicle==== The Series is specified as character six of the American GM VIN for light trucks. {| border=1 style="margin:auto;" !VIN !Description |- |P (following N)||Saab 9-4X 3.0i 2wd ('11) |- |R (following N)||Saab 9-4X 3.0i Awd ('11) |- |S (following N)||Saab 9-4X 3.0i Premium 2wd ('11) |- |T (following N)||Saab 9-4X 3.0i Premium Awd ('11) |- |U (following N)||Saab 9-4X Aero Awd ('11) |} ===Platform & Series Codes 1985- Passenger Car=== GM used a lettered system of automobile platform codes for three decades. These letters were used as the fourth position of the VIN. Though today's GM platforms use Greek characters, they are still encoded with Latin characters in the fourth position. Position five encodes the specific model and trim level of the vehicle. {| border=1 style="margin:auto;" !List of GM platforms !Platform<br>Code !Series<br>Code !:Category:General Motors vehicles|Model |- |rowspan=14|GM A platform |rowspan=14|A||W||Chevrolet Celebrity 1985-1990 |- |E||Pontiac 6000 ''SE'' 1986-1988 |- |F||Pontiac 6000 1985-1988, 6000 ''LE'' 1989-1991 |- |G||Pontiac 6000 ''LE'' 1985-1988 |- |H||Pontiac 6000 ''STE'' 1985-1989 |- |J||Pontiac 6000 ''SE'' 1989-1991 |- |G||Oldsmobile Cutlass Ciera ''S'' Sedan 1993-1994 |- |J||Oldsmobile Cutlass Ciera ''LS'' 1985, Cutlass Ciera 1986-1989 & Cutlass Cruiser 1985-1989,<br /> Cutlass Ciera ''S'' Coupe 1986-1987, Cutlass Ciera ''S'' 1990-1991 & Cutlass Cruiser ''S'' 1990-1994, Cutlass Ciera ''SL'' & Cutlass Cruiser ''SL'' 1995, Ciera ''SL'' sedan & wagon 1996 |- |L||Oldsmobile Cutlass Ciera 1990-1991, Cutlass Ciera ''S'' Sedan 1992 |- |M||Oldsmobile Cutlass Ciera ''Brougham'' 1985-1988, Cutlass Ciera ''SL'' Coupe 1986-1989, Cutlass Ciera ''SL'' Sedan 1989-1993, Cutlass Cruiser ''Brougham'' 1987-1988, Cutlass Cruiser ''SL'' 1989-1993 |- |S||Oldsmobile Cutlass Ciera ''International Series'' 1988-1990 |- |G||Buick Century ''T-Type'' 1985-1986, Century ''Special'' 1991-1996 |- |H||Buick Century ''Custom'' 1985-1995 |- |L||Buick Century ''Limited'' 1985-1993, Century Estate Wagon 1986-1989 |- |rowspan=14|GM B platform |rowspan=14|B||L||Chevrolet Impala 1985, Caprice 1986-1992, Caprice Classic 1993-1996, Impala SS 1995-96 |- |N||Chevrolet Caprice Classic 1985-1992, Caprice Classic LS 1993-1994,<br /> Caprice Classic LTZ 1991-1993, Impala SS 1994 |- |U||Chevrolet Caprice Classic Brougham/Brougham LS 1987-1990 |- |L||Pontiac Parisienne 1985-1986, Safari Wagon 1987-1989 |- |T||Pontiac Parisienne Brougham 1985-1986 |- |N||Oldsmobile Delta 88 Royale 1985 |- |P||Oldsmobile Custom Cruiser 1985-1992 |- |V||Oldsmobile Delta 88 Royale Brougham LS 1985 |- |Y||Oldsmobile Delta 88 Royale Brougham 1985 |- |N||Buick Le Sabre ''Custom'' 1985, Roadmaster sedan 1992-1996 |- |P||Buick Le Sabre ''Limited'' 1985 |- |R||Buick Le Sabre Estate Wagon 1985-1989, Estate Wagon 1990,<br /> Roadmaster Estate Wagon 1991-1996 |- |T||Buick Roadmaster ''Limited'' sedan 1992-1996 |- |V||Buick Electra Estate Wagon 1985-1989 |- |rowspan=13|GM C platform - front-wheel drive |rowspan=13|C |V||Oldsmobile Touring Sedan 1988-1990, 98 Touring Sedan 1991-1993 |- |W||Oldsmobile 98 Regency Brougham 1985-1990, 98 Regency Elite 1991-1996 |- |X||Oldsmobile 98 Regency 1985-1990, 1992-1994 |- |F||Buick Electra T-Type 1985-1990 |- |U||Buick Electra Park Avenue Ultra 1989-1990, Park Avenue Ultra 1991-1996 |- |W||Buick Electra Park Avenue 1985-1990, Park Avenue 1991-1996 |- |X||Buick Electra 1985-1986, Electra Limited 1987-1990 |- |B||1985-1992 Cadillac Fleetwood, Fleetwood D'Elegance, 1993 Cadillac Sixty Special |- |D||1985-1993 Cadillac DeVille |- |G||1991-1992 Cadillac Fleetwood Sixty Special |- |H||1985-1987 Cadillac Fleetwood Limousine |- |S||1987-1990 Cadillac Fleetwood Sixty Special |- |T||1991-1993 Cadillac DeVille Touring Sedan |- |rowspan=3|GM G platform (models formerly on C platform) |rowspan=3|C |- |U||Buick Park Avenue Ultra 1997-2005 |- |W||Buick Park Avenue 1997-2005 |- |rowspan=2|GM D platform |rowspan=2|D||W||1985-1986 Cadillac Fleetwood Brougham, 1987-1992 Cadillac Brougham |- |W||1993-1996 Cadillac Fleetwood |- |rowspan=31|GM Delta I platform |rowspan=31|A |- |A||Chevrolet Cobalt LS w/manual trans. 2010 |- |B||Chevrolet Cobalt LS w/automatic trans. 2010 |- |C||Chevrolet Cobalt 1LT w/manual trans. 2010 |- |D||Chevrolet Cobalt 1LT w/automatic trans. 2010 |- |E||Chevrolet Cobalt 2LT w/manual trans. 2010 |- |F||Chevrolet Cobalt 2LT w/automatic trans. 2010 |- |G||Chevrolet Cobalt SS Turbo 2010 |- |H||Chevrolet Cobalt (base model w/XFE) 2010 |- |K||Chevrolet Cobalt (base model) 2005, Cobalt LS 2006-2008, Cobalt LS w/man. trans. 2009 |- |L||Chevrolet Cobalt LS 2005, Cobalt LT 2006-2008, Cobalt LT w/manual trans. 2009 |- |M||Chevrolet Cobalt SS 2006-2007, Cobalt Sport 2008 |- |P||Chevrolet Cobalt SS Supercharged 2005-2007, SS Turbo 2008-2009 |- |S||Chevrolet Cobalt LS w/automatic trans. 2009 |- |T||Chevrolet Cobalt LT w/automatic trans. 2009 |- |Z||Chevrolet Cobalt LT 2005, Cobalt LTZ 2006-2007 |- |L||Pontiac G5 2007-2008, G5 w/manual trans. 2009 |- |N||Pontiac G5 GT 2007-2008, G5 GT w/manual trans. 2009 |- |S||Pontiac G5 w/automatic trans. 2009 |- |T||Pontiac G5 GT w/automatic trans. 2009 |- |F||Saturn Ion sedan Level 1 w/manual trans. 2003-2005 |- |G||Saturn Ion sedan Level 1 w/automatic trans. 2003-2005 |- |J||Saturn Ion sedan Level 2 w/automatic trans. 2003-2007 |- |K||Saturn Ion sedan Level 3 w/manual trans. 2003-2007 |- |L||Saturn Ion sedan Level 3 w/automatic trans. 2003-2007 |- |M||Saturn Ion coupe Level 2 w/manual trans. 2003-2007 |- |N||Saturn Ion coupe Level 2 w/automatic trans. 2003-2007 |- |V||Saturn Ion coupe Level 3 w/manual trans. 2003-2007 |- |W||Saturn Ion coupe Level 3 w/automatic trans. 2003-2007 |- |Y||Saturn Ion coupe Red Line 2004-2007 |- |Z||Saturn Ion sedan Level 2 w/manual trans. 2003-2007 |- |rowspan=9|GM E platform |rowspan=9|E |- |V||Oldsmobile Toronado Trofeo 1988-1992 |- |Z||Oldsmobile Toronado Brougham 1985-1986, Toronado 1987-1992 |- |C||Buick Reatta 1988-1991 |- |Y||Buick Riviera T-Type 1985-1986 |- |Z||Buick Riviera 1985-1993 |- |C||Cadillac Eldorado Collector Series 2002 |- |L||Cadillac Eldorado 1985-2002 |- |T||Cadillac Eldorado Touring Coupe 1994-2002 |- |rowspan=26|GM Epsilon I platform |rowspan=26|Z||A||Chevrolet Malibu Fleet 2010-2012 |- |B||Chevrolet Malibu LS 2010-2012 |- |C||Chevrolet Malibu 1LT 2010-2012 |- |D||Chevrolet Malibu 2LT 2010-2012 |- |E||Chevrolet Malibu LTZ 2010-2011, Malibu 1LZ 2012 |- |F||Chevrolet Malibu Hybrid 2008-2010, Malibu 3LT 2012 |- |G||Chevrolet Malibu LS 2008-2009, Malibu 2LZ 2012 |- |H||Chevrolet Malibu 1LT 2008-2009 |- |J||Chevrolet Malibu 2LT 2008-2009 |- |K||Chevrolet Malibu LTZ 2008-2009 |- |S||Chevrolet Malibu 2004-2005, Malibu LS 2006-2007, Malibu Classic LS 2008 |- |T||Chevrolet Malibu LS 2004-2005, Malibu LT 2006-2007, Malibu Classic LT 2008 |- |U||Chevrolet Malibu LT 2004-2005, Malibu LTZ 2006-2007 |- |W||Chevrolet Malibu SS 2006-2007 |- |A||Pontiac G6 Sedan 2010 |- |F||Pontiac G6 2.4L Sedan (Base model) 2006, G6 Value Leader (Base model w/1SV) 2007-2008 |- |G||Pontiac G6 3.5L Sedan (Base model) 2005-2006, G6 (Base model) 2007-2009 |- |H||Pontiac G6 GT 2005-2009 |- |J||Pontiac G6 (Base model) 2009 1/2 (Mid-Cycle Revision) |- |K||Pontiac G6 GT 2009 1/2 (Mid-Cycle Revision) |- |L||Pontiac G6 GXP 2009 1/2 (Mid-Cycle Revision) |- |M||Pontiac G6 GTP 2006-2007, G6 GXP 2008-2009 |- |R||Saturn Aura Green Line 2007-2009 |- |S||Saturn Aura XE 2007-2009 |- |V||Saturn Aura XR 2007-2008, Aura XR 2.4L 2009 |- |X||Saturn Aura XR V6 2009 |- |rowspan=6|GM F platform |rowspan=6|F||P||Chevrolet Camaro Sport Coupe 1985-2002, Convertible 1987-1992, 1994-2002 |- |S||Chevrolet Camaro Berlinetta 1985-1986 |- |S||Pontiac Firebird 1985-2002, Firebird ''Formula'' 1987-1992 |- |V||Pontiac Firebird ''Formula / Trans Am'' 1993-2002, Firebird ''Trans Am GT'' 1994 |- |W||Pontiac Firebird ''Trans Am'' 1985-1992, Firebird ''Trans Am GTA'' 1987-1992 |- |X||Pontiac Firebird ''S/E'' 1985-1986 |- |rowspan=13|GM G platform - rear-wheel drive |rowspan=13|G||Z||Chevrolet Monte Carlo 1985-1988 |- |J||Pontiac Grand Prix 1985-1987 |- |K||Pontiac Grand Prix LE 1985-1987 |- |N||Pontiac Bonneville 1985-1986 |- |P||Pontiac Grand Prix Brougham 1985-1987 |- |R||Pontiac Bonneville Brougham 1985-1986 |- |S||Pontiac Bonneville LE 1985-1986 |- |K||Oldsmobile Cutlass Salon coupe 1985-1987 |- |M||Oldsmobile Cutlass Supreme ''Brougham'' 1985-1987,<br /> Cutlass Supreme Classic ''Brougham'' 1988 |- |R||Oldsmobile Cutlass Supreme 1985-1987, Cutlass Supreme Classic 1988 |- |J||Buick Regal 1985-1987 |- |K||Buick Regal T-Type 1985-1987 |- |M||Buick Regal ''Limited'' 1985-1987 |- |rowspan=4|GM G platform - front-wheel drive |rowspan=4|G||D||1995-1999 Buick Riviera |- |R||1995-1999 Oldsmobile Aurora |- |R||2001-2002 Oldsmobile Aurora 3.5 |- |S||2001-2003 Oldsmobile Aurora 4.0 |- |rowspan=9|GM H platform |rowspan=9|H||H||Buick Le Sabre 1987 |- |P||Buick Le Sabre ''Custom'' 1986-1999 |- |R||Buick Le Sabre ''Limited'' 1986-1999 |- |C||Oldsmobile Regency 1997-1998, Eighty Eight 50th Anniversary Edition 1999 |- |N||Oldsmobile Delta 88 Royale 1986-1988, 88 Royale 1989-1995, Eighty Eight & Eighty Eight LS 1996-99 |- |Y||Oldsmobile Delta 88 Royale Brougham 1986-1988, 88 Royale Brougham 1989-91, Eighty Eight Royale LS 1992-1995, LSS 1996-1999 |- |X||Pontiac Bonneville 1987, Bonneville LE 1988-1991, Bonneville ''SE'' 1992-1999 |- |Y||Pontiac Bonneville SSE 1988-1991, Bonneville ''SSEi'' 1992-1993 |- |Z||Pontiac Bonneville LE 1987, Bonneville SE 1988-1991, Bonneville ''SSE'' 1992-1999, Bonneville ''SSEi'' 1994-1999 |- |rowspan=17|GM G platform (models formerly on H platform or their successors) |rowspan=17|H||A||Buick Lucerne ''CX'' 2010-2011 |- |B||Buick Lucerne ''CX-2'' 2010 |- |C||Buick Lucerne ''CXL'' 2010-2011 |- |D||Buick Lucerne ''CXL V6'' 2006-2009, Lucerne ''CXL Special Edition'' 2010 |- |E||Buick Lucerne ''CXS'' 2006-2008, Lucerne ''CXL-3'' 2010 |- |F||Buick Lucerne ''Super'' 2008-2009, Lucerne ''CXL-4'' 2010 |- |G||Buick Lucerne ''CXL-5'' 2010 |- |H||Buick Lucerne ''Super 1SP'' 2010 |- |J||Buick Lucerne ''CXL Premium'' 2010-2011 |- |K||Buick Lucerne ''Super 1XS'' 2010, Lucerne ''Super'' 2011 |- |P||Buick Lucerne ''CX'' 2006-2009 |- |R||Buick Lucerne ''CXL V8'' 2006-2007, Lucerne ''CXL Special Edition V8'' 2008 |- |P||Buick Le Sabre ''Custom'' 2000-2005 |- |R||Buick Le Sabre ''Limited'' 2000-2005 |- |X||Pontiac Bonneville ''SE'' 2000-2005 |- |Y||Pontiac Bonneville ''SLE'' 2000-2005 |- |Z||Pontiac Bonneville ''SSEi'' 2000-2003, Bonneville GXP 2004-2005 |- |rowspan=23|GM J platform |rowspan=23|J |- |C||Chevrolet Cavalier 1985-1994, RS Convertible 1991-1994 |- |D||Chevrolet Cavalier CS 1985-1987 |- |E||Chevrolet Cavalier Type 10 1985, RS 1986-1988,<br /> Type 10 Convertible 1985, RS Convertible 1986-1987 |- |F||Chevrolet Cavalier Z24 1986-1994, Z24 Convertible 1988-1989, 1992-1994 |- |C||Chevrolet Cavalier 1995-2005, Cavalier RS 1997-1999 |- |F||Chevrolet Cavalier LS Sedan 1995-2005, LS Coupe 2003-2005, Z24 Coupe 1995-2001,<br /> LS Convertible 1995-1997, Z24 Convertible 1998-2000 |- |H||Chevrolet Cavalier Z24 Coupe/Sedan 2002, LS Sport 2002-2005 |- |S||Chevrolet Cavalier LS Coupe 2002 |- |B||Pontiac Sunbird 1985-1989, Sunbird LE 1990-1991, Sunbird SE 1992-1993,<br /> Sunbird LE 1994 |- |C||Pontiac Sunbird LE 1985, Sunbird 1991, Sunbird LE 1992-1993 |- |D||Pontiac Sunbird SE 1985-1991, Sunbird GT 1992-1993 |- |L||Pontiac Sunbird SE 1994 |- |U||Pontiac Sunbird GT 1986-1991 |- |B||Pontiac Sunfire SE 1995-2002, Convertible 1995-2000, Sunfire 2003-2005 |- |D||Pontiac Sunfire GT 1995-2002 |- |C||Oldsmobile Firenza Base model 1985-1987, Firenza S 1985-1987, Firenza 1988 |- |D||Oldsmobile Firenza LX 1985-1987, Firenza SX 1985, Firenza LC, GT 1986-1987 |- |E||Buick Skyhawk T-Type 1985-1986 |- |S||Buick Skyhawk Custom 1985-1987, Skyhawk Sport 1986-1987, Skyhawk 1988-1989 |- |T||Buick Skyhawk Limited 1985-1987 |- |G||Cadillac Cimarron 1985-1988 |- |G, H||Toyota Cavalier (Japan only) |- |rowspan=8|GM2900 platform |rowspan=8|J||C||Saturn L-Series|2004 Saturn L300.1 |- |D||Saturn L-Series|2004 Saturn L300.2, 2005 Saturn L300 |- |L||Saturn L-Series|2004 Saturn L300.3 |- |R||Saturn L-Series|Saturn LS w/manual transmission '00/L100 w/manual transmission '01 |- |S||Saturn L-Series|Saturn LS w/automatic transmission '00/L100 w/automatic transmission '01-'02 |- |T||Saturn L-Series|Saturn LS1 w/manual transmission '00/L200 w/manual transmission '01-'03, LW200 w/manual trans. '02 |- |U||Saturn L-Series|Saturn LS1 w/automatic transmission '00/L200 w/automatic transmission '01-'03,<br> Saturn LW1 w/automatic transmission '00/LW200 w/automatic transmission '01-'03 |- |W||Saturn L-Series|Saturn LS2 '00, LW2 '00, L300 '01-'03, LW300 '01-'03 |- |rowspan=5|GM K platform |rowspan=5|K||D||Cadillac Deville 1994-1999 |- |E||Cadillac Deville D'Elegance 1997-1999 |- |F||Cadillac Deville Concours 1994-1999 |- |S||Cadillac Seville 1985-1993 / Cadillac Seville SLS 1994-1997 |- |Y||Cadillac Seville Touring Sedan / Cadillac Seville STS 1990-1997 |- |rowspan=9|GM G platform (models formerly on K platform) |rowspan=9|K||A||2010-2011 Cadillac DTS |- |D||2000-2005 Cadillac Deville, 2006-2009 Cadillac DTS, 2010-2011 DTS Luxury |- |E||2000-2005 Cadillac Deville DHS |- |F||2000-2005 Cadillac Deville DTS |- |H||2010-2011 Cadillac DTS Premium |- |P||2010-2011 Cadillac DTS Platinum |- |R||2010-2011 Cadillac DTS Livery |- |S|| 1998-2004 Cadillac Seville SLS |- |Y|| 1998-2003 Cadillac Seville STS |- |rowspan=33|GM Kappa platform |rowspan=33|M||A||Pontiac Solstice w/automatic transmission 2010 |- |B||Pontiac Solstice 2006-2007, Solstice w/manual transmission 2008-2009 |- |B||Pontiac Solstice GXP w/automatic transmission 2010 |- |C||Pontiac Solstice w/automatic transmission 2008 |- |D||Pontiac Solstice w/manual transmission 2010 |- |E||Pontiac Solstice GXP w/manual transmission 2010 |- |F||Pontiac Solstice GXP w/automatic transmission 2008 |- |G||Pontiac Solstice GXP 2007, Solstice GXP w/manual transmission 2008-2009 |- |K||Pontiac Solstice Street Edition w/manual transmission 2009 |- |N||Pontiac Solstice w/automatic transmission 2009 |- |S||Pontiac Solstice SCCA SSB Championship Edition (2.4L) 2008 |- |T||Pontiac Solstice SCCA T2 Championship Edition (2.0L Turbo) 2008 |- |T||Pontiac Solstice GXP w/automatic transmission 2009 |- |Z||Pontiac Solstice Street Edition w/automatic transmission 2009 |- |B||Saturn Sky 2007, Sky w/manual transmission 2008-2009 |- |B||Saturn Sky Redline w/automatic transmission 2010 |- |C||Saturn Sky w/automatic transmission 2008 |- |C||Saturn Sky Ruby Red (Merlot Jewel) Special Edition w/manual transmission 2009 |- |C||Saturn Sky Preferred w/automatic transmission 2010 |- |D||Saturn Sky Hydro Blue Special Edition w/manual transmission 2009 |- |E||Saturn Sky Redline w/manual transmission 2010 |- |F||Saturn Sky Redline w/automatic transmission 2008 |- |F||Saturn Sky Preferred w/manual transmission 2010 |- |G||Saturn Sky Redline 2007, Sky Redline w/manual transmission 2008-2009 |- |H||Saturn Sky Redline Ruby Red (Merlot Jewel) Special Edition w/manual transmission 2009 |- |L||Saturn Sky Redline Hydro Blue Special Edition w/manual transmission 2009 |- |N||Saturn Sky w/automatic transmission 2009 |- |P||Saturn Sky Ruby Red (Merlot Jewel) Special Edition w/automatic transmission 2009 |- |R||Saturn Sky Hydro Blue Special Edition w/automatic transmission 2009 |- |T||Saturn Sky Redline w/automatic transmission 2009 |- |V||Saturn Sky Redline Ruby Red (Merlot Jewel) Special Edition w/automatic transmission 2009 |- |X||Saturn Sky Redline Hydro Blue Special Edition w/automatic transmission 2009 |- |G||Opel GT 2007-2010, Daewoo G2X 2007-2009 |- |rowspan=8|GM L platform |rowspan=8|L |- |D||Chevrolet Corsica ''Base'' 1994-1996 |- |T||Chevrolet Corsica ''Base'' 1987-1989, Corsica ''LT'' 1990-1993 |- |V||Chevrolet Beretta ''Base'' 1987-1996 |- |W||Chevrolet Beretta "GT" 1989-1993 (RPO Z21) & Beretta ''Z26'' 1994-1996 (RPO Z04) |- |Z||Chevrolet Corsica ''LTZ'' 1989-1990 (RPO Z54) |- |Z||Chevrolet Beretta "GTZ" 1990-1993 (RPO Z04) |- |T||Pontiac Tempest (Canada only) |- |rowspan=5|GM M platform |rowspan=5|M||R||Chevrolet Sprint |- |R||Geo Metro LSi, Metro |- |R||Pontiac Firefly (Canada only) |- |S||Chevrolet Sprint ER |- |S||Geo Metro, Metro XFi |- |rowspan=32|GM N platform |rowspan=32|N |- |B||Oldsmobile Cutlass 1997, Cutlass ''GL'' 1998-1999 |- |C||Buick Skylark 4-door ''Custom'' 1987-1991 |- |D||Buick Skylark 4-door ''Limited'' 1987-1989, Skylark 4-door ''Luxury Edition'' 1990-1991 |- |D||Chevrolet Malibu 1997-2003, Chevrolet Classic 2004-2005 |- |E||Chevrolet Malibu ''LS'' 1997-2003 |- |E||Pontiac Grand Am 1985-1988, Grand Am ''LE'' 1989-1991 |- |E||Pontiac Grand Am ''SE'' 1992-2005 |- |F||Oldsmobile Calais 1985-1987, Cutlass Calais 1988, Cutlass Calais ''S'' 1989-1991 |- |F||Oldsmobile Achieva ''SL'' 1992-1994, Achieva ''SC'' 1994 |- |F||Oldsmobile Alero ''GLS'' 1999-2004 |- |F||Pontiac Grand Am ''SE1'' 2000-2004 |- |G||Oldsmobile Cutlass ''GLS'' 1997-1999 |- |G||Pontiac Grand Am 1991 |- |G||Pontiac Grand Am ''SE2'' 2000, 2003-2004 |- |J||Buick Somerset Regal 1985, Somerset ''Custom'' 1986-1987, Skylark 2-door ''Custom'' 1988-91, Skylark 4-door ''Custom'' 1986 |- |J||Buick Skylark 1992, Skylark ''Limited'' 1993-1994, Skylark ''Custom'' 1996-1998,<br /> Skylark ''Limited'' & ''Gran Sport'' 1996-1997 |- |K||Buick Somerset ''T-Type'' 1986 |- |K||Oldsmobile Cutlass Calais ''International Series'' 1988-1991 |- |K||Oldsmobile Alero ''GX'' 1999-2004 |- |L||Oldsmobile Cutlass Calais 1989-1991 |- |L||Oldsmobile Achieva ''S'' 1992-1995, Achieva ''SL'' 1996-1998, Achieva ''SC'' 1996-1997 |- |L||Oldsmobile Alero ''GL'' 1999-2004 |- |M||Buick Somerset Regal ''Limited'' 1985, Somerset ''Limited'' 1986-'87, Skylark 2-door ''Limited'' '88-'89, Skylark 2-door ''Gran Sport'' 1990-1991, Skylark 4-door ''Limited'' 1986 |- |M||Buick Skylark ''Gran Sport'' 1992-1994 |- |T||Oldsmobile Calais ''Supreme'' 1985-1987, Cutlass Calais ''SL'' 1988-1991 |- |V||Buick Skylark 1990-1991 |- |V||Buick Skylark ''Custom'' 1993-1995, ''Limited'' 1995, ''Gran Sport'' 1995 |- |V||Pontiac Grand Am ''LE'' 1985-1988 |- |V||Pontiac Grand Am ''GT1'' 2000-2005 |- |W||Pontiac Grand Am ''SE'' 1986-1991 |- |W||Pontiac Grand Am ''GT'' 1992-2005 |- |rowspan=5|GM P platform - rear-wheel drive |rowspan=5|P |- ||E||Pontiac Fiero ''Coupe'' 1985-1988 |- ||F||Pontiac Fiero ''SE'' 1985-1987 |- ||G||Pontiac Fiero ''GT'' 1985-1988 |- ||M||Pontiac Fiero ''Sport coupe'' 1985-1987 |- |rowspan=1|GM P platform - front-wheel drive |rowspan=1|P||X||General Motors EV1 1997, 1999 |- |rowspan=6|GM R platform |rowspan=6|R |- ||F||1985-1986 Chevrolet Spectrum |- ||F||1987-1988 Chevrolet Spectrum 3-door hatchback, 1989 Geo Spectrum 3-door hatchback |- ||F||1990-1993 Geo Storm |- ||G||1987-1988 Chevrolet Spectrum 4-door sedan, 1989 Geo Spectrum 4-door sedan |- ||T||1990-1993 Geo Storm GSi |- |rowspan=8|GM S platform |rowspan=8|S||K||1985-1988 Chevrolet Nova |- |K||1989-1997 Geo Prizm, 1998-2002 Chevrolet Prizm |- |L||1988 Chevrolet Nova Twin Cam, 1990-1992 Geo Prizm GSi |- |L||2003-2008 Pontiac Vibe, 2009-2010 Pontiac Vibe FWD w/manual transmission |- |M||2003-2006 Pontiac Vibe ''AWD'', 2009-2010 Pontiac Vibe AWD w/automatic transmission |- |N||2003-2006 Pontiac Vibe ''GT'', 2009-2010 Pontiac Vibe GT FWD w/manual transmission |- |P||2009-2010 Pontiac Vibe FWD w/automatic transmission |- |R||2009-2010 Pontiac Vibe GT FWD w/automatic transmission |- |rowspan=32|GM Sigma platform |rowspan=32|D||A||Cadillac CTS Base model RWD 2010-2013, CTS Coupe Base model RWD 2014 |- |B||Cadillac CTS Wagon Luxury Collection RWD 2014 |- |C||Cadillac CTS Base model AWD 2010-2013, CTS Coupe/Wagon Performance Collection RWD 2014 |- |D||Cadillac CTS Coupe/Wagon Premium Collection RWD 2014 |- |E||Cadillac CTS Luxury Collection RWD 2010-2013, CTS Coupe Base model AWD 2014 |- |F||Cadillac CTS Auto. Trans. RWD 2008-2009, CTS Luxury Collection RWD w/Navigation 2010-2013, CTS Wagon Luxury Collection AWD 2014 |- |G||Cadillac CTS Auto. Trans. AWD 2008-2009, CTS Luxury Collection AWD 2010-2013, CTS Coupe/Wagon Performance Collection AWD 2014 |- |H||Cadillac CTS Auto. Trans. AWD w/Navigation 2008-2009, CTS Luxury Collection AWD w/Navigation 2010-2013, CTS Coupe/Wagon Premium Collection AWD 2014 |- |J||Cadillac CTS Auto. Trans. RWD w/Navigation 2008-2009, CTS Performance Collection RWD 2010-2013 |- |K||Cadillac CTS Performance Collection RWD w/Navigation 2010-2013 |- |L||Cadillac CTS Performance Collection AWD 2010-2013 |- |M||Cadillac CTS V6 2003-2004, CTS 2.8L 2005-2007, CTS Man. Trans. RWD 2008-2009, CTS Performance Collection AWD w/Navigation 2010-2013 |- |N||Cadillac CTS V-Series 2004-2007, 2009 |- |P||Cadillac CTS 3.6L 2005-2007, CTS Direct Inj. V6 Man. Trans. RWD 2008-2009, CTS Premium Collection RWD w/Navigation 2010-2013 |- |R||Cadillac CTS Direct Inj. V6 Auto. Trans. RWD 2008 |- |S||Cadillac CTS Direct Inj. V6 Auto. Trans. AWD 2008-2009, CTS Premium Collection AWD w/Navigation 2010-2013 |- |T||Cadillac CTS Direct Inj. V6 Auto. Trans. AWD w/Navigation 2008-2009 |- |U||Cadillac CTS Direct Inj. V6 Auto. Trans. RWD 2009 |- |V||Cadillac CTS Direct Inj. V6 Auto. Trans. RWD w/Navigation 2008-2009, CTS sedan V-Series 2010-2014, CTS Wagon V-Series 2011-2014, CTS Coupe V-Series 2011-2015 |- |0||Cadillac CTS Sport Appearance Pkg. 2010 |- |1||Cadillac CTS Eco Luxury Pkg. 2010 |- |2||Cadillac CTS Sport Appearance Pkg. 2011 |- |A||Cadillac STS V6 AWD 2008-2009 |- |B||Cadillac STS V8 AWD 2008-2009 |- |C||Cadillac STS V8 2005-2007, STS V8 RWD 2008-2009 |- |D||Cadillac STS V6 AWD w/Navigation 2008-2009 |- |K||Cadillac STS V6 RWD w/Navigation 2008-2009 |- |L||Cadillac STS V8 AWD w/Navigation 2008-2009 |- |U||Cadillac STS (all models) 2010, STS (Base model) 2011 |- |W||Cadillac STS V6 2005-2007, STS V6 RWD 2008-2009, STS Luxury 2011 |- |X||Cadillac STS V-Series 2006-2009, STS Luxury Performance 2011 |- |Z||Cadillac STS V8 RWD w/Navigation 2008-2009 |- |rowspan=4|GM T platform - rear-wheel drive |rowspan=4|T||B|| 1985-1987 Chevrolet Chevette CS |- |B||1985-1987 Pontiac Acadian (Canada only) |- |J||1985 Pontiac Acadian Scooter (Canada only) |- |L||1985-1987 Pontiac 1000 |- |rowspan=4|GM T platform - front-wheel drive |rowspan=4|T||N|| Pontiac LeMans 1988, LeMans LE 1989-1991, LeMans SE 1992-1993 |- |R||1988-1989 Pontiac LeMans SE sedan |- |S||1988-1990 Pontiac LeMans GSE AeroCoupe |- |X||1988-1993 Pontiac LeMans VL AeroCoupe |- |rowspan=3|GM T platform - front-wheel drive |rowspan=3|A |- |R||Saturn Astra XE (US: 2008, Canada: 2008-2009) |- |T||Saturn Astra XR (US: 2008, Canada: 2008-2009) |- |rowspan=4|Daewoo T200 platform |rowspan=4|T||D||Chevrolet Aveo Special Value 2004-2008, Base model 2004, LS 2005-2011, Aveo 1LT 2009-2011 |- |G||Chevrolet Aveo LT 2005-2008, Aveo 2LT 2009-2011 |- |J||Chevrolet Aveo LS 2004 |- |D||Pontiac G3 2009 |- |rowspan=2|GM V platform - front-wheel drive |rowspan=2|V||R||1987-1992 Cadillac Allanté with standard removable hardtop |- |S||1990-1993 Cadillac Allanté |- |rowspan=2|GM V platform - rear-wheel drive |rowspan=2|V||R||1997-2001 Cadillac Catera |- |X||2004-2006 Pontiac GTO coupe |- |rowspan=49|GM W platform |rowspan=49|W |- |A||Chevrolet Impala ''LS'' 2010-2013, Impala Limited ''LS'' 2014-2016 |- |B||Chevrolet Impala ''LS'' 2006-2009, Impala ''LT'' 2010-2013, Impala Limited ''LT'' 2014-2016 |- |C||Chevrolet Impala ''LT'' 3.9L 2006-2009, Impala ''LTZ'' 2010-2013, Impala Limited ''LTZ'' 2014-2016 |- |D||Chevrolet Impala ''SS'' 2006-2009, Impala ''Police'' 2010-2013, Impala Limited ''Police'' 2014-2016 |- |E||Chevrolet Impala ''Taxi'' 2010-2012 |- |F||Chevrolet Impala 2000-2005, Impala ''LS'' Fleet (1FL) 2011-2013 |- |G||Chevrolet Impala ''LT'' Fleet (2FL) 2011-2013 |- |H||Chevrolet Impala ''LS'' 2000-2005 |- |J||Chevrolet Monte Carlo ''LS'' 2006-2007 |- |K||Chevrolet Monte Carlo ''LT'' 3.9L 2006, Monte Carlo ''LT'' 3.5L 2007 |- |L||Chevrolet Lumina 1990-2001, Lumina ''LS'' 1997-1999 |- |L||Chevrolet Monte Carlo ''SS'' 2006-2007 |- |M||Chevrolet Monte Carlo ''LT'' 3.5L 2006 |- |N||Chevrolet Lumina ''Euro'' 1990-1994, Lumina ''LS'' 1995-1996, Lumina ''LTZ'' 1997-1999 |- |N||Chevrolet Monte Carlo ''LTZ'' 2006 |- |P||Chevrolet Lumina ''Z34'' 1991-1994, Impala ''SS'' 2004-2005 |- |S||Chevrolet Impala ''Police'' 2006-2009 |- |T||Chevrolet Impala ''LT'' 3.5L 2006-2009 |- |U||Chevrolet Impala ''LTZ'' 2006-2009 |- |V||Chevrolet Impala ''50th Anniversary Edition'' 2008 |- |W||Chevrolet Monte Carlo ''LS'' 1995-2005 |- |X||Chevrolet Monte Carlo ''Z34'' 1995-1999, Monte Carlo ''SS'' 2000-2004, Monte Carlo ''LT'' 2005 |- |Z||Chevrolet Monte Carlo ''SS Supercharged'' 2004-2005 |- |C||Pontiac Grand Prix ''GXP'' 2005-2008 |- |H||Pontiac Grand Prix ''LE'' 1991-1993 |- |J||Pontiac Grand Prix 1988-1989, Grand Prix ''LE'' 1990, Grand Prix ''SE'' 1991-2000 |- |K||Pontiac Grand Prix ''LE'' 1988-1989, Grand Prix ''SE1'' 2000-2003 |- |P||Pontiac Grand Prix ''SE'' 1988-1990, Grand Prix ''GT'' 1991-1993, 1997-2003,<br /> Grand Prix ''GT1'' 2004, Grand Prix 2005-2008 |- |R||Pontiac Grand Prix ''GTP'' 1999-2005, Grand Prix ''GT'' 2006-2007 |- |S||Pontiac Grand Prix ''GT2'' 2004, Grand Prix ''GT'' 2005 |- |T||Pontiac Grand Prix ''STE'' 1990-1993 |- |H||Oldsmobile Cutlass Supreme 1988-1991, Cutlass Supreme ''S'' 1992-1994,<br /> Cutlass Supreme ''SL'' 1995-1997, Intrigue 1998, Intrigue ''GX'' 1999-2002 |- |R||Oldsmobile Cutlass Supreme ''International Series'' 1988-1993 |- |S||Oldsmobile Cutlass Supreme ''SL'' 1988-1991, Intrigue ''GL'' 1998-2002 |- |T||Oldsmobile Cutlass Supreme Convertible 1990-1995 |- |X||Oldsmobile Intrigue ''GLS'' 1998-2002 |- |B||Buick Regal ''Custom'' 1988-1996, Regal ''GS'' Coupe 1995-1996, Regal ''LS'' 1997-2004 |- |C||Buick Lacrosse ''CX'' 2005-2009 |- |D||Buick Regal ''Limited'' 1988-1996, Lacrosse ''CXL'' 2005-2009 |- |E||Buick Lacrosse ''CXS'' 2005-2008 |- |F||Buick Regal ''GS'' Coupe 1992-1994, Regal ''GS'' Sedan 1992-2004 |- |F||Buick Allure ''CX'' 2005-2009 (Canada only) |- |H||Buick Allure ''CXS'' 2005-2008 (Canada only) |- |J||Buick Allure ''CXL'' 2005-2009 (Canada only) |- |N||Buick Lacrosse ''Super'' 2008-2009 |- |P||Buick Allure ''Super'' 2008-2009 (Canada only) |- |S||Buick Century ''Custom'' 1997-2005 |- |Y||Buick Century ''Limited'' 1997-2002 |- |rowspan=3|GM X platform |rowspan=3|X||B||1985 Buick Skylark Custom |- |C||1985 Buick Skylark Limited |- |X||1985 Chevrolet Citation II |- |rowspan=39|GM Y platform |rowspan=39|Y||V||2004-2009 Cadillac XLR |- |X||2006-2009 Cadillac XLR V-Series |- |Y||1985-2008 Chevrolet Corvette (all models except '90-'95 ZR-1) |- |Z||1990-1995 Chevrolet Corvette ZR-1 |- |G||2009 Chevrolet Corvette GT1 Championship Edition (Base & Z06) |- |R||2009 Chevrolet Corvette ZR1 (after early production) |- |Y||2009 Chevrolet Corvette (Base model, Early production Z06, Early production ZR1) |- |Z||2009 Chevrolet Corvette Z06 (after early production) |- |A||2010-2013 Chevrolet Corvette Standard 1LT Man. Trans. |- |B||2010-2013 Chevrolet Corvette Preferred 2LT Man. Trans. |- |C||2010-2013 Chevrolet Corvette Premium 3LT Man. Trans. |- |D||2010-2013 Chevrolet Corvette Custom 4LT Man. Trans. |- |E||2010-2013 Chevrolet Corvette Standard 1LT Auto. Trans. |- |F||2010-2013 Chevrolet Corvette Preferred 2LT Auto. Trans. |- |G||2010-2013 Chevrolet Corvette Premium 3LT Auto. Trans. |- |H||2010-2013 Chevrolet Corvette Custom 4LT Auto. Trans. |- |J||2010-2013 Chevrolet Corvette Z06 Standard 1LZ Man. Trans. |- |K||2010-2013 Chevrolet Corvette Z06 Premium 2LZ Man. Trans. |- |L||2010-2013 Chevrolet Corvette Z06 Custom 3LZ Man. Trans. |- |M||2010-2013 Chevrolet Corvette ZR1 Standard 1ZR Man. Trans. |- |N||2010-2013 Chevrolet Corvette ZR1 Custom 3ZR Man. Trans. |- |P||2010-2013 Chevrolet Corvette Grand Sport Standard 1LT Man. Trans. |- |R||2010-2013 Chevrolet Corvette Grand Sport Preferred 2LT Man. Trans. |- |S||2010-2013 Chevrolet Corvette Grand Sport Premium 3LT Man. Trans. |- |T||2010-2013 Chevrolet Corvette Grand Sport Custom 4LT Man. Trans. |- |U||2010-2013 Chevrolet Corvette Grand Sport Standard 1LT Auto. Trans. |- |V||2010-2013 Chevrolet Corvette Grand Sport Preferred 2LT Auto. Trans. |- |W||2010-2013 Chevrolet Corvette Grand Sport Premium 3LT Auto. Trans. |- |X||2010-2013 Chevrolet Corvette Grand Sport Custom 4LT Auto. Trans. |- |Y||2013 Chevrolet Corvette 427 Convertible Collector Edition Premium 3LT Man. Trans. |- |Z||2013 Chevrolet Corvette 427 Convertible Collector Edition Custom 4LT Man. Trans. |- |1||2013 Chevrolet Corvette 60th Anniversary Edition Custom 4LT Man. Trans. |- |2||2013 Chevrolet Corvette 60th Anniversary Edition Custom 4LT Auto. Trans. |- |3||2013 Chevrolet Corvette Grand Sport 60th Anniversary Edition Custom 4LT Man. Trans. |- |4||2013 Chevrolet Corvette Grand Sport 60th Anniversary Edition Custom 4LT Auto. Trans. |- |5||2013 Chevrolet Corvette Z06 60th Anniversary Edition Custom 3LZ Man. Trans. |- |6||2013 Chevrolet Corvette ZR1 60th Anniversary Edition Custom 3ZR Man. Trans. |- |7||2013 Chevrolet Corvette 427 Convertible 60th Anniversary Edition Custom 4LT Man. Trans. |- |8||2013 Chevrolet Corvette 427 Convertible Collector Edition Preferred 2LT Man. Trans. |- |rowspan=13|GM Z platform |rowspan=13|Z |- |E||Saturn SC1 (manual transmission 2-Door) 1993-1999 |- |F||Saturn SC1 (automatic transmission 2-Door) 1993-1999, SL (manual transmission) 1991-02 |- |G||Saturn SC (manual transmission) 1991-1992, SC2 (manual transmission 2-Door) 1993-99,<br /> SL1 (manual transmission) 1991-2002, SW1 (manual transmission) 1993-1999 |- |H||Saturn SC (automatic transmission) 1991-92, SC2 (automatic transmission 2-Door) '93-'99,<br /> SL1 (automatic transmission) 1991-02, SW1 (automatic transmission LHD) '93-'99 |- |J||Saturn SL2 (manual transmission) 1991-2002, SW2 (manual transmission) 1993-2001 |- |K||Saturn SL2 (automatic transmission) 1991-2002, SW2 (automatic transmission 1993-1999) |- |M||Saturn SW1 "Postal" [SWP] (automatic transmission RHD) 1999-2001 <br>(Made for US Postal Service rural route mail carriers) |- |N||Saturn SC1 (manual transmission 3-Door) 1999-2002, SW2 (automatic transmission 2000-01) |- |P||Saturn SC1 (automatic transmission 3-Door) 1999-2002 |- |R||Saturn SC2 (manual transmission 3-Door) 1999-2002 |- |S||Saturn SL Spring Special 2002 |- |Y||Saturn SC2 (automatic transmission 3-Door) 1999-2002 |- |rowspan=3|GM Zeta platform (VE) |rowspan=3|E||C||Pontiac G8 GT |- |P||Pontiac G8 GXP |- |R||Pontiac G8 (Base model) |- |rowspan=2|GM Zeta platform (VF) |rowspan=2|F||1||2014-2017 Chevrolet SS w/automatic transmission |- |2||2015-2017 Chevrolet SS w/manual transmission |- |GM Zeta platform (WM) |M||K||2011-2013 Chevrolet Caprice PPV |- |GM Zeta platform (WN) |N||S||2014-2017 Chevrolet Caprice PPV |- |rowspan=19|GM Zeta platform (models formerly on F platform) |rowspan=19|F||A||Chevrolet Camaro ''LS'' automatic transmission 2010-2011, ''2LS'' automatic transmission 2012-2014, ''LS'' manual transmission 2015 |- |B||Chevrolet Camaro ''LT'' automatic transmission 2010-2014, ''2LS'' automatic transmission 2015 |- |C||Chevrolet Camaro ''2LT'' automatic transmission 2010-2014, ''LT'' manual transmission 2015 |- |D||Chevrolet Camaro ''LT'' automatic transmission 2015 |- |E||Chevrolet Camaro ''LS'' manual transmission 2010-2014, ''2LT'' manual transmission 2015 |- |F||Chevrolet Camaro ''LT'' manual transmission 2010-2014, ''2LT'' automatic transmission 2015 |- |G||Chevrolet Camaro ''2LT'' manual transmission 2010-2014, ''SS'' manual transmission 2015 |- |H||Chevrolet Camaro ''SS'' automatic transmission 2015 |- |J||Chevrolet Camaro ''SS'' automatic transmission 2010-2014. Note: Must have "J" in 8th position of VIN. |- |J||Chevrolet Camaro ''ZL1'' automatic transmission 2012. Note: Must have "P" in 8th position of VIN. |- |J||Chevrolet Camaro ''2SS'' manual transmission 2015 |- |K||Chevrolet Camaro ''2SS'' automatic transmission 2010-2015 |- |L||Chevrolet Camaro ''ZL1'' automatic transmission 2013-2014, ''ZL1'' manual transmission 2015 |- |M||Chevrolet Camaro ''ZL1'' automatic transmission 2015 |- |S||Chevrolet Camaro ''SS'' manual transmission 2010-2014. Note: Must have "W" in 8th position of VIN. |- |S||Chevrolet Camaro ''ZL1'' manual transmission 2012. Note: Must have "P" in 8th position of VIN. |- |S||Chevrolet Camaro ''Z/28'' manual transmission 2014. Note: Must have "E" in 8th position of VIN. |- |T||Chevrolet Camaro ''2SS'' manual transmission 2010-2014 |- |Z||Chevrolet Camaro ''ZL1'' manual transmission 2013-2014, ''Z/28'' manual transmission 2015 |- |} RHD= Right-Hand Drive ====Model Line 2010- Passenger Car (Using Vehicle Platforms introduced 2010 or later)==== The Model Line is specified as character four of the American GM VIN for Passenger Cars. {| border=1 style="margin:auto;" !VIN !Description |- |A||Cadillac ATS 2013-2019 |- |A||Cadillac CTS sedan 2014-2019, CTS V-Series sedan 2016-2019 |- |B||Chevrolet Cruze 2016-2019 |- |C||Chevrolet Spark 2013-2022, Spark EV 2014-2016 |- |D||Cadillac CT4 2020-2026 |- |D||Cadillac CT5 2020- |- |F||Chevrolet Camaro 2016-2024 |- |F||Chevrolet Bolt EV 2017-2023, Bolt EUV 2022-2023, Bolt 2027 |- |G||Buick LaCrosse 2010-2016 |- |G||Buick Regal 2011-2020, Buick Regal TourX 2018-2020 |- |J||Chevrolet Sonic 2016-2020 |- |K||Cadillac CT6 2016-2020 |- |M||Cadillac Celestiq EV 2025- |- |P||Buick Verano 2012-2017 |- |P||Chevrolet Cruze 2011-2015, Cruze Limited 2016 |- |R||Cadillac ELR 2014, 2016 |- |R||Chevrolet Volt 2011-2019 |- |W||Buick Cascada 2016-2019 |- |Y||Chevrolet Corvette 2014- |- |Z||Buick LaCrosse 2017-2019 |- |Z||Chevrolet Malibu 2016-2025 |- |1||Cadillac XTS 2013-2019 |- |1||Chevrolet Impala 2014-2020 |- |1||Chevrolet Malibu 2013-2015, Malibu Limited 2016 |- |} ===Body style codes 1987- Passenger Car=== The Body type is specified as character six of the American GM VIN for passenger cars. {| border=1 style="margin:auto;" !VIN !Description |- |1||Two-Door Coupe/Sedan |- |2||Two-Door Hatchback |- |3||Two-Door Convertible |- |4||Two-Door Wagon ('91-'92 Geo Storm Hatchback) |- |5||Four-Door Sedan |- |6||Four-Door Hatchback |- |7||Four-Door Hatchback ('89-'90 Geo Prizm hatchback) |- |8||Four-Door Station Wagon |- |9||Four-Door Station Wagon - High Roof Monocab |} ===American restraint types 1987-=== The restraint type is specified as character seven of the American GM VIN for passenger cars. {{center/top}} ====Restraint codes for passenger cars 1987-2009==== {{center/end}} {| border=1 style="margin:auto;" !VIN Code !Description |- |1||Active (Manual) belts 1987-1996 |- |2||Active (Manual) belts plus driver and passenger front airbags 1992-2005<br />(For '94-'96 Pontiac Grand Prix coupe: Passive (Automatic) belts plus driver and passenger front airbags) |- |3||Active (Manual) belts plus driver side front airbag 1988-1996 <br />(For '94 Geo Prizm: Active (Manual) belts plus driver and passenger front airbags) |- |4||Passive (Automatic) belts 1987-1996 |- |4||Active (Manual) belts plus driver and passenger front & side airbags 1997-2005 |- |4||Active (Manual) belts plus driver and passenger front & side curtain airbags 2006-2009 |- |5||Passive (Automatic) belts plus driver side front airbag 1992-1996 |- |5||Active (Manual) belts plus driver and passenger front airbags & driver-side side impact airbag 2000-2005 |- |5||Active (Manual) belts plus driver and passenger front airbags & occupant sensor 2006-2009 |- |6||Passive (Automatic) belts plus driver and passenger front airbags 1994-1996 |- |6||Active (Manual) belts plus driver and passenger front & side airbags & occupant sensor 2000-2009 |- |7||Active (Manual) belt driver & Passive (Automatic) belt passenger plus driver and passenger front airbags 1996 |- |7||Active (Manual) belts plus driver and passenger front & side airbags & rear side airbags 2000-2005 |- |7||Active (Manual) belts plus driver and passenger front & side & side curtain airbags & occupant sensor 2006-2009 |- |8||Active (Manual) belts plus driver and passenger front & side curtain airbags & occupant sensor 2006-2009 |- |9|| |} {{center/top}} ====Restraint codes for passenger cars 2010-==== {{center/end}} {| border=1 style="margin:auto;" !VIN Code !Description |- |D||Active (Manual) belts plus driver and passenger front & side airbags 2010- |- |E||Active (Manual) belts plus driver and passenger front & side & side curtain airbags 2010-2017, 2027 |- |F||Active (Manual) belts plus driver and passenger front & side curtain airbags 2010 |- |G||Active (Manual) belts plus driver and passenger front & side & rear side & side curtain airbags 2010-2017 |- |N||Active (Manual) belts plus driver and passenger front & side & front knee airbags 2016-2019 |- |R||Active (Manual) belts plus driver and passenger front & side & side curtain & front knee airbags 2012- |- |S||Active (Manual) belts plus driver and passenger front & side & rear side & side curtain & front knee airbags 2011- |- |T||Active (Manual) belts plus driver and passenger front & side & front row side curtain airbags 2011 |- |U||Active (Manual) belts plus driver and passenger front & side & front row side curtain & front knee airbags 2012-2017 |} {{center/top}} ====Restraint codes for light trucks 2010-==== {{center/end}} {| border=1 style="margin:auto;" !VIN Code !Description |- |A||Active (Manual) belts plus driver-side front airbag 2010 |- |B||Active (Manual) belts plus driver-side front airbag 2011- |- |B||Active (Manual) belts plus driver and passenger front airbags 2010 |- |C||Active (Manual) belts plus driver and passenger front airbags 2011- |- |C||Active (Manual) belts plus driver and passenger front & side airbags 2010 |- |D||Active (Manual) belts plus driver and passenger front & side airbags 2011- |- |D||Active (Manual) belts plus driver and passenger front airbags & side curtain airbags for up to 3 rows of seating 2010 |- |E||Active (Manual) belts plus driver and passenger front & side & side curtain airbags 2010- |- |F||Active (Manual) belts plus driver and passenger front airbags & side curtain airbags for up to 3 rows of seating 2011-2015 |- |F||Active (Manual) belts plus driver and passenger front & side airbags & side curtain airbags for up to 3 rows of seating 2016- |- |H||Active (Manual) belts plus driver-side front airbag & driver-side side-impact airbag & driver-side side curtain airbag 2023-2024 |- |K||Active (Manual) belts plus driver and passenger front & side & side curtain & front center airbags 2013- |- |L||Active (Manual) belts plus driver and passenger front & side & side curtain & front center & driver-side knee airbags 2017-2023 |- |M||Active (Manual) belts plus driver and passenger front & side & side curtain & front center & front knee airbags 2025- |- |R||Active (Manual) belts plus driver and passenger front & side & side curtain & front knee airbags 2017- |- |S||Active (Manual) belts plus driver and passenger front & side & rear side & side curtain & front knee airbags 2013- |- |T||Active (Manual) belts plus driver-side front airbag & driver- and passenger-side side-impact airbags & side curtain airbags 2023- |- |U||Active (Manual) belts plus driver and passenger front & side & front row side curtain & front knee airbags 2013-2019 |} ===American engine codes 1981-=== GM encodes the engine type in character 8 of the VIN. The following table outlines the various engines encoded there: ====Engine codes for passenger cars==== Warning: Issues with decoding are related to year/model combinations. Each year has a different breakdown for each code along with plants and some model/trim breakdowns over years. Entry: 1985-1988 Pontiac Fiero has a 9 engine code for the 2.8L L44 V6. Entry: 1986-1990 Cadillac Brougham, Oldsmobile 307 Cu. In. V8 vin code Y. {| border=1 style="margin:auto;" !VIN !RPO !Size !Type !Fuel !Valvetrain !Engine Family/Notes/Applications |- |A||LD5||3.8&nbsp;L||V6||2 Barrel Carburetor |2BBL||OHV||Buick V6. (231 cu. in.) '81 Chevy Camaro (CA), Pontiac Catalina, Firebird, LeMans, Buick Century,<br /> '81-'83 Chevy Malibu (CA), '81-'84 Monte Carlo, Caprice, Impala (CA), '81-'87 Pontiac Grand Prix, Oldsmobile Cutlass/Cutlass Supreme, Buick Regal, '81-'85 Oldsmobile Delta 88, Buick LeSabre,<br /> '81-'86 Pontiac Bonneville, '84 Parisienne |- |A||LG0||2.3&nbsp;L||Straight-4|I4||Fuel injection#Multi-port fuel injection|MFI||DOHC,<br /> 16 valve||Oldsmobile Quad 4 H.O. '89-'94 Pontiac Grand Am, '89-'91 Oldsmobile Cutlass Calais, '92-'94 Achieva, '90 Cutlass Supreme, '90-'94 Chevy Beretta |- |A||LH2||4.6&nbsp;L||V8||Fuel injection#Sequential Multi-port injection|SFI||DOHC,<br /> 32 valve||Cadillac Northstar V8 (For RWD) (Premium V). '04-'09 Cadillac XLR, '05-'10 Cadillac STS |- |A||LCV||2.5&nbsp;L||Straight-4|I4||Direct Injection|DI||DOHC,<br /> 16 valve||GM Ecotec engine, Gen III. VVT. '13 Chevy Malibu, '16 Malibu Limited, '16-'19 Impala,<br /> '13-'16 Cadillac ATS |- |A||LV7||1.4&nbsp;L||Straight-4|I4||Fuel injection#Multi-port fuel injection|MFI||DOHC,<br /> 16 valve||GM Small Gasoline Engine. VVT. Made in Changwon, S. Korea. '16-'22 Chevy Spark. |- |B||LG2||3.8&nbsp;L||V6||Fuel injection#Sequential Multi-port injection|SFI||OHV||Buick V6. '86 Oldsmobile 98, Toronado, Buick Electra, Riviera. |- |B||L26||4.9&nbsp;L||V8||Fuel injection#Multi-port fuel injection|MFI||OHV||Cadillac High Technology V8.<br /> '91-'93 Cadillac Eldorado, Seville, '91-'95 DeVille, '91-'92 Fleetwood, '91-'93 Sixty Special |- |B||LE5||2.4&nbsp;L||Straight-4|I4||Fuel injection#Multi-port fuel injection|MFI||DOHC,<br /> 16 valve||GM Ecotec Gen II. VVT. '06-'08 Chevy Cobalt, '06-'07 Saturn Ion, '06-'10 Pontiac G6, Solstice,<br /> '07-'08 Pontiac G5, '07-'10 Saturn Sky, '08-'09 Saturn Aura, '08-'10 Chevy Malibu |- |B||LUV||1.4L||I4 Turbo||Fuel injection#Sequential Multi-port fuel injection|SFI||DOHC,<br /> 16 valve||GM Family 0 Engine, Gen III. VVT. '12-'20 Chevy Sonic, '13-'15 Chevy Cruze, '16 Cruze Limited |- |C||L17||1.6&nbsp;L||Straight-4|I4||2 Barrel Carburetor |2BBL||SOHC,<br /> 8 valve||Isuzu G161Z engine made by GM in US. '82-'87 Chevy Chevette, Pontiac T1000/1000 |- |C||LN3||3.8&nbsp;L||V6||Fuel injection#Multi-port fuel injection|MFI||OHV||Buick V6 (3800). '88-'90 Oldsmobile 98, Toronado, Buick Electra, Riviera, Reatta, <br /> '88-'91 Buick LeSabre, Oldsmobile Delta 88/Eighty Eight, Pontiac Bonneville |- |C||L47||4.0&nbsp;L||V8||Fuel injection#Sequential Multi-port injection|SFI||DOHC,<br /> 32 valve||Oldsmobile Aurora V8 (Premium V). Oldsmobile Aurora '95-'99, Aurora 4.0 '01-'03 |- |C||LS4||5.3 L||V8||Fuel injection#Sequential Multi-port injection|SFI||OHV||Gen IV Chevrolet Small-Block V8. Aluminum Block & Heads. Active Fuel Management.<br /> Transversely mounted for FWD. '05-'08 Pontiac Grand Prix GXP, '06-'07 Chevy Monte Carlo SS,<br /> '06-'09 Chevy Impala SS, '08-'09 Buick LaCrosse Super. |- |C||LAF||2.4&nbsp;L||Straight-4|I4||Direct Injection|DI||DOHC,<br /> 16 valve||GM Ecotec engine, Gen II. VVT. Buick LaCrosse '10-'11, Regal '11. |- |C||LUJ||1.4L||I4 Turbo||Fuel injection#Sequential Multi-port fuel injection|SFI||DOHC,<br /> 16 valve||GM Family 0 Engine, Gen III. VVT. Early production engines were made in Aspern, Austria; later made in Flint, MI. '12 Chevy Cruze |- |D||LJ5||1.8&nbsp;L||Straight-4|I4||Indirect injection Diesel||SOHC,<br /> 8 valve||Isuzu 4FB1 diesel engine imported from Japan. '81-'86 Chevy Chevette |- |D||LD2||2.3&nbsp;L||Straight-4|I4||Fuel injection#Multi-port fuel injection|MFI||DOHC,<br /> 16 valve||Oldsmobile Quad 4. '88-'95 Pontiac Grand Am, '88-'91 Oldsmobile Cutlass Calais, '92-'95 Achieva,<br /> '88-'91 &'95 Buick Skylark, '90-'91 Pontiac Grand Prix, Oldsmobile Cutlass Supreme,<br /> '95 Chevy Cavalier, Pontiac Sunfire |- |D||LC3||4.4&nbsp;L||V8 Supercharged||Fuel injection#Sequential Multi-port point injection|SFI||DOHC,<br /> 32 valve||Cadillac Northstar V8 (Premium V). '06-'09 Cadillac XLR V-Series, Cadillac STS V-Series |- |E||LK9||3.0&nbsp;L||V6||2 Barrel Carburetor |2BBL||OHV||Buick V6. '82-'85 Oldsmobile Cutlass Ciera, Buick Century, '85 Oldsmobile 98, Buick Electra |- |E||LA1||3.4&nbsp;L||V6||Fuel injection#Sequential Multi-port point injection|SFI||OHV||Chevrolet 60° V6. '99-'05 Grand Am, '99-'04 Alero, '00-'05 Impala, Monte Carlo |- |E||L03||5.0&nbsp;L||V8||Fuel injection#Throttle Body injection|TBI||OHV||Gen I Chevy Small-Block V8 (305 cu. in.). '88-'92 Camaro/Firebird, '89-'93 Chevy Caprice,<br /> '91 Buick Roadmaster Estate wagon, '91-'92 Oldsmobile Custom Cruiser, Cadillac Brougham. |- |E||LXV||1.6&nbsp;L||Straight-4|I4||Fuel injection#Multi-port fuel injection|MFI||DOHC,<br /> 16 valve||Family 1 Gen 3 engine. W/VVT. '09-'11 Chevy Aveo, '09 Pontiac G3 |- |E||LS7||7.0&nbsp;L||V8||Fuel injection#Sequential Multi-port point injection|SFI||OHV||Gen IV Chevy Small-Block V8. Aluminum Block & Heads.<br /> '06-'13 Corvette Z06, '13 Corvette 427, '14-'15 Camaro Z/28 |- |E||LH7||1.6&nbsp;L||I4 Turbo||Direct injection <br /> Common-rail Diesel||DOHC,<br /> 16 valve||GM Medium Diesel engine ("Whisper Diesel"). Made by Opel in Szentgotthárd, Hungary.<br /> Aluminum Block & Heads. '17-'19 Chevy Cruze Diesel. |- |F||LV8||4.3&nbsp;L||V8||2 Barrel Carburetor |2BBL||OHV||Oldsmobile "Rocket" V8 (260 cu. in.) '81 Oldsmobile Cutlass, Delta 88. |- |F||L61||2.2&nbsp;L||Straight-4|I4||Fuel injection#Multi-port fuel injection|MFI||DOHC,<br /> 16 valve||GM Ecotec Gen I. '00-'04 Saturn L-Series, '02-'05 Chevy Cavalier, Pontiac Sunfire, Grand Am,<br /> '02-'04 Oldsmobile Alero, '03-'06 Saturn Ion, '04-'06 Chevy Malibu, '05-'06 Chevy Cobalt |- |F||L61||2.2&nbsp;L||Straight-4|I4||Fuel injection#Multi-port fuel injection|MFI||DOHC,<br /> 16 valve||GM Ecotec Gen II. '07-'08 Chevy Cobalt, Malibu, Pontiac G5, '07 Saturn Ion. |- |F||LB9||5.0&nbsp;L||V8||Tuned-port fuel injection|TPI||OHV||Gen I Chevy Small-Block V8. (305 cu. in.). '85-'92 Chevy Camaro, Pontiac Firebird. |- |G||L46||1.8&nbsp;L||I4||2 Barrel Carburetor |2BBL||OHV||Chevrolet "122" engine. '82 J-cars. |- |G||L69||5.0&nbsp;L||V8||4 Barrel Quadrajet Carburetor |4BBL||OHV||Gen I Chevy Small-Block V8 (High Output 5.0L). (305 cu. in.)<br /> '84-'86 Camaro/Firebird, '84-'88 Chevy Monte Carlo SS |- |G||LM3||2.2&nbsp;L||I4||Fuel injection#Throttle Body injection|TBI||OHV||Chevrolet "122" engine. '90-'91 Chevy Cavalier & Corsica/Beretta. |- |G||LS1||5.7&nbsp;L||V8||Fuel injection#Multi-port fuel injection|MFI||OHV||Gen III Chevy Small-Block V8. (346 cu. in.) Aluminum Block & Heads.<br /> '97-'04 Corvette, '98-'02 Camaro/Firebird, '04 Pontiac GTO |- |G||LF1||3.0L||V6||Direct Injection|DI||DOHC,<br /> 24 valve||GM High Feature V6. VVT. 2010 Buick LaCrosse, Cadillac CTS |- |G||LWE||1.8&nbsp;L||Straight-4|I4||Fuel injection#Sequential Multi-port fuel injection|SFI||DOHC,<br /> 16 valve||GM Family 1 engine, Gen III. VVT. PZEV emissions.<br /> '13-'15 Chevy Cruze, '16 Cruze Limited, '13-'18 Sonic. |- |H||LG4||5.0&nbsp;L||V8||4 Barrel Quadrajet Carburetor |4BBL||OHV||Gen I Chevy Small-Block V8. (305 cu. in.) '81-'87 F-bodies, '81-'83 Chevy Malibu, '81-'85 Impala,<br /> '81-'88 Caprice, Monte Carlo, '83-'86 Pontiac Bonneville, Parisienne, '83-'87 Grand Prix |- |H||LE4||2.0&nbsp;L||Straight-4|I4||Fuel injection#Multi-port fuel injection|MFI||SOHC,<br /> 8 valve||GM Family II engine. Made in Brazil. '92-'94 Pontiac Sunbird. |- |H||LX5||3.5&nbsp;L||V6||Fuel injection#Sequential Multi-port injection|SFI||DOHC,<br /> 24 valve||Oldsmobile "Shortstar" V6 (Premium V). Oldsmobile Intrigue '99-'02, Aurora 3.5 '01-'02. |- |H||LAP||2.2&nbsp;L||Straight-4|I4||Fuel injection#Multi-port fuel injection|MFI||DOHC,<br /> 16 valve||GM Ecotec Gen II. VVT. '09 Chevy Cobalt, Pontiac G5. |- |H||LUW||1.8&nbsp;L||Straight-4|I4||Fuel injection#Sequential Multi-port fuel injection|SFI||DOHC,<br /> 16 valve||GM Family 1 engine, Gen III. VVT. '11-'15 Chevy Cruze, '16 Cruze Limited, '12-'18 Sonic. |- |J||L39||4.4&nbsp;L||V8||2 Barrel Carburetor |2BBL||OHV||Gen I Chevy Small-Block V8 (267 cu. in.) '81-'82 Chevy Caprice, Impala, Malibu, Monte Carlo,<br /> '81 Chevy Camaro |- |J||LA5||1.8&nbsp;L||Straight-4|I4 Turbo||Fuel injection#Multi-port fuel injection|MFI||SOHC,<br /> 8 valve||GM Family II engine. Made in Brazil. '84-'86 Pontiac Sunbird, Buick Skyhawk. |- |J||LT5||5.7&nbsp;L||V8||Fuel injection#Multi-port fuel injection|MFI||DOHC,<br /> 32 valve||Based on Chevy Small-Block V8. Designed with Lotus Engineering.<br /> Made by Mercury Marine. Aluminum Block & Heads. '90-'95 Corvette ZR-1 |- |J||LG8||3.1&nbsp;L||V6||Fuel injection#Sequential Multi-port injection|SFI||OHV||Chevrolet 60° V6. Gen III. 3100. '99-'03 Chevy Malibu, '99 Oldsmobile Cutlass, '00-'01 Chevy Lumina,<br /> '00-'03 Pontiac Grand Prix SE, '00-'05 Buick Century |- |J||L99||6.2&nbsp;L||V8||Fuel injection#Sequential Multi-port injection|SFI||OHV||Gen IV Chevy Small-Block V8. VVT. With Active Fuel Management. Aluminum Block & Heads.<br /> '10-'15 Camaro SS (auto. trans.) |- |J||LTA||4.2&nbsp;L||V8 Twin Turbo||Direct injection|DI||DOHC,<br /> 32 valve||Cadillac Blackwing V8. VVT. '19-'20 Cadillac CT6 Platinum & V-series |- |K||LC3||3.8&nbsp;L||V6||2 Barrel Carburetor |2BBL||OHV||Chevrolet 90° V6 (Chevy Small-Block V8 Derived). 229 cu. in. <br /> '81-'82 Malibu, Monte Carlo, Impala, Caprice, '81 Camaro. |- |K||LC5||1.5&nbsp;L||I4||2 Barrel Carburetor |2BBL||SOHC,<br /> 8 valve||Isuzu 4XC1 engine. '85 Chevrolet Spectrum. |- |K||LT2||2.0&nbsp;L||Straight-4|I4||Fuel injection#Throttle Body injection|TBI||SOHC,<br /> 8 valve||GM Family II engine. Made in Brazil.<br /> '87-'91 Pontiac Sunbird, '87-'88 Oldsmobile Firenza, Buick Skyhawk. |- |K||LT2||2.0&nbsp;L||Straight-4|I4||Fuel injection#Throttle Body injection|TBI||SOHC,<br /> 8 valve||GM Family II engine. Made in Australia by Holden.<br /> '89-'90 Pontiac LeMans GSE Aerocoupe, '89 LeMans SE sedan |- |K||L36||3.8&nbsp;L||V6||Fuel injection#Sequential Multi-port injection|SFI||OHV||Buick V6 (3800 Series II). '95-'05: Various W-, H-, C-, & G-body models. '95-'02 Camaro/Firebird. |- |K||LZE||3.5L||V6||Fuel injection#Sequential Multi-port injection|SFI||OHV||GM High Value 60° V6. 3510cc. VVT. Flex-Fuel E85 compatible.<br /> '06-'07 Chevy Monte Carlo, '06-'11 Chevy Impala, '09-'10 Chevy Malibu, Pontiac G6 |- |K||LEA||2.4&nbsp;L||Straight-4|I4||Direct Injection|DI||DOHC,<br /> 16 valve||E85 Flex Fuel. GM Ecotec engine, Gen II. VVT. Buick Regal, Verano '12-'17 (except '13 Regal). |- |K||LSY||2.0&nbsp;L||Straight-4|I4 Turbo||Direct Injection|DI||DOHC,<br /> 16 valve||GM Ecotec engine, Gen III. Active Fuel Management. VVT. VVL.<br /> '19 Cadillac CT6, '20+ Cadillac CT4, CT5 |- |L||LM1||5.7&nbsp;L||V8||4 Barrel Carburetor |4BBL||OHV||Gen I Chevy Small-Block V8.<br> '81 Camaro Z28 (only w/auto. trans. in US), '81-'82 Impala 9C1 Police, '81 Malibu 9C1 Police |- |L||LL1||2.8&nbsp;L||V6||2 Barrel Carburetor |2BBL||OHV||Chevrolet 60° V6 H.O. (longitudinally mounted). '83-'84 Pontiac Firebird. |- |L||LN7||3.0&nbsp;L||V6||Fuel injection#Multi-port fuel injection|MFI||OHV||Buick V6. '85-'87 Pontiac Grand Am, '85-'88 Oldsmobile & Buick N-bodies,<br /> '86 Oldsmobile Delta 88, Buick LeSabre |- |L||L27||3.8&nbsp;L||V6||Fuel injection#Tuned port injection|TPI||OHV||Buick V6 (3800 Series I). '90-'95 Buick Regal, '91-'94 Oldsmobile 98, Buick Park Avenue, '91 Reatta, '91-'93 Riviera, '91-'92 Oldsmobile Toronado, '92-'95 Buick LeSabre, '92-'94 Pontiac Bonneville, Oldsmobile 88 |- |L||LNK||1.8&nbsp;L||Straight-4|I4||Fuel injection#Sequential multi-port injection|SFI||DOHC,<br /> 16 valve||Toyota 2ZZ-GE engine. VVTL-i. '03-'06 Pontiac Vibe GT |- |L||LKW||2.5&nbsp;L||Straight-4|I4||Direct Injection|DI||DOHC,<br /> 16 valve||GM Ecotec engine, Gen III. VVT. VVL. '14-'15 Chevy Malibu, Impala |- |L||L3B||2.7L||I4 Turbo||Direct Injection|DI||DOHC,<br /> 16 valve||GM L3B Tripower engine. VVT, VVL. Active Fuel Management. '20+ Cadillac CT4, CT4-V |- |M||LY9||1.0&nbsp;L||Straight-3|I3||2BBL||SOHC,<br /> 6 valve ||Suzuki G10A engine. '85 Chevrolet Sprint |- |M||LT3||2.0&nbsp;L||Straight-4|I4 Turbo||Fuel injection#Multi-port fuel injection|MFI||SOHC,<br /> 8 valve||GM Family II engine. Made in Brazil.<br /> '87-'90 Pontiac Sunbird, '87 Buick Skyhawk T-Type, '87-'89 Pontiac Grand Am SE. |- |M||L82||3.1&nbsp;L||V6||Fuel injection#Sequential Multi Port Fuel injection|SFI||OHV||Chevrolet 60° V6 (transversely mounted). Gen III. 3100. '93-'97 Oldsmobile Cutlass Supreme,<br /> '94-'98 Pontiac Grand Am, Oldsmobile Achieva, Buick Skylark, '94-'99 Pontiac Grand Prix,<br /> '94-'96 Chevy Corsica/Beretta, Oldsmobile Cutlass Ciera, Buick Regal, '94-'99 Century,<br /> '95-'99 Chevy Lumina, Monte Carlo, '97-'99 Chevy Malibu, Oldsmobile Cutlass |- |M||LY9||2.6&nbsp;L||V6||Fuel injection#Multi-port fuel injection|MFI||DOHC,<br /> 24 valve||Opel 54° V6 engine (Made in the UK). Euro-market Cadillac CTS '03-'04. |- |M||LGD||3.9L||V6||Fuel injection#Sequential Multi Port Fuel injection|SFI||OHV||E85 Flex Fuel. GM High Value 60° V6. VVT. '09-'11 Chevy Impala, Buick Lucerne |- |M||LE2||1.4&nbsp;L||Straight-4|I4 Turbo||Direct Injection|DI||DOHC,<br /> 16 valve||GM Small Gasoline Engine. VVT. '16-'19 Chevy Cruze. |- |N||LF9||5.7&nbsp;L||V8||Indirect injection Diesel||OHV||Oldsmobile Diesel V8. '81-'85 Chevy Caprice, Impala, '82-'83 Malibu, '82-'84 Monte Carlo,<br /> '81-'84 Pontiac Grand Prix, Bonneville, '81 Catalina, '83-'85 Parisienne,<br /> '81-'84 Oldsmobile 98, '81-'85 Cutlass/Cutlass Supreme, Delta 88, Custom Cruiser, Toronado,<br /> '81-'83 Buick Electra, '81-'85 LeSabre, Electra Estate wagon, Riviera, '82-'83 Regal,<br /> '81-'84 Cadillac DeVille, '81-'85 Fleetwood Brougham, Eldorado, Seville |- |N||LG7||3.3&nbsp;L||V6||Fuel injection#Multi-port fuel injection|MFI||OHV||Buick V6 (3300). '89-'93 Buick Century, Skylark, Oldsmobile Cutlass Ciera, '89-'91 Cutlass Calais,<br /> '92-'93 Achieva, Pontiac Grand Am. |- |N||LA3||3.2&nbsp;L||V6||Fuel injection#Multi-port fuel injection|MFI||DOHC,<br /> 24 valve||Opel 54° V6 engine (Made in the UK). '03-'04 Cadillac CTS |- |N||LZ4||3.5L||V6||Fuel injection#Sequential Multi-port injection|SFI||OHV||GM High Value 60° V6. 3510cc. VVT. '06-'07 Chevy Monte Carlo, '06-'10 Chevy Impala,<br /> '07-'10 Chevy Malibu, Pontiac G6, '07-'08 Saturn Aura |- |N||LFR||3.6L||V6||Fuel injection#Multi-port fuel injection|MFI||DOHC,<br /> 24 valve||(Bi-Fuel Gas/CNG). GM High Feature V6. '15-'17 Chevy Impala Bi-Fuel |- |P||LQ5||2.0&nbsp;L||I4||Fuel injection#Throttle Body injection|TBI||OHV||Chevrolet "122" engine. '83-'86 J-cars ('83-'84 for Pontiac). |- |P||LT1||5.7&nbsp;L||V8||Fuel injection#Sequential Multi-port injection|SFI||OHV||Gen II Chevy Small-Block V8. Aluminum Heads: '92-'96 Corvette, '93-'97 Camaro/Firebird.<br /> Iron Heads: '94-'96 Chevy Caprice, Impala SS, Buick Roadmaster, Cadillac Fleetwood. |- |P||LSJ||2.0&nbsp;L||SC Straight-4|I4 Supercharged||Fuel injection#Sequential central point injection|SFI||DOHC,<br /> 16 valve||GM Ecotec Gen I. Made by Opel in Kaiserslautern, Germany.<br /> '04-'07 Saturn Ion Red Line, '05-'07 Chevy Cobalt SS Supercharged. |- |P||LSA||6.2&nbsp;L||V8 Supercharged||Fuel injection#Sequential Multi-port injection|SFI||OHV||Gen IV Chevy Small-Block V8. Aluminum Block & Heads.<br /> Cadillac CTS V-Series '09-'15, Camaro ZL1 '12-'15 |- |P||LF4||3.6L||V6 Twin Turbo||Direct Injection|DI||DOHC,<br /> 24 valve||GM High Feature V6. Cadillac CT4-V Blackwing '22+ |- |R||LR8||2.5L||I4||Fuel injection#Throttle Body injection|TBI||OHV||Pontiac Iron Duke/Tech IV engine. Transversely mounted. '82-'85 Chevy Citation, Buick Skylark,<br /> '82-'84 Pontiac Phoenix, Oldsmobile Omega, '82-'90 Chevy Celebrity, '82-'91 Pontiac 6000,<br /> '82-'92 Oldsmobile Cutlass Ciera, Buick Century, '84-'88 Pontiac Fiero, '90-'92 Chevy Lumina |- |R||L81||3.0&nbsp;L||V6||Fuel injection#Multi-port fuel injection|MFI||DOHC,<br /> 24 valve||Opel 54° V6 engine (Made in the UK). '97-'01 Cadillac Catera, '00-'05 Saturn L-Series |- |R||LZ8||3.9L||V6||Fuel injection#Sequential Multi Port Fuel injection|SFI||OHV||GM High Value 60° V6. VVT. Active Fuel Management. '07 Chevy Impala |- |R||LS9||6.2&nbsp;L||V8 Supercharged||Fuel injection#Sequential Multi-port injection|SFI||OHV||Gen IV Chevy Small-Block V8. Aluminum Block & Heads. '09 Corvette ZR1. |- |R||LUK||2.4L||I4||Direct Injection|DI||DOHC,<br /> 16 valve||Mild Hybrid. GM Ecotec Gen II. VVT. '12-'16 Buick LaCrosse eAssist, Regal eAssist,<br /> '13-'14 Chevy Malibu Eco, '14 Chevy Impala Eco |- |S||LS5||4.3&nbsp;L||V8||2 Barrel Carburetor |2BBL||OHV||Pontiac V8. 265 cu. in.<br /> '81 Pontiac Bonneville, Catalina, Firebird, Grand Prix, LeMans, Buick Century, Regal. |- |S||LU5||5.0&nbsp;L||V8||Cross-Fire fuel injection|CFI||OHV||Gen I Chevy Small-Block V8. (305 cu. in.) '83 Camaro, Firebird. Dual throttle-body fuel injection. |- |S||LB8||2.8&nbsp;L||V6||Fuel injection#Multi Port Fuel injection|MPFi||OHV||Chevrolet 60° V6 (longitudinally mounted). '85-'89 Chevy Camaro, Pontiac Firebird. |- |S||L32||3.4&nbsp;L||V6||Fuel injection#Multi Port Fuel injection|MPFi||OHV||Chevrolet 60° V6 (longitudinally mounted). '93-'95 Chevy Camaro, Pontiac Firebird. |- |S||LS6||5.7&nbsp;L||V8||Fuel injection#Sequential Multi Port injection|SFI||OHV||Gen III Chevy Small-Block V8. (346 cu. in.) Aluminum Block & Heads.<br /> '01-'04 Corvette Z06, '04-'05 Cadillac CTS V-Series |- |S||LGX||3.6L||V6||Direct Injection|DI||DOHC,<br /> 24 valve||GM High Feature V6, 4th gen. VVT. Active Fuel Management. '16-'19 Cadillac ATS, CTS, '16-'20 CT6, '16-'24 Chevrolet Camaro, '17-'19 Buick LaCrosse, '18–'20 Buick Regal GS |- |T||LU8||4.9&nbsp;L||V8 Turbo||4 Barrel Carburetor |4BBL||OHV||Pontiac V8. 301 cu. in. '81 Pontiac Firebird Formula & Trans Am. |- |T||LT7||4.3&nbsp;L||V6||Indirect injection Diesel||OHV||Oldsmobile Diesel V6. FWD version for '82-'85 GM A-bodies. |- |T||LS2||4.3&nbsp;L||V6||Indirect injection Diesel||OHV||Oldsmobile Diesel V6. FWD version for '85 GM C-bodies. |- |T||LH0||3.1&nbsp;L||V6||Fuel injection#Multi Port Fuel injection|MPFi||OHV||Chevrolet 60° V6 (longitudinally mounted). '90-'92 Chevy Camaro, Pontiac Firebird. |- |T||LH0||3.1&nbsp;L||V6||Fuel injection#Multi Port Fuel injection|MPFi||OHV||Chevrolet 60° V6 (transversely mounted). Gen II. '88-'91 Pontiac 6000,<br /> '89-'93 Grand Prix, Oldsmobile Cutlass Supreme, Buick Regal, '90-'94 Chevy Cavalier, Lumina,<br /> '91-'94 Pontiac Sunbird, '90-'93 Chevy Corsica/Beretta, '90 Celebrity |- |T||LD9||2.4&nbsp;L||Straight-4|I4||Fuel injection#Sequential Multi-port injection|SFI||DOHC,<br /> 16 valve||Oldsmobile Quad 4 ("2.4 Twin Cam"). '96-'01 Pontiac Grand Am, '96-'97 Oldsmobile Achieva, Buick Skylark, '99-'01 Oldsmobile Alero, '97-'99 Chevy Malibu, '96-'02 Chevy Cavalier, Pontiac Sunfire |- |T||LP1||2.8&nbsp;L||V6||Fuel injection#Sequential Multi-port injection|SFI||DOHC,<br /> 24 valve||GM High Feature V6. '05-'07 Cadillac CTS |- |T||LS9||6.2&nbsp;L||V8 Supercharged||Fuel injection#Sequential Multi-port injection|SFI||OHV||Gen IV Chevy Small-Block V8. Aluminum Block & Heads. '10-'13 Corvette ZR1. |- |T||LFV||1.5L||I4 Turbo||Direct Injection|DI||DOHC,<br /> 16 valve||GM Small Gasoline Engine. VVT. '16-'25 Chevy Malibu. |- |U||L68||2.5L||I4||Fuel injection#Throttle Body injection|TBI||OHV||Pontiac Iron Duke/Tech IV engine. Transversely mounted. '85-'91 N-bodies |- |U||LS2||6.0&nbsp;L||V8||Fuel injection#Sequential Multi-port fuel injection|SFI||OHV||Gen IV Chevy Small-Block V8. Aluminum Block & Heads.<br /> '05-'07 Corvette, '05-'06 Pontiac GTO, '06-'07 Cadillac CTS V-Series |- |U||LE9||2.4&nbsp;L||Straight-4|I4||Fuel injection#Multi-port fuel injection|MFI||DOHC,<br /> 16 valve||GM Ecotec Gen II. E85 Flex-Fuel. 2011-12 Chevy Malibu. |- |U||LKN||1.8L||I4||Direct Injection|DI||DOHC,<br /> 16 valve||Full Hybrid. GM Medium Gasoline Engine. VVT. Made in Szentgotthárd, Hungary.<br> '16-'19 Chevy Malibu Hybrid |- |V||LT6||4.3&nbsp;L||V6||Indirect injection Diesel||OHV||Oldsmobile Diesel V6. RWD version.<br /> '82-'83 Chevy Malibu, Monte Carlo, '82-'85 Oldsmobile Cutlass Supreme, Buick Regal |- |V||LG5||3.1&nbsp;L||V6 Turbo||Fuel injection#Multi-port fuel injection|MPFI||OHV||Chevrolet 60° V6. Gen II. Intercooled. (ASC/McLaren modified).<br /> '89-'90 Pontiac Grand Prix Turbo coupe, '90 Grand Prix STE Turbo sedan |- |V||LLT||3.6L||V6||Direct Injection|DI||DOHC,<br /> 24 valve||GM High Feature V6. '08-'11 Cadillac CTS, STS, '10-'11 Chevrolet Camaro, Buick LaCrosse |- |V||LHU||2.0&nbsp;L||Straight-4|I4 Turbo||Direct Injection|DI||DOHC,<br /> 16 valve||E85 Flex Fuel (N/A on Regal GS). GM Ecotec engine, Gen II. VVT.<br /> Buick Regal '11-'13, Verano '13-'16. |- |W||L37||4.9&nbsp;L||V8||4 Barrel Carburetor |4BBL||OHV||Pontiac V8. 301 cu. in. '81 Pontiac Firebird, LeMans Safari wagon. |- |W||LB6||2.8&nbsp;L||V6||Fuel injection#Multi-port fuel injection|MFI||OHV||Gen I/II Chevrolet 60° V6 (transversely mounted). '85 Chevy Citation, Buick Skylark,<br /> '85-'89 Chevy Cavalier, Celebrity, Pontiac 6000, '85-'88 Cadillac Cimarron,<br /> '85-'87 Oldsmobile Firenza, '86-'89 Cutlass Ciera, '87-'88 Buick Century, '87-'89 Chevy Corsica/Beretta, '88-'89 Pontiac Grand Prix, Oldsmobile Cutlass Supreme, Buick Regal |- |W||L64||3.1&nbsp;L||V6||Fuel injection#Multi-port fuel injection|MFI||OHV||Flex-fuel: Gas/M85 or Gas/E85 (2 versions). Gen II Chevrolet 60° V6. '93 Chevy Lumina VFV |- |W||L99||4.3&nbsp;L||V8||Fuel injection#Sequential Multi-port injection|SFI||OHV||Gen II Chevy Small-Block V8. '94-'96 Chevy Caprice. |- |W||LS3||6.2&nbsp;L||V8||Fuel injection#Sequential Multi-port injection|SFI||OHV||Gen IV Chevy Small-Block V8. Aluminum Block & Heads.<br /> '08-'13 Corvette, '10-'15 Camaro SS (man. trans.), '09 Pontiac G8 GXP, '14-'17 Chevy SS |- |W||LGY||3.0L||V6 Twin Turbo||Direct Injection|DI||DOHC,<br /> 24 valve||GM High Feature V6, 4th gen. VVT. Active Fuel Management. '20+ Cadillac CT5, CT5-V |- |X||LE2||2.8&nbsp;L||V6||2 Barrel Carburetor |2BBL||OHV||Chevrolet 60° V6 (transversely mounted). '81-'85 Chevy Citation, Buick Skylark,<br /> '81-'84 Pontiac Phoenix, Oldsmobile Omega, '82-'86 Chevy Celebrity, Pontiac 6000,<br /> '86 Oldsmobile Cutlass Ciera, Buick Century |- |X||LQ1||3.4&nbsp;L||V6||Fuel injection#Multi-port fuel injection|MPFI||DOHC,<br /> 24 valve||Chevrolet 60° V6 ("Twin Dual Cam V6"). '91-'97 Chevy Lumina, '95-'97 Chevy Monte Carlo,<br /> '91-'96 Pontiac Grand Prix, Oldsmobile Cutlass Supreme |- |X||LNF||2.0&nbsp;L||Straight-4|I4 Turbo||Direct Injection|DI||DOHC,<br /> 16 valve||GM Ecotec engine, Gen II. VVT.<br /> '07-'10 Pontiac Solstice GXP, Saturn Sky Red Line, '08-'10 Chevy Cobalt SS Turbo. |- |X||LTG||2.0&nbsp;L||Straight-4|I4 Turbo||Direct Injection|DI||DOHC,<br /> 16 valve||GM Ecotec engine, Gen III. VVT. '13-'22 Chevy Malibu, '13-'19 Cadillac ATS, '14-'20 Buick Regal,<br /> '14-'19 Cadillac CTS, '16-'23 Chevy Camaro, '16-'18 Cadillac CT6. |- |X||LTG||2.0&nbsp;L||Straight-4|I4 Turbo||Direct Injection|DI||DOHC,<br /> 16 valve||Plug-in hybrid. GM Ecotec engine, Gen III. VVT. '17-'18 Cadillac CT6 PHEV. (VIN starts with LRE) |- |Y||LV2||5.0&nbsp;L||V8||4 Barrel Carburetor |4BBL||OHV||Oldsmobile "Rocket" V8 (307 cu. in.) '86-'90 Chevy Caprice wagon, '87 Caprice sedan (Can.),<br /> '81 Pontiac Bonneville, Catalina, '86 Parisienne, '87-'89 Safari wagon, '81-'84 Oldsmobile 98,<br /> '81-'85 Delta 88, Toronado, '81-'90 Custom Cruiser, '81 Cutlass Cruiser, '82-'87 Cutlass Supreme,<br /> '88 Cutlass Supreme Classic, '81-'84 Buick Electra, '85-'89 Electra Estate wagon,<br /> '81-'85 LeSabre, Riviera, '86-'89 LeSabre Estate wagon, '90 Estate wagon, '86-'87 Regal,<br /> '86 Cadillac Fleetwood Brougham, '87-'90 Brougham |- |Y||LD8||4.6&nbsp;L||V8||Fuel injection#Sequential Multi-port injection|SFI||DOHC,<br /> 32 valve||Cadillac Northstar V8 (Torque tuned FWD) (Premium V). '93-'02 Cadillac Eldorado,<br /> '94-'04 Cadillac Seville SLS, '94-'05 Cadillac DeVille, '06-'11 Cadillac DTS,<br /> '04-'05 Pontiac Bonneville GXP, '06-'08 Buick Lucerne |- |Y||L76||6.0&nbsp;L||V8||Fuel injection#Sequential Multi-port fuel injection|SFI||OHV||Gen IV Chevy Small-Block V8. Aluminum Block & Heads. With Active Fuel Management.<br /> '08-'09 Pontiac G8 GT. |- |Y||LF1||3.0L||V6||Direct Injection|DI||DOHC,<br /> 24 valve||GM High Feature V6. VVT. 2011 Cadillac CTS |- |Y||LF4||3.6L||V6 Twin Turbo||Direct Injection|DI||DOHC,<br /> 24 valve||GM High Feature V6. Cadillac ATS-V '16-'19 |- |Z||LH7||2.8&nbsp;L||V6||2 Barrel Carburetor |2BBL||OHV||Chevrolet 60° V6 (transversely mounted). H.O. '81-'84 Chevy Citation, '82-'84 Pontiac Phoenix, Oldsmobile Omega ES, Buick Skylark, '83-'84 Pontiac 6000 STE, '84 Chevy Celebrity |- |Z||LB4||4.3L||V6||Fuel injection#Throttle Body injection|TBI||OHV||Chevrolet 90° V6 (Chevy Small-Block V8 Derived). '85 Chevy Impala, '85-'90 Caprice,<br /> '92-'93 Caprice 9C6 taxi, '85-'88 Monte Carlo, '85-'86 Pontiac Parisienne, '86-'87 Grand Prix,<br> '86 Bonneville. |- |Z||LAT||2.4L||I4||Fuel injection#Multi-port fuel injection|MFI||DOHC,<br /> 16 valve||Mild Hybrid. GM Ecotec Gen II. VVT. '10 Chevy Malibu Hybrid |- |Z||LUZ||2.0&nbsp;L||I4 Turbo||Direct injection <br /> Common-rail Diesel||DOHC,<br /> 16 valve||GM Family B Diesel (Based on Fiat JTD engine). Made by Opel in Kaiserslautern, Germany.<br /> Iron Block, Aluminum Heads. '14-'15 Chevy Cruze Diesel. |- |1||LC1||2.8&nbsp;L||V6||2 Barrel Carburetor |2BBL||OHV||Chevrolet 60° V6 (longitudinally mounted). '82-'84 Camaro/Firebird. |- |1||LL8||2.0&nbsp;L||I4||Fuel injection#Throttle Body injection|TBI||OHV||Chevrolet "122" engine. '87-'89 Chevy/Olds/Buick J-cars & Chevy L-cars. |- |1||L67||3.8&nbsp;L||V6 Supercharged||Fuel injection#Sequential Multi-port injection|SFI||OHV||Buick V6 (3800 Supercharged Series I). '91-'95 Buick Park Avenue Ultra,<br /> '92-'95 Pontiac Bonneville, Oldsmobile 98, '95 Buick Riviera, Oldsmobile LSS |- |1||L67||3.8&nbsp;L||V6 Supercharged||Fuel injection#Sequential Multi-port injection|SFI||OHV||Buick V6 (3800 Supercharged Series II). '96-'05 Buick Park Avenue Ultra,<br /> '96-'99 Buick Riviera, Oldsmobile LSS, '96-'03 Pontiac Bonneville, '97-'03 Grand Prix,<br /> '97-'04 Buick Regal, '04-'05 Chevy Impala SS, Monte Carlo SS Supercharged |- |1||LZ9||3.9L||V6||Fuel injection#Sequential Multi-port injection|SFI||OHV||GM High Value 60° V6. VVT.<br /> '06-'07 Chevy Malibu SS, '06-'09 Pontiac G6, '06 Chevy Monte Carlo, Impala, '09-'10 Buick Lucerne |- |1||2H0||1.8&nbsp;L||Straight-4|I4||Fuel injection#Sequential Multi-port fuel injection|SFI||DOHC,<br /> 16 valve||GM Family 1 engine, Gen III. VVT. Made in Szentgotthárd, Hungary. '08 (& '09 in Canada) Saturn Astra |- |1||LE5||2.4&nbsp;L||Straight-4|I4||Fuel injection#Multi-port fuel injection|MFI||DOHC,<br /> 16 valve||GM Ecotec Gen II. VVT. '11 & some '12 Chevy Malibu w/LE5 engine. |- |2||LQ9||2.5L||I4||Fuel injection#Throttle Body injection|TBI||OHV||Pontiac Iron Duke/Tech IV engine. Longitudinally mounted. '82-'85 Camaro/Firebird. |- |2||LS3||1.0&nbsp;L||Straight-3|I3 Turbo||Fuel injection#Multi-port fuel injection|MFI||SOHC,<br /> 6 valve ||Suzuki G10T engine. '87-'88 Chevrolet Sprint Turbo |- |2||LY8||1.3&nbsp;L||Straight-4|I4||Fuel injection#Multi-port fuel injection|MFI||SOHC,<br /> 16 valve||Suzuki G13BB engine. '98-'01 Chevrolet Metro |- |2||L26||3.8&nbsp;L||V6||Fuel injection#Sequential Multi-port injection|SFI||OHV||Buick V6 (3800 Series III). '04-'08 Pontiac Grand Prix, '05-'09 Buick LaCrosse, '06-'08 Buick Lucerne |- |2||L77||6.0&nbsp;L||V8||Fuel injection#Sequential Multi-port fuel injection|SFI||OHV||Gen IV Chevy Small-Block V8. Aluminum Block & Heads. With Active Fuel Management.<br /> E85 Flex Fuel. '11-'17 Chevy Caprice PPV. |- |3||LC8||3.8&nbsp;L||V6|V6 Turbo||4 Barrel Carburetor |4BBL||OHV||Buick V6. 231 cu. in. '81-'82 Buick Regal, Riviera, '81 Chevy Monte Carlo. |- |3||LG3||3.8&nbsp;L||V6||Fuel injection#(Sequential) Multi-port injection|MFI/SFI||OHV||Buick V6. '84-'88 Oldsmobile Cutlass Ciera, Buick Century, '85 & '87 Oldsmobile 98, Buick Electra,<br /> '86-'88 Oldsmobile Delta 88, Buick LeSabre, '87 Oldsmobile Toronado, Buick Riviera,<br /> '87-'88 Pontiac Bonneville. |- |3||LW2||4.5&nbsp;L||V8||Fuel injection#Multi-port fuel injection|MFI||OHV||Cadillac High Technology V8. '90 Cadillac DeVille/Fleetwood/Sixty Special/Eldorado/Seville. |- |3||L40||2.3&nbsp;L||Straight-4|I4||Fuel injection#Multi-port fuel injection|MFI||SOHC,<br /> 8 valve||Oldsmobile Quad 4 ("Quad OHC"). '92-'94 Pontiac Grand Am, Oldsmobile Achieva, Buick Skylark |- |3||LZG||3.9L||V6||Fuel injection#Sequential Multi Port Fuel injection|SFI||OHV||E85 Flex Fuel. GM High Value 60° V6. VVT. Active Fuel Management. '08 Chevy Impala |- |3||LFX||3.6L||V6||Direct Injection|DI||DOHC,<br /> 24 valve||GM High Feature V6. VVT. E85 Flex Fuel.<br /> '12-'16 Buick LaCrosse, '12-'15 Chevrolet Camaro, Cadillac CTS, '12-'17 Chevrolet Caprice PPV,<br /> '12-'20 Chevrolet Impala, '14-'16 Chevrolet Impala Limited, '13-'15 Cadillac ATS, '13-'19 Cadillac XTS |- |3||LT6||5.5&nbsp;L||V8||Direct injection|DI||DOHC,<br /> 32 valve||Chevrolet Gemini Small-Block V8. Aluminum Block & Heads. Flat-plane crank. VVT.<br /> For mid-engine C8 Corvette Z06 '23+. |- |4||LC4||4.1&nbsp;L||V6|V6||4 Barrel Carburetor |4BBL||OHV||Buick V6. '81-'84 Buick LeSabre, Electra, Riviera, Oldsmobile Toronado, '81-'82 Cadillac DeVille, Fleetwood Brougham, Eldorado, Seville, '81-'83 Oldsmobile 98, '82-'84 Buick Regal,<br /> '82 Pontiac Grand Prix, Bonneville G |- |4||LC9||1.6&nbsp;L||Straight-4|I4||2 Barrel Carburetor |2BBL||SOHC,<br /> 8 valve||Toyota 4A-C engine. '85-'88 Chevy Nova |- |4||LN2||2.2&nbsp;L||Straight-4|I4||Fuel injection#(Sequential) Multi-port injection|MPI/SFI||OHV||Chevrolet "122" engine. '92-'02 Cavalier, '95-'02 Sunfire, '92-'96 Corsica/Beretta, '93 Lumina,<br /> '93-'96 Cutlass Ciera, Century. |- |4||L32||3.8&nbsp;L||V6 Supercharged||Fuel injection#Sequential Multi-port injection|SFI||OHV||Buick V6 (3800 Supercharged Series III). '04-'07 Pontiac Grand Prix |- |4||LUU||1.4L||I4||Fuel injection#Sequential Multi-port fuel injection|SFI||DOHC,<br /> 16 valve||GM Family 0 Engine, Gen III. VVT. ([[w:EREV|Range extender]]). Early production engines were made in Aspern, Austria; later made in Flint, MI. '11-'15 Chevy Volt, '14 & '16 Cadillac ELR. |- |4||LT2||6.2&nbsp;L||V8||Direct injection|DI||OHV||Gen V Chevy Small-Block V8. Aluminum Block & Heads. Active Fuel Management. VVT.<br /> For mid-engine C8 Corvette Stingray '20+. |- |4||LT2||6.2&nbsp;L||V8||Direct injection|DI||OHV||Full Hybrid. Gen V Chevy Small-Block V8. Aluminum Block & Heads. Active Fuel Management. VVT.<br /> For mid-engine C8 Corvette E-Ray '24+. |- |5||LW9||2.5L||I4||2 Barrel Carburetor |2BBL||OHV||Pontiac Iron Duke engine. '81 Chevy Citation, Pontiac Phoenix, Oldsmobile Omega, Buick Skylark. |- |5||LR6||4.5&nbsp;L||V8||Fuel injection#Throttle Body injection|TBI (DFI)||OHV||Cadillac High Technology V8. '88-'89 Cadillac DeVille/Fleetwood/Sixty Special/Eldorado/Seville. |- |5||LY9||1.0&nbsp;L||Straight-3|I3||2BBL||SOHC,<br /> 6 valve ||Suzuki G10A engine. '86 Chevrolet Sprint |- |5||LM9||1.0&nbsp;L||Straight-3|I3||2BBL||SOHC,<br /> 6 valve ||Suzuki G10A engine. '87-'88 Chevrolet Sprint |- |5||LW0||1.6&nbsp;L||Straight-4|I4||Fuel injection#Multi-port fuel injection|MFI||DOHC,<br /> 16 valve||Toyota 4A-GE engine. '88 Chevy Nova Twin Cam, '90-'92 Geo Prizm GSi |- |5||LW0||1.6&nbsp;L||Straight-4|I4||Fuel injection#Multi-port fuel injection|MFI||DOHC,<br /> 16 valve||Isuzu 4XE1-UW engine. '90-'91 Geo Storm GSi |- |5||LT4||5.7&nbsp;L||V8||Fuel injection#Sequential Multi-port injection|SFI||OHV||Gen II Chevy Small-Block V8. '96 Corvette (man. trans.) |- |5||LAT||2.4L||I4||Fuel injection#Multi-port fuel injection|MFI||DOHC,<br /> 16 valve||Mild Hybrid. GM Ecotec Gen II. VVT. '07-'09 Saturn Aura Green Line, '08-'09 Chevy Malibu Hybrid |- |5||LAP||2.2&nbsp;L||Straight-4|I4||Fuel injection#Multi-port fuel injection|MFI||DOHC,<br /> 16 valve||GM Ecotec Gen II. VVT. '10 Chevy Cobalt. |- |5||LFW||3.0L||V6||Direct Injection|DI||DOHC,<br /> 24 valve||GM High Feature V6. VVT. '12-'13 Cadillac CTS, '14 CTS wagon |- |5||L3A||1.5L||I4||Direct Injection|DI||DOHC,<br /> 16 valve||GM Small Gasoline Engine. VVT. ([[w:EREV|Range extender]]). '16-'19 Chevy Volt. |- |5||LWC||1.6L||I4 Turbo||Direct Injection|DI||DOHC,<br /> 16 valve||GM Medium Gasoline Engine, H.O. VVT. Made in Szentgotthárd, Hungary. '16-'19 Buick Cascada |- |5||LS6||6.7&nbsp;L||V8||Port/Direct injection||OHV||Gen VI Chevy Small-Block V8. Aluminum Block & Heads. Active Fuel Management. VVT.<br /> For mid-engine C8 Corvette Stingray, Grand Sport '27+. |- |5||LS6||6.7&nbsp;L||V8||Port/Direct injection||OHV||Full Hybrid. Gen VI Chevy Small-Block V8. Aluminum Block & Heads. Active Fuel Management. VVT.<br /> For mid-engine C8 Corvette Grand Sport X '27+. |- |6||L81||5.7&nbsp;L||V8||4 Barrel Carburetor |4BBL||OHV||Gen I Chevy Small-Block V8. '81 Corvette |- |6||LM1||5.7&nbsp;L||V8||4 Barrel Carburetor |4BBL||OHV||Gen I Chevy Small-Block V8. '83-'85 Impala 9C1 Police, '86-'88 Caprice 9C1 Police |- |6||L73||1.6&nbsp;L||Straight-4|I4||Fuel injection#Throttle Body injection|TBI||SOHC,<br /> 8 valve||GM Family 1 engine. Made in South Korea by Daewoo. '88-'93 Pontiac LeMans |- |6||LP2||1.0&nbsp;L||Straight-3|I3||Fuel injection#Throttle Body injection|TBI||SOHC,<br /> 6 valve ||Suzuki G10A engine. '89-'97 Geo Metro, '98-'00 Chevrolet Metro |- |6||L01||1.6&nbsp;L||Straight-4|I4||Fuel injection#Multi-port fuel injection|MFI||DOHC,<br /> 16 valve||Toyota 4A-FE engine. '89-'97 Geo Prizm base/LSi |- |6||L01||1.6&nbsp;L||Straight-4|I4||Fuel injection#Multi-port fuel injection|MFI||SOHC,<br /> 12 valve||Isuzu 4XE1-V engine. '90-'93 Geo Storm (base model) |- |6||L42||2.2&nbsp;L||Straight-4|I4||Fuel injection#Multi-port fuel injection|MFI||DOHC,<br /> 16 valve||GM Ecotec Gen I (Bi-Fuel Gas/CNG). '03-'04 Chevy Cavalier |- |6||L91||1.6&nbsp;L||Straight-4|I4||Fuel injection#Multi-port fuel injection|MFI||DOHC,<br /> 16 valve||E-TEC II. '04-'07 Chevy Aveo |- |6||LXT||1.6&nbsp;L||Straight-4|I4||Fuel injection#Multi-port fuel injection|MFI||DOHC,<br /> 16 valve||E-TEC II. '08 Chevy Aveo |- |6||LGW||3.0L||V6 Twin Turbo||Direct Injection|DI||DOHC,<br /> 24 valve||GM High Feature V6, 4th gen. VVT. Active Fuel Management. '16-'19 Cadillac CT6 |- |6||LT4||6.2&nbsp;L||V8 Supercharged||Direct injection|DI||OHV||Gen V Chevy Small-Block V8. Aluminum Block & Heads. With Active Fuel Management. VVT.<br /> '15-'19 Corvette Z06, '17-'24 Camaro ZL1, '16-'19 Cadillac CTS V-Series,<br /> '22+ Cadillac CT5-V Blackwing |- |7||LU5||5.0&nbsp;L||V8||Cross-Fire fuel injection|CFI||OHV||Gen I Chevy Small-Block V8. (305 cu. in.) '82 Camaro, Firebird. Dual throttle-body fuel injection. |- |7||L69||5.0&nbsp;L||V8||4 Barrel Quadrajet Carburetor |4BBL||OHV||Gen I Chevy Small-Block V8 (High Output 5.0L). (305 cu. in.). '83 F-cars, '83 Chevy Monte Carlo SS |- |7||LC5||1.5&nbsp;L||I4||2 Barrel Carburetor |2BBL||SOHC,<br /> 8 valve||Isuzu 4XC1 engine. '86-'88 Chevrolet Spectrum, '89 Geo Spectrum. |- |7||LC2||3.8&nbsp;L||V6|V6 Turbo||Fuel injection#Sequential multi-port injection|SFI||OHV||Intercooled. Buick V6. '86-'87 Buick Regal. '89 Pontiac 20th Anniversary Turbo Trans Am |- |7||LC7||4.1&nbsp;L||V8||Fuel injection#Multi-port fuel injection|MFI||OHV||Cadillac High Technology V8. '87-'88 Cadillac Allante. |- |7||L05||5.7&nbsp;L||V8||Fuel injection#Throttle Body injection|TBI||OHV||Gen I Chevy Small-Block V8. '89-'93 Chevy Caprice (police only for '89-'91),<br /> '92-'93 Buick Roadmaster, '92 Oldsmobile Custom Cruiser, '90-'92 Cadillac Brougham, '93 Fleetwood. |- |7||LL0||1.9&nbsp;L||Straight-4|I4||Fuel injection#Multi-port injection|MFI||DOHC,<br /> 16 valve||Saturn I4 engine. '91-'02 Saturn S-Series |- |7||LY7||3.6&nbsp;L||V6||Fuel injection#Sequential Multi-port injection|SFI||DOHC,<br /> 24 valve||GM High Feature V6. VVT. '04-'09 Cadillac CTS, '05-'07 STS, '05-'08 Buick LaCrosse,<br /> '07-'09 Pontiac G6, Saturn Aura, '08-'09 Pontiac G8, '08-'12 Chevy Malibu |- |7||LT1||6.2&nbsp;L||V8||Direct injection|DI||OHV||Gen V Chevy Small-Block V8. Aluminum Block & Heads. With Active Fuel Management. VVT.<br /> '14-'19 Corvette, '16-'24 Camaro SS |- |7||LT7||5.5&nbsp;L||V8 Twin Turbo||Port/Direct injection||DOHC,<br /> 32 valve||Chevrolet Gemini Small-Block V8. Aluminum Block & Heads. Flat-plane crank. VVT.<br /> For mid-engine C8 Corvette ZR1 '25+. (1,064 hp) |- |7||LT7||5.5&nbsp;L||V8 Twin Turbo||Port/Direct injection||DOHC,<br /> 32 valve||Full Hybrid. Chevrolet Gemini Small-Block V8. Aluminum Block & Heads. Flat-plane crank. VVT.<br /> For mid-engine C8 Corvette ZR1X '26+. (1,250 hp) |- |8||LV8||4.3&nbsp;L||V8||2 Barrel Carburetor |2BBL||OHV||Oldsmobile "Rocket" V8 (260 cu. in.) '82 Oldsmobile Cutlass, Delta 88. |- |8||LT8||4.1&nbsp;L||V8||Fuel injection#Throttle Body injection|TBI (DFI)||OHV||Cadillac High Technology V8. '82-'87 Cadillac DeVille, Eldorado, Seville, '82-'85 Fleetwood Brougham, '85-'87 Fleetwood, '87 Fleetwood Sixty Special. |- |8||LC8||3.8&nbsp;L||V6|V6 Turbo||4 Barrel Carburetor |4BBL||OHV||Buick V6. '83 Buick Regal, Riviera. |- |8||L83||5.7&nbsp;L||V8||Cross-Fire fuel injection|CFI||OHV||Gen I Chevy Small-Block V8. '82, '84 Corvette. Dual throttle-body fuel injection. 1st fuel injected Corvette since 1965. |- |8||L98||5.7&nbsp;L||V8||Tuned-port fuel injection|TPI||OHV||Gen I Chevy Small-Block V8. '85-'91 Corvette, '87-'92 Chevy Camaro, Pontiac Firebird. |- |8||LQ6||4.5&nbsp;L||V8||Fuel injection#Multi-port fuel injection|MFI||OHV||Cadillac High Technology V8. '89-'92 Cadillac Allante. |- |8||L24||1.9&nbsp;L||Straight-4|I4||Fuel injection#Multi-port injection|MFI||SOHC,<br /> 8 valve||Saturn I4 engine. '95-'02 Saturn S-Series |- |8||LX9||3.5&nbsp;L||V6||Fuel injection#Sequential Multi-port injection|SFI||OHV||GM High Value 60° V6. 3498cc. '04-'06 Chevy Malibu, '05-'06 Pontiac G6 |- |8||LF3||3.6L||V6 Twin Turbo||Direct Injection|DI||DOHC,<br /> 24 valve||GM High Feature V6. '14-'19 Cadillac CTS V-Sport, XTS V-Sport |- |8||LV6||1.8&nbsp;L||Straight-4|I4||Fuel injection#Multi-port fuel injection|MFI||DOHC,<br /> 16 valve||Isuzu 4XF1 engine. '92-'93 Geo Storm GSi. |- |8||LV6||1.8&nbsp;L||Straight-4|I4||Fuel injection#Multi-port fuel injection|MFI||DOHC,<br /> 16 valve||Toyota 7A-FE engine. '93-'97 Geo Prizm |- |8||LV6||1.8&nbsp;L||Straight-4|I4||Fuel injection#Multi-port fuel injection|MFI||DOHC,<br /> 16 valve||Toyota 1ZZ-FE engine. VVT-i from '00. '98-'02 Chevrolet Prizm, '03-'08 Pontiac Vibe |- |8||LAY||1.8&nbsp;L||Straight-4|I4||Fuel injection#Sequential multi-port injection|SFI||DOHC,<br /> 16 valve||Toyota 2ZR-FE engine. Dual VVT-i. '09-'10 Pontiac Vibe |- |9||L17||1.6&nbsp;L||Straight-4|I4||2 Barrel Carburetor |2BBL||SOHC,<br /> 8 valve||Isuzu G161Z engine made by GM in US. '81 Chevy Chevette, Pontiac T1000 |- |9||L62||6.0&nbsp;L||V8||Fuel injection#Throttle Body injection|TBI (DFI)||OHV||Cadillac 472-series V8 engine family. V8-6-4 cylinder deactivation.<br /> '81 Cadillacs, '82-'84 Fleetwood Limousine. |- |9||LC3||3.8&nbsp;L||V6||2 Barrel Carburetor |2BBL||OHV||Chevrolet 90° V6 (Chevy Small-Block V8 Derived). 229 cu. in. <br /> '83 Malibu, '83-'84 Monte Carlo, Impala, Caprice, '83 Pontiac Parisienne. |- |9||LG8||5.0&nbsp;L||V8||4 Barrel Carburetor |4BBL||OHV||Oldsmobile "Rocket" V8 (307 cu. in.) H.O. '83-'84 Hurst/Olds, '85-'87 Oldsmobile Cutlass 442 |- |9||LM9||3.8&nbsp;L||V6|V6 Turbo||Fuel injection#Sequential multi-port injection|SFI||OHV||Buick V6. '84-'85 Buick Regal, Riviera. |- |9||L44||2.8&nbsp;L||V6||Fuel injection#Multi-port fuel injection|MFI||OHV||Chevrolet 60° V6 (transversely mounted). H.O. '85-'88 Pontiac Fiero |- |9||LC0||1.5&nbsp;L||I4 Turbo||Fuel injection#Multi-port fuel injection|MFI||SOHC,<br /> 8 valve||Isuzu 4XC1-T engine. '87-'88 Chevrolet Spectrum Turbo |- |9||LK0||1.9&nbsp;L||Straight-4|I4||Fuel injection#Throttle Body injection|TBI||SOHC,<br /> 8 valve||Saturn I4 engine. '91-'94 Saturn S-Series |- |9||L37||4.6&nbsp;L||V8||Fuel injection#Sequential Multi-port injection|SFI||DOHC,<br /> 32 valve||Cadillac Northstar V8 (H.O. FWD) (Premium V). '93 Cadillac Allanté,<br /> '93-'02 Cadillac Eldorado Touring Coupe, '93-'04 Cadillac Seville STS, '96-'05 Cadillac DeVille,<br /> '06-'11 Cadillac DTS, '08-'11 Buick Lucerne Super |- |9||L72||1.3&nbsp;L||Straight-4|I4||Fuel injection#Throttle Body injection|TBI||SOHC,<br /> 8 valve ||Suzuki G13BA engine. '95-'97 Geo Metro |- |9||LUJ||1.4L||I4 Turbo||Fuel injection#Sequential Multi-port fuel injection|SFI||DOHC,<br /> 16 valve||GM Family 0 Engine, Gen III. VVT. Early production engines were made in Aspern, Austria; later made in Flint, MI. '11 Chevy Cruze |- |9||LL0||1.2&nbsp;L||Straight-4|I4||Fuel injection#Multi-port fuel injection|MFI||DOHC,<br /> 16 valve||Daewoo S-TEC II engine (1249 cc). VVT. Made in Changwon, S. Korea. '13-'15 Chevy Spark. |- |9||LT5||6.2&nbsp;L||V8 Supercharged||Port/Direct injection||OHV||Gen V Chevy Small-Block V8. Aluminum Block & Heads. VVT. '19 Corvette ZR1. |- |0||LH8||1.8&nbsp;L||Straight-4|I4||Fuel injection#Throttle Body injection|TBI||SOHC,<br /> 8 valve||GM Family II engine. Made in Brazil.<br /> '82-'86 Pontiac J2000/2000/Sunbird, Oldsmobile Firenza, Buick Skyhawk. |- |0||LAX||2.4&nbsp;L||Straight-4|I4||Fuel injection#Sequential multi-port injection|SFI||DOHC,<br /> 16 valve||Toyota 2AZ-FE engine. VVT-i. '09-'10 Pontiac Vibe |- |0||LE9||2.4&nbsp;L||Straight-4|I4||Fuel injection#Multi-port fuel injection|MFI||DOHC,<br /> 16 valve||GM Ecotec Gen II. E85 Flex-Fuel. 2010 Chevy Malibu. |- |0||LE5||2.4&nbsp;L||Straight-4|I4||Fuel injection#Multi-port fuel injection|MFI||DOHC,<br /> 16 valve||GM Ecotec Gen II. VVT. Most '12 Chevy Malibu w/LE5 engine. |} H.O.=High Output, CNG=Compressed Natural Gas, VVT=Variable Valve Timing, VVL=Variable Valve Lift ====Motor codes for electric passenger cars==== {| class="wikitable" |- ! VIN !! RPO !! Fuel !! Drive Wheels !! Application/Notes |- | 5 ||LN1|| Electricity || Front || '97, '99 General Motors EV1 |- | 0 ||EN0|| Electricity || Front || '14-'16 Chevrolet Spark EV |- | 0 ||EN0|| Electricity || Front || '17-'23 Chevrolet Bolt EV |- | 0 ||EN0|| Electricity || Front || '22-'23 Chevrolet Bolt EUV |- |} ====Motor codes for LFP-powered electric passenger cars==== {| class="wikitable" |- ! VIN !! Motor <br /> RPO code !! # of Motors !! Battery Pack <br /> RPO code !! Fuel !! Drive Wheels !! Application/Notes |- |- | V ||P9D (HPB)|| 1 || EJW || Electricity || Front || '27 Chevrolet Bolt |} LFP=Lithium Iron Phosphate ====Motor codes for Ultium-powered electric passenger cars==== {| class="wikitable" |- ! VIN !! Motor <br /> RPO code !! # of Motors !! Battery Module <br /> RPO code !! # of Modules !! Fuel !! Drive Wheels !! Application/Notes |- |- | 1 ||X0E|| 2 || EXN || 16 || Electricity || All || '25- Cadillac Celestiq |- | 2 ||X0E|| 2 || EHT || 16 || Electricity || All || '25- Cadillac Celestiq <br> (Battery Module RPO code EHT is Configuration B) |} ====Engine codes for light trucks==== GM encodes the engine type in character 8 of the VIN. The following table outlines the various engines encoded there: {| class="wikitable" |- ! VIN !! RPO !! Size !! Type !! Fuel !! Valvetrain !! Engine Family/Notes/Applications |- | A ||LD5|| 3.8L || V6 || Gas ||OHV||2-bbl carb. Buick V6. (231 cu. in.) '81-'84 Chevy El Camino, GMC Caballero (CA emissions). |- | A ||LR1|| 1.9L || I4 || Gas ||SOHC,<br /> 8 valve||2-bbl carb. Isuzu G200 engine imported from Japan.<br /> '82-'85 Chevy S-10/GMC S-15, '83-'85 Chevy S-10 Blazer/GMC S-15 Jimmy |- | A ||L38|| 2.5L || I4 || Gas ||OHV||TBI. Pontiac Iron Duke/Tech IV engine. '91-'93 Chevy S-10/GMC Sonoma. |- | A ||LH2|| 4.6L || V8 || Gas ||DOHC,<br /> 32 valve||Cadillac Northstar V8 (For RWD) (Premium V). '04-'09 Cadillac SRX |- | A ||L20|| 4.8L || V8 || Gas/E85 ||OHV|| Flex Fuel. SFI. Gen IV Chevrolet Small-Block V8. Iron Block/Aluminum Heads. VVT.<br /> '10-'13 GMT900 pickups, '10-'14 Express/Savana |- | A ||LCV|| 2.5L || I4 || Gas ||DOHC,<br /> 16 valve||GM Ecotec engine, Gen III. Direct Injection. VVT. '15-'22 Chevy Colorado, GMC Canyon,<br /> '17-'20 Buick Envision, '17-'21 GMC Acadia, '19-'21 Chevy Blazer |- | B ||LR2|| 2.8L || V6 || Gas ||OHV||2-bbl carb. Chevrolet 60° V6.<br /> '82-'85 Chevy S-10/GMC S-15, '83-'85 Chevy S-10 Blazer/GMC S-15 Jimmy |- | B ||LU2|| 4.3L || V6 || Gas ||OHV|| TBI. Chevrolet 90° V6 (Chevy Small-Block V8 Derived). '90-'91 Astro/Safari higher output engine option. |- | B ||L81|| 3.0L || V6 || Gas ||DOHC,<br /> 24 valve||Opel 54° V6 engine (Made in the UK). '02-'03 Saturn Vue |- | B ||L33|| 5.3L || V8 || Gas ||OHV|| Gen III Chevrolet Small-Block V8. Vortec 5300 H.O. 310hp. Aluminum Block & Heads.<br /> '05-'07 Silverado/Sierra 1500 4wd ext. cab short bed. |- | B ||LE8|| 2.2L || I4 || Gas/E85 ||DOHC,<br /> 16 valve||Flex-Fuel. GM Ecotec Gen II. VVT. '09-'10 Chevy HHR |- | B ||LC8|| 6.0L || V8 || Gas/CNG ||OHV||Bi-Fuel (Also Gas/LPG in Express/Savana). SFI. Gen IV Chevrolet Small-Block V8. Iron Block & Aluminum Heads. VVT. '11-'20 Express/Savana, '13-'19 Silverado HD/Sierra HD. |- | B ||LUV|| 1.4L ||I4 Turbo|| Gas ||DOHC,<br /> 16 valve||GM Family 0 Engine, Gen III. SFI. VVT.<br /> '13-'21 Buick Encore, '15-'21 Chevy Trax (also '13-'14 Trax in Canada) |- | C ||LH6|| 6.2L || V8 || Diesel ||OHV||Detroit Diesel V8. For sub-8,500 lb. GVWR trucks '82-'93. '82-'86 C/K pickups, '87 R/V pickups,<br /> '88-'93 C/K, Sierra pickups, '82-'91 Blazer/Jimmy, Suburban, '83-'93 full-size vans |- | C ||L34|| 2.0L || I4 || Gas ||DOHC,<br /> 16 valve||Suzuki J20A engine. MFI. '99-'03 Chevrolet Tracker |- | C ||LY2|| 4.8L || V8 || Gas ||OHV||SFI. Gen IV Chevrolet Small-Block V8. Iron Block/Aluminum Heads.<br /> '07-'09 GMT900 pickups, '07-'09 Tahoe/Yukon, '08-'09 Express/Savana |- | C ||LAF|| 2.4L || I4 || Gas ||DOHC,<br /> 16 valve||GM Ecotec engine, Gen II. Direct Injection. VVT. Chevy Equinox, GMC Terrain '11. |- | C ||L83|| 5.3L || V8 || Gas/E85 ||OHV|| Flex Fuel. Gen V Chevrolet Small-Block V8 (EcoTec3). Direct injection, VVT. Active Fuel Management<br /> '14-'19 K2XX pickups, '15-'20 K2XX SUVs. |- | C ||L2R|| 2.7L ||I4 Turbo||| Gas ||DOHC,<br /> 16 valve||GM L3B Tripower engine ("TurboMax") - Detuned version. Direct Injection. VVT, VVL. Active Fuel Management. '23-'24 Chevy Colorado. |- | D ||LE3|| 4.1L || I6 || Gas ||OHV||2-bbl carb. Chevrolet Turbo-Thrift I6.<br /> '81-'84 Chevy/GMC C/K pickups, full-size vans, '81-'82 Blazer/Jimmy |- | D ||LG6|| 3.1L || V6 || Gas ||OHV||TBI. Chevrolet 60° V6. '90-'95 U-body minivans. |- | D ||L61|| 2.2L || I4 || Gas ||DOHC,<br /> 16 valve||GM Ecotec Gen I. '02-'07 Saturn Vue, '06 Chevy HHR. |- | D ||L61|| 2.2L || I4 || Gas ||DOHC,<br /> 16 valve||GM Ecotec Gen II. '07-'08 Chevy HHR. |- | D ||LLT|| 3.6L || V6 || Gas ||DOHC,<br /> 24 valve||GM High Feature V6. Direct Injection. '09-'16 GMC Acadia, '17 GMC Acadia Limited,<br /> '09-'17 Chevrolet Traverse, Buick Enclave, '09-'10 Saturn Outlook |- | D ||LBZ|| 6.6L || V8 Turbo || Diesel ||OHV,<br /> 32 valve||Duramax 6600 V8 engine.<br /> Mid '06 Silverado HD/Sierra HD & '07 Silverado Classic HD/Sierra Classic HD |- | D ||L84|| 5.3L || V8 || Gas/E85 ||OHV|| Gen V Chevrolet Small-Block V8 (EcoTec3). Direct injection, VVT. With Dynamic Fuel Management<br /> '19+ Chevy/GMC Silverado 1500/Sierra 1500, '21+ Tahoe/Yukon, Suburban/Yukon XL. |- | E ||LN8|| 2.5L || I4 || Gas ||OHV||TBI. Pontiac Iron Duke/Tech IV engine.<br /> '85-'90 Chevy/GMC S-10/S-15, Astro/Safari Cargo Van, '85-'88 S-10 Blazer/S-15 Jimmy. |- | E ||LLR|| 3.7L || I5 || Gas ||DOHC,<br /> 20 valve||Atlas I5. SFI. VVT.<br /> '07-'12 Colorado/Canyon, '07-'08 Isuzu i-370, '07-'10 Hummer H3, '09-'10 Hummer H3T |- | E ||LA1|| 3.4L || V6 || Gas ||OHV||Chevrolet 60° V6. '96 GMT199 (U-body) minivans, '97-'05 GMT200 (U-body) minivans,<br /> '01-'05 Pontiac Aztek, '02-'05 Buick Rendezvous |- | F ||LF3|| 5.0L || V8 || Gas ||OHV|| 4-bbl carb. Gen I Chevrolet Small-Block V8. '81-'86 C/K, full-size vans, '81-'82 Blazer/Jimmy.<br /> CA emissions version of LE9 5.0 V8. |- | F ||L65|| 6.5L || V8 Turbo || Diesel ||OHV||Detroit Diesel V8. For over-8,500 lb. GVWR Chevy C/K, GMC Sierra trucks '92-'02,<br /> Chevy/GMC Suburban 1500/2500 '94-'99, over-8,500 lb. GVWR Express/Savana '96-'02 |- | F ||LNJ|| 3.4L || V6 || Gas ||OHV||Chevrolet 60° V6. Made in China by SAIC-GM. '05-'09 Chevy Equinox, '06-'09 Pontiac Torrent. |- | F ||L94|| 6.2L || V8 || Gas/E85 ||OHV||Flex-Fuel. Gen IV Chevrolet Small-Block V8. Aluminum Block & Heads. SFI. VVT. Active Fuel Management. '10-'14 GMC Yukon Denali/Yukon XL Denali, Cadillac Escalade/Escalade ESV. |- | F ||L20|| 4.8L || V8 || Gas/E85 ||OHV|| Flex Fuel. SFI. Gen IV Chevrolet Small-Block V8. Iron Block/Aluminum Heads. VVT.<br /> '15-'17 Express/Savana |- | F ||L82|| 5.3L || V8 || Gas ||OHV|| Gen V Chevrolet Small-Block V8 (EcoTec3). Direct injection, VVT. With Active Fuel Management<br /> '19-'21 Chevy Silverado 1500, GMC Sierra 1500 (T1XX). |- | G ||LG9|| 5.0L || V8 || Gas ||OHV|| 2-bbl carb. Gen I Chevrolet Small-Block V8. '81 Chevy/GMC C/K pickups, Blazer/Jimmy, full-size van |- | G ||L18|| 8.1L || V8 || Gas ||OHV||MFI. Vortec 8100. Gen VII Chevrolet Big-Block V8. '01-'02 C3500HD, '01-'06 Silverado HD/Sierra HD, '07 Silverado Classic HD/Sierra Classic HD, '01-'06 Suburban/Yukon XL 2500, '02-'06 Avalanche 2500, '01-'02 Express/Savana |- | G ||L96|| 6.0L || V8 || Gas/E85 ||OHV||Flex Fuel. SFI. Gen IV Chevrolet Small-Block V8. Iron Block & Aluminum Heads. VVT.<br /> '10-'19 Silverado HD/Sierra HD, '10-'13 Suburban 2500/Yukon XL 2500, '16-'19 Suburban 3500,<br /> '10-'20 Express/Savana. |- | G ||LSD|| 1.5L || I4 Turbo || Gas ||DOHC,<br /> 16 valve||GM Small Gasoline Engine. Direct Injection. VVT. '23+ Chevy Equinox, GMC Terrain |- | H ||LG4|| 5.0L || V8 || Gas ||OHV||4-bbl carb. Gen I Chevy Small-Block V8. (305 cu. in.) '81-'87 Chevy El Camino, GMC Caballero. |- | H ||LE9|| 5.0L || V8 || Gas ||OHV|| 4-bbl carb. Gen I Chevrolet Small-Block V8. '81-'86 C/K pickups, Blazer/Jimmy, Suburban, full-size vans |- | H ||L03|| 5.0L || V8 || Gas ||OHV|| TBI. Gen I Chevrolet Small-Block V8. '87 R/V pickups, '88-'95 C/K, Sierra pickups, '87-'95 full-size vans, '87 Blazer/Jimmy, Suburban. |- | H ||LN2|| 2.2L || I4 || Gas ||OHV||SFI. Chevrolet "122" engine. '03 Chevy S-10/GMC Sonoma |- | H ||LS2|| 6.0L || V8 || Gas ||OHV||SFI. Gen IV Chevy Small-Block V8. Chevy SSR '05-'06, Trailblazer SS '06-'09, Saab 9-7X Aero '08-'09. |- | H ||LV3|| 4.3L || V6 || Gas/E85 ||OHV||Flex Fuel. Chevrolet 90° V6 - Gen V Chevrolet Small-Block V6 (EcoTec3). Direct injection, VVT. Active Fuel Management. '14-'21 Chevy Silverado 1500/GMC Sierra 1500. |- | J ||L39|| 4.4L || V8 || Gas ||OHV||2-bbl carb. Gen I Chevy Small-Block V8 (267 cu. in.) '81-82 Chevy El Camino, GMC Caballero. |- | J ||LL4|| 6.2L || V8 || Diesel ||OHV||Detroit Diesel V8. For over-8,500 lb. GVWR trucks '82-'93. '82-'86 C/K pickups, '87-'91 R/V pickups,<br /> '88-'93 C/K, Sierra pickups, '82-'91 Blazer/Jimmy, Suburban, '83-'93 full-size vans |- | J ||L29|| 7.4L || V8 || Gas ||OHV|| MFI. Vortec 7400. Gen VI Chevrolet Big-Block V8.<br /> '96-'00 C/K, Sierra pickups, Express/Savana, '96-'99 Suburban 2500 |- | J ||LY5|| 5.3L || V8 || Gas ||OHV||SFI. Gen IV Chevrolet Small-Block V8. Active Fuel Management. Iron Block & Aluminum Heads.<br /> '07-'09 Silverado/Sierra 1500, Tahoe/Yukon, Suburban/Yukon XL 1500, Avalanche |- | J ||LZ1|| 6.0L || V8 || Gas ||OHV||2-Mode Hybrid. Gen IV Chevrolet Small-Block V8. Aluminum Block & Heads. VVT. Active Fuel Management. '10-'13 Tahoe Hybrid, Yukon Hybrid, Escalade Hybrid, Silverado Hybrid, Sierra Hybrid |- | J ||L86|| 6.2L || V8 || Gas ||OHV||Gen V Chevrolet Small-Block V8 (EcoTec3). Direct injection, VVT. Active Fuel Management. <br /> '14-18 Chevy/GMC Silverado 1500/Sierra 1500,<br /> '18-20 Chevy Tahoe Premier, '19-'20 Chevy Suburban Premier, GMC Yukon/Yukon XL SLT,<br /> '15-'20 GMC Yukon Denali/Yukon XL Denali, Cadillac Escalade/Escalade ESV. |- | K ||LC3|| 3.8L || V6 || Gas ||OHV||2-bbl carb. Chevrolet 90° V6 (Chevy Small-Block V8 Derived). 229 cu. in. <br /> '81-'82 Chevy El Camino, GMC Caballero (49-state emissions) |- | K ||L05|| 5.7L || V8 || Gas ||OHV|| TBI. Gen I Chevrolet Small-Block V8. '87 R/V pickups, '88-'95 C/K, Sierra pickups, '87-'95 full-size vans, '96 G-Classic full-size vans, '87-'94 Blazer, '95 Tahoe, '87-'91 Jimmy, '92-'95 Yukon, '87-'95 Suburban. |- | K ||LY6|| 6.0L || V8 || Gas ||OHV||SFI. Gen IV Chevrolet Small-Block V8. Iron Block & Aluminum Heads. VVT.<br /> '07-'09 Silverado HD/Sierra HD, '07-'09 Suburban 2500/Yukon XL 2500, '08-'09 Express/Savana |- | K ||LEA|| 2.4L || I4 || Gas/E85 ||DOHC,<br /> 16 valve||Flex Fuel. GM Ecotec engine, Gen II. Direct Injection. VVT. Chevy Equinox, GMC Terrain '12-'17,<br /> Chevy Captiva Sport '12-'14, Chevy Orlando '14. |- | K ||L3B|| 2.7L ||I4 Turbo||| Gas ||DOHC,<br /> 16 valve||GM L3B Tripower engine ("TurboMax"). Direct Injection. VVT, VVL. Active Fuel Management.<br /> '19+ Chevy Silverado 1500, GMC Sierra 1500, '23+ Chevy Colorado, GMC Canyon. |- | L ||LS9|| 5.7L || V8 || Gas ||OHV|| 4-bbl carb. Gen I Chevrolet Small-Block V8. For sub-8,500 lb. GVWR trucks, vans, Suburban, Blazer/Jimmy (CA) '81-'86. |- | L ||L27|| 3.8L || V6 || Gas ||OHV||Buick V6 (3800 Series I). '92-'95 U-body minivans |- | L ||LX9|| 3.5L || V6 || Gas ||OHV||GM High Value 60° V6. 3498cc. SFI. '05-'06 GMT201 minivans, '06-'07 Buick Rendezvous |- | L ||LH8|| 5.3L || V8 || Gas ||OHV||SFI. Gen IV Chevrolet Small-Block V8. Aluminum Block & Heads.<br /> '08-'09 Hummer H3 Alpha, '09 Colorado/Canyon, Hummer H3T Alpha |- | L ||LGH|| 6.6L || V8 Turbo || Diesel ||OHV,<br /> 32 valve||Duramax 6600 V8 engine. Mid '10-'16 Express/Savana, '11-'12 Silverado HD/Sierra HD chassis cabs |- | L ||L87|| 6.2L || V8 || Gas ||OHV||Gen V Chevrolet Small-Block V8 (EcoTec3). Direct injection, VVT. Dynamic Fuel Management.<br /> '19+ Chevy/GMC Silverado 1500/Sierra 1500, '21+ Tahoe/Yukon, Suburban/Yukon XL,<br /> Cadillac Escalade/Escalade ESV. |- | L ||L3T|| 1.3L || I3 Turbo || Gas ||DOHC,<br /> 12 valve||GM E-Turbo Engine. Direct Injection. VVT. '20+ Buick Encore GX, '21+ Chevy Trailblazer. |- | M ||LT9|| 5.7L || V8 || Gas ||OHV|| 4-bbl carb. Gen I Chevy Small-Block V8.<br /> For over-8,500 lb. GVWR C/K trucks, full-size vans, Suburban '81-'86, full-size van cutaway '81-'88.<br /> '88 Chevy/GMC R30/3500 Chassis Cab w/C7C (10,500 lb. GVWR),<br /> V30/3500 Chassis Cab w/C7E (11,000 lb. GVWR) |- | M ||L30|| 5.0L || V8 || Gas ||OHV||Gen 1+ Chevrolet Small-Block V8. Vortec 5000. CPI.<br /> '96-'99 Chevy C/K, GMC Sierra, '96-'02 Express/Savana |- | M ||LNF|| 2.0L || I4 Turbo || Gas ||DOHC,<br /> 16 valve||GM Ecotec engine, Gen II. Direct Injection. VVT. 2010 Chevy HHR SS. |- | M ||LH6|| 5.3L || V8 || Gas ||OHV||SFI. Gen IV Chevrolet Small-Block V8. Active Fuel Management. Aluminum Block & Heads.<br /> '05-'06 GMT370 SUVs (Trailblazer EXT/Envoy XL/Isuzu Ascender 7-psgr.), '05-'07 Buick Rainier,<br /> '05-'09 GMC Envoy Denali, Saab 9-7X, '06-'08 Chevy Trailblazer, '05 GMC Envoy XUV,<br /> '07-'09 Silverado/Sierra 1500 |- | M ||LAF|| 2.4L || I4 || Gas ||DOHC,<br /> 16 valve||GM Ecotec engine, Gen II. Direct Injection. VVT. Chevy Orlando '12. |- | M ||LE2|| 1.4L || I4 Turbo || Gas ||DOHC,<br /> 16 valve||GM Small Gasoline Engine. Direct Injection. VVT. '16-'19 & '21-'22 Buick Encore, '21-'22 Chevy Trax. |- | N ||L10|| 1.8L || I4 || Gas ||SOHC,<br /> 8 valve||2-bbl carb. Isuzu G180Z engine imported from Japan. '81-'82 Chevy LUV |- | N ||LF9|| 5.7L || V8 || Diesel ||OHV||Oldsmobile Diesel V8. '83-'84 Chevy El Camino/GMC Caballero. |- | N ||LB1|| 4.3L || V6 || Gas ||OHV|| 4-bbl carb. Chevrolet 90° V6 (Chevy Small-Block V8 Derived).<br /> '85 Astro/Safari, '85-'86 C/K pickups & full-size vans |- | N ||L19|| 7.4L || V8 || Gas ||OHV|| Mark IV Chevrolet Big-Block V8. TBI.<br /> '87-'90 R/V pickups, Suburban 2500, '88-'90 C/K, Sierra pickups, full-size vans |- | N ||L19|| 7.4L || V8 || Gas ||OHV|| Gen V Chevrolet Big-Block V8. TBI.<br /> '91 R/V pickups, '91-'95 C/K, Sierra pickups, Suburban 2500, full-size vans. '96 G-Classic full-size vans |- | N ||LZ4|| 3.5L || V6 || Gas ||OHV||GM High Value 60° V6. 3510cc. SFI. VVT. '08-'09 Saturn Vue |- | N ||LQ9|| 6.0L || V8 || Gas ||OHV|| Gen III Chevrolet Small-Block V8. Vortec 6000 H.O. or VortecMAX. Iron Block/Aluminum Heads. 345 hp.<br /> '02-'06 Cadillac Escalade, '03-'06 Cadillac Escalade ESV, '03-'06 Chevy Silverado SS, '05-'06 GMC Sierra Denali. |- | N ||LGZ|| 3.6L || V6 || Gas ||DOHC,<br /> 24 valve||GM High Feature V6, 4th gen. Direct Injection. VVT. Active Fuel Management.<br /> '17-'22 Chevy Colorado, GMC Canyon. |- | P ||L49|| 6.5L || V8 || Diesel ||OHV||Detroit Diesel V8. For sub-8,500 lb. GVWR Chevy C/K, GMC Sierra trucks & full-size vans '94-'95 |- | P ||LM4|| 5.3L || V8 || Gas ||OHV||Gen III Chevrolet Small-Block V8. Vortec 5300. 290hp. Aluminum Block & Heads.<br /> '03-'04 Chevy SSR, '03-'04 GMT370 SUVs (Trailblazer EXT/Envoy XL/Isuzu Ascender 7-psgr.),<br /> '04 Buick Rainier, GMC Envoy XUV |- | P ||LE5|| 2.4L || I4 || Gas ||DOHC,<br /> 16 valve||MFI. GM Ecotec Gen II. VVT. '06-'08 Chevy HHR, '08-'09 Saturn Vue |- | P ||LH9|| 5.3L || V8 || Gas/E85 ||OHV||Flex Fuel. SFI. Gen IV Chevrolet Small-Block V8. Aluminum Block & Heads. VVT.<br /> '10-'12 Colorado/Canyon, '10 Hummer H3 Alpha, H3T Alpha |- | P ||LV1|| 4.3L || V6 || Gas ||OHV||Chevrolet 90° V6 - Gen V Chevrolet Small-Block V6 (EcoTec3). Direct injection, VVT.<br /> '18+ Chevy Express/GMC Savana. |- | P ||LBP|| 1.2L || I3 Turbo || Gas/E85 ||DOHC,<br /> 12 valve||Flex Fuel. GM E-Turbo Engine. Direct Injection. VVT.<br /> '25+ Buick Encore GX, Chevy Trailblazer, '25- Chevy Trax, Buick Envista. |- | R ||LL2|| 2.8L || V6 || Gas ||OHV||TBI. Chevrolet 60° V6. '86-'93 Chevy S-10, GMC S-15/Sonoma,<br /> '86-'89 Chevy S-10 Blazer/GMC S-15 Jimmy |- | R ||L31|| 5.7L || V8 || Gas ||OHV||Gen 1+ Chevrolet Small-Block V8. Vortec 5700. CPI.<br /> '96-'99 Chevy C/K, GMC Sierra, '96-'99 Chevy Tahoe/GMC Yukon, Chevy/GMC Suburban, '99-'00 GMC Yukon Denali, Cadillac Escalade, '00 Chevy Tahoe Limited/Z71, '96-'02 Chevy Express/GMC Savana. |- | R ||L8B|| 5.3L || V8 || Gas ||OHV||Mild Hybrid. Gen V Chevrolet Small-Block V8 (EcoTec3). Direct injection, VVT. Active Fuel Management. '16-'18 Chevy Silverado 1500, GMC Sierra 1500. |- | S ||LQ7|| 2.2L || I4 || Diesel ||OHV||Isuzu C220 engine imported from Japan. '81-'82 Chevy LUV, '84-'85 Chevy S-10/GMC S-15 |- | S ||L56|| 6.5L || V8 Turbo || Diesel ||OHV||Detroit Diesel V8. For sub-8,500 lb. GVWR Chevy C/K, GMC Sierra trucks '94-'99,<br /> Chevy Blazer '94, Chevy Tahoe 2-d '95-'99, GMC Yukon 2-d '94-'97 |- | S ||LL8|| 4.2L || I6 || Gas ||DOHC,<br /> 24 valve||Atlas I6. SFI. VVT. '02-'09 GMT360/370 SUVs (Chevy Trailblazer, GMC Envoy, Oldsmobile Bravada, Buick Rainier, Isuzu Ascender, Saab 9-7X) |- | S ||LGX|| 3.6L || V6 || Gas ||DOHC,<br /> 24 valve||GM High Feature V6, 4th gen. Direct Injection. VVT. Active Fuel Management.<br /> '17+ Cadillac XT5, '17-'23 GMC Acadia, '19+ Chevrolet Blazer, '20-'25 Cadillac XT6. |- | S ||LK0|| 2.5L || I4 Turbo || Gas ||DOHC,<br /> 16 valve||L3B engine family. Direct Injection. VVT. '24- Chevy Traverse, GMC Acadia, '25- Buick Enclave |- | T ||L25|| 4.8L || I6 || Gas ||OHV||1-bbl carb. Chevrolet Turbo-Thrift I6. '81-'86 Chevy/GMC C/K pickups, '88 R/V pickups |- | T ||LM7|| 5.3L || V8 || Gas ||OHV|| Gen III Chevrolet Small-Block V8. Iron Block & Aluminum Heads. Vortec 5300. 270/285/295hp.<br /> '99-'07 GMT800 pickups & SUVs including '02-'05 Escalade 2wd, '03-'07 Express/Savana |- | T ||LEA|| 2.4L || I4 || Gas/E85 ||DOHC,<br /> 16 valve||Flex Fuel. GM Ecotec engine, Gen II. Direct Injection. VVT. Chevy Orlando '13. |- | T ||LM2|| 3.0L || I6 Turbo|| Diesel ||DOHC,<br /> 24 valve|| Duramax Diesel I6. Aluminum Block & Heads. '20-'22 Silverado/Sierra 1500, '21-'24 Tahoe/Suburban, Yukon/Yukon XL, Escalade/Escalade ESV. |- | U ||LS5|| 1.6L || I4 || Gas ||SOHC,<br /> 8 valve||Suzuki G16A engine. TBI. '89-'95 Geo Tracker |- | U ||LQ4|| 6.0L || V8 || Gas ||OHV|| Gen III Chevrolet Small-Block V8. Iron Block & Aluminum Heads (Iron Heads in '99-'00).<br /> '99-'06 GMT800 pickups, '00-'06 Suburban/Yukon XL 2500, '01-'06 Yukon Denali/Yukon XL Denali,<br> '06 Suburban LTZ, '03-'07 Express/Savana, '03-'07 Hummer H2. |- | U ||LE9|| 2.4L || I4 || Gas/E85 ||DOHC,<br /> 16 valve||Flex-Fuel. GM Ecotec Gen II. 2011 Chevy HHR |- | U ||LH7|| 1.6L ||I4 Turbo|| Diesel ||DOHC,<br /> 16 valve||GM Medium Diesel engine ("Whisper Diesel"). Made by Opel in Szentgotthárd, Hungary.<br /> Aluminum Block & Heads. '18-'19 Chevy Equinox & GMC Terrain Diesel. |- | V ||LR4|| 4.8L || V8 || Gas ||OHV||Gen III Chevrolet Small-Block V8. Iron Block/Aluminum Heads. '99-'06 GMT800 pickups,<br /> '00-'06 Tahoe/Yukon, '03-'07 Express/Savana |- | V ||LE9|| 2.4L || I4 || Gas/E85 ||DOHC,<br /> 16 valve||Flex-Fuel. GM Ecotec Gen II. 2009-2010 Chevy HHR |- | V ||LYX|| 1.5L || I4 Turbo || Gas ||DOHC,<br /> 16 valve||GM Small Gasoline Engine. Direct Injection. VVT. '18-'22 Chevy Equinox, GMC Terrain |- | W ||LE8|| 7.4L || V8 || Gas ||OHV|| Mark IV Chevrolet Big-Block V8. 4bbl carb. '81-'86 Chevy/GMC C/K pickups, Suburban.<br /> '88-'89 Chevy/GMC R30/3500 Chassis Cab w/C7C (10,500 lb. GVWR),<br /> V30/3500 Chassis Cab w/C7E (11,000 lb. GVWR) |- | W ||L35|| 4.3L || V6 || Gas ||OHV|| CPI. Vortec 4300 H.O. Chevrolet 90° V6 (Chevy Small-Block V8 Derived).<br /> '92-'95 Sonoma, S-10 Blazer/Jimmy, Astro/Safari, '94-'95 S-10, '92-'94 Oldsmobile Bravada |- | W ||L35|| 4.3L || V6 || Gas ||OHV|| SFI. Vortec 4300 H.O. Chevrolet 90° V6 (Chevy Small-Block V8 Derived). '96-'02 S-10/Sonoma, Blazer/Jimmy, Express/Savana, C/K, Silverado, Sierra, '96-'01 Bravada, Astro/Safari, '00 Isuzu Hombre |- | W ||LGD|| 3.9L || V6 || Gas/E85 ||OHV||Flex Fuel. GM High Value 60° V6. SFI. VVT. '07-'09 GMT201 minivans |- | W ||LAF|| 2.4L || I4 || Gas ||DOHC,<br /> 16 valve||GM Ecotec engine, Gen II. Direct Injection. VVT. Chevy Equinox, GMC Terrain '10. |- | W ||LE8|| 2.2L || I4 || Gas/E85 ||DOHC,<br /> 16 valve||Flex-Fuel. GM Ecotec Gen II. VVT. 2011 Chevy HHR. |- | W ||LFY|| 3.6L || V6 || Gas ||DOHC,<br /> 24 valve||GM High Feature V6. Direct Injection.<br> '18-'23 Chevrolet Traverse, '24 Chevrolet Traverse Limited, '18-'24 Buick Enclave. |- | X ||LF6|| 4.3L || V6 || Gas ||OHV||SFI. Vortec 4300. Chevrolet 90° V6 (Chevy Small-Block V8 Derived).<br /> '96-'99 S-10/Sonoma, '97-'99 Isuzu Hombre. |- | X ||LU3|| 4.3L || V6 || Gas ||OHV||Vortec 4300. Chevrolet 90° V6 (Chevy Small-Block V8 Derived). '03-'04 S-10/Sonoma,<br /> '03-'05 Blazer/Jimmy, '02-'05 Astro/Safari, '03-'14 Express/Savana, '03-'13 Silverado/Sierra |- | X ||LNF|| 2.0L || I4 Turbo || Gas ||DOHC,<br /> 16 valve||GM Ecotec engine, Gen II. Direct Injection. VVT. '08-'09 Chevy HHR SS. |- | X ||LTG|| 2.0L || I4 Turbo || Gas ||DOHC,<br /> 16 valve||GM Ecotec engine, Gen III. Direct Injection. VVT.<br /> '16-'20 Buick Envision, '18-'20 Chevy Equinox, GMC Terrain, '18-'19 Chevy Traverse RS |- | Y ||LQ2|| 2.0L || I4 || Gas ||OHV||2-bbl carb. Chevrolet "122" engine.<br /> '83-'84 Chevy S-10/GMC S-15, '83-'84 Chevy S-10 Blazer/GMC S-15 Jimmy |- | Y ||L57|| 6.5L || V8 || Diesel ||OHV||Detroit Diesel V8. For over-8,500 lb. GVWR full-size vans '94-'95 & '96 G-Classic full-size vans |- | Y ||L76|| 6.0L || V8 || Gas ||OHV||SFI. Gen IV Chevy Small-Block V8. Aluminum Block & Heads. VVT. With Active Fuel Management.<br /> '07-'09 Silverado/Sierra, Suburban/Yukon XL, Chevy Avalanche |- | Y ||LF1|| 3.0L || V6 || Gas ||DOHC,<br /> 24 valve||GM High Feature V6. Direct Injection. VVT.<br /> '10-'11 Cadillac SRX, '11 Saab 9-4X, '10 Chevy Equinox, GMC Terrain |- | Y ||L5P|| 6.6L || V8 Turbo || Diesel ||OHV,<br /> 32 valve||Duramax 6600 V8 engine. '17+ Silverado HD/Sierra HD. Engine updated in '24. |- | Z ||LF9|| 5.7L || V8 || Diesel ||OHV||Oldsmobile Diesel V8. '81 Chevy C10/GMC C1500 full-size pickups. |- | Z ||LB4|| 4.3L || V6 || Gas ||OHV|| TBI. Chevrolet 90° V6 (Chevy Small-Block V8 Derived). '85-'87 Chevy El Camino/GMC Caballero,<br /> '86-'94 Astro/Safari, '87 R/V pickups, '88-'95 C/K & Sierra pickups, '87-'95 full-size vans & <br /> '96 G-Classic full-size vans, '88-'95 S-10, S-15/Sonoma, '88-'94 S-10 Blazer, S-15 Jimmy,<br /> '91-'92 Oldsmobile Bravada |- | Z ||LB4|| 4.3L || V6 Turbo || Gas ||OHV|| MPI. For GMC Syclone & Typhoon. Chevrolet 90° V6 (Chevy Small-Block V8 Derived) |- | Z ||L59|| 5.3L || V8 || Gas/E85 ||OHV||Flex Fuel. Gen III Chevrolet Small-Block V8. Iron Block & Aluminum Heads. Vortec 5300. 285/295hp.<br /> '02-'07 GMT800 pickups, '02-'06 Suburban/Yukon XL, Avalanche. |- | Z ||LAT|| 2.4L || I4 || Gas ||DOHC,<br /> 16 valve||Mild Hybrid. MFI. GM Ecotec Gen II. VVT. '07-'09 Saturn Vue Green Line |- | 1 ||LZ9|| 3.9L || V6 || Gas ||OHV||GM High Value 60° V6. SFI. VVT. '06-'09 GMT201 minivans |- | 1 ||LE5|| 2.4L || I4 || Gas ||DOHC,<br /> 16 valve||MFI. GM Ecotec Gen II. VVT. '10 Saturn Vue. |- | 1 ||LB7|| 6.6L || V8 Turbo || Diesel ||OHV,<br /> 32 valve||Duramax 6600 V8 engine. First version of the Duramax V8. '01-Mid '04 Silverado HD/Sierra HD |- | 1 ||LWN|| 2.8L || I4 Turbo || Diesel ||DOHC,<br /> 16 valve||Based on VM Motori A428 engine. Made by GM Powertrain Thailand 2016-2020. Made in Brazil for '22. '16-'22 Colorado/Canyon, '17-'22 Express/Savana. |- | 2 ||LLY|| 6.6L || V8 Turbo || Diesel ||OHV,<br /> 32 valve||Duramax 6600 V8 engine. Mid '04-Mid '06 Silverado HD/Sierra HD, '06-Mid '07 Express/Savana |- | 2 ||L9H|| 6.2L || V8 || Gas/E85 ||OHV||Flex-Fuel. Gen IV Chevrolet Small-Block V8. Aluminum Block & Heads. SFI. VVT.<br /> '09-'13 Chevy Silverado 1500, GMC Sierra 1500, Sierra Denali 1500,<br /> '09 Chevy Tahoe LTZ, GMC Yukon Denali/Yukon XL Denali, Cadillac Escalade/Escalade ESV,<br> Hummer H2 |- | 2 ||LIH|| 1.2L || I3 Turbo || Gas ||DOHC,<br /> 12 valve||GM E-Turbo Engine. Direct Injection. VVT.<br /> '20-'24 Buick Encore GX, '21-'24 Chevy Trailblazer, '24 Chevy Trax, Buick Envista,<br> '25 Chevy Trax, Buick Envista (Canada only). |- | 3 ||LC9|| 5.3L || V8 || Gas/E85 ||OHV||Flex Fuel. SFI. Gen IV Chevrolet Small-Block V8. Active Fuel Management. VVT added for '10. Aluminum Block & Heads.<br /> '07-'11 Silverado/Sierra 1500, Tahoe/Yukon, Suburban/Yukon XL 1500, '07-'09 & '11 Avalanche |- | 3 ||LFX|| 3.6L || V6 || Gas ||DOHC,<br /> 24 valve||GM High Feature V6. Direct Injection. VVT. E85 Flex Fuel.<br /> '12-'16 Cadillac SRX, '13-'17 Chevrolet Equinox, GMC Terrain, '15-'16 Colorado/Canyon |- | 4 ||LN2|| 2.2L || I4 || Gas ||OHV||MFI (94-95). SFI (96-00). Chevrolet "122" engine. '94-'00 S-10/Sonoma, '96-'00 Isuzu Hombre |- | 4 ||LE8|| 2.5L || V6 || Gas ||DOHC,<br /> 24 valve||Suzuki H25A engine. MFI. '01-'04 Chevrolet Tracker |- | 4 ||L66|| 3.5L || V6 || Gas ||SOHC,<br /> 24 valve||Honda J35S1 V6. VTEC. '04-'07 Saturn Vue |- | 4 ||LMF|| 5.3L || V8 || Gas/E85 ||OHV||Flex Fuel. SFI. Gen IV Chevrolet Small-Block V8. Iron Block & Aluminum Heads. VVT.<br /> '08-'14 Express/Savana 1500 |- | 4 ||LAU|| 2.8L || V6 Turbo || Gas ||DOHC,<br /> 24 valve||GM High Feature V6. SFI. '10 Cadillac SRX |- | 4 ||LSY|| 2.0L || I4 Turbo || Gas ||DOHC,<br /> 16 valve||GM Ecotec engine, Gen III. Direct Injection. Active Fuel Management. VVT. VVL.<br /> '19-'25 Cadillac XT4, '20+ Chevy Blazer, Cadillac XT5, '20-'23 GMC Acadia,<br /> '21+ Buick Envision, '21-'25 Cadillac XT6 |- | 5 ||L43|| 2.2L || I4 || Gas/E85 ||OHV||Flex-Fuel. SFI. Chevrolet "122" engine. '00-'02 S-10/Sonoma, '00 Isuzu Hombre |- | 5 ||LFA|| 6.0L || V8 || Gas ||OHV||2-Mode Hybrid. Gen IV Chevrolet Small-Block V8. Aluminum Block & Heads. VVT. Active Fuel Management. '08-'09 Tahoe Hybrid/Yukon Hybrid, '09 Escalade Hybrid, Silverado Hybrid/Sierra Hybrid |- | 5 ||LFW|| 3.0L || V6 || Gas/E85 ||DOHC,<br /> 24 valve||Flex-Fuel. GM High Feature V6. Direct Injection. VVT. '11-'12 Chevy Equinox, GMC Terrain,<br /> '12 Chevy Captiva Sport |- | 6 ||L01|| 1.6L || I4 || Gas ||SOHC,<br /> 16 valve||Suzuki G16B engine. MFI. '94-'97 Geo Tracker, '98-'00 Chevrolet Tracker |- | 6 ||L52|| 3.5L || I5 || Gas ||DOHC,<br /> 20 valve||Atlas I5. SFI. VVT. '04-'06 Colorado/Canyon, '06 Isuzu i-350, '06 Hummer H3 |- | 6 ||LAU|| 2.8L || V6 Turbo || Gas ||DOHC,<br /> 24 valve||GM High Feature V6. SFI. '11 Cadillac SRX, Saab 9-4X |- | 6 ||LMM|| 6.6L || V8 Turbo || Diesel ||OHV,<br /> 32 valve||Duramax 6600 V8 engine. '07-'10 Silverado HD/Sierra HD (GMT900), Mid '07-Mid '10 Express/Savana |- | 7 ||LY7|| 3.6L || V6 || Gas ||DOHC,<br /> 24 valve||GM High Feature V6. '04-'06 Buick Rendezvous, '04-'09 Cadillac SRX,<br /> '07-'08 GMC Acadia, Saturn Outlook, '08 Buick Enclave, '08-'10 Saturn Vue |- | 7 ||LC9|| 5.3L || V8 || Gas/E85 ||OHV||Flex Fuel. SFI. Gen IV Chevrolet Small-Block V8. Active Fuel Management. VVT.<br /> Aluminum Block & Heads.<br /> '12-'13 Silverado/Sierra 1500, Avalanche, '12-'14 Tahoe/Yukon, Suburban/Yukon XL 1500 |- | 7 ||L8T|| 6.6L || V8 || Gas ||OHV||Gen V Chevrolet Small-Block V8. Iron Block/Aluminum Heads. Direct injection, VVT.<br /> '20+ Silverado HD/Sierra HD, '21+ Express/Savana |- | 8 ||LK5|| 2.8L || I4 || Gas ||DOHC,<br /> 16 valve||Atlas I4. SFI. VVT. '04-'06 Colorado/Canyon, '06 Isuzu i-280. |- | 8 ||L92|| 6.2L || V8 || Gas ||OHV||Gen IV Chevrolet Small-Block V8. Aluminum Block & Heads. SFI. VVT.<br /> '07-'08 GMC Sierra Denali, Yukon Denali/Yukon XL Denali, Cadillac Escalade/Escalade ESV,<br> '08 Chevy Tahoe LTZ, Hummer H2. |- | 8 ||LML|| 6.6L || V8 Turbo || Diesel ||OHV,<br /> 32 valve||Duramax 6600 V8 engine.<br /> '11-'16 Silverado HD/Sierra HD pickups, '13-'16 Silverado HD/Sierra HD chassis cabs. |- | 8 ||LZ0|| 3.0L || I6 Turbo|| Diesel ||DOHC,<br /> 24 valve|| Duramax Diesel I6. Aluminum Block & Heads.<br> '23+ Silverado/Sierra 1500, '24+ Suburban HD, '25+ Tahoe/Suburban, Yukon/Yukon XL. |- | 9 ||LC3|| 3.8L || V6 || Gas ||OHV||2-bbl carb. Chevrolet 90° V6 (Chevy Small-Block V8 Derived). 229 cu. in. <br /> '83-'84 Chevy El Camino, GMC Caballero (49-state emissions). |- | 9 ||LLV|| 2.9L || I4 || Gas ||DOHC,<br /> 16 valve||Atlas I4. SFI. VVT. '07-'12 Colorado/Canyon, '07-'08 Isuzu i-290. |- | 9 ||LT4|| 6.2L ||V8 Supercharged|| Gas ||OHV||Gen V Chevy Small-Block V8. Aluminum Block & Heads. Direct injection. VVT. Active Fuel Management. '23+ Cadillac Escalade/Escalade ESV V-Series. |- | 0 ||LMG|| 5.3L || V8 || Gas/E85 ||OHV||Flex-Fuel. SFI. Gen IV Chevrolet Small-Block V8. Active Fuel Management. VVT added for '10.<br /> Iron Block & Aluminum Heads.<br /> '07-'13 Silverado/Sierra 1500, Avalanche, '07-'14 Tahoe/Yukon, Suburban/Yukon XL 1500. |} H.O.=High Output, VVT=Variable Valve Timing, VVL=Variable Valve Lift, GVWR=Gross Vehicle Weight Rating, CNG=Compressed Natural Gas, LPG=Liquefied Petroleum Gas (Propane Autogas) ====Motor codes for electric light trucks==== {| class="wikitable" |- ! VIN !! RPO !! Fuel !! Drive Wheels !! Application/Notes |- | H ||LN1|| Electricity || Front || '97-'98 Chevrolet S-10 Electric. |- |} ====Motor codes for Ultium-powered electric light trucks==== {| class="wikitable" |- ! VIN !! Motor <br /> RPO code !! # of Motors !! Battery Module <br /> RPO code !! # of Modules !! Fuel !! Drive Wheels !! Application/Notes |- | A ||XRL|| 3 || ETN || 24 || Electricity || All || '22- GMC Hummer EV pickup 3X |- | B ||XRL|| 3 || ETI || 20 || Electricity || All || '24- GMC Hummer EV pickup 3X |- | C ||XRL|| 3 || ETJ || 20 || Electricity || All || '24- GMC Hummer EV SUV 3X |- | D ||XRJ|| 2 || ETI || 20 || Electricity || All || '24 Chevrolet Silverado EV 3WT, '25- Silverado EV 5WT, 3LT,<br> '25 Silverado EV RST (2SP), '26- Silverado EV Trail Boss (2TR),<br> '24- GMC Hummer EV pickup 2X, '25- GMC Sierra EV Denali 5SC,<br> '26- Sierra EV Elevation 3SC, AT4 4SC |- | E ||XRJ|| 2 || ETJ || 20 || Electricity || All || '24- GMC Hummer EV SUV 2X |- | G ||XRJ|| 2 || ETJ || 20 || Electricity || All || '23 BrightDrop Zevo 600 |- | H ||XRJ|| 2 || EWX || 14 || Electricity || All ||'26- Chevrolet Silverado EV 4WT, 2LT,<br> '26- GMC Sierra EV Elevation 3SB, Denali 5SB |- | J ||X0C|| 2 || EC5 || 10 || Electricity || All || '24 Chevy Blazer EV 2LT, 1RS AWD,<br> '25- Chevy Blazer EV 4LT, 3RS AWD, '24- Honda Prologue AWD |- | K ||X0D|| 1 || EC6 || 12 || Electricity || Rear || '23- Cadillac Lyriq RWD, '24-'25 Chevrolet Blazer EV 2RS RWD,<br> '24 Acura ZDX A-Spec RWD |- | L ||X0E|| 2 || EC6 || 12 || Electricity || All || '23- Cadillac Lyriq AWD, '24- Chevrolet Blazer EV PPV AWD,<br> '25- Chevrolet Blazer EV SS AWD, '26- Cadillac Vistiq AWD,<br> '24 Acura ZDX A-Spec, Type S AWD |- | L ||XRJ|| 2 || ETN || 24 || Electricity || All || '24 Chevrolet Silverado EV 4WT, RST (3SP), '25- Silverado EV 8WT,<br> '25 Silverado EV RST (3SP), '26- Silverado EV 4LT, Trail Boss (3TR),<br> '24- GMC Sierra EV Denali 5SD, '26- Sierra EV AT4 4SD,<br> '25- Cadillac Escalade IQ, '26- Cadillac Escalade IQL |- | M ||X0B|| 1 || EC5 || 10 || Electricity || Front || '24- Honda Prologue FWD, '25- Chevy Blazer EV 2LT, 1RS FWD |- | P ||X0B|| 1 || EC3 || 10 || Electricity || Front || '24- Chevrolet Equinox EV FWD |- | R ||X0C|| 2 || EC3 || 10 || Electricity || All || '24- Chevrolet Equinox EV AWD, '25 Cadillac Optiq AWD |- | Y ||XRJ|| 2 || ETC || 12 || Electricity || All || '24 BrightDrop Zevo 400, Zevo 600,<br> '25-'26 Chevrolet BrightDrop 400/600 AWD |- | Z ||XRJ|| 2 || ETJ || 20 || Electricity || All || '24 BrightDrop Zevo 400, Zevo 600,<br> '25-'26 Chevrolet BrightDrop 400/600 AWD |- | 4 ||X0E|| 2 || EC3 || 10 || Electricity || All || '26- Cadillac Optiq AWD |- | 5 ||X0D|| 1 || EC3 || 10 || Electricity || Rear|| '26- Cadillac Optiq RWD |- | 6 ||XRM|| 1 || ETC || 12 || Electricity || Front || '25-'26 Chevrolet BrightDrop 400/600 FWD |- | 7 ||XRJ|| 2 || EWU || 14 || Electricity || All || '26 Chevrolet BrightDrop 600 AWD |} SB=Standard Range, SC=Extended Range, SD=Max Range ====Engine codes for medium duty trucks 2016-==== GM encodes the engine type in character 8 of the VIN. The following table outlines the various engines encoded there: {| class="wikitable" |- ! VIN !! RPO !! Size !! Type !! Fuel !! Valvetrain !! Engine Family/Notes/Applications |- | B ||L96|| 6.0L || V8 || Gas ||OHV||SFI. Gen IV Chevrolet Small-Block V8. Iron Block & Aluminum Heads. VVT.<br /> '16-'20 Chevy LCF 3500/4500. |- | C ||LC8|| 6.0L || V8 || Gas/CNG or<br>Gas/LPG ||OHV||Bi-Fuel. SFI. Gen IV Chevrolet Small-Block V8. Iron Block & Aluminum Heads. VVT.<br /> '16-'20 Chevy LCF 3500/4500. |- | D ||L8T|| 6.6L || V8 || Gas ||OHV||Gen V Chevrolet Small-Block V8. Iron Block/Aluminum Heads. Direct injection, VVT.<br /> '21-'23 Chevy LCF 3500/4500, '24- Chevy LCF 3500HG/4500HG/5500HG/5500XG. |- | F ||LCB|| 6.7L || I6 Turbo || Diesel ||OHV,<br /> 32 valve||Cummins B Series ISB engine. '22- Chevy LCF 6500XD, '23- Chevy LCF 7500XD. |- | 6 ||I1B|| 5.2L || I4 Turbo || Diesel ||SOHC,<br /> 16 valve||Isuzu 4HK1-TC engine. '17- Chevy LCF 4500HD/XD, 5500XD, '17-'24 Chevy LCF 5500HD,<br /> '18-'21 Chevy LCF 6500XD. |- | 7 ||IZ3|| 3.0L || I4 Turbo || Diesel ||DOHC,<br /> 16 valve||Isuzu 4JJ1-TC engine. '16-'18 Chevy LCF 3500HD. |- |} ====Engine codes for AM General-built Hummer H1 2000-2006==== AM General encodes the engine type in character 4 of the VIN. {| class="wikitable" |- ! VIN !! RPO !! Size !! Type !! Fuel !! Valvetrain !! Engine Family/Notes |- | F || || 6.5L || V8 Turbo || Diesel ||OHV||Detroit Diesel V8 built by GEP (General Engine Products), a subsidiary of AM General.<br> '01-'04 Hummer H1 & '06 H1 Fleet models. |- | P ||LLY|| 6.6L || V8 Turbo || Diesel ||OHV,<br /> 32 valve||Duramax 6600 V8 engine. '06 Hummer H1 Alpha. |- | Z ||L65|| 6.5L || V8 Turbo || Diesel ||OHV||Detroit Diesel V8 built by GM. '00-'01 Hummer H1. |- |} ====Engine codes for Nissan-built vans==== Nissan encodes the engine type in character 4 of the VIN. {| class="wikitable" |- ! VIN !! RPO !! Size !! Type !! Fuel !! Valvetrain !! Engine Family/Notes |- | 3 ||L0A|| 2.0L || I4 || Gas ||DOHC,<br /> 16 valve||Nissan MR20DE engine. SFI. VVT. For the '15-'18 Chevrolet City Express. |- |} ====Engine codes for Navistar-built medium-duty trucks==== Navistar encodes the engine type in character 6 & 7 of the VIN. {| class="wikitable" |- ! VIN !! RPO !! Size !! Type !! Fuel !! Valvetrain !! Engine Family/Notes |- | PV ||L5D|| 6.6L || V8 Turbo || Diesel ||OHV,<br /> 32 valve||Duramax 6600 V8 engine. For the Chevy Silverado Medium Duty '19+. |- |} ==GM factories supplying North America== ===North American GM factories=== [[w:List_of_General_Motors_factories | List of GM Factories]] {| class="wikitable" !VIN code !Location !Notes |- |A |Lakewood Assembly (Lakewood Heights, Atlanta, Georgia) |through 1990 model year |- |A |Artisan Center (Warren, Michigan) |From 2026 model year. Cadillac CT5-V Blackwing "Curated by Cadillac" program only. |- |B |Baltimore Assembly (Baltimore, Maryland) |through 2005 model year |- |B |Reatta Craft Centre/Lansing Craft Centre (Lansing Township, Michigan) |1988-2006 model year (except GM EV1) |- |B |GM Defense-Manufacturing Customer Innovation Center (MCIC) (Concord, North Carolina) |From 2024 model year. Chevrolet Suburban HD (a.k.a. HD SUV) (for US govt. only). |- |C |South Gate Assembly (South Gate, California) |through 1982 model year |- |C |Lansing Car Assembly (Lansing, Michigan) |South assembly line 1985-2004 model year |- |D |Doraville Assembly (Doraville, Georgia) |through 2009 model year |- |E |Linden Assembly (Linden, New Jersey) |through 1991 model year |- |E |Pontiac East Assembly (Pontiac, Michigan) |1988-2009 model year |- |E |AM General Military plant (Mishawaka, Indiana) |1992-2006 Hummer H1 |- |F |Flint Truck Assembly (Flint, Michigan) |since 1953 |- |F |Fairfax II Assembly (Kansas City, Kansas) |since 1988 model year |- |G |Framingham Assembly (Framingham, Massachusetts) |through 1989 model year |- |G |Silao Assembly (Silao, Guanajuato, Mexico) |since 1995 model year |- |H |Buick City Assembly (Flint, Michigan) |through 1999 model year |- |H |AM General Commercial plant (Mishawaka, Indiana) |2003-2009 Hummer H2 |- |H |Navistar Springfield plant (Main Line) (Springfield, Ohio) |2019- Chevrolet Silverado Medium Duty (4500HD/5500HD/6500HD) |- |J |Janesville Assembly (Janesville, Wisconsin) |through 2009 model year |- |J |Lansing Delta Township Assembly (Lansing, Michigan) |since 2007 model year |- |K |Leeds Assembly (Leeds, Kansas City, Missouri) |through 1988 model year |- |K |Linden Assembly (Linden, New Jersey) |from 1994-2005 model year |- |K |Nissan plant (Cuernavaca, Morelos, Mexico) |2015-2018 Chevrolet City Express |- |L |Van Nuys Assembly (Van Nuys, California) |through 1992 model year |- |L |San Luis Potosí Assembly (San Luis Potosí, Mexico) |since 2009 model year |- |M |Lansing Car Assembly (Lansing, Michigan) |through 1984 model year, North assembly line 1985-2005 model year |- |M |Toluca Assembly (Toluca, Mexico state, Mexico) |through 2008 model year |- |N |Norwood Assembly (Norwood, Ohio) |through 1987 model year |- |N |Navistar Springfield plant (Secondary Line) (Springfield, Ohio) |2017- Chevrolet Express cutaway, GMC Savana cutaway |- |P |Pontiac Assembly (Pontiac, Michigan) |through 1988 model year |- |R |Arlington Assembly (Arlington, Texas) |since 1965 [all GM brands]. (R plant code used only by Chevrolet in 1963-64) |- |S |St. Louis Assembly (St. Louis, Missouri) |through 1987 model year |- |S |Spring Hill Manufacturing (Spring Hill, Tennessee) |2002-2007 Saturn Vue & 2009-2010 Chevrolet Traverse only |- |S |Spartan Motors/Shyft Group plant (Charlotte, Michigan) |2016- Chevrolet Low Cab Forward 3500/3500HG/4500/4500HG/5500HG/5500XG/6500XD/7500XD |- |S |Ramos Arizpe Assembly (Ramos Arizpe, Coahuila, Mexico) |since 1982 |- |T |Tarrytown Assembly (North Tarrytown, New York) |through 1996 model year |- |U |Detroit/Hamtramck Assembly (Factory Zero) <br /> (Detroit & Hamtramck, Michigan) |since 1986 model year |- |U |Artisan Center (Warren, Michigan) |From 2025 model year. Cadillac Celestiq only. |- |V |Pontiac Central Assembly (Pontiac, Michigan) |through 1991 model year |- |V |Pontiac East Assembly (Pontiac, Michigan) |through 1985 model year |- |W |Willow Run Assembly (Ypsilanti Township, Michigan) |through 1993 model year |- |X |Fairfax Assembly (Fairfax I) (Kansas City, Kansas) |through 1987 model year |- |Y |Wilmington Assembly (Wilmington, Delaware) |through 2010 model year |- |Z |Fremont Assembly (Fremont, California) |through 1982 model year |- |Z |NUMMI (Fremont, California) |1985-2010 model year |- |Z |Spring Hill Manufacturing (Spring Hill, Tennessee) |since 1991 model year (except Vue & Traverse) |- |Z |Fort Wayne Assembly (Roanoke, Indiana) |since 1988 model year |- |0 |Pontiac West Assembly (Pontiac, Michigan) |through 1994 model year |- |0 |Lansing Craft Centre (Lansing Township, Michigan) |GM EV1 only |- |0 |Lansing Grand River Assembly (Lansing, Michigan) |since 2003 model year |- |0 |Artisan Center (Warren, Michigan) |2024 Cadillac CT5-V Blackwing 20th Anniversary Edition where the final eight digits of the VIN are R0912004 through R0912024 or R0962004 through R0962024 |- |1 |Wentzville Assembly (Wentzville, Missouri) |since 1985 model year |- |1 |Oshawa Car Assembly (Oshawa, Ontario, Canada) |from 1967-1983 model year |- |1 |Oshawa Car Assembly (Line 2 a.k.a. Consolidated Line) (Oshawa, Ontario, Canada) |from 1984-2019 model year; switched to pickup trucks for 2019 model year |- |1 |Oshawa Car Assembly (Oshawa, Ontario, Canada) |Silverado pickup trucks since 2022 model year |- |1 |Oshawa Truck Assembly (Oshawa, Ontario, Canada) |through 2009 model year |- |2 |Moraine Assembly (Moraine, Ohio) |through 2009 model year |- |2 |Sainte-Thérèse Assembly (Boisbriand, Quebec, Canada) |through 2002 model year |- |3 |Detroit Truck & Bus plant (Piquette Ave., Detroit, Michigan) |through 1999 model year |- |3 |Saint-Eustache Bus Plant (Saint-Eustache, Quebec, Canada) |through 1987 model year |- |4 |Orion Assembly (Orion Township, Michigan) |since 1985 model year |- |4 |Scarborough Van Assembly (Scarborough, Ontario, Canada) |through 1993 model year |- |5 |Bowling Green Assembly (Bowling Green, Kentucky) |since 1981 model year |- |6 |Oklahoma City Assembly (Oklahoma City, Oklahoma) |through 2006 model year |- |6 |CAMI plant (Ingersoll, Ontario, Canada) |1990-2022 model year |- |7 |Lordstown Assembly (Warren, Ohio) |from 1979-2019 model year |- |8 |Shreveport Assembly (Shreveport, Louisiana) |through 2012 model year |- |9 |Detroit Assembly (Clark Street, Detroit, Michigan)<br> (Cadillac plant) |from 1979-1988 model year |- |9 |Oshawa Car Assembly (Line 1 a.k.a. Flex Line)<br> (Oshawa, Ontario, Canada) |from 1984-2020 model year |- |9 |KUKA plant (Livonia, Michigan) |2022 model year only (BrightDrop Zevo 600) |- |9 |CAMI plant (Ingersoll, Ontario, Canada) |since 2023 model year (BrightDrop Zevo/Chevrolet BrightDrop) |} ===Non-North American GM factories supplying North America=== {| class="wikitable" !VIN code !Location !Models Sourced |- |A |SAIC-GM plant: Jinqiao, Pudong district, Shanghai, China |2017-2018 Cadillac CT6 Plug-in Hybrid |- |B |Daewoo/GM Daewoo/GM Korea plant: Bupyeong, South Korea |1988-1993 Pontiac LeMans, 2004-2011 Chevrolet Aveo, 2005-2010 Pontiac Wave/G3, 2004-2006 Chevrolet <br /> Epica (Canada), 2013-2022 Chevrolet Trax, Buick Encore, 2021- Chevrolet Trailblazer, 2020- Buick Encore GX, 2024- Buick Envista |- |C |GM Daewoo/GM Korea plant: Changwon, South Korea |2003-2010 Pontiac Matiz/Matiz G2 (Mexico), 2013-2022 Chevrolet Spark, 2024- Chevrolet Trax |- |D |SAIC-GM Dongyue Motors plant: Yantai, Shandong province, China |2016- Buick Envision, 2019-2023 Chevrolet Aveo (Mexico), 2023- Chevrolet Onix (Mexico) |- |G |Opel plant: Gliwice, Poland |2016-2019 Buick Cascada |- |K |Suzuki plant: Kosai, Shizuoka prefecture, Japan |1985-1988 Chevrolet Sprint, 1989-1990 Geo Metro hatchback, 1990-1993 Geo Metro convertible, 1985-1990 Pontiac Firefly (Canada), 1991 & 1994 Pontiac Firefly convertible & sedan (Canada) |- |K |GM Daewoo/GM Korea plant: Kunsan, South Korea |2004-2007 Chevrolet Optra (Canada), 2012-2014 Chevrolet Orlando (Canada) |- |L |Holden plant: Elizabeth, South Australia, Australia |2004-2006 Pontiac GTO, 2008-2009 Pontiac G8, 2011-2017 Chevrolet Caprice PPV, 2014-2017 Chevrolet SS |- |R |Opel plant: Rüsselsheim, Germany |1997-2001 Cadillac Catera |- |T |GM India plant: Talegaon, Maharashtra, India |2017-2021 Chevrolet Spark Classic/Beat (Mexico) |- |V |SAIC-GM Wuhan plant: Wuhan, Hubei province, China |2018-2021 Chevrolet Cavalier (Mexico), 2022- Chevrolet Cavalier Turbo (Mexico) |- |W |Suzuki plant: Iwata, Shizuoka prefecture, Japan |1989-1990 Geo Tracker |- |1 |Opel plant: Rüsselsheim, Germany |2011, 2018-2020 Buick Regal |- |3 |Isuzu plant: Kawasaki, Kanagawa prefecture, Japan |1987-1998 Chevrolet/GMC W5, 1989-1996 Chevrolet/GMC W6, 1984-1996 Chevrolet/GMC W7 |- |5 |Opel plant: Antwerp, Belgium |2008-2009 Saturn Astra |- |7 |Isuzu plant: Fujisawa, Kanagawa prefecture, Japan |1988 Chevrolet Spectrum, 1988 Pontiac Sunburst (Canada), 1989 Geo Spectrum, 1990-1993 Geo Storm,<br /> 1999-2008 Chevrolet/GMC W3500, 1988-2009 Chevrolet/GMC W4, 1999-2009 Chevrolet/GMC W5,<br /> 2000-2004 Chevrolet/GMC WT5500,<br /> 2016- Chevrolet Low Cab Forward 3500HD/4500HD/4500XD/5500HD/5500XD |- |8 |Isuzu plant: Fujisawa, Kanagawa prefecture, Japan |1981-1982 Chevrolet LUV, 1985-1987 Chevrolet Spectrum, 1985-1987 Pontiac Sunburst (Canada),<br /> 1986-1987 Chevrolet/GMC W4 |} ==GM WMIs== {| class=wikitable !WMI !Marque !Country |- |1G1||rowspan=57|Chevrolet||United States |- |1G8||United States (MPV 1981-1986) |- |1GA||United States (bus [van with more than 3 rows of seats]) |- |1GB||United States (incomplete vehicle) |- |1GC||United States (truck) |- |1GN||United States (MPV 1987-) |- |1HA||United States (Express incomplete vehicle made by Navistar) |- |1HT||United States ([[w:Chevrolet Silverado#Medium duty version_(4500HD,_5500HD,_6500HD,_and_International_CV)|Silverado Medium Duty]] incomplete vehicle made by Navistar) |- |1Y1||United States (made by NUMMI) |- |2C1||Canada (car made by CAMI) |- |2CN||Canada (SUV made by CAMI - 1998-2011) |- |2G1||Canada |- |2G5||Canada (truck - Chevrolet BrightDrop '25) |- |2G8||Canada (MPV 1981-1986) |- |2GA||Canada (bus [van with more than 3 rows of seats]) |- |2GB||Canada (incomplete vehicle) |- |2GC||Canada (truck - includes Chevrolet BrightDrop '26) |- |2GN||Canada (MPV 1987-) |- |3G1||Mexico |- |3GC||Mexico (truck) |- |3GN||Mexico (MPV) |- |3N6||Mexico (Truck - City Express made by Nissan) |- |4G1||United States (made by Genasys L.C.) |- |4KB||United States (W-Series incomplete vehicle made by GM - through 2009) |- |4W1||United States (MPV - Chevrolet Suburban HD made for US govt. in Concord, NC) |- |54D||United States (incomplete vehicle made by Spartan Motors/The Shyft Group) |- |6G1||Australia (2011-2013 Caprice PPV) |- |6G3||Australia (2014-2017 Caprice PPV & SS performance sedan) |- |ADM||South Africa |- |J81||Japan (car made by Isuzu) |- |J8B||Japan (incomplete vehicle made by Isuzu - through 2009) |- |J8Z||Japan (LUV pickup made by Isuzu) |- |JAL||Japan (incomplete vehicle made by Isuzu - 2016+) |- |JG1||Japan (car made by Suzuki) |- |KL1||South Korea (car) |- |KL7||South Korea (MPV - 2012+) |- |KL8||South Korea (Spark) |- |LSF||China (S-10 Max made by SAIC-Maxus - Mexico only) |- |LSG||China (SAIC-GM) |- |LSH||China (Express Max made by SAIC-Maxus - Mexico only) |- |LZW||China (SAIC-GM-Wuling) |- |MA6||India |- |MJB||Indonesia (GM Indonesia) |- |MK3||Indonesia (SGMW Motor Indonesia) |- |MMM||Thailand |- |XUF||Russia (GM Russia - St. Petersburg plant) |- |XUU||Russia (Chevrolet Korea models made by Avtotor in Kaliningrad) |- |XWB||Uzbekistan (GM Uzbekistan, UzAuto Motors) |- |XWF||Russia (Chevrolet Tahoe & Trailblazer [GMT360] made by Avtotor in Kaliningrad) |- |X9L||Russia (GM-AvtoVAZ) |- |8AG||Argentina |- |8GG||Chile |- |8LD||Ecuador |- |8Z1||Venezuela |- |9BG||Brazil |- |93C||Brazil |- |9GC||Colombia |- |J81||rowspan=6|Geo||Japan (car made by Isuzu) |- |JG1||Japan (car made by Suzuki) |- |JGC||Japan (SUV made by Suzuki) |- |1Y1||United States (car made by NUMMI) |- |2C1||Canada (car made by CAMI) |- |2CN||Canada (SUV made by CAMI - 1990-1997) |- |KLA||rowspan=3|GM Daewoo/<br />GM Korea||South Korea (Bupyeong & Kunsan plants) |- |KLY||South Korea (Changwon plant) |- |5GD||United States (G2X) |- |1G2||rowspan=12|Pontiac||United States |- |1G5||United States (incomplete vehicle - for '89-'90 Turbo Grand Prix by ASC/McLaren) |- |1GM||United States (MPV) |- |2CK||Canada (2006-2009 Torrent made by CAMI) |- |2G2||Canada |- |2G7||Canada (US market 1983 Pontiac Parisienne) |- |3G2||Mexico |- |3G7||Mexico (MPV: 2001-2005 Aztek) |- |4G2||United States (made by Genasys L.C.) |- |5Y2||United States (made by NUMMI) |- |6G2||Australia |- |KL2||South Korea (made by Daewoo/GM Daewoo) |- |1G7||rowspan=6|Pontiac<br />(Canada only)||United States |- |2C7||Canada (car made by CAMI) |- |2CG||Canada (SUV made by CAMI) |- |2G7||Canada |- |J87||Japan (car made by Isuzu) |- |JG7||Japan (car made by Suzuki) |- |KL7||Passport<br />(Canada only)||South Korea (car made by Daewoo) |- |J87||rowspan=3|Asüna<br />(Canada only)||Japan (car made by Isuzu) |- |KL7||South Korea (car made by Daewoo) |- |2CG||Canada (SUV made by CAMI) |- |1G3||rowspan=3|Oldsmobile||United States |- |1GH||United States (MPV/SUV) |- |2G3||Canada |- |1G4||rowspan=9|Buick||United States |- |2G4||Canada |- |3G4||Mexico |- |3G5||Mexico (MPV) |- |4GL||United States (incomplete vehicle) |- |5GA||United States (MPV) |- |KL4||South Korea (MPV) |- |LRB||China (SAIC-GM) |- |W04||Germany & Poland |- |KLA||Alpheon||South Korea (2011-2015) |- |1G6||rowspan=10|Cadillac||United States |- |1GE||United States (incomplete vehicle) |- |1GY||United States (SUV) |- |2G6||Canada |- |2GE||Canada (incomplete vehicle) |- |3GY||Mexico (SUV) |- |LRE||China (SAIC-GM) |- |W06||Germany |- |XWF||Russia (made by Avtotor in Kaliningrad) |- |YSC||Sweden |- |1G8||rowspan=4|Saturn||United States |- |3GS||Mexico (SUV) |- |5GZ||United States (MPV/SUV) |- |W08||Belgium |- |1G0||rowspan=22|GMC||United States (bus 1981-1986) |- |1G5||United States (MPV 1981-1986) |- |1GD||United States (incomplete vehicle) |- |1GJ||United States (bus 1987-) |- |1GK||United States (MPV 1987-) |- |1GT||United States (truck) |- |2CK||Canada (1990-1991 Tracker made by CAMI - Canada only) |- |2CT||Canada (2010-2011 Terrain made by CAMI) |- |2G0||Canada (bus [van with more than 3 rows of seats] 1981-1986) |- |2G5||Canada (MPV 1981-1986) |- |2GD||Canada (incomplete vehicle) |- |2GH||Canada (transit bus) |- |2GJ||Canada (bus [van with more than 3 rows of seats] 1987-) |- |2GK||Canada (MPV 1987-) |- |2GT||Canada (truck) |- |3GK||Mexico (SUV) |- |3GT||Mexico (truck) |- |4KD||United States (W-Series incomplete vehicle made by GM - through 2009) |- |7GZ||United States (incomplete vehicle made by Navistar) |- |J8D||Japan (incomplete vehicle made by Isuzu - through 2009) |- |JGT||Japan (SUV made by Suzuki - Canada only) |- |KL6||South Korea (Middle East market Terrain '08-'10) |- |4GD||WhiteGMC||United States (1988-1989 Brigadier made by GM) |- |137||rowspan=6|Hummer||United States (H1 made by AM General) |- |5GN||United States (H3T) |- |5GR||United States (H2 made by AM General) |- |5GT||United States (H3) |- |ADM||South Africa (H3) |- |XWF||Russia (H2 & H3 made by Avtotor in Kaliningrad) |- |4G5||General Motors||United States (EV1) |- |2G5||rowspan=2|BrightDrop||Canada (Truck 2023-2024) |- |5G5||United States (Truck made by Kuka AG - 2022 only) |- |5G2||rowspan=2|Cruise||United States (car) (Cruise AV) |- |5G3||United States (MPV) (Cruise Origin AV) |- |YS3||rowspan=4|Saab||Sweden |- |JF4||Japan (9-2X made by Subaru) |- |3G0||Mexico (9-4X) |- |5S3||United States (9-7X) |- |W0L||rowspan=19|Opel/Vauxhall||Germany & the rest of Europe (2017 and earlier) |- |W0V||Germany & the rest of Europe (2018 and later) & Opel Ampera-e Mid-2017 - 2019 |- |W0L||when plant code is H: Thailand (Zafira A) |- |W0L||when plant code is 0: South Korea (Antara) or B: South Korea (Antara, Mokka A, Mokka X [A]) |- |W0L||when plant code is C: South Korea (Opel Karl/Vauxhall Viva) |- |W0V||when plant code is B: South Korea (Mokka X [A]) or C: South Korea (Opel Karl/Vauxhall Viva) |- |SCC||UK (Opel Lotus Omega made by Lotus) |- |SED||UK (made by IBC Vehicles) |- |TW8||Portugal |- |VF1||France (Arena made by Renault) |- |VN1||France (Movano A made by Renault at SOVAB plant in Batilly, France) |- |VSX||Spain |- |XUF||Russia (Opel made by GM Russia - St. Petersburg plant) |- |XWF||Russia (Opel made by Avtotor in Kaliningrad) |- |1G0||United States (Opel GT, Opel/Vauxhall Ampera, Opel Ampera-e Early - Mid-2017) |- |4GD||United States (Sintra) |- |ADM||South Africa |- |JAA||Japan (Opel Campo made by Isuzu) |- |JAC||Japan (Monterey made by Isuzu) |- |SKA||rowspan=4|Vauxhall Motors||UK |- |SCC||UK (Vauxhall Lotus Carlton made by Lotus) |- |6G1||Australia (Vauxhall Monaro & VXR8 made by Holden) |- |JAA||Japan (Vauxhall Brava made by Isuzu) |- |SKF||rowspan=2|Bedford Vehicles||UK |- |JAA||Japan (Bedford Brava made by Isuzu) |- |6G1||rowspan=18|Holden||Australia (2003-2017) |- |6H8||Australia (1989-2002) |- |JAA||Japan (Rodeo pickup [TF] made by Isuzu) |- |JAC||Japan (Jackaroo/Monterey made by Isuzu) |- |JSA||Japan (YG Cruze made by Suzuki) |- |KL3||South Korea |- |MMM||Thailand ('09-'11 Colorado pickup [RC] made by GM Thailand) |- |MMU||Thailand ('13-'20 Colorado pickup [RG], '13-'16 Colorado 7, '17-'20 Trailblazer made by GM Thailand) |- |MPA||Thailand ('04-'08 Rodeo pickup [RA] made by Isuzu Thailand) |- |SED||UK (1st gen. Frontera made by IBC Vehicles) |- |W0L||Germany & the rest of Europe (2017 and earlier) |- |W0L||when plant code is H: Thailand (Zafira A) |- |W0V||Germany & the rest of Europe (2018-2020) |- |1GH||United States (Acadia) |- |3G0||Mexico (Equinox) |- |3GM||Mexico (Suburban) |- |4S2||United States (2nd gen. Frontera made by [[w:Subaru Isuzu Automotive|SIA]]) |- |5G8||United States (Volt) |- |1GG||rowspan=4|Isuzu||United States (Truck - Hombre & i-Series made by GM) |- |4GT||United States (H-Series & T-Series incomplete vehicle made by GM - through 2009) |- |4KL||United States (N-Series incomplete vehicle made by GM - through 2009) |- |4NU||United States (MPV/SUV - Ascender made by GM) |- |W0L||Subaru||Thailand [plant code H] (Traviq made by GM Thailand for export to Japan) |- |4G3||Toyota||United States (Cavalier made by GM for export to Japan) |- |3GP||Honda||Mexico (MPV/SUV: 2024- Prologue made by GM) |- |4W5||Acura||United States (MPV/SUV: 2024 ZDX EV made by GM) |} {{BookCat}} r5k0kzr2cqvf73go5axt8wvwzle6uwf 4654494 4654489 2026-07-14T22:05:43Z JustTheFacts33 3434282 /* Series 2010- Light Duty Truck & Multi-Purpose Passenger Vehicle */ 4654494 wikitext text/x-wiki {{Vehicle Identification Numbers (VIN codes)/Warning}}{{clear}} It is the tenth digit that gives you the model year for GM. I've been working at a Chevy dealer for years running codes/vins. For example (my examples only apply to 2001-2015 gm vehicles) Remember 10th digit from the beginning, (left to right). 2001... 1, 2002...2, 2003...3, etc., 2009...9. After 2009, the tenth digit was given a letter 2010... A, 2011...B, 2012...C, 2013...D, 2014...E, 2015...F, Etc... We have another 20 years worth of letters. Thanks for reading. You can always check your model year by looking in your drivers side door jamb and it will give you model year. If it was assembled in July or later, the model year is probably a year later than the calendar year of the manufacturing date listed. ==American GM== ===American VIN format 1981-1984 Passenger Car=== GM's VIN format is as follows: <table border=1 style="margin:auto;"> <tr> <th>Position</th> <th>Sample</th><th></th><th></th><th>Description</th> </tr><tr> <td>1</td> <td>1</td><td></td><td></td><td rowspan=3>[[#GM WMIs|World Manufacturer Identifier]]</td> </tr><tr> <td>2</td> <td>G</td><td></td><td></td></tr><tr> <td>3</td> <td>6</td><td></td><td></td></tr><tr> <td>4</td> <td>A</td><td></td><td></td><td>[[#American restraint types 1981-1984|Restraint type]]</td> </tr><tr> <td>5</td> <td>M</td><td></td><td></td><td>[[#Car Line & Series Code 1981-1984|Car Line & Series Code]]</td> </tr><tr> <td>6</td> <td>4</td><td></td><td></td><td rowspan=2>[[#Body style codes 1981-1986|Body style]]</td> </tr><tr> <td>7</td> <td>7</td><td></td><td></td><td> </td> </tr><tr> <td>8</td> <td>8</td><td></td><td></td><td>[[#American engine codes 1981-|Engine type]]</td> </tr><tr> <td>9</td> <td>0</td><td></td><td></td><td>[[Vehicle Identification Numbers (VIN codes)/Check digit |Check digit]]</td> </tr><tr> <td>10</td> <td>E</td><td></td><td></td><td>[[Vehicle Identification Numbers (VIN codes)/Model year|Model year]]</td> </tr><tr> <td>11</td> <td>9</td><td></td><td></td><td>[[#GM factories supplying North America|Factory ID]]</td> </tr><tr> <td>12</td> <td>1</td><td></td><td></td><td rowspan=6>Sequential number </tr><tr> <td>13</td> <td>2</td><td></td><td></td></tr><tr> <td>14</td> <td>3</td><td></td><td></td></tr><tr> <td>15</td> <td>7</td><td></td><td></td></tr><tr> <td>16</td> <td>6</td><td></td><td></td></tr><tr> <td>17</td> <td>2</td><td></td><td></td> </table> ====American restraint types 1981-1984==== The restraint type is specified as character four of the American GM VIN for passenger cars. {| border=1 style="margin:auto;" !VIN Code !Description |- |A||Manual Seatbelts only - No Passive Restraint |} ====Car Line & Series Code 1981-1984==== The Car Line & Series Code is specified as character five of the American GM VIN for passenger cars. {| border=1 style="margin:auto;" !List of GM platforms !Car Line & <br> Series Code !:Category:General Motors vehicles|Model |- |rowspan=19|GM A platform - rear-wheel drive |T||Chevrolet Malibu 1981 |- |W||Chevrolet Malibu Classic 1981 |- |Z||Chevrolet Monte Carlo 1981 |- |D||Pontiac LeMans 1981 |- |F||Pontiac Grand LeMans 1981 |- |J||Pontiac Grand Prix 1981 |- |K||Pontiac Grand Prix LJ 1981 |- |P||Pontiac Grand Prix Brougham 1981 |- |G||Oldsmobile Cutlass sedan, Cutlass Cruiser wagon 1981 |- |H||Oldsmobile Cutlass Cruiser ''Brougham'' wagon 1981 |- |K||Oldsmobile Cutlass Calais coupe 1981 |- |M||Oldsmobile Cutlass Supreme ''Brougham'' 1981 |- |R||Oldsmobile Cutlass Supreme coupe, Cutlass LS sedan 1981 |- |E||Buick Century wagon 1981 |- |H||Buick Century sedan, Estate wagon 1981 |- |J||Buick Regal 1981 |- |K||Buick Regal ''Sport'' 1981 |- |L||Buick Century ''Limited'' 1981 |- |M||Buick Regal ''Limited'' 1981 |- |rowspan=10|GM A platform - front-wheel drive |W||Chevrolet Celebrity 1982-1984 |- |F||Pontiac 6000 1982-1984 |- |G||Pontiac 6000 ''LE'' 1982-1984 |- |H||Pontiac 6000 ''STE'' 1983-1984 |- |G||Oldsmobile Cutlass Ciera 1982 |- |J||Oldsmobile Cutlass Ciera ''LS'' 1982-1984, Cutlass Cruiser ''LS'' 1984 |- |M||Oldsmobile Cutlass Ciera ''Brougham'' 1982-1984 |- |G||Buick Century ''T-Type'' 1983-1984 |- |H||Buick Century ''Custom'' 1982-1984 |- |L||Buick Century ''Limited'' 1982-1984 |- |rowspan=19|GM B platform |D||Chevrolet Bel Air 1981 (Canada only) |- |L||Chevrolet Impala 1981-1984 |- |N||Chevrolet Caprice Classic 1981-1984 |- |F||Pontiac Laurentian 1981 (Canada only) |- |L||Pontiac Catalina 1981, Parisienne 1984 |- |L||Pontiac Parisienne 1982-1983 (Canada only) |- |N||Pontiac Bonneville 1981 |- |N||Pontiac Parisienne 1981, Parisienne Brougham 1982-1983 (Canada only) |- |R||Pontiac Bonneville Brougham 1981 |- |T||Pontiac Parisienne Brougham 1984 |- |L||Oldsmobile Delta 88 1981-1983 |- |N||Oldsmobile Delta 88 Royale 1981-1984 |- |P||Oldsmobile Custom Cruiser 1981-1984 |- |V||Oldsmobile Delta 88 Royale Brougham LS 1984 |- |Y||Oldsmobile Delta 88 Royale Brougham 1981-1984 |- |N||Buick Le Sabre 1981, Le Sabre ''Custom'' 1982-1984 |- |P||Buick Le Sabre ''Limited'' 1981-1984 |- |R||Buick Le Sabre Estate Wagon 1981-1983 |- |V||Buick Electra Estate Wagon 1981-1984 |- |rowspan=13|GM C platform - rear-wheel drive |G||Oldsmobile 98 Regency 1984 |- |H||Oldsmobile 98 Regency Brougham 1984 |- |V||Oldsmobile 98 Luxury 1981 |- |W||Oldsmobile 98 Regency Brougham 1982-1983 |- |X||Oldsmobile 98 Regency 1981-1983 |- |R||Buick Electra Limited 1984 |- |U||Buick Electra Park Avenue 1984 |- |W||Buick Electra Park Avenue 1981-1983 |- |X||Buick Electra Limited 1981-1983 |- |B||Cadillac Fleetwood Brougham 1981-1983 |- |D||Cadillac DeVille 1981-1983 |- |M||Cadillac DeVille 1984 |- |W||Cadillac Fleetwood Brougham 1984 |- |rowspan=1|GM D platform - rear-wheel drive |F||Cadillac Fleetwood Limousine 1981-1984 |- |rowspan=4|GM E platform |Z||Oldsmobile Toronado Brougham 1981-1984 |- |Y||Buick Riviera T-Type 1981-1984 |- |Z||Buick Riviera 1981-1984 |- |L||Cadillac Eldorado 1981-1984 |- |rowspan=7|GM F platform |P||Chevrolet Camaro Sport Coupe 1981-1984 |- |S||Chevrolet Camaro Berlinetta 1981-1984 |- |S||Pontiac Firebird 1981-1984 |- |T||Pontiac Firebird ''Esprit'' 1981 |- |V||Pontiac Firebird ''Formula'' 1981 |- |W||Pontiac Firebird ''Trans Am'' 1981-1984 |- |X||Pontiac Firebird ''Trans Am'' Turbo Special Edition 1981, Firebird ''S/E'' 1982-1984 |- |rowspan=15|GM G platform - rear-wheel drive |W||Chevrolet Malibu Classic 1982, Malibu 1983 |- |Z||Chevrolet Monte Carlo 1982-1984 |- |J||Pontiac Grand Prix 1982-1984 |- |K||Pontiac Grand Prix LJ 1982-1983, Grand Prix LE 1984 |- |N||Pontiac Bonneville G 1982-1984 |- |P||Pontiac Grand Prix Brougham 1982-1984 |- |R||Pontiac Bonneville G Brougham 1982-1984 |- |S||Pontiac Bonneville G ''LE'' 1984 |- |H||Oldsmobile Cutlass Cruiser wagon 1982-1983 |- |K||Oldsmobile Cutlass Calais coupe 1982-1984 |- |M||Oldsmobile Cutlass Supreme ''Brougham'' 1982-1984 |- |R||Oldsmobile Cutlass Supreme coupe & sedan 1982-1984 |- |J||Buick Regal 1982-1984 |- |K||Buick Regal ''Sport'' 1982, Regal ''T-Type'' 1983-1984 |- |M||Buick Regal ''Limited'' 1982-1984 |- |rowspan=13|GM J platform |C||Chevrolet Cavalier 1983-1984 |- |D||Chevrolet Cavalier 2-d/4-d/wagon 1982, Cavalier CS 1983-1984 |- |E||Chevrolet Cavalier 3-door hatchback 1982, Cavalier CS 3-door hatchback 1983, Cavalier Type 10 2-d/3-d/Convertible 1984 |- |B||Pontiac J2000 1982, 2000 1983, 2000 Sunbird 1984 |- |C||Pontiac J2000 LE 1982, 2000 LE 1983, 2000 Sunbird LE Convertible 1983, 2000 Sunbird LE 1984 |- |D||Pontiac J2000 SE 1982, 2000 SE 1983, 2000 Sunbird SE 1984 |- |E||Pontiac J2000 S 1982 |- |C||Oldsmobile Firenza Base model 1982-1984, Firenza S 1982-1984 |- |D||Oldsmobile Firenza LX 1982-1984, Firenza SX 1982-1984 |- |E||Buick Skyhawk T-Type 1983-1984 |- |S||Buick Skyhawk Custom 1982-1984 |- |T||Buick Skyhawk Limited 1982-1984 |- |G||Cadillac Cimarron 1982-1984 |- |rowspan=1|GM K platform |S||Cadillac Seville 1981-1984 |- |rowspan=3|GM P platform ||E||Pontiac Fiero ''Coupe'' 1984 |- ||F||Pontiac Fiero ''SE'' 1984 |- ||M||Pontiac Fiero ''Sport coupe'' 1984 |- |rowspan=6|GM T platform - rear-wheel drive |B||Chevrolet Chevette 1981-1983, Chevette CS 1984 |- |J||Chevrolet Chevette Scooter 1981-1983, Chevette 1984 |- |B||Pontiac Acadian 1981-1984 (Canada only) |- |J||Pontiac Acadian S 1981-1982, Pontiac Acadian Scooter 1983-1984 (Canada only) |- |L||Pontiac T1000 1982, 1000 1983-1984 |- |M||Pontiac T1000 1981 |- |rowspan=10|GM X platform |H||Chevrolet Citation 2-door coupe 1982-1983, Citation II 2-door coupe 1984 |- |X||Chevrolet Citation hatchback 1981-1983, Citation II hatchback 1984 |- |T||Pontiac Phoenix SJ 1982-1983, Phoenix SE 1984 |- |Y||Pontiac Phoenix 1981-1984 |- |Z||Pontiac Phoenix LJ 1981-1983, Phoenix LE 1984 |- |B||Oldsmobile Omega 1981-1984 |- |E||Oldsmobile Omega Brougham 1981-1984 |- |B||Buick Skylark 1981-1982, Skylark Custom 1983-1984 |- |C||Buick Skylark Limited 1981-1984 |- |D||Buick Skylark Sport 1981-1982, Skylark T-Type 1983-1984 |- |rowspan=1|GM Y platform |Y||Chevrolet Corvette 1981-1982, 1984 |} ===American VIN format 1985-1986 Passenger Car=== GM has traditionally encoded the platform as the fourth character of the VIN. Other content includes an engine code and manufacturing plant. GM's VIN format is as follows: <table border=1 style="margin:auto;"> <tr> <th>Position</th> <th>Sample</th><th></th><th></th><th>Description</th> </tr><tr> <td>1</td> <td>1</td><td></td><td></td><td rowspan=3>[[#GM WMIs|World Manufacturer Identifier]]</td> </tr><tr> <td>2</td> <td>G</td><td></td><td></td></tr><tr> <td>3</td> <td>6</td><td></td><td></td></tr><tr> <td>4</td> <td>D</td><td></td><td></td><td>[[#Platform & Series Codes 1985- Passenger Car|Platform]]</td> </tr><tr> <td>5</td> <td>W</td><td></td><td></td><td>[[#Platform & Series Codes 1985- Passenger Car|Series Code]]</td> </tr><tr> <td>6</td> <td>6</td><td></td><td></td><td rowspan=2>[[#Body style codes 1981-1986|Body style]]</td> </tr><tr> <td>7</td> <td>9</td><td></td><td></td><td> </td> </tr><tr> <td>8</td> <td>Y</td><td></td><td></td><td>[[#American engine codes 1981-|Engine type]]</td> </tr><tr> <td>9</td> <td>0</td><td></td><td></td><td>[[Vehicle Identification Numbers (VIN codes)/Check digit |Check digit]]</td> </tr><tr> <td>10</td> <td>G</td><td></td><td></td><td>[[Vehicle Identification Numbers (VIN codes)/Model year|Model year]]</td> </tr><tr> <td>11</td> <td>9</td><td></td><td></td><td>[[#GM factories supplying North America|Factory ID]]</td> </tr><tr> <td>12</td> <td>1</td><td></td><td></td><td rowspan=6>Sequential number </tr><tr> <td>13</td> <td>2</td><td></td><td></td></tr><tr> <td>14</td> <td>3</td><td></td><td></td></tr><tr> <td>15</td> <td>7</td><td></td><td></td></tr><tr> <td>16</td> <td>6</td><td></td><td></td></tr><tr> <td>17</td> <td>2</td><td></td><td></td> </table> ====Body style codes 1981-1986==== The Body type is specified as characters six and seven of the American GM VIN for passenger cars from 1981-1986. {| border=1 style="margin:auto;" !VIN !Description |- |11,27,37,47,57,97||Two-Door Coupe/Sedan |- |07,08,77,87||Two-Door Hatchback |- |67||Two-Door Convertible |- |19,69||Four-Door Sedan |- |68||Four-Door Hatchback |- |23||Four-Door Limousine, 8-passenger ("Limousine") |- |33||Four-Door Limousine w/Center Partition, 7-passenger ("Formal Limousine") |- |35||Four-Door Station Wagon |} ===American VIN format 1987- Passenger Car=== GM has traditionally encoded the platform as the fourth character of the VIN. Other content includes an engine code and manufacturing plant. GM's VIN format is as follows: <table border=1 style="margin:auto;"> <tr> <th>Position</th> <th>Sample</th><th></th><th></th><th>Description</th> </tr><tr> <td>1</td> <td>1</td><td></td><td></td><td rowspan=3>[[#GM WMIs|World Manufacturer Identifier]]</td> </tr><tr> <td>2</td> <td>G</td><td></td><td></td></tr><tr> <td>3</td> <td>6</td><td></td><td></td></tr><tr> <td>4</td> <td>D</td><td></td><td></td><td>[[#Platform & Series Codes 1985- Passenger Car|Platform]]</td> </tr><tr> <td>5</td> <td>M</td><td></td><td></td><td>[[#Platform & Series Codes 1985- Passenger Car|Series Code]]</td> </tr><tr> <td>6</td> <td>5</td><td></td><td></td><td>[[#Body style codes 1987- Passenger Car|Body style]]</td> </tr><tr> <td>7</td> <td>7</td><td></td><td></td><td>[[#American restraint types 1987-|Restraint type]]</td> </tr><tr> <td>8</td> <td>N</td><td></td><td></td><td>[[#American engine codes 1981-|Engine type]]</td> </tr><tr> <td>9</td> <td>0</td><td></td><td></td><td>[[Vehicle Identification Numbers (VIN codes)/Check digit |Check digit]]</td> </tr><tr> <td>10</td> <td>3</td><td></td><td></td><td>[[Vehicle Identification Numbers (VIN codes)/Model year|Model year]]</td> </tr><tr> <td>11</td> <td>0</td><td></td><td></td><td>[[#GM factories supplying North America|Factory ID]]</td> </tr><tr> <td>12</td> <td>1</td><td></td><td></td><td rowspan=6>Sequential number </tr><tr> <td>13</td> <td>2</td><td></td><td></td></tr><tr> <td>14</td> <td>3</td><td></td><td></td></tr><tr> <td>15</td> <td>7</td><td></td><td></td></tr><tr> <td>16</td> <td>6</td><td></td><td></td></tr><tr> <td>17</td> <td>2</td><td></td><td></td> </table> ===American VIN format 1981-2009 Light Duty Truck & Multi-Purpose Passenger Vehicle=== GM's VIN format is as follows: <table border=1 style="margin:auto;"> <tr> <th>Position</th> <th>Sample</th><th></th><th></th><th>Description</th> </tr><tr> <td>1</td> <td>1</td><td></td><td></td><td rowspan=3>[[#GM WMIs|World Manufacturer Identifier]]</td> </tr><tr> <td>2</td> <td>G</td><td></td><td></td></tr><tr> <td>3</td> <td>K</td><td></td><td></td></tr><tr> <td>4</td> <td>E</td><td></td><td></td><td>[[#GVWR/Brake System 1981-2009 Light Duty Truck & Multi-Purpose Passenger Vehicle|GVWR/Brake System]]</td> </tr><tr> <td>5</td> <td>K</td><td></td><td></td><td>[[#Line & Chassis Type 1981-1999 Light Duty Truck & Multi-Purpose Passenger Vehicle|Line & Chassis Type for 1981-1999]]</td> </tr><tr> <td>5</td> <td>K</td><td></td><td></td><td>[[#Line & Chassis Type 2000-2009 Light Duty Truck & Multi-Purpose Passenger Vehicle|Line & Chassis Type for 2000-2009]]</td> </tr><tr> <td>6</td> <td>1</td><td></td><td></td><td>[[#Series 1981-1999 Light Duty Truck & Multi-Purpose Passenger Vehicle|Series]]</td> </tr><tr> <td>7</td> <td>8</td><td></td><td></td><td>[[#Body style codes 1981-2009 Light Duty Truck & Multi-Purpose Passenger Vehicle|Body type]]</td> </tr><tr> <td>8</td> <td>K</td><td></td><td></td><td>[[#Engine codes for light trucks|Engine type]]</td> </tr><tr> <td>9</td> <td>0</td><td></td><td></td><td>[[Vehicle Identification Numbers (VIN codes)/Check digit |Check digit]]</td> </tr><tr> <td>10</td> <td>N</td><td></td><td></td><td>[[Vehicle Identification Numbers (VIN codes)/Model year|Model year]]</td> </tr><tr> <td>11</td> <td>J</td><td></td><td></td><td>[[#GM factories supplying North America|Factory ID]]</td> </tr><tr> <td>12</td> <td>1</td><td></td><td></td><td rowspan=6>Sequential number </tr><tr> <td>13</td> <td>2</td><td></td><td></td></tr><tr> <td>14</td> <td>3</td><td></td><td></td></tr><tr> <td>15</td> <td>7</td><td></td><td></td></tr><tr> <td>16</td> <td>6</td><td></td><td></td></tr><tr> <td>17</td> <td>2</td><td></td><td></td> </table> ====GVWR/Brake System 1981-2009 Light Duty Truck & Multi-Purpose Passenger Vehicle==== The GVWR/Brake System is specified as character four of the American GM VIN for light trucks. {| border=1 style="margin:auto;" !VIN !GVWR Range in lbs. & Weight Class !Brake System |- |A||Class A: 0-3,000||Hydraulic |- |B||Class B: 3,001-4,000||Hydraulic |- |C||Class C: 4,001-5,000||Hydraulic |- |D||Class D: 5,001-6,000||Hydraulic |- |E||Class E: 6,001-7,000||Hydraulic |- |F||Class F: 7,001-8,000||Hydraulic |- |G||Class G: 8,001-9,000||Hydraulic |- |H||Class H: 9,001-10,000||Hydraulic |- |J||Class 3: 10,001-14,000||Hydraulic |- |K||Class 4: 14,001-16,000||Hydraulic |- |L||Class 5: 16,001-19,500||Hydraulic |} ====Line & Chassis Type 1981-1999 Light Duty Truck & Multi-Purpose Passenger Vehicle==== The Line & Chassis Type is specified as character five of the American GM VIN for light trucks. {| border=1 style="margin:auto;" !VIN !Description |- |B||Special Body Buick, Chevrolet |- |C||Chevy full-size pickups & chassis cabs 2wd (C-series) '81-'86, '88-'99,<br /> GMC full-size pickups & chassis cabs 2wd (C-series) '81-'86, Sierra 2wd (C-series) '88-'99 |- |C||Chevy C10 Blazer 2wd ('81-'82), Tahoe 4-door 2wd ('95-'99), Suburban 2wd ('81-'86, '92-'99),<br /> GMC C1500 Jimmy 2wd ('81-'82), Yukon 4-door 2wd ('95-'99), Suburban 2wd ('81-'86, '92-'99) |- |D||Military Truck 4wd |- |E||'91-'97 Geo Tracker 2wd, '98-'99 Chevrolet Tracker 2wd |- |E||'97-'98 Chevy S-10 EV |- |G||Chevy/GMC full-size vans (Chevy Van, Sportvan, Express, GMC Vandura, Rally Van, Savana) |- |H||'93-'96 Chevy G30HD/GMC G3500HD cutaway van |- |H||Cadillac chassis cutaway/special body (Based on Rwd Fleetwood '93-'96, Fwd DeVille '97-'99) |- |J||'89-'97 Geo Tracker 4wd, '98-'99 Chevrolet Tracker 4wd |- |K||Chevy full-size pickups & chassis cabs 4wd (K-series) '81-'86, '88-'99,<br /> GMC full-size pickups & chassis cabs 4wd (K-series) '81-'86, Sierra 4wd (K-series) '88-'99 |- |K||Chevy K10/K5 Blazer 4wd ('81-'86, '92-'94), Tahoe 4wd ('95-'99), Suburban 4wd ('81-'86, '92-'99),<br /> GMC K1500 Jimmy 4wd ('81-'86), Yukon 4wd ('92-'99), Suburban 4wd ('81-'86, '92-'99), '99 Cadillac Escalade 4wd |- |L||Chevy Luv 2wd '81-'82 |- |L||Chevy Astro/GMC Safari 4wd '90-'99 |- |M||Chevy Astro/GMC Safari 2wd '85-'99 |- |P||Forward Control (includes Chevrolet Step-Van/GMC Value-Van, Chevy/GMC P-Series) |- |R||Chevy Luv 4wd '81-'82 |- |R||Chevy full-size pickups & chassis cabs 2wd (R-series), Suburban 2wd '87-'91,<br /> GMC full-size pickups & chassis cabs 2wd (R-series), Suburban 2wd '87-'91 |- |S||Chevy S-10 2wd ('82-'99), S-10 Blazer 2wd ('83-'94), Blazer 2wd ('95-'99), GMC S-15 2wd ('82-'90), Sonoma 2wd ('91-'99),<br> S-15 Jimmy 2wd ('83-'91), Jimmy 2wd ('92-'99), Isuzu Hombre 2wd ('96-'99) |- |T||Chevy S-10 4wd ('83-'99), S-10 Blazer 4wd ('83-'94), Blazer 4wd ('95-'99), GMC S-15 4wd ('83-'90), Sonoma 4wd ('91-'99), Syclone 4wd ('91),<br> S-15 Jimmy 4wd ('83-'91), Jimmy 4wd ('92-'99), Typhoon 4wd ('92-93), Envoy 4wd ('98-'99), Oldsmobile Bravada 4wd ('91-'94, '96-'99),<br> Isuzu Hombre 4wd ('98-'99) |- |U||Regular length All-Purpose Vehicle ('90-'99 U-body fwd minivans) |- |V||Chevy full-size pickups & chassis cabs 4wd (V-series), V10/V1500 Blazer 4wd, Suburban 4wd '87-'91,<br /> GMC full-size pickups & chassis cabs 4wd (V-series), V1500 Jimmy 4wd, Suburban 4wd '87-'91 |- |W||'81-'87 Chevy El Camino, GMC Caballero |- |X||Extended length All-Purpose Vehicle ('97-'99 U-body fwd extended length minivans) |- |Z||Cadillac chassis cutaway/special body (Based on Rwd Fleetwood '81-'84, Fwd Fleetwood '85-'92) |} ====Line & Chassis Type 2000-2009 Light Duty Truck & Multi-Purpose Passenger Vehicle==== The Line & Chassis Type is specified as character five of the American GM VIN for light trucks. {| border=1 style="margin:auto;" !VIN !Description |- |A||Pontiac Aztek 2wd '01-'05, Buick Rendezvous 2wd '02-'07 |- |A||Chevrolet HHR '06-'09, HHR Panel '07-'09 |- |B||Pontiac Aztek Awd '01-'05, Buick Rendezvous Awd '02-'06 |- |C||Chevy full-size pickups & chassis cabs 2wd (C-series) '00, full-size chassis cabs 2wd (C3500HD) '01-'02, Silverado 2wd '00-'09, Silverado Classic 2wd '07,<br /> GMC Sierra 2wd (C-series) '00-'09, Sierra Classic 2wd '00, '07 |- |C||Chevy Tahoe 2wd ('00-'09), Suburban 2wd ('00-'09), Avalanche 2wd ('02-'09),<br /> GMC Yukon 2wd ('00-'09), Yukon XL 2wd ('00-'09), Cadillac Escalade 2wd ('02-'09), Escalade ESV 2wd ('08-'09) |- |E||Chevrolet Tracker 2wd '00-'04 |- |E||Cadillac SRX 2wd & Awd '04-'09 |- |G||Chevy/GMC full-size vans 2wd (Chevy Express, GMC Savana) '00-09 |- |H||Chevy/GMC full-size vans 4wd (Chevy Express, GMC Savana) '03-09 |- |H||Cadillac Commercial Chassis for Hearse (Based on Fwd DeVille '02-'05, DTS '06-'09) |- |H||Cadillac Professional Chassis for Limousine (Based on Fwd DeVille '00-'05, DTS '06-'07) |- |J||Chevrolet Tracker 4wd '00-'04 |- |K||Chevy full-size pickups & chassis cabs 4wd (K-series) '00, Silverado 4wd '00-'09, Silverado Classic 4wd '07,<br /> GMC Sierra 4wd (K-series) '00-'09, Sierra Classic 4wd '00, '07 |- |K||Chevy Tahoe 4wd ('00-'09), Suburban 4wd ('00-'09), Avalanche 4wd ('02-'09), GMC Yukon 4wd ('00-'09), Yukon XL 4wd ('00-'09),<br> Cadillac Escalade 4wd ('00, '02-'09), Escalade ESV 4wd ('03-'09), Escalade EXT 4wd ('02-'09) |- |K||Cadillac Professional Chassis for Limousine (Based on Fwd DTS '08-'09) |- |L||Chevy Astro/GMC Safari 4wd '00-'05 |- |L||Chevy Equinox 2wd & Awd '05-'09, Pontiac Torrent 2wd & Awd '06-'09, Saturn Vue 2wd & Awd '08-'09 |- |M||Chevy Astro/GMC Safari 2wd '00-'05 |- |N||Hummer H2 '03-'09, H2 SUT '05-'09 |- |N||Hummer H3 '06-'09, H3T '09 |- |R||GMC Acadia 2wd, Saturn Outlook 2wd '07-'09, Buick Enclave 2wd '08-'09, Chevy Traverse 2wd '09 |- |S||Chevy S-10 2wd ('00-'03), Blazer 2wd ('00-'05), GMC Sonoma 2wd ('00-'03), Jimmy 2wd ('00-'01), Isuzu Hombre 2wd ('00) |- |S||Chevy Trailblazer 2wd ('02-'09), SSR ('03-'06), GMC Envoy 2wd ('02-'09), Envoy XUV 2wd ('04-'05), Oldsmobile Bravada 2wd ('02-'04),<br> Buick Rainier 2wd ('04-'07), Isuzu Ascender 2wd ('03-'08) |- |S||Chevy Colorado 2wd ('04-'09), GMC Canyon 2wd ('04-'09), Isuzu i-series 2wd ('06-'08) |- |T||Chevy S-10 4wd ('00-'04), Blazer 4wd ('00-'05), GMC Sonoma 4wd ('00-'04), Jimmy 4wd ('00-'01, Canada only: '02-'05), Envoy 4wd ('00),<br> Oldsmobile Bravada 4wd ('00-'01), Isuzu Hombre 4wd ('00) |- |T||Chevy Trailblazer 4wd ('02-'09), GMC Envoy 4wd ('02-'09), Envoy XUV 2wd ('04-'05), Oldsmobile Bravada 4wd ('02-'04), Buick Rainier 4wd ('04-'07),<br> Isuzu Ascender 4wd ('03-'08), Saab 9-7X 4wd ('05-'09) |- |T||Chevy Colorado 4wd ('04-'09), GMC Canyon 4wd ('04-'09), Isuzu i-series 4wd ('06-'08) |- |U||Regular length All-Purpose Vehicle [Minivan] ('00-'04 Chevy Venture, Pontiac Montana) |- |U||Regular length All-Purpose Vehicle [Minivan] (Chevy Uplander [US: '06-'08, Canada only: '05-'09], Pontiac Montana SV6 [Canada only: '05-'09]) |- |V||Extended length AWD All-Purpose Vehicle [Minivan] ('02-'04 Chevy Venture, Pontiac Montana, Oldsmobile Silhouette Extended length AWD) |- |V||Extended length FWD All-Purpose Vehicle [Minivan] ('05 Chevy Venture, Pontiac Montana Extended length FWD) |- |V||Extended length FWD All-Purpose Vehicle [Minivan] (Chevy Uplander ['05-'08, Canada only: '09], Pontiac Montana SV6 ['05-'06, Canada only: '07-'09],<br> Buick Terraza ['05-'07], Saturn Relay ['05-'07]) |- |V||GMC Acadia Awd, Saturn Outlook Awd '07-'09, Buick Enclave Awd '08-'09, Chevy Traverse Awd '09 |- |X||Extended length FWD All-Purpose Vehicle [Minivan] ('00-'04 Chevy Venture, Pontiac Montana, Oldsmobile Silhouette Extended length FWD) |- |X||Extended length AWD All-Purpose Vehicle [Minivan] ('05-'06 Chevy Uplander AWD, Pontiac Montana SV6 AWD, Buick Terraza AWD, Saturn Relay AWD) |- |Z||Saturn Vue 2wd & Awd '02-'07 |} ====Series 1981-1999 Light Duty Truck & Multi-Purpose Passenger Vehicle==== The Series is specified as character six of the American GM VIN for light trucks. {| border=1 style="margin:auto;" !VIN !Description |- |1||1/2 Ton (includes '96-'99 Isuzu Hombre) |- |2||3/4 Ton |- |3||1 Ton |- |8||1/2 Ton ('81-'87 El Camino, Caballero) |- |9||Cadillac, Buick, Chevrolet Commercial Body/Chassis |- |0||All-Purpose Vehicle ('90-'99 U-body fwd minivans) |} ====Series 2000-2009 Light Duty Truck & Multi-Purpose Passenger Vehicle==== The Series is specified as character six of the American GM VIN for light trucks. {| border=1 style="margin:auto;" !VIN !Description |- |1 (following S)||Isuzu Hombre 2wd ('00), Isuzu i280 2wd ('06), Isuzu i290 2wd ('07-'08), Isuzu i370 2wd ('07-'08) |- |2 (following S)||Isuzu i290 2wd w/Preferred Equip. Pkg. ('08), Isuzu i370 2wd w/Comfort Pkg. or upgrade model ('08) |- |1 (following T)||Isuzu Hombre 4wd ('00), Isuzu i350 4wd ('06), Isuzu i370 4wd ('07-'08) |- |2 (following T)||Isuzu i370 4wd w/Comfort Pkg. ('08) |- |1 (following S)||Isuzu Ascender 2wd ('03-'08) |- |1 (following T)||Isuzu Ascender 4wd ('03-'08) |- |1 (following T)||Saab 9-7X ('05-'08: All, '09: 4.2i, 5.3i) |- |2 (following T)||Saab 9-7X Aero ('09) |} ====Body style codes 1981-2009 Light Duty Truck & Multi-Purpose Passenger Vehicle==== The Body type is specified as character seven of the American GM VIN for light trucks. {| border=1 style="margin:auto;" !VIN !Description |- |0||Sedan Pickup/Pickup Delivery ('81-'87 El Camino, Caballero) |- |0||Cadillac, Buick, Chevrolet Commercial Body/Chassis |- |0||Chassis Only |- |1||Cutaway Van |- |2||Forward Control ('81-'03) (includes '93-'95 Chevy G30HD/GMC G3500HD) |- |2||Sport Utility Truck (SUT) ('04-'09 Avalanche & Escalade EXT, '04-'05 Envoy XUV, '05-'09 Hummer H2 SUT) |- |3||Four-Door Cab pickup (Crew Cab) (includes '06-'08 Isuzu i-Series Crew Cab, '09 Hummer H3T) |- |3||4-door Passenger Minivan ('97-'09 U-bodies) |- |3||4-door SUV or MPV ('06-'09 HHR) (also includes '02-'03 Avalanche & Escalade EXT) ('05-'09 Saab 9-7X) |- |4||Two-Door Cab pickup (includes '83-'87 S-10/S-15 extended cab pickups, '03-'06 Chevy SSR, '96-'00 Isuzu Hombre Reg. Cab) |- |5||Van (Astro/Safari & full-size vans & '07-'09 HHR Panel) |- |6||Extended length 4-door SUV (Suburban, Yukon XL, Escalade ESV, Trailblazer EXT, Envoy XL, Isuzu Ascender 7-psgr.) |- |6||3-door Passenger Minivan ('90-'99 U-bodies) |- |7||Motor Home Chassis ('81-'09) |- |8||Two-Door SUV (Utility) (2-d Tracker, S-10 Blazer, S-15 Jimmy, Blazer, Jimmy, Tahoe, Yukon) |- |9||Stake (81-87) |- |9||Extended Cab pickup ('88-) (includes '97-'00 Isuzu Hombre Spacecab, '06-'08 Isuzu i-Series Ext. Cab) |- |9||Extended length van ('90-) (Astro/Safari & full-size vans) |} ===American VIN format 2010- Light Duty Truck & Multi-Purpose Passenger Vehicle=== GM's VIN format is as follows: <table border=1 style="margin:auto;"> <tr> <th>Position</th> <th>Sample</th><th></th><th></th><th>Description</th> </tr><tr> <td>1</td> <td>1</td><td></td><td></td><td rowspan=3>[[#GM WMIs|World Manufacturer Identifier]]</td> </tr><tr> <td>2</td> <td>G</td><td></td><td></td></tr><tr> <td>3</td> <td>K</td><td></td><td></td></tr><tr> <td>4</td> <td>L</td><td></td><td></td><td>[[#GVWR/Brake System/Body Style 2010- Light Duty Truck & Multi-Purpose Passenger Vehicle|GVWR/Brake System/Body Style 2010-]]</td> </tr><tr> <td>5</td> <td>R</td><td></td><td></td><td>[[#Line & Chassis Type 2010- Light Duty Truck & Multi-Purpose Passenger Vehicle|Line & Chassis Type for 2010-]]</td> </tr><tr> <td>6</td> <td>L</td><td></td><td></td><td>[[#Series 2010- Light Duty Truck & Multi-Purpose Passenger Vehicle|Series 2010- Light Duty Truck & Multi-Purpose Passenger Vehicle]]</td> </tr><tr> <td>7</td> <td>E</td><td></td><td></td><td>[[#Restraint codes for light trucks 2010-|Restraint type]]</td> </tr><tr> <td>8</td> <td>D</td><td></td><td></td><td>[[#Engine codes for light trucks|Engine type]]</td> </tr><tr> <td>9</td> <td>0</td><td></td><td></td><td>[[Vehicle Identification Numbers (VIN codes)/Check digit |Check digit]]</td> </tr><tr> <td>10</td> <td>A</td><td></td><td></td><td>[[Vehicle Identification Numbers (VIN codes)/Model year|Model year]]</td> </tr><tr> <td>11</td> <td>J</td><td></td><td></td><td>[[#GM factories supplying North America|Factory ID]]</td> </tr><tr> <td>12</td> <td>1</td><td></td><td></td><td rowspan=6>Sequential number </tr><tr> <td>13</td> <td>2</td><td></td><td></td></tr><tr> <td>14</td> <td>3</td><td></td><td></td></tr><tr> <td>15</td> <td>7</td><td></td><td></td></tr><tr> <td>16</td> <td>6</td><td></td><td></td></tr><tr> <td>17</td> <td>2</td><td></td><td></td> </table> ====GVWR/Brake System/Body Style 2010- Light Duty Truck & Multi-Purpose Passenger Vehicle==== The GVWR/Brake System is specified as character four of the American GM VIN for light trucks. {| border=1 style="margin:auto;" !VIN !GVWR Range in lbs. & Weight Class !Brake System !Body Style |- | ||Class A: 0-3,000||Hydraulic|| |- | ||Class B: 3,001-4,000||Hydraulic|| |- |A||Class C: 4,001-5,000||Hydraulic||26: 4-door SUV or MPV ('10-'11 Chevy HHR Panel, '10-'26 Chevy Equinox, GMC Terrain, '10 Saturn Vue,<br> '12-'15 Chevy Captiva Sport, '19-'24 Cadillac XT4, '24-'26 Buick Encore GX) |- |B||Class C: 4,001-5,000||Hydraulic||46: 4-door MPV ('10-'11 Chevy HHR) |- |J||Class C: 4,001-5,000||Hydraulic||48: 4-door, 4 window Hatchback ('18-'23 Chevy Bolt EV w/Rear Seat Delete pkg. - incomplete vehicle) |- |C||Class C: 4,001-5,000||Hydraulic||03: Regular Cab pickup or Chassis Cab ('10-'12 Chevy Colorado, GMC Canyon) |- |D||Class C: 4,001-5,000||Hydraulic||43: Crew Cab pickup or Chassis Cab ('10-'12 Chevy Colorado, GMC Canyon) |- |E||Class C: 4,001-5,000||Hydraulic||53: Extended Cab pickup or Chassis Cab ('10-'12 Chevy Colorado, GMC Canyon) |- |7||Class C: 4,001-5,000||Hydraulic||75: Four-Door Wagon - High Roof Monocab (Canada only: '12-'14 Chevy Orlando) |- |M||Class C: 4,001-5,000||Hydraulic||06: 4-door SUV ('20-'23 Buick Encore GX) |- |9||Class C: 4,001-5,000||Hydraulic||56: 4-door SUV Extended ('21-'26 Chevy Trailblazer) |- |7||Class C: 4,001-5,000||Hydraulic||58: 4-door Utility Extended ('24-'26 Chevy Trax, Buick Envista) |- |C||Class C: 4,001-5,000||Hydraulic||76: 4-door SUV ('13-'22 Buick Encore, Canada only: '13-'14 Chevy Trax, US & Canada: '15-'22 Chevy Trax) |- |F||Class D: 5,001-6,000||Hydraulic||26: 4-door SUV ('10-'17 Chevy Equinox, GMC Terrain, '10 Saturn Vue, '10-'16 Cadillac SRX, '11 Saab 9-4X,<br> '12-'13 Chevy Captiva Sport, '16-'26 Buick Envision, '17 Cadillac XT5, '19-'25 Cadillac XT4) |- |H||Class D: 5,001-6,000||Hydraulic||03: Regular Cab pickup or Chassis Cab ('10 Chevy Colorado, GMC Canyon) |- |G||Class D: 5,001-6,000||Hydraulic||03: Regular Cab pickup or Chassis Cab ('11-'12 Chevy Colorado, GMC Canyon) |- |J||Class D: 5,001-6,000||Hydraulic||43: Crew Cab pickup or Chassis Cab ('10 Chevy Colorado, GMC Canyon) |- |H||Class D: 5,001-6,000||Hydraulic||43: Crew Cab pickup or Chassis Cab ('11-'12 Chevy Colorado, GMC Canyon) |- |G||Class D: 5,001-6,000||Hydraulic||43: Crew Cab pickup or Chassis Cab ('15-'24 Chevy Colorado, '15-'22 GMC Canyon) |- |K||Class D: 5,001-6,000||Hydraulic||53: Extended Cab pickup or Chassis Cab ('10 Chevy Colorado, GMC Canyon) |- |J||Class D: 5,001-6,000||Hydraulic||53: Extended Cab pickup or Chassis Cab ('11-'12 Chevy Colorado, GMC Canyon) |- |H||Class D: 5,001-6,000||Hydraulic||53: Extended Cab pickup or Chassis Cab ('15-'22 Chevy Colorado, GMC Canyon) |- |T||Class D: 5,001-6,000||Hydraulic||69: Commercial Chassis ('10 Cadillac DTS chassis for Limo/Hearse) |- |7||Class D: 5,001-6,000||Hydraulic||69: Commercial Chassis ('11 Cadillac DTS chassis for Limo/Hearse) |- |L||Class E: 6,001-7,000||Hydraulic||26: 4-door SUV ('10 Chevy Traverse, GMC Acadia, Buick Enclave, Saturn Outlook) |- |K||Class E: 6,001-7,000||Hydraulic||26: 4-door SUV ('11-'17 Chevy Traverse, Buick Enclave, '11-'23 GMC Acadia, '17 Acadia Limited,<br> '17-'26 Cadillac XT5, '19-'26 Chevy Blazer, '20-'25 Cadillac XT6, '23-'26 Cadillac Lyriq EV,<br> '24-'26 Chevy Blazer EV, '25-'26 Cadillac Optiq EV, '24-'26 Honda Prologue EV, '24 Acura ZDX EV A-Spec) |- |7||Class E: 6,001-7,000||Hydraulic||48: 4-door SUV ('24-'25 Chevy Equinox EV) |- |E||Class E: 6,001-7,000||Hydraulic||56: 4-door SUV Extended ('18-'26 Chevy Traverse, Buick Enclave, '24 Chevy Traverse Limited,<br> '24-'26 GMC Acadia |- |M||Class E: 6,001-7,000||Hydraulic||05: Cargo Van ('10 Chevy Express, GMC Savana) |- |L||Class E: 6,001-7,000||Hydraulic||05: Cargo Van ('11-'14 Chevy Express, GMC Savana) |- |M||Class E: 6,001-7,000||Hydraulic||06: 4-door SUV ('10 Chevy Tahoe, GMC Yukon, Hummer H3) |- |L||Class E: 6,001-7,000||Hydraulic||06: 4-door SUV ('11-'20 Chevy Tahoe Police Pursuit Vehicle 2wd) |- |N||Class E: 6,001-7,000||Hydraulic||36: Sport Utility Truck (SUT) ('10 Chevy Avalanche 2wd) |- |M||Class E: 6,001-7,000||Hydraulic||36: Sport Utility Truck (SUT) ('11-13 Chevy Avalanche 2wd) |- |P||Class E: 6,001-7,000||Hydraulic||03: Regular Cab pickup or Chassis Cab ('10 Chevy Silverado, GMC Sierra) |- |N||Class E: 6,001-7,000||Hydraulic||03: Regular Cab pickup or Chassis Cab ('11-'26 Chevy Silverado, GMC Sierra,<br> '22 Chevy Silverado LTD, GMC Sierra Limited) |- |R||Class E: 6,001-7,000||Hydraulic||43: Crew Cab pickup or Chassis Cab ('10 Chevy Silverado, GMC Sierra, Hummer H3T) |- |P||Class E: 6,001-7,000||Hydraulic||43: Crew Cab pickup or Chassis Cab ('11-'26 Chevy Silverado, GMC Sierra,<br> '22 Chevy Silverado LTD, GMC Sierra Limited, '16-'26 Chevy Colorado, GMC Canyon) |- |S||Class E: 6,001-7,000||Hydraulic||53: Extended Cab pickup or Chassis Cab ('10 Chevy Silverado, GMC Sierra) |- |R||Class E: 6,001-7,000||Hydraulic||53: Extended Cab pickup or Chassis Cab ('11-'26 Chevy Silverado, GMC Sierra,<br> '19 Chevy Silverado LD, GMC Sierra Limited, '22 Chevy Silverado LTD, GMC Sierra Limited,<br> '16-'22 Chevy Colorado) |- |G||Class E: 6,001-7,000||Hydraulic||69: Commercial Chassis ('10 Cadillac DTS chassis for Limo/Hearse) |- |8||Class E: 6,001-7,000||Hydraulic||69: Commercial Chassis ('11 Cadillac DTS chassis for Limo/Hearse) |- |X||Class E: 6,001-7,000||Hydraulic||69: Commercial Chassis ('13-'19 Cadillac XTS chassis for Limo/Hearse) |- |U||Class F: 7,001-8,000||Hydraulic||05: Cargo Van or Incomplete Vehicle ('10 Chevy Express, GMC Savana) |- |S||Class F: 7,001-8,000||Hydraulic||05: Cargo Van or Incomplete Vehicle ('11-'14 Chevy Express, GMC Savana) |- |U||Class F: 7,001-8,000||Hydraulic||06: Passenger Van ('10 Chevy Express, GMC Savana) |- |S||Class F: 7,001-8,000||Hydraulic||06: Passenger Van ('11-'14 Chevy Express, GMC Savana) |- |U||Class F: 7,001-8,000||Hydraulic||06: 4-door SUV ('10 Chevy Tahoe, Suburban 1500, GMC Yukon, Yukon XL 1500, Cadillac Escalade, Escalade ESV) |- |S||Class F: 7,001-8,000||Hydraulic||06: 4-door SUV ('11-'26 Chevy Tahoe, Suburban 1500, GMC Yukon, Yukon XL 1500, Cadillac Escalade, Escalade ESV) |- |V||Class F: 7,001-8,000||Hydraulic||36: Sport Utility Truck (SUT) ('10 Chevy Avalanche 4wd, Cadillac Escalade EXT 4wd) |- |T||Class F: 7,001-8,000||Hydraulic||36: Sport Utility Truck (SUT) ('11-'13 Chevy Avalanche 4wd, Cadillac Escalade EXT 4wd) |- |X||Class F: 7,001-8,000||Hydraulic||26: 4-door SUV ('24 Acura ZDX EV Type S) |- |C||Class F: 7,001-8,000||Hydraulic||56: 4-door SUV Extended ('26- Cadillac Vistiq EV) |- |W||Class F: 7,001-8,000||Hydraulic||03: Regular Cab pickup or Chassis Cab ('10 Chevy Silverado, GMC Sierra) |- |X||Class F: 7,001-8,000||Hydraulic||43: Crew Cab pickup or Chassis Cab ('10 Chevy Silverado, GMC Sierra) |- |U||Class F: 7,001-8,000||Hydraulic||43: Crew Cab pickup or Chassis Cab ('11-'26 Chevy Silverado, GMC Sierra,<br> '22 Chevy Silverado LTD, GMC Sierra Limited) |- |Y||Class F: 7,001-8,000||Hydraulic||53: Extended Cab pickup or Chassis Cab ('10 Chevy Silverado, GMC Sierra) |- |V||Class F: 7,001-8,000||Hydraulic||53: Extended Cab pickup or Chassis Cab ('11-'26 Chevy Silverado, GMC Sierra,<br> '19 Chevy Silverado LD, GMC Sierra Limited, '22 Chevy Silverado LTD, GMC Sierra Limited) |- |U||Class F: 7,001-8,000||Hydraulic||69: Commercial Chassis ('10 Cadillac DTS chassis for Limo/Hearse) |- |9||Class F: 7,001-8,000||Hydraulic||69: Commercial Chassis ('11 Cadillac DTS chassis for Limo/Hearse) |- |Z||Class G: 8,001-9,000||Hydraulic||05: Cargo Van or Incomplete Vehicle ('10 Chevy Express, GMC Savana) |- |W||Class G: 8,001-9,000||Hydraulic||05: Cargo Van or Incomplete Vehicle ('11-'26 Chevy Express, GMC Savana) |- |Z||Class G: 8,001-9,000||Hydraulic||06: Passenger Van ('10 Chevy Express, GMC Savana) |- |W||Class G: 8,001-9,000||Hydraulic||06: Passenger Van ('11-'26 Chevy Express, GMC Savana) |- |Z||Class G: 8,001-9,000||Hydraulic||06: 4-door SUV ('10 Chevy Suburban 2500, GMC Yukon XL 2500) |- |W||Class G: 8,001-9,000||Hydraulic||06: 4-door SUV ('11-'13 Chevy Suburban 2500, GMC Yukon XL 2500) |- |2||Class H: 9,001-10,000||Hydraulic||05: Cargo Van or Incomplete Vehicle ('10 Chevy Express, GMC Savana) |- |Z||Class H: 9,001-10,000||Hydraulic||05: Cargo Van or Incomplete Vehicle ('11-'26 Chevy Express, GMC Savana,<br> '23-'24 BrightDrop Zevo 600, '24 BrightDrop Zevo 400, '25-'26 Chevrolet BrightDrop 400/600) |- |2||Class H: 9,001-10,000||Hydraulic||06: Passenger Van ('10 Chevy Express, GMC Savana) |- |Z||Class H: 9,001-10,000||Hydraulic||06: Passenger Van ('11-'26 Chevy Express, GMC Savana) |- |3||Class H: 9,001-10,000||Hydraulic||03: Van Cutaway ('10 Chevy Express, GMC Savana) |- |0||Class H: 9,001-10,000||Hydraulic||03: Van Cutaway ('11-'26 Chevy Express, GMC Savana) |- |3||Class H: 9,001-10,000||Hydraulic||03: Regular Cab pickup or Chassis Cab ('10 Chevy Silverado, GMC Sierra) |- |0||Class H: 9,001-10,000||Hydraulic||03: Regular Cab pickup or Chassis Cab ('11-'26 Chevy Silverado, GMC Sierra) |- |4||Class H: 9,001-10,000||Hydraulic||43: Crew Cab pickup or Chassis Cab ('10 Chevy Silverado, GMC Sierra) |- |1||Class H: 9,001-10,000||Hydraulic||43: Crew Cab pickup or Chassis Cab ('11-'26 Chevy Silverado, GMC Sierra,<br> '24-'25 GMC Hummer EV pickup w/20 module battery pack,<br> '24-'26 Chevy Silverado EV, '25-'26 GMC Sierra EV) |- |5||Class H: 9,001-10,000||Hydraulic||53: Extended Cab pickup or Chassis Cab ('10 Chevy Silverado, GMC Sierra) |- |2||Class H: 9,001-10,000||Hydraulic||53: Extended Cab pickup or Chassis Cab ('11-'13, '15-'26 Chevy Silverado, GMC Sierra) |- |B||Class H: 9,001-10,000||Hydraulic||26: 4-door SUV ('24-'25 GMC Hummer EV SUV) |- |6||Class 3: 10,001-14,000||Hydraulic||03: Van Cutaway ('10 Chevy Express, GMC Savana) |- |3||Class 3: 10,001-14,000||Hydraulic||03: Van Cutaway ('11-'26 Chevy Express, GMC Savana) |- |6||Class 3: 10,001-14,000||Hydraulic||03: Regular Cab pickup or Chassis Cab ('10 Chevy Silverado, GMC Sierra) |- |3||Class 3: 10,001-14,000||Hydraulic||03: Regular Cab pickup or Chassis Cab ('11-'26 Chevy Silverado, GMC Sierra) |- |7||Class 3: 10,001-14,000||Hydraulic||43: Crew Cab pickup or Chassis Cab ('10 Chevy Silverado, GMC Sierra) |- |4||Class 3: 10,001-14,000||Hydraulic||43: Crew Cab pickup or Chassis Cab ('11-'26 Chevy Silverado, GMC Sierra,<br> '22-'24 GMC Hummer EV pickup w/24 module battery pack, '25 GMC Hummer EV pickup w/20 or 24 module battery pack, '26 GMC Hummer EV pickup, '24-'25 Chevy Silverado EV, GMC Sierra EV) |- |8||Class 3: 10,001-14,000||Hydraulic||53: Extended Cab pickup or Chassis Cab ('10 Chevy Silverado, GMC Sierra) |- |5||Class 3: 10,001-14,000||Hydraulic||53: Extended Cab pickup or Chassis Cab ('11-'13, '15-'18, '20-'26 Chevy Silverado, GMC Sierra) |- |8||Class 3: 10,001-14,000||Hydraulic||06: 4-door SUV ('16-'19, '24-'26 Chevy Suburban 3500HD) |- |8||Class 3: 10,001-14,000||Hydraulic||05: Cargo Van ('22 BrightDrop EV600, '23-'24 BrightDrop Zevo 600, '24 BrightDrop Zevo 400,<br> '25-'26 Chevrolet BrightDrop 400/600) |- |T||Class 3: 10,001-14,000||Hydraulic||26: 4-door SUV ('25-'26 GMC Hummer EV SUV, '25-'26 Cadillac Escalade IQ [EV]) |- |L||Class 3: 10,001-14,000||Hydraulic||56: 4-door SUV Extended ('26- Cadillac Escalade IQL [EV]) |- |9||Class 4: 14,001-16,000||Hydraulic||03: Van Cutaway ('10 Chevy Express, GMC Savana) |- |6||Class 4: 14,001-16,000||Hydraulic||03: Van Cutaway ('11-'26 Chevy Express, GMC Savana) |- | ||Class 5: 16,001-19,500||Hydraulic|| |} ====Line & Chassis Type 2010- Light Duty Truck & Multi-Purpose Passenger Vehicle==== The Line & Chassis Type is specified as character five of the American GM VIN for light trucks. {| border=1 style="margin:auto;" !VIN !Description |- |A||Chevrolet HHR ('10-'11), HHR Panel ('10-'11) |- |A||Chevy Silverado 1500 2wd ('22-'26), Silverado HD 2500/3500 2wd ('25-'26) |- |B||Chevy Blazer 2wd & Awd '19-'26 |- |C||Chevy Silverado 2wd ('10-'18), Silverado LD 1500 2wd '19, Silverado HD 2500/3500 2wd '19, GMC Sierra 2wd ('10) |- |C||Chevy Tahoe 2wd ('10-'24), Suburban 2wd ('10-'24), Avalanche 2wd ('10-'13),<br /> GMC Yukon 2wd ('10), Yukon XL 2wd ('10), Cadillac Escalade 2wd ('10), Escalade ESV 2wd ('10) |- |D||Chevy Silverado 1500 4wd ('22-'24) |- |D||Chevy Blazer EV ('24-'26), Chevy Equinox EV ('24-'26) |- |E||Cadillac Escalade IQ [EV] ('25-'26), Escalade IQL [EV] ('26-), GMC Hummer EV pickup ('26-), GMC Hummer EV SUV ('26-), GMC Sierra EV ('26-) |- |F||Chevy Bolt EV w/Rear Seat Delete pkg. - incomplete vehicle ('18-'23) |- |G||Cadillac Chassis for Limousine & for Armored Vehicle (Based on XTS '13-'19) |- |G||Cadillac Chassis for Hearse (Based on XTS '13-'19) |- |G||Chevy Express 2wd ('10-'26), GMC Savana 2wd ('10) |- |H||Chevy Express 4wd ('10-'14), GMC Savana 4wd ('10) |- |H||GMC Sierra 1500 2wd ('22-'26), Sierra HD 2500/3500 2wd ('25-'26) |- |H||Honda Prologue EV ('24-'26), Acura ZDX EV ('24) |- |J||Buick Encore 2wd & Awd ('13-'22), Chevy Trax 2wd & Awd (Canada: '13-'22, US: '15-'22) |- |J||BrightDrop EV600 ('22), BrightDrop Zevo 600 ('23-'24), BrightDrop Zevo 400 ('24), Chevrolet BrightDrop 400/600 ('25-'26) |- |K||Chevy Silverado 4wd ('10-'18), Silverado LD 1500 4wd ('19), Silverado HD 2500/3500 4wd ('19), GMC Sierra 4wd ('10) |- |K||Chevy Silverado 1500 4wd ('25-'26), Silverado HD 2500/3500 4wd ('25-'26) |- |K||Chevy Tahoe 4wd ('10-'24), Suburban 4wd ('10-'24), Suburban HD 4wd ('24-'26), Avalanche 4wd ('10-'13), GMC Yukon 4wd ('10), Yukon XL 4wd ('10),<br> Cadillac Escalade 4wd ('10), Escalade ESV 4wd ('10), Escalade EXT 4wd ('10) |- |K||Cadillac Professional Chassis for Limousine (Based on DTS '10-'11) |- |K||Cadillac Commercial Chassis for Hearse (Based on DTS '10-'11) |- |L||Chevy Equinox 2wd & Awd '10-'17, Captiva Sport 2wd '12-'15, Captiva Sport Awd '12, GMC Terrain 2wd & Awd '10-'17, Saturn Vue 2wd & Awd '10 |- |L||GMC Terrain 2wd & Awd '18-'26 |- |L||Buick Envista '24-'26, Chevy Trax '24-'26 |- |M||Buick Encore GX 2wd & Awd ('20-'26), Chevy Trailblazer 2wd & Awd ('21-'26) |- |N||Cadillac SRX 2wd & Awd '10-'16, Saab 9-4X 2011 |- |N||GMC Acadia 2wd & Awd '17-'26, Cadillac XT5 2wd & Awd '17-'26 |- |N||Hummer H3, H3T 2010 |- |P||Chevy Orlando (Canada only: '12-'14) |- |P||Cadillac XT6 2wd & Awd '20-'25 |- |P||Cadillac Lyriq EV 2wd & Awd '23-'25 |- |R||GMC Acadia 2wd '10-'16, Acadia Limited 2wd '17, Saturn Outlook 2wd '10, Buick Enclave 2wd '10-'17, Chevy Traverse 2wd '10-'17 |- |R||Buick Enclave 2wd '18-'24, Chevy Traverse 2wd '18-'23 |- |R||Buick Enclave 2wd '25-'26, Chevy Traverse 2wd '24-'26 |- |S||Chevy Traverse Limited 2wd '24 |- |S||Chevy Colorado 2wd ('10-'12, '15-'26), GMC Canyon 2wd ('10) |- |T||Chevy Colorado 4wd ('10-'12, '15-'26), GMC Canyon 4wd ('10) |- |T||Chevy Traverse Limited Awd '24 |- |U||GMC Sierra 1500 4wd ('22-'26), Sierra HD 2500/3500 4wd ('25-'26) |- |V||GMC Acadia Awd '10-'16, Acadia Limited Awd '17, Saturn Outlook Awd '10, Buick Enclave Awd '10-'17, Chevy Traverse Awd '10-'17 |- |V||Buick Enclave Awd '18-'24, Chevy Traverse Awd '18-'23 |- |V||Buick Enclave Awd '25-'26, Chevy Traverse Awd '24-'26 |- |W||Chevy Silverado 1500 2wd ('19-'21), Silverado LTD 1500 2wd ('22), Silverado HD 2500/3500 2wd ('20-'24) |- |X||Buick Envision 2wd & Awd '16-'20, Chevy Equinox 2wd & Awd '18-'26 |- |Y||Chevy Silverado 1500 4wd ('19-'21), Silverado LTD 1500 4wd ('22), Silverado HD 2500/3500 4wd ('20-'24) |- |Z||Cadillac XT4 2wd & Awd '19-'25, Buick Envision 2wd '21-'23, Buick Envision Awd '21-'26 |- |1||GMC Sierra 2wd ('11-'18), Sierra Limited 1500 2wd ('19), Sierra HD 2500/3500 2wd ('19), Yukon 2wd ('11-'26), Yukon XL 2wd ('11-'26) |- |1||GMC Canyon 2wd ('25-'26) |- |2||GMC Sierra 4wd ('11-'18), Sierra Limited 1500 4wd ('19), Sierra HD 2500/3500 4wd ('19), Yukon 4wd ('11-'26), Yukon XL 4wd ('11-'26) |- |2||GMC Canyon 4wd ('25-'26) |- |3||Cadillac Escalade 2wd ('11-'24), Escalade ESV 2wd ('11-'24) |- |3||Cadillac Optiq EV ('25-), Cadillac Vistiq EV ('26-) |- |4||Cadillac Escalade 4wd ('11-'24), Escalade ESV 4wd ('11-'24), Escalade EXT 4wd ('11-'13) |- |5||GMC Canyon 2wd ('11-'12, '15-'24) |- |5||Chevy Tahoe 2wd ('25-'26), Suburban 2wd ('25-'26) |- |6||GMC Canyon 4wd ('11-'12, '15-'24) |- |6||Chevy Tahoe 4wd ('25-'26), Suburban 4wd ('25-'26) |- |7||GMC Savana 2wd ('11-'26) |- |8||GMC Savana 4wd ('11-'14) |- |8||GMC Sierra 1500 2wd ('19-'21), Sierra Limited 1500 2wd ('22), Sierra HD 2500/3500 2wd ('20-'24) |- |8||Cadillac Escalade 2wd ('25-'26), Escalade ESV 2wd ('25-'26) |- |9||GMC Sierra 1500 4wd ('19-'21), Sierra Limited 1500 4wd ('22), Sierra HD 2500/3500 4wd ('20-'24) |- |9||Cadillac Escalade 4wd ('25-'26), Escalade ESV 4wd ('25-'26) |- |0||GMC Hummer EV pickup ('22-'25), GMC Hummer EV SUV ('24-'25), Chevy Silverado EV ('24-'26), GMC Sierra EV ('24-'25) |} ====Series 2010- Light Duty Truck & Multi-Purpose Passenger Vehicle==== The Series is specified as character six of the American GM VIN for light trucks. {| border=1 style="margin:auto;" !VIN !Description |- |A (following L)||Saturn Vue XE 2wd ('10) |- |E (following L)||Saturn Vue XR V6 2wd ('10) |- |K (following L)||Saturn Vue XR-L V6 2wd ('10) |- |T (following R)||Saturn Outlook XE 2wd ('10) |- |U (following R)||Saturn Outlook XE Premium 2wd ('10) |- |V (following R)||Saturn Outlook XR-L 2wd ('10) |- |W (following R)||Saturn Outlook XR-L Premium 2wd ('10) |- |T (following V)||Saturn Outlook XE Awd ('10) |- |U (following V)||Saturn Outlook XE Premium Awd ('10) |- |V (following V)||Saturn Outlook XR-L Awd ('10) |- |W (following V)||Saturn Outlook XR-L Premium Awd ('10) |- |G (following N)||Hummer H3, H3T Base model ('10) |- |H (following N)||Hummer H3, H3T Adventure ('10) |- |J (following N)||Hummer H3, H3T Luxury ('10) |- |K (following N)||Hummer H3, H3T Alpha w/cloth ('10) |- |L (following N)||Hummer H3, H3T Alpha w/Leather ('10) |- |P (following N)||Saab 9-4X 3.0i 2wd ('11) |- |R (following N)||Saab 9-4X 3.0i Awd ('11) |- |S (following N)||Saab 9-4X 3.0i Premium 2wd ('11) |- |T (following N)||Saab 9-4X 3.0i Premium Awd ('11) |- |U (following N)||Saab 9-4X Aero Awd ('11) |} ===Platform & Series Codes 1985- Passenger Car=== GM used a lettered system of automobile platform codes for three decades. These letters were used as the fourth position of the VIN. Though today's GM platforms use Greek characters, they are still encoded with Latin characters in the fourth position. Position five encodes the specific model and trim level of the vehicle. {| border=1 style="margin:auto;" !List of GM platforms !Platform<br>Code !Series<br>Code !:Category:General Motors vehicles|Model |- |rowspan=14|GM A platform |rowspan=14|A||W||Chevrolet Celebrity 1985-1990 |- |E||Pontiac 6000 ''SE'' 1986-1988 |- |F||Pontiac 6000 1985-1988, 6000 ''LE'' 1989-1991 |- |G||Pontiac 6000 ''LE'' 1985-1988 |- |H||Pontiac 6000 ''STE'' 1985-1989 |- |J||Pontiac 6000 ''SE'' 1989-1991 |- |G||Oldsmobile Cutlass Ciera ''S'' Sedan 1993-1994 |- |J||Oldsmobile Cutlass Ciera ''LS'' 1985, Cutlass Ciera 1986-1989 & Cutlass Cruiser 1985-1989,<br /> Cutlass Ciera ''S'' Coupe 1986-1987, Cutlass Ciera ''S'' 1990-1991 & Cutlass Cruiser ''S'' 1990-1994, Cutlass Ciera ''SL'' & Cutlass Cruiser ''SL'' 1995, Ciera ''SL'' sedan & wagon 1996 |- |L||Oldsmobile Cutlass Ciera 1990-1991, Cutlass Ciera ''S'' Sedan 1992 |- |M||Oldsmobile Cutlass Ciera ''Brougham'' 1985-1988, Cutlass Ciera ''SL'' Coupe 1986-1989, Cutlass Ciera ''SL'' Sedan 1989-1993, Cutlass Cruiser ''Brougham'' 1987-1988, Cutlass Cruiser ''SL'' 1989-1993 |- |S||Oldsmobile Cutlass Ciera ''International Series'' 1988-1990 |- |G||Buick Century ''T-Type'' 1985-1986, Century ''Special'' 1991-1996 |- |H||Buick Century ''Custom'' 1985-1995 |- |L||Buick Century ''Limited'' 1985-1993, Century Estate Wagon 1986-1989 |- |rowspan=14|GM B platform |rowspan=14|B||L||Chevrolet Impala 1985, Caprice 1986-1992, Caprice Classic 1993-1996, Impala SS 1995-96 |- |N||Chevrolet Caprice Classic 1985-1992, Caprice Classic LS 1993-1994,<br /> Caprice Classic LTZ 1991-1993, Impala SS 1994 |- |U||Chevrolet Caprice Classic Brougham/Brougham LS 1987-1990 |- |L||Pontiac Parisienne 1985-1986, Safari Wagon 1987-1989 |- |T||Pontiac Parisienne Brougham 1985-1986 |- |N||Oldsmobile Delta 88 Royale 1985 |- |P||Oldsmobile Custom Cruiser 1985-1992 |- |V||Oldsmobile Delta 88 Royale Brougham LS 1985 |- |Y||Oldsmobile Delta 88 Royale Brougham 1985 |- |N||Buick Le Sabre ''Custom'' 1985, Roadmaster sedan 1992-1996 |- |P||Buick Le Sabre ''Limited'' 1985 |- |R||Buick Le Sabre Estate Wagon 1985-1989, Estate Wagon 1990,<br /> Roadmaster Estate Wagon 1991-1996 |- |T||Buick Roadmaster ''Limited'' sedan 1992-1996 |- |V||Buick Electra Estate Wagon 1985-1989 |- |rowspan=13|GM C platform - front-wheel drive |rowspan=13|C |V||Oldsmobile Touring Sedan 1988-1990, 98 Touring Sedan 1991-1993 |- |W||Oldsmobile 98 Regency Brougham 1985-1990, 98 Regency Elite 1991-1996 |- |X||Oldsmobile 98 Regency 1985-1990, 1992-1994 |- |F||Buick Electra T-Type 1985-1990 |- |U||Buick Electra Park Avenue Ultra 1989-1990, Park Avenue Ultra 1991-1996 |- |W||Buick Electra Park Avenue 1985-1990, Park Avenue 1991-1996 |- |X||Buick Electra 1985-1986, Electra Limited 1987-1990 |- |B||1985-1992 Cadillac Fleetwood, Fleetwood D'Elegance, 1993 Cadillac Sixty Special |- |D||1985-1993 Cadillac DeVille |- |G||1991-1992 Cadillac Fleetwood Sixty Special |- |H||1985-1987 Cadillac Fleetwood Limousine |- |S||1987-1990 Cadillac Fleetwood Sixty Special |- |T||1991-1993 Cadillac DeVille Touring Sedan |- |rowspan=3|GM G platform (models formerly on C platform) |rowspan=3|C |- |U||Buick Park Avenue Ultra 1997-2005 |- |W||Buick Park Avenue 1997-2005 |- |rowspan=2|GM D platform |rowspan=2|D||W||1985-1986 Cadillac Fleetwood Brougham, 1987-1992 Cadillac Brougham |- |W||1993-1996 Cadillac Fleetwood |- |rowspan=31|GM Delta I platform |rowspan=31|A |- |A||Chevrolet Cobalt LS w/manual trans. 2010 |- |B||Chevrolet Cobalt LS w/automatic trans. 2010 |- |C||Chevrolet Cobalt 1LT w/manual trans. 2010 |- |D||Chevrolet Cobalt 1LT w/automatic trans. 2010 |- |E||Chevrolet Cobalt 2LT w/manual trans. 2010 |- |F||Chevrolet Cobalt 2LT w/automatic trans. 2010 |- |G||Chevrolet Cobalt SS Turbo 2010 |- |H||Chevrolet Cobalt (base model w/XFE) 2010 |- |K||Chevrolet Cobalt (base model) 2005, Cobalt LS 2006-2008, Cobalt LS w/man. trans. 2009 |- |L||Chevrolet Cobalt LS 2005, Cobalt LT 2006-2008, Cobalt LT w/manual trans. 2009 |- |M||Chevrolet Cobalt SS 2006-2007, Cobalt Sport 2008 |- |P||Chevrolet Cobalt SS Supercharged 2005-2007, SS Turbo 2008-2009 |- |S||Chevrolet Cobalt LS w/automatic trans. 2009 |- |T||Chevrolet Cobalt LT w/automatic trans. 2009 |- |Z||Chevrolet Cobalt LT 2005, Cobalt LTZ 2006-2007 |- |L||Pontiac G5 2007-2008, G5 w/manual trans. 2009 |- |N||Pontiac G5 GT 2007-2008, G5 GT w/manual trans. 2009 |- |S||Pontiac G5 w/automatic trans. 2009 |- |T||Pontiac G5 GT w/automatic trans. 2009 |- |F||Saturn Ion sedan Level 1 w/manual trans. 2003-2005 |- |G||Saturn Ion sedan Level 1 w/automatic trans. 2003-2005 |- |J||Saturn Ion sedan Level 2 w/automatic trans. 2003-2007 |- |K||Saturn Ion sedan Level 3 w/manual trans. 2003-2007 |- |L||Saturn Ion sedan Level 3 w/automatic trans. 2003-2007 |- |M||Saturn Ion coupe Level 2 w/manual trans. 2003-2007 |- |N||Saturn Ion coupe Level 2 w/automatic trans. 2003-2007 |- |V||Saturn Ion coupe Level 3 w/manual trans. 2003-2007 |- |W||Saturn Ion coupe Level 3 w/automatic trans. 2003-2007 |- |Y||Saturn Ion coupe Red Line 2004-2007 |- |Z||Saturn Ion sedan Level 2 w/manual trans. 2003-2007 |- |rowspan=9|GM E platform |rowspan=9|E |- |V||Oldsmobile Toronado Trofeo 1988-1992 |- |Z||Oldsmobile Toronado Brougham 1985-1986, Toronado 1987-1992 |- |C||Buick Reatta 1988-1991 |- |Y||Buick Riviera T-Type 1985-1986 |- |Z||Buick Riviera 1985-1993 |- |C||Cadillac Eldorado Collector Series 2002 |- |L||Cadillac Eldorado 1985-2002 |- |T||Cadillac Eldorado Touring Coupe 1994-2002 |- |rowspan=26|GM Epsilon I platform |rowspan=26|Z||A||Chevrolet Malibu Fleet 2010-2012 |- |B||Chevrolet Malibu LS 2010-2012 |- |C||Chevrolet Malibu 1LT 2010-2012 |- |D||Chevrolet Malibu 2LT 2010-2012 |- |E||Chevrolet Malibu LTZ 2010-2011, Malibu 1LZ 2012 |- |F||Chevrolet Malibu Hybrid 2008-2010, Malibu 3LT 2012 |- |G||Chevrolet Malibu LS 2008-2009, Malibu 2LZ 2012 |- |H||Chevrolet Malibu 1LT 2008-2009 |- |J||Chevrolet Malibu 2LT 2008-2009 |- |K||Chevrolet Malibu LTZ 2008-2009 |- |S||Chevrolet Malibu 2004-2005, Malibu LS 2006-2007, Malibu Classic LS 2008 |- |T||Chevrolet Malibu LS 2004-2005, Malibu LT 2006-2007, Malibu Classic LT 2008 |- |U||Chevrolet Malibu LT 2004-2005, Malibu LTZ 2006-2007 |- |W||Chevrolet Malibu SS 2006-2007 |- |A||Pontiac G6 Sedan 2010 |- |F||Pontiac G6 2.4L Sedan (Base model) 2006, G6 Value Leader (Base model w/1SV) 2007-2008 |- |G||Pontiac G6 3.5L Sedan (Base model) 2005-2006, G6 (Base model) 2007-2009 |- |H||Pontiac G6 GT 2005-2009 |- |J||Pontiac G6 (Base model) 2009 1/2 (Mid-Cycle Revision) |- |K||Pontiac G6 GT 2009 1/2 (Mid-Cycle Revision) |- |L||Pontiac G6 GXP 2009 1/2 (Mid-Cycle Revision) |- |M||Pontiac G6 GTP 2006-2007, G6 GXP 2008-2009 |- |R||Saturn Aura Green Line 2007-2009 |- |S||Saturn Aura XE 2007-2009 |- |V||Saturn Aura XR 2007-2008, Aura XR 2.4L 2009 |- |X||Saturn Aura XR V6 2009 |- |rowspan=6|GM F platform |rowspan=6|F||P||Chevrolet Camaro Sport Coupe 1985-2002, Convertible 1987-1992, 1994-2002 |- |S||Chevrolet Camaro Berlinetta 1985-1986 |- |S||Pontiac Firebird 1985-2002, Firebird ''Formula'' 1987-1992 |- |V||Pontiac Firebird ''Formula / Trans Am'' 1993-2002, Firebird ''Trans Am GT'' 1994 |- |W||Pontiac Firebird ''Trans Am'' 1985-1992, Firebird ''Trans Am GTA'' 1987-1992 |- |X||Pontiac Firebird ''S/E'' 1985-1986 |- |rowspan=13|GM G platform - rear-wheel drive |rowspan=13|G||Z||Chevrolet Monte Carlo 1985-1988 |- |J||Pontiac Grand Prix 1985-1987 |- |K||Pontiac Grand Prix LE 1985-1987 |- |N||Pontiac Bonneville 1985-1986 |- |P||Pontiac Grand Prix Brougham 1985-1987 |- |R||Pontiac Bonneville Brougham 1985-1986 |- |S||Pontiac Bonneville LE 1985-1986 |- |K||Oldsmobile Cutlass Salon coupe 1985-1987 |- |M||Oldsmobile Cutlass Supreme ''Brougham'' 1985-1987,<br /> Cutlass Supreme Classic ''Brougham'' 1988 |- |R||Oldsmobile Cutlass Supreme 1985-1987, Cutlass Supreme Classic 1988 |- |J||Buick Regal 1985-1987 |- |K||Buick Regal T-Type 1985-1987 |- |M||Buick Regal ''Limited'' 1985-1987 |- |rowspan=4|GM G platform - front-wheel drive |rowspan=4|G||D||1995-1999 Buick Riviera |- |R||1995-1999 Oldsmobile Aurora |- |R||2001-2002 Oldsmobile Aurora 3.5 |- |S||2001-2003 Oldsmobile Aurora 4.0 |- |rowspan=9|GM H platform |rowspan=9|H||H||Buick Le Sabre 1987 |- |P||Buick Le Sabre ''Custom'' 1986-1999 |- |R||Buick Le Sabre ''Limited'' 1986-1999 |- |C||Oldsmobile Regency 1997-1998, Eighty Eight 50th Anniversary Edition 1999 |- |N||Oldsmobile Delta 88 Royale 1986-1988, 88 Royale 1989-1995, Eighty Eight & Eighty Eight LS 1996-99 |- |Y||Oldsmobile Delta 88 Royale Brougham 1986-1988, 88 Royale Brougham 1989-91, Eighty Eight Royale LS 1992-1995, LSS 1996-1999 |- |X||Pontiac Bonneville 1987, Bonneville LE 1988-1991, Bonneville ''SE'' 1992-1999 |- |Y||Pontiac Bonneville SSE 1988-1991, Bonneville ''SSEi'' 1992-1993 |- |Z||Pontiac Bonneville LE 1987, Bonneville SE 1988-1991, Bonneville ''SSE'' 1992-1999, Bonneville ''SSEi'' 1994-1999 |- |rowspan=17|GM G platform (models formerly on H platform or their successors) |rowspan=17|H||A||Buick Lucerne ''CX'' 2010-2011 |- |B||Buick Lucerne ''CX-2'' 2010 |- |C||Buick Lucerne ''CXL'' 2010-2011 |- |D||Buick Lucerne ''CXL V6'' 2006-2009, Lucerne ''CXL Special Edition'' 2010 |- |E||Buick Lucerne ''CXS'' 2006-2008, Lucerne ''CXL-3'' 2010 |- |F||Buick Lucerne ''Super'' 2008-2009, Lucerne ''CXL-4'' 2010 |- |G||Buick Lucerne ''CXL-5'' 2010 |- |H||Buick Lucerne ''Super 1SP'' 2010 |- |J||Buick Lucerne ''CXL Premium'' 2010-2011 |- |K||Buick Lucerne ''Super 1XS'' 2010, Lucerne ''Super'' 2011 |- |P||Buick Lucerne ''CX'' 2006-2009 |- |R||Buick Lucerne ''CXL V8'' 2006-2007, Lucerne ''CXL Special Edition V8'' 2008 |- |P||Buick Le Sabre ''Custom'' 2000-2005 |- |R||Buick Le Sabre ''Limited'' 2000-2005 |- |X||Pontiac Bonneville ''SE'' 2000-2005 |- |Y||Pontiac Bonneville ''SLE'' 2000-2005 |- |Z||Pontiac Bonneville ''SSEi'' 2000-2003, Bonneville GXP 2004-2005 |- |rowspan=23|GM J platform |rowspan=23|J |- |C||Chevrolet Cavalier 1985-1994, RS Convertible 1991-1994 |- |D||Chevrolet Cavalier CS 1985-1987 |- |E||Chevrolet Cavalier Type 10 1985, RS 1986-1988,<br /> Type 10 Convertible 1985, RS Convertible 1986-1987 |- |F||Chevrolet Cavalier Z24 1986-1994, Z24 Convertible 1988-1989, 1992-1994 |- |C||Chevrolet Cavalier 1995-2005, Cavalier RS 1997-1999 |- |F||Chevrolet Cavalier LS Sedan 1995-2005, LS Coupe 2003-2005, Z24 Coupe 1995-2001,<br /> LS Convertible 1995-1997, Z24 Convertible 1998-2000 |- |H||Chevrolet Cavalier Z24 Coupe/Sedan 2002, LS Sport 2002-2005 |- |S||Chevrolet Cavalier LS Coupe 2002 |- |B||Pontiac Sunbird 1985-1989, Sunbird LE 1990-1991, Sunbird SE 1992-1993,<br /> Sunbird LE 1994 |- |C||Pontiac Sunbird LE 1985, Sunbird 1991, Sunbird LE 1992-1993 |- |D||Pontiac Sunbird SE 1985-1991, Sunbird GT 1992-1993 |- |L||Pontiac Sunbird SE 1994 |- |U||Pontiac Sunbird GT 1986-1991 |- |B||Pontiac Sunfire SE 1995-2002, Convertible 1995-2000, Sunfire 2003-2005 |- |D||Pontiac Sunfire GT 1995-2002 |- |C||Oldsmobile Firenza Base model 1985-1987, Firenza S 1985-1987, Firenza 1988 |- |D||Oldsmobile Firenza LX 1985-1987, Firenza SX 1985, Firenza LC, GT 1986-1987 |- |E||Buick Skyhawk T-Type 1985-1986 |- |S||Buick Skyhawk Custom 1985-1987, Skyhawk Sport 1986-1987, Skyhawk 1988-1989 |- |T||Buick Skyhawk Limited 1985-1987 |- |G||Cadillac Cimarron 1985-1988 |- |G, H||Toyota Cavalier (Japan only) |- |rowspan=8|GM2900 platform |rowspan=8|J||C||Saturn L-Series|2004 Saturn L300.1 |- |D||Saturn L-Series|2004 Saturn L300.2, 2005 Saturn L300 |- |L||Saturn L-Series|2004 Saturn L300.3 |- |R||Saturn L-Series|Saturn LS w/manual transmission '00/L100 w/manual transmission '01 |- |S||Saturn L-Series|Saturn LS w/automatic transmission '00/L100 w/automatic transmission '01-'02 |- |T||Saturn L-Series|Saturn LS1 w/manual transmission '00/L200 w/manual transmission '01-'03, LW200 w/manual trans. '02 |- |U||Saturn L-Series|Saturn LS1 w/automatic transmission '00/L200 w/automatic transmission '01-'03,<br> Saturn LW1 w/automatic transmission '00/LW200 w/automatic transmission '01-'03 |- |W||Saturn L-Series|Saturn LS2 '00, LW2 '00, L300 '01-'03, LW300 '01-'03 |- |rowspan=5|GM K platform |rowspan=5|K||D||Cadillac Deville 1994-1999 |- |E||Cadillac Deville D'Elegance 1997-1999 |- |F||Cadillac Deville Concours 1994-1999 |- |S||Cadillac Seville 1985-1993 / Cadillac Seville SLS 1994-1997 |- |Y||Cadillac Seville Touring Sedan / Cadillac Seville STS 1990-1997 |- |rowspan=9|GM G platform (models formerly on K platform) |rowspan=9|K||A||2010-2011 Cadillac DTS |- |D||2000-2005 Cadillac Deville, 2006-2009 Cadillac DTS, 2010-2011 DTS Luxury |- |E||2000-2005 Cadillac Deville DHS |- |F||2000-2005 Cadillac Deville DTS |- |H||2010-2011 Cadillac DTS Premium |- |P||2010-2011 Cadillac DTS Platinum |- |R||2010-2011 Cadillac DTS Livery |- |S|| 1998-2004 Cadillac Seville SLS |- |Y|| 1998-2003 Cadillac Seville STS |- |rowspan=33|GM Kappa platform |rowspan=33|M||A||Pontiac Solstice w/automatic transmission 2010 |- |B||Pontiac Solstice 2006-2007, Solstice w/manual transmission 2008-2009 |- |B||Pontiac Solstice GXP w/automatic transmission 2010 |- |C||Pontiac Solstice w/automatic transmission 2008 |- |D||Pontiac Solstice w/manual transmission 2010 |- |E||Pontiac Solstice GXP w/manual transmission 2010 |- |F||Pontiac Solstice GXP w/automatic transmission 2008 |- |G||Pontiac Solstice GXP 2007, Solstice GXP w/manual transmission 2008-2009 |- |K||Pontiac Solstice Street Edition w/manual transmission 2009 |- |N||Pontiac Solstice w/automatic transmission 2009 |- |S||Pontiac Solstice SCCA SSB Championship Edition (2.4L) 2008 |- |T||Pontiac Solstice SCCA T2 Championship Edition (2.0L Turbo) 2008 |- |T||Pontiac Solstice GXP w/automatic transmission 2009 |- |Z||Pontiac Solstice Street Edition w/automatic transmission 2009 |- |B||Saturn Sky 2007, Sky w/manual transmission 2008-2009 |- |B||Saturn Sky Redline w/automatic transmission 2010 |- |C||Saturn Sky w/automatic transmission 2008 |- |C||Saturn Sky Ruby Red (Merlot Jewel) Special Edition w/manual transmission 2009 |- |C||Saturn Sky Preferred w/automatic transmission 2010 |- |D||Saturn Sky Hydro Blue Special Edition w/manual transmission 2009 |- |E||Saturn Sky Redline w/manual transmission 2010 |- |F||Saturn Sky Redline w/automatic transmission 2008 |- |F||Saturn Sky Preferred w/manual transmission 2010 |- |G||Saturn Sky Redline 2007, Sky Redline w/manual transmission 2008-2009 |- |H||Saturn Sky Redline Ruby Red (Merlot Jewel) Special Edition w/manual transmission 2009 |- |L||Saturn Sky Redline Hydro Blue Special Edition w/manual transmission 2009 |- |N||Saturn Sky w/automatic transmission 2009 |- |P||Saturn Sky Ruby Red (Merlot Jewel) Special Edition w/automatic transmission 2009 |- |R||Saturn Sky Hydro Blue Special Edition w/automatic transmission 2009 |- |T||Saturn Sky Redline w/automatic transmission 2009 |- |V||Saturn Sky Redline Ruby Red (Merlot Jewel) Special Edition w/automatic transmission 2009 |- |X||Saturn Sky Redline Hydro Blue Special Edition w/automatic transmission 2009 |- |G||Opel GT 2007-2010, Daewoo G2X 2007-2009 |- |rowspan=8|GM L platform |rowspan=8|L |- |D||Chevrolet Corsica ''Base'' 1994-1996 |- |T||Chevrolet Corsica ''Base'' 1987-1989, Corsica ''LT'' 1990-1993 |- |V||Chevrolet Beretta ''Base'' 1987-1996 |- |W||Chevrolet Beretta "GT" 1989-1993 (RPO Z21) & Beretta ''Z26'' 1994-1996 (RPO Z04) |- |Z||Chevrolet Corsica ''LTZ'' 1989-1990 (RPO Z54) |- |Z||Chevrolet Beretta "GTZ" 1990-1993 (RPO Z04) |- |T||Pontiac Tempest (Canada only) |- |rowspan=5|GM M platform |rowspan=5|M||R||Chevrolet Sprint |- |R||Geo Metro LSi, Metro |- |R||Pontiac Firefly (Canada only) |- |S||Chevrolet Sprint ER |- |S||Geo Metro, Metro XFi |- |rowspan=32|GM N platform |rowspan=32|N |- |B||Oldsmobile Cutlass 1997, Cutlass ''GL'' 1998-1999 |- |C||Buick Skylark 4-door ''Custom'' 1987-1991 |- |D||Buick Skylark 4-door ''Limited'' 1987-1989, Skylark 4-door ''Luxury Edition'' 1990-1991 |- |D||Chevrolet Malibu 1997-2003, Chevrolet Classic 2004-2005 |- |E||Chevrolet Malibu ''LS'' 1997-2003 |- |E||Pontiac Grand Am 1985-1988, Grand Am ''LE'' 1989-1991 |- |E||Pontiac Grand Am ''SE'' 1992-2005 |- |F||Oldsmobile Calais 1985-1987, Cutlass Calais 1988, Cutlass Calais ''S'' 1989-1991 |- |F||Oldsmobile Achieva ''SL'' 1992-1994, Achieva ''SC'' 1994 |- |F||Oldsmobile Alero ''GLS'' 1999-2004 |- |F||Pontiac Grand Am ''SE1'' 2000-2004 |- |G||Oldsmobile Cutlass ''GLS'' 1997-1999 |- |G||Pontiac Grand Am 1991 |- |G||Pontiac Grand Am ''SE2'' 2000, 2003-2004 |- |J||Buick Somerset Regal 1985, Somerset ''Custom'' 1986-1987, Skylark 2-door ''Custom'' 1988-91, Skylark 4-door ''Custom'' 1986 |- |J||Buick Skylark 1992, Skylark ''Limited'' 1993-1994, Skylark ''Custom'' 1996-1998,<br /> Skylark ''Limited'' & ''Gran Sport'' 1996-1997 |- |K||Buick Somerset ''T-Type'' 1986 |- |K||Oldsmobile Cutlass Calais ''International Series'' 1988-1991 |- |K||Oldsmobile Alero ''GX'' 1999-2004 |- |L||Oldsmobile Cutlass Calais 1989-1991 |- |L||Oldsmobile Achieva ''S'' 1992-1995, Achieva ''SL'' 1996-1998, Achieva ''SC'' 1996-1997 |- |L||Oldsmobile Alero ''GL'' 1999-2004 |- |M||Buick Somerset Regal ''Limited'' 1985, Somerset ''Limited'' 1986-'87, Skylark 2-door ''Limited'' '88-'89, Skylark 2-door ''Gran Sport'' 1990-1991, Skylark 4-door ''Limited'' 1986 |- |M||Buick Skylark ''Gran Sport'' 1992-1994 |- |T||Oldsmobile Calais ''Supreme'' 1985-1987, Cutlass Calais ''SL'' 1988-1991 |- |V||Buick Skylark 1990-1991 |- |V||Buick Skylark ''Custom'' 1993-1995, ''Limited'' 1995, ''Gran Sport'' 1995 |- |V||Pontiac Grand Am ''LE'' 1985-1988 |- |V||Pontiac Grand Am ''GT1'' 2000-2005 |- |W||Pontiac Grand Am ''SE'' 1986-1991 |- |W||Pontiac Grand Am ''GT'' 1992-2005 |- |rowspan=5|GM P platform - rear-wheel drive |rowspan=5|P |- ||E||Pontiac Fiero ''Coupe'' 1985-1988 |- ||F||Pontiac Fiero ''SE'' 1985-1987 |- ||G||Pontiac Fiero ''GT'' 1985-1988 |- ||M||Pontiac Fiero ''Sport coupe'' 1985-1987 |- |rowspan=1|GM P platform - front-wheel drive |rowspan=1|P||X||General Motors EV1 1997, 1999 |- |rowspan=6|GM R platform |rowspan=6|R |- ||F||1985-1986 Chevrolet Spectrum |- ||F||1987-1988 Chevrolet Spectrum 3-door hatchback, 1989 Geo Spectrum 3-door hatchback |- ||F||1990-1993 Geo Storm |- ||G||1987-1988 Chevrolet Spectrum 4-door sedan, 1989 Geo Spectrum 4-door sedan |- ||T||1990-1993 Geo Storm GSi |- |rowspan=8|GM S platform |rowspan=8|S||K||1985-1988 Chevrolet Nova |- |K||1989-1997 Geo Prizm, 1998-2002 Chevrolet Prizm |- |L||1988 Chevrolet Nova Twin Cam, 1990-1992 Geo Prizm GSi |- |L||2003-2008 Pontiac Vibe, 2009-2010 Pontiac Vibe FWD w/manual transmission |- |M||2003-2006 Pontiac Vibe ''AWD'', 2009-2010 Pontiac Vibe AWD w/automatic transmission |- |N||2003-2006 Pontiac Vibe ''GT'', 2009-2010 Pontiac Vibe GT FWD w/manual transmission |- |P||2009-2010 Pontiac Vibe FWD w/automatic transmission |- |R||2009-2010 Pontiac Vibe GT FWD w/automatic transmission |- |rowspan=32|GM Sigma platform |rowspan=32|D||A||Cadillac CTS Base model RWD 2010-2013, CTS Coupe Base model RWD 2014 |- |B||Cadillac CTS Wagon Luxury Collection RWD 2014 |- |C||Cadillac CTS Base model AWD 2010-2013, CTS Coupe/Wagon Performance Collection RWD 2014 |- |D||Cadillac CTS Coupe/Wagon Premium Collection RWD 2014 |- |E||Cadillac CTS Luxury Collection RWD 2010-2013, CTS Coupe Base model AWD 2014 |- |F||Cadillac CTS Auto. Trans. RWD 2008-2009, CTS Luxury Collection RWD w/Navigation 2010-2013, CTS Wagon Luxury Collection AWD 2014 |- |G||Cadillac CTS Auto. Trans. AWD 2008-2009, CTS Luxury Collection AWD 2010-2013, CTS Coupe/Wagon Performance Collection AWD 2014 |- |H||Cadillac CTS Auto. Trans. AWD w/Navigation 2008-2009, CTS Luxury Collection AWD w/Navigation 2010-2013, CTS Coupe/Wagon Premium Collection AWD 2014 |- |J||Cadillac CTS Auto. Trans. RWD w/Navigation 2008-2009, CTS Performance Collection RWD 2010-2013 |- |K||Cadillac CTS Performance Collection RWD w/Navigation 2010-2013 |- |L||Cadillac CTS Performance Collection AWD 2010-2013 |- |M||Cadillac CTS V6 2003-2004, CTS 2.8L 2005-2007, CTS Man. Trans. RWD 2008-2009, CTS Performance Collection AWD w/Navigation 2010-2013 |- |N||Cadillac CTS V-Series 2004-2007, 2009 |- |P||Cadillac CTS 3.6L 2005-2007, CTS Direct Inj. V6 Man. Trans. RWD 2008-2009, CTS Premium Collection RWD w/Navigation 2010-2013 |- |R||Cadillac CTS Direct Inj. V6 Auto. Trans. RWD 2008 |- |S||Cadillac CTS Direct Inj. V6 Auto. Trans. AWD 2008-2009, CTS Premium Collection AWD w/Navigation 2010-2013 |- |T||Cadillac CTS Direct Inj. V6 Auto. Trans. AWD w/Navigation 2008-2009 |- |U||Cadillac CTS Direct Inj. V6 Auto. Trans. RWD 2009 |- |V||Cadillac CTS Direct Inj. V6 Auto. Trans. RWD w/Navigation 2008-2009, CTS sedan V-Series 2010-2014, CTS Wagon V-Series 2011-2014, CTS Coupe V-Series 2011-2015 |- |0||Cadillac CTS Sport Appearance Pkg. 2010 |- |1||Cadillac CTS Eco Luxury Pkg. 2010 |- |2||Cadillac CTS Sport Appearance Pkg. 2011 |- |A||Cadillac STS V6 AWD 2008-2009 |- |B||Cadillac STS V8 AWD 2008-2009 |- |C||Cadillac STS V8 2005-2007, STS V8 RWD 2008-2009 |- |D||Cadillac STS V6 AWD w/Navigation 2008-2009 |- |K||Cadillac STS V6 RWD w/Navigation 2008-2009 |- |L||Cadillac STS V8 AWD w/Navigation 2008-2009 |- |U||Cadillac STS (all models) 2010, STS (Base model) 2011 |- |W||Cadillac STS V6 2005-2007, STS V6 RWD 2008-2009, STS Luxury 2011 |- |X||Cadillac STS V-Series 2006-2009, STS Luxury Performance 2011 |- |Z||Cadillac STS V8 RWD w/Navigation 2008-2009 |- |rowspan=4|GM T platform - rear-wheel drive |rowspan=4|T||B|| 1985-1987 Chevrolet Chevette CS |- |B||1985-1987 Pontiac Acadian (Canada only) |- |J||1985 Pontiac Acadian Scooter (Canada only) |- |L||1985-1987 Pontiac 1000 |- |rowspan=4|GM T platform - front-wheel drive |rowspan=4|T||N|| Pontiac LeMans 1988, LeMans LE 1989-1991, LeMans SE 1992-1993 |- |R||1988-1989 Pontiac LeMans SE sedan |- |S||1988-1990 Pontiac LeMans GSE AeroCoupe |- |X||1988-1993 Pontiac LeMans VL AeroCoupe |- |rowspan=3|GM T platform - front-wheel drive |rowspan=3|A |- |R||Saturn Astra XE (US: 2008, Canada: 2008-2009) |- |T||Saturn Astra XR (US: 2008, Canada: 2008-2009) |- |rowspan=4|Daewoo T200 platform |rowspan=4|T||D||Chevrolet Aveo Special Value 2004-2008, Base model 2004, LS 2005-2011, Aveo 1LT 2009-2011 |- |G||Chevrolet Aveo LT 2005-2008, Aveo 2LT 2009-2011 |- |J||Chevrolet Aveo LS 2004 |- |D||Pontiac G3 2009 |- |rowspan=2|GM V platform - front-wheel drive |rowspan=2|V||R||1987-1992 Cadillac Allanté with standard removable hardtop |- |S||1990-1993 Cadillac Allanté |- |rowspan=2|GM V platform - rear-wheel drive |rowspan=2|V||R||1997-2001 Cadillac Catera |- |X||2004-2006 Pontiac GTO coupe |- |rowspan=49|GM W platform |rowspan=49|W |- |A||Chevrolet Impala ''LS'' 2010-2013, Impala Limited ''LS'' 2014-2016 |- |B||Chevrolet Impala ''LS'' 2006-2009, Impala ''LT'' 2010-2013, Impala Limited ''LT'' 2014-2016 |- |C||Chevrolet Impala ''LT'' 3.9L 2006-2009, Impala ''LTZ'' 2010-2013, Impala Limited ''LTZ'' 2014-2016 |- |D||Chevrolet Impala ''SS'' 2006-2009, Impala ''Police'' 2010-2013, Impala Limited ''Police'' 2014-2016 |- |E||Chevrolet Impala ''Taxi'' 2010-2012 |- |F||Chevrolet Impala 2000-2005, Impala ''LS'' Fleet (1FL) 2011-2013 |- |G||Chevrolet Impala ''LT'' Fleet (2FL) 2011-2013 |- |H||Chevrolet Impala ''LS'' 2000-2005 |- |J||Chevrolet Monte Carlo ''LS'' 2006-2007 |- |K||Chevrolet Monte Carlo ''LT'' 3.9L 2006, Monte Carlo ''LT'' 3.5L 2007 |- |L||Chevrolet Lumina 1990-2001, Lumina ''LS'' 1997-1999 |- |L||Chevrolet Monte Carlo ''SS'' 2006-2007 |- |M||Chevrolet Monte Carlo ''LT'' 3.5L 2006 |- |N||Chevrolet Lumina ''Euro'' 1990-1994, Lumina ''LS'' 1995-1996, Lumina ''LTZ'' 1997-1999 |- |N||Chevrolet Monte Carlo ''LTZ'' 2006 |- |P||Chevrolet Lumina ''Z34'' 1991-1994, Impala ''SS'' 2004-2005 |- |S||Chevrolet Impala ''Police'' 2006-2009 |- |T||Chevrolet Impala ''LT'' 3.5L 2006-2009 |- |U||Chevrolet Impala ''LTZ'' 2006-2009 |- |V||Chevrolet Impala ''50th Anniversary Edition'' 2008 |- |W||Chevrolet Monte Carlo ''LS'' 1995-2005 |- |X||Chevrolet Monte Carlo ''Z34'' 1995-1999, Monte Carlo ''SS'' 2000-2004, Monte Carlo ''LT'' 2005 |- |Z||Chevrolet Monte Carlo ''SS Supercharged'' 2004-2005 |- |C||Pontiac Grand Prix ''GXP'' 2005-2008 |- |H||Pontiac Grand Prix ''LE'' 1991-1993 |- |J||Pontiac Grand Prix 1988-1989, Grand Prix ''LE'' 1990, Grand Prix ''SE'' 1991-2000 |- |K||Pontiac Grand Prix ''LE'' 1988-1989, Grand Prix ''SE1'' 2000-2003 |- |P||Pontiac Grand Prix ''SE'' 1988-1990, Grand Prix ''GT'' 1991-1993, 1997-2003,<br /> Grand Prix ''GT1'' 2004, Grand Prix 2005-2008 |- |R||Pontiac Grand Prix ''GTP'' 1999-2005, Grand Prix ''GT'' 2006-2007 |- |S||Pontiac Grand Prix ''GT2'' 2004, Grand Prix ''GT'' 2005 |- |T||Pontiac Grand Prix ''STE'' 1990-1993 |- |H||Oldsmobile Cutlass Supreme 1988-1991, Cutlass Supreme ''S'' 1992-1994,<br /> Cutlass Supreme ''SL'' 1995-1997, Intrigue 1998, Intrigue ''GX'' 1999-2002 |- |R||Oldsmobile Cutlass Supreme ''International Series'' 1988-1993 |- |S||Oldsmobile Cutlass Supreme ''SL'' 1988-1991, Intrigue ''GL'' 1998-2002 |- |T||Oldsmobile Cutlass Supreme Convertible 1990-1995 |- |X||Oldsmobile Intrigue ''GLS'' 1998-2002 |- |B||Buick Regal ''Custom'' 1988-1996, Regal ''GS'' Coupe 1995-1996, Regal ''LS'' 1997-2004 |- |C||Buick Lacrosse ''CX'' 2005-2009 |- |D||Buick Regal ''Limited'' 1988-1996, Lacrosse ''CXL'' 2005-2009 |- |E||Buick Lacrosse ''CXS'' 2005-2008 |- |F||Buick Regal ''GS'' Coupe 1992-1994, Regal ''GS'' Sedan 1992-2004 |- |F||Buick Allure ''CX'' 2005-2009 (Canada only) |- |H||Buick Allure ''CXS'' 2005-2008 (Canada only) |- |J||Buick Allure ''CXL'' 2005-2009 (Canada only) |- |N||Buick Lacrosse ''Super'' 2008-2009 |- |P||Buick Allure ''Super'' 2008-2009 (Canada only) |- |S||Buick Century ''Custom'' 1997-2005 |- |Y||Buick Century ''Limited'' 1997-2002 |- |rowspan=3|GM X platform |rowspan=3|X||B||1985 Buick Skylark Custom |- |C||1985 Buick Skylark Limited |- |X||1985 Chevrolet Citation II |- |rowspan=39|GM Y platform |rowspan=39|Y||V||2004-2009 Cadillac XLR |- |X||2006-2009 Cadillac XLR V-Series |- |Y||1985-2008 Chevrolet Corvette (all models except '90-'95 ZR-1) |- |Z||1990-1995 Chevrolet Corvette ZR-1 |- |G||2009 Chevrolet Corvette GT1 Championship Edition (Base & Z06) |- |R||2009 Chevrolet Corvette ZR1 (after early production) |- |Y||2009 Chevrolet Corvette (Base model, Early production Z06, Early production ZR1) |- |Z||2009 Chevrolet Corvette Z06 (after early production) |- |A||2010-2013 Chevrolet Corvette Standard 1LT Man. Trans. |- |B||2010-2013 Chevrolet Corvette Preferred 2LT Man. Trans. |- |C||2010-2013 Chevrolet Corvette Premium 3LT Man. Trans. |- |D||2010-2013 Chevrolet Corvette Custom 4LT Man. Trans. |- |E||2010-2013 Chevrolet Corvette Standard 1LT Auto. Trans. |- |F||2010-2013 Chevrolet Corvette Preferred 2LT Auto. Trans. |- |G||2010-2013 Chevrolet Corvette Premium 3LT Auto. Trans. |- |H||2010-2013 Chevrolet Corvette Custom 4LT Auto. Trans. |- |J||2010-2013 Chevrolet Corvette Z06 Standard 1LZ Man. Trans. |- |K||2010-2013 Chevrolet Corvette Z06 Premium 2LZ Man. Trans. |- |L||2010-2013 Chevrolet Corvette Z06 Custom 3LZ Man. Trans. |- |M||2010-2013 Chevrolet Corvette ZR1 Standard 1ZR Man. Trans. |- |N||2010-2013 Chevrolet Corvette ZR1 Custom 3ZR Man. Trans. |- |P||2010-2013 Chevrolet Corvette Grand Sport Standard 1LT Man. Trans. |- |R||2010-2013 Chevrolet Corvette Grand Sport Preferred 2LT Man. Trans. |- |S||2010-2013 Chevrolet Corvette Grand Sport Premium 3LT Man. Trans. |- |T||2010-2013 Chevrolet Corvette Grand Sport Custom 4LT Man. Trans. |- |U||2010-2013 Chevrolet Corvette Grand Sport Standard 1LT Auto. Trans. |- |V||2010-2013 Chevrolet Corvette Grand Sport Preferred 2LT Auto. Trans. |- |W||2010-2013 Chevrolet Corvette Grand Sport Premium 3LT Auto. Trans. |- |X||2010-2013 Chevrolet Corvette Grand Sport Custom 4LT Auto. Trans. |- |Y||2013 Chevrolet Corvette 427 Convertible Collector Edition Premium 3LT Man. Trans. |- |Z||2013 Chevrolet Corvette 427 Convertible Collector Edition Custom 4LT Man. Trans. |- |1||2013 Chevrolet Corvette 60th Anniversary Edition Custom 4LT Man. Trans. |- |2||2013 Chevrolet Corvette 60th Anniversary Edition Custom 4LT Auto. Trans. |- |3||2013 Chevrolet Corvette Grand Sport 60th Anniversary Edition Custom 4LT Man. Trans. |- |4||2013 Chevrolet Corvette Grand Sport 60th Anniversary Edition Custom 4LT Auto. Trans. |- |5||2013 Chevrolet Corvette Z06 60th Anniversary Edition Custom 3LZ Man. Trans. |- |6||2013 Chevrolet Corvette ZR1 60th Anniversary Edition Custom 3ZR Man. Trans. |- |7||2013 Chevrolet Corvette 427 Convertible 60th Anniversary Edition Custom 4LT Man. Trans. |- |8||2013 Chevrolet Corvette 427 Convertible Collector Edition Preferred 2LT Man. Trans. |- |rowspan=13|GM Z platform |rowspan=13|Z |- |E||Saturn SC1 (manual transmission 2-Door) 1993-1999 |- |F||Saturn SC1 (automatic transmission 2-Door) 1993-1999, SL (manual transmission) 1991-02 |- |G||Saturn SC (manual transmission) 1991-1992, SC2 (manual transmission 2-Door) 1993-99,<br /> SL1 (manual transmission) 1991-2002, SW1 (manual transmission) 1993-1999 |- |H||Saturn SC (automatic transmission) 1991-92, SC2 (automatic transmission 2-Door) '93-'99,<br /> SL1 (automatic transmission) 1991-02, SW1 (automatic transmission LHD) '93-'99 |- |J||Saturn SL2 (manual transmission) 1991-2002, SW2 (manual transmission) 1993-2001 |- |K||Saturn SL2 (automatic transmission) 1991-2002, SW2 (automatic transmission 1993-1999) |- |M||Saturn SW1 "Postal" [SWP] (automatic transmission RHD) 1999-2001 <br>(Made for US Postal Service rural route mail carriers) |- |N||Saturn SC1 (manual transmission 3-Door) 1999-2002, SW2 (automatic transmission 2000-01) |- |P||Saturn SC1 (automatic transmission 3-Door) 1999-2002 |- |R||Saturn SC2 (manual transmission 3-Door) 1999-2002 |- |S||Saturn SL Spring Special 2002 |- |Y||Saturn SC2 (automatic transmission 3-Door) 1999-2002 |- |rowspan=3|GM Zeta platform (VE) |rowspan=3|E||C||Pontiac G8 GT |- |P||Pontiac G8 GXP |- |R||Pontiac G8 (Base model) |- |rowspan=2|GM Zeta platform (VF) |rowspan=2|F||1||2014-2017 Chevrolet SS w/automatic transmission |- |2||2015-2017 Chevrolet SS w/manual transmission |- |GM Zeta platform (WM) |M||K||2011-2013 Chevrolet Caprice PPV |- |GM Zeta platform (WN) |N||S||2014-2017 Chevrolet Caprice PPV |- |rowspan=19|GM Zeta platform (models formerly on F platform) |rowspan=19|F||A||Chevrolet Camaro ''LS'' automatic transmission 2010-2011, ''2LS'' automatic transmission 2012-2014, ''LS'' manual transmission 2015 |- |B||Chevrolet Camaro ''LT'' automatic transmission 2010-2014, ''2LS'' automatic transmission 2015 |- |C||Chevrolet Camaro ''2LT'' automatic transmission 2010-2014, ''LT'' manual transmission 2015 |- |D||Chevrolet Camaro ''LT'' automatic transmission 2015 |- |E||Chevrolet Camaro ''LS'' manual transmission 2010-2014, ''2LT'' manual transmission 2015 |- |F||Chevrolet Camaro ''LT'' manual transmission 2010-2014, ''2LT'' automatic transmission 2015 |- |G||Chevrolet Camaro ''2LT'' manual transmission 2010-2014, ''SS'' manual transmission 2015 |- |H||Chevrolet Camaro ''SS'' automatic transmission 2015 |- |J||Chevrolet Camaro ''SS'' automatic transmission 2010-2014. Note: Must have "J" in 8th position of VIN. |- |J||Chevrolet Camaro ''ZL1'' automatic transmission 2012. Note: Must have "P" in 8th position of VIN. |- |J||Chevrolet Camaro ''2SS'' manual transmission 2015 |- |K||Chevrolet Camaro ''2SS'' automatic transmission 2010-2015 |- |L||Chevrolet Camaro ''ZL1'' automatic transmission 2013-2014, ''ZL1'' manual transmission 2015 |- |M||Chevrolet Camaro ''ZL1'' automatic transmission 2015 |- |S||Chevrolet Camaro ''SS'' manual transmission 2010-2014. Note: Must have "W" in 8th position of VIN. |- |S||Chevrolet Camaro ''ZL1'' manual transmission 2012. Note: Must have "P" in 8th position of VIN. |- |S||Chevrolet Camaro ''Z/28'' manual transmission 2014. Note: Must have "E" in 8th position of VIN. |- |T||Chevrolet Camaro ''2SS'' manual transmission 2010-2014 |- |Z||Chevrolet Camaro ''ZL1'' manual transmission 2013-2014, ''Z/28'' manual transmission 2015 |- |} RHD= Right-Hand Drive ====Model Line 2010- Passenger Car (Using Vehicle Platforms introduced 2010 or later)==== The Model Line is specified as character four of the American GM VIN for Passenger Cars. {| border=1 style="margin:auto;" !VIN !Description |- |A||Cadillac ATS 2013-2019 |- |A||Cadillac CTS sedan 2014-2019, CTS V-Series sedan 2016-2019 |- |B||Chevrolet Cruze 2016-2019 |- |C||Chevrolet Spark 2013-2022, Spark EV 2014-2016 |- |D||Cadillac CT4 2020-2026 |- |D||Cadillac CT5 2020- |- |F||Chevrolet Camaro 2016-2024 |- |F||Chevrolet Bolt EV 2017-2023, Bolt EUV 2022-2023, Bolt 2027 |- |G||Buick LaCrosse 2010-2016 |- |G||Buick Regal 2011-2020, Buick Regal TourX 2018-2020 |- |J||Chevrolet Sonic 2016-2020 |- |K||Cadillac CT6 2016-2020 |- |M||Cadillac Celestiq EV 2025- |- |P||Buick Verano 2012-2017 |- |P||Chevrolet Cruze 2011-2015, Cruze Limited 2016 |- |R||Cadillac ELR 2014, 2016 |- |R||Chevrolet Volt 2011-2019 |- |W||Buick Cascada 2016-2019 |- |Y||Chevrolet Corvette 2014- |- |Z||Buick LaCrosse 2017-2019 |- |Z||Chevrolet Malibu 2016-2025 |- |1||Cadillac XTS 2013-2019 |- |1||Chevrolet Impala 2014-2020 |- |1||Chevrolet Malibu 2013-2015, Malibu Limited 2016 |- |} ===Body style codes 1987- Passenger Car=== The Body type is specified as character six of the American GM VIN for passenger cars. {| border=1 style="margin:auto;" !VIN !Description |- |1||Two-Door Coupe/Sedan |- |2||Two-Door Hatchback |- |3||Two-Door Convertible |- |4||Two-Door Wagon ('91-'92 Geo Storm Hatchback) |- |5||Four-Door Sedan |- |6||Four-Door Hatchback |- |7||Four-Door Hatchback ('89-'90 Geo Prizm hatchback) |- |8||Four-Door Station Wagon |- |9||Four-Door Station Wagon - High Roof Monocab |} ===American restraint types 1987-=== The restraint type is specified as character seven of the American GM VIN for passenger cars. {{center/top}} ====Restraint codes for passenger cars 1987-2009==== {{center/end}} {| border=1 style="margin:auto;" !VIN Code !Description |- |1||Active (Manual) belts 1987-1996 |- |2||Active (Manual) belts plus driver and passenger front airbags 1992-2005<br />(For '94-'96 Pontiac Grand Prix coupe: Passive (Automatic) belts plus driver and passenger front airbags) |- |3||Active (Manual) belts plus driver side front airbag 1988-1996 <br />(For '94 Geo Prizm: Active (Manual) belts plus driver and passenger front airbags) |- |4||Passive (Automatic) belts 1987-1996 |- |4||Active (Manual) belts plus driver and passenger front & side airbags 1997-2005 |- |4||Active (Manual) belts plus driver and passenger front & side curtain airbags 2006-2009 |- |5||Passive (Automatic) belts plus driver side front airbag 1992-1996 |- |5||Active (Manual) belts plus driver and passenger front airbags & driver-side side impact airbag 2000-2005 |- |5||Active (Manual) belts plus driver and passenger front airbags & occupant sensor 2006-2009 |- |6||Passive (Automatic) belts plus driver and passenger front airbags 1994-1996 |- |6||Active (Manual) belts plus driver and passenger front & side airbags & occupant sensor 2000-2009 |- |7||Active (Manual) belt driver & Passive (Automatic) belt passenger plus driver and passenger front airbags 1996 |- |7||Active (Manual) belts plus driver and passenger front & side airbags & rear side airbags 2000-2005 |- |7||Active (Manual) belts plus driver and passenger front & side & side curtain airbags & occupant sensor 2006-2009 |- |8||Active (Manual) belts plus driver and passenger front & side curtain airbags & occupant sensor 2006-2009 |- |9|| |} {{center/top}} ====Restraint codes for passenger cars 2010-==== {{center/end}} {| border=1 style="margin:auto;" !VIN Code !Description |- |D||Active (Manual) belts plus driver and passenger front & side airbags 2010- |- |E||Active (Manual) belts plus driver and passenger front & side & side curtain airbags 2010-2017, 2027 |- |F||Active (Manual) belts plus driver and passenger front & side curtain airbags 2010 |- |G||Active (Manual) belts plus driver and passenger front & side & rear side & side curtain airbags 2010-2017 |- |N||Active (Manual) belts plus driver and passenger front & side & front knee airbags 2016-2019 |- |R||Active (Manual) belts plus driver and passenger front & side & side curtain & front knee airbags 2012- |- |S||Active (Manual) belts plus driver and passenger front & side & rear side & side curtain & front knee airbags 2011- |- |T||Active (Manual) belts plus driver and passenger front & side & front row side curtain airbags 2011 |- |U||Active (Manual) belts plus driver and passenger front & side & front row side curtain & front knee airbags 2012-2017 |} {{center/top}} ====Restraint codes for light trucks 2010-==== {{center/end}} {| border=1 style="margin:auto;" !VIN Code !Description |- |A||Active (Manual) belts plus driver-side front airbag 2010 |- |B||Active (Manual) belts plus driver-side front airbag 2011- |- |B||Active (Manual) belts plus driver and passenger front airbags 2010 |- |C||Active (Manual) belts plus driver and passenger front airbags 2011- |- |C||Active (Manual) belts plus driver and passenger front & side airbags 2010 |- |D||Active (Manual) belts plus driver and passenger front & side airbags 2011- |- |D||Active (Manual) belts plus driver and passenger front airbags & side curtain airbags for up to 3 rows of seating 2010 |- |E||Active (Manual) belts plus driver and passenger front & side & side curtain airbags 2010- |- |F||Active (Manual) belts plus driver and passenger front airbags & side curtain airbags for up to 3 rows of seating 2011-2015 |- |F||Active (Manual) belts plus driver and passenger front & side airbags & side curtain airbags for up to 3 rows of seating 2016- |- |H||Active (Manual) belts plus driver-side front airbag & driver-side side-impact airbag & driver-side side curtain airbag 2023-2024 |- |K||Active (Manual) belts plus driver and passenger front & side & side curtain & front center airbags 2013- |- |L||Active (Manual) belts plus driver and passenger front & side & side curtain & front center & driver-side knee airbags 2017-2023 |- |M||Active (Manual) belts plus driver and passenger front & side & side curtain & front center & front knee airbags 2025- |- |R||Active (Manual) belts plus driver and passenger front & side & side curtain & front knee airbags 2017- |- |S||Active (Manual) belts plus driver and passenger front & side & rear side & side curtain & front knee airbags 2013- |- |T||Active (Manual) belts plus driver-side front airbag & driver- and passenger-side side-impact airbags & side curtain airbags 2023- |- |U||Active (Manual) belts plus driver and passenger front & side & front row side curtain & front knee airbags 2013-2019 |} ===American engine codes 1981-=== GM encodes the engine type in character 8 of the VIN. The following table outlines the various engines encoded there: ====Engine codes for passenger cars==== Warning: Issues with decoding are related to year/model combinations. Each year has a different breakdown for each code along with plants and some model/trim breakdowns over years. Entry: 1985-1988 Pontiac Fiero has a 9 engine code for the 2.8L L44 V6. Entry: 1986-1990 Cadillac Brougham, Oldsmobile 307 Cu. In. V8 vin code Y. {| border=1 style="margin:auto;" !VIN !RPO !Size !Type !Fuel !Valvetrain !Engine Family/Notes/Applications |- |A||LD5||3.8&nbsp;L||V6||2 Barrel Carburetor |2BBL||OHV||Buick V6. (231 cu. in.) '81 Chevy Camaro (CA), Pontiac Catalina, Firebird, LeMans, Buick Century,<br /> '81-'83 Chevy Malibu (CA), '81-'84 Monte Carlo, Caprice, Impala (CA), '81-'87 Pontiac Grand Prix, Oldsmobile Cutlass/Cutlass Supreme, Buick Regal, '81-'85 Oldsmobile Delta 88, Buick LeSabre,<br /> '81-'86 Pontiac Bonneville, '84 Parisienne |- |A||LG0||2.3&nbsp;L||Straight-4|I4||Fuel injection#Multi-port fuel injection|MFI||DOHC,<br /> 16 valve||Oldsmobile Quad 4 H.O. '89-'94 Pontiac Grand Am, '89-'91 Oldsmobile Cutlass Calais, '92-'94 Achieva, '90 Cutlass Supreme, '90-'94 Chevy Beretta |- |A||LH2||4.6&nbsp;L||V8||Fuel injection#Sequential Multi-port injection|SFI||DOHC,<br /> 32 valve||Cadillac Northstar V8 (For RWD) (Premium V). '04-'09 Cadillac XLR, '05-'10 Cadillac STS |- |A||LCV||2.5&nbsp;L||Straight-4|I4||Direct Injection|DI||DOHC,<br /> 16 valve||GM Ecotec engine, Gen III. VVT. '13 Chevy Malibu, '16 Malibu Limited, '16-'19 Impala,<br /> '13-'16 Cadillac ATS |- |A||LV7||1.4&nbsp;L||Straight-4|I4||Fuel injection#Multi-port fuel injection|MFI||DOHC,<br /> 16 valve||GM Small Gasoline Engine. VVT. Made in Changwon, S. Korea. '16-'22 Chevy Spark. |- |B||LG2||3.8&nbsp;L||V6||Fuel injection#Sequential Multi-port injection|SFI||OHV||Buick V6. '86 Oldsmobile 98, Toronado, Buick Electra, Riviera. |- |B||L26||4.9&nbsp;L||V8||Fuel injection#Multi-port fuel injection|MFI||OHV||Cadillac High Technology V8.<br /> '91-'93 Cadillac Eldorado, Seville, '91-'95 DeVille, '91-'92 Fleetwood, '91-'93 Sixty Special |- |B||LE5||2.4&nbsp;L||Straight-4|I4||Fuel injection#Multi-port fuel injection|MFI||DOHC,<br /> 16 valve||GM Ecotec Gen II. VVT. '06-'08 Chevy Cobalt, '06-'07 Saturn Ion, '06-'10 Pontiac G6, Solstice,<br /> '07-'08 Pontiac G5, '07-'10 Saturn Sky, '08-'09 Saturn Aura, '08-'10 Chevy Malibu |- |B||LUV||1.4L||I4 Turbo||Fuel injection#Sequential Multi-port fuel injection|SFI||DOHC,<br /> 16 valve||GM Family 0 Engine, Gen III. VVT. '12-'20 Chevy Sonic, '13-'15 Chevy Cruze, '16 Cruze Limited |- |C||L17||1.6&nbsp;L||Straight-4|I4||2 Barrel Carburetor |2BBL||SOHC,<br /> 8 valve||Isuzu G161Z engine made by GM in US. '82-'87 Chevy Chevette, Pontiac T1000/1000 |- |C||LN3||3.8&nbsp;L||V6||Fuel injection#Multi-port fuel injection|MFI||OHV||Buick V6 (3800). '88-'90 Oldsmobile 98, Toronado, Buick Electra, Riviera, Reatta, <br /> '88-'91 Buick LeSabre, Oldsmobile Delta 88/Eighty Eight, Pontiac Bonneville |- |C||L47||4.0&nbsp;L||V8||Fuel injection#Sequential Multi-port injection|SFI||DOHC,<br /> 32 valve||Oldsmobile Aurora V8 (Premium V). Oldsmobile Aurora '95-'99, Aurora 4.0 '01-'03 |- |C||LS4||5.3 L||V8||Fuel injection#Sequential Multi-port injection|SFI||OHV||Gen IV Chevrolet Small-Block V8. Aluminum Block & Heads. Active Fuel Management.<br /> Transversely mounted for FWD. '05-'08 Pontiac Grand Prix GXP, '06-'07 Chevy Monte Carlo SS,<br /> '06-'09 Chevy Impala SS, '08-'09 Buick LaCrosse Super. |- |C||LAF||2.4&nbsp;L||Straight-4|I4||Direct Injection|DI||DOHC,<br /> 16 valve||GM Ecotec engine, Gen II. VVT. Buick LaCrosse '10-'11, Regal '11. |- |C||LUJ||1.4L||I4 Turbo||Fuel injection#Sequential Multi-port fuel injection|SFI||DOHC,<br /> 16 valve||GM Family 0 Engine, Gen III. VVT. Early production engines were made in Aspern, Austria; later made in Flint, MI. '12 Chevy Cruze |- |D||LJ5||1.8&nbsp;L||Straight-4|I4||Indirect injection Diesel||SOHC,<br /> 8 valve||Isuzu 4FB1 diesel engine imported from Japan. '81-'86 Chevy Chevette |- |D||LD2||2.3&nbsp;L||Straight-4|I4||Fuel injection#Multi-port fuel injection|MFI||DOHC,<br /> 16 valve||Oldsmobile Quad 4. '88-'95 Pontiac Grand Am, '88-'91 Oldsmobile Cutlass Calais, '92-'95 Achieva,<br /> '88-'91 &'95 Buick Skylark, '90-'91 Pontiac Grand Prix, Oldsmobile Cutlass Supreme,<br /> '95 Chevy Cavalier, Pontiac Sunfire |- |D||LC3||4.4&nbsp;L||V8 Supercharged||Fuel injection#Sequential Multi-port point injection|SFI||DOHC,<br /> 32 valve||Cadillac Northstar V8 (Premium V). '06-'09 Cadillac XLR V-Series, Cadillac STS V-Series |- |E||LK9||3.0&nbsp;L||V6||2 Barrel Carburetor |2BBL||OHV||Buick V6. '82-'85 Oldsmobile Cutlass Ciera, Buick Century, '85 Oldsmobile 98, Buick Electra |- |E||LA1||3.4&nbsp;L||V6||Fuel injection#Sequential Multi-port point injection|SFI||OHV||Chevrolet 60° V6. '99-'05 Grand Am, '99-'04 Alero, '00-'05 Impala, Monte Carlo |- |E||L03||5.0&nbsp;L||V8||Fuel injection#Throttle Body injection|TBI||OHV||Gen I Chevy Small-Block V8 (305 cu. in.). '88-'92 Camaro/Firebird, '89-'93 Chevy Caprice,<br /> '91 Buick Roadmaster Estate wagon, '91-'92 Oldsmobile Custom Cruiser, Cadillac Brougham. |- |E||LXV||1.6&nbsp;L||Straight-4|I4||Fuel injection#Multi-port fuel injection|MFI||DOHC,<br /> 16 valve||Family 1 Gen 3 engine. W/VVT. '09-'11 Chevy Aveo, '09 Pontiac G3 |- |E||LS7||7.0&nbsp;L||V8||Fuel injection#Sequential Multi-port point injection|SFI||OHV||Gen IV Chevy Small-Block V8. Aluminum Block & Heads.<br /> '06-'13 Corvette Z06, '13 Corvette 427, '14-'15 Camaro Z/28 |- |E||LH7||1.6&nbsp;L||I4 Turbo||Direct injection <br /> Common-rail Diesel||DOHC,<br /> 16 valve||GM Medium Diesel engine ("Whisper Diesel"). Made by Opel in Szentgotthárd, Hungary.<br /> Aluminum Block & Heads. '17-'19 Chevy Cruze Diesel. |- |F||LV8||4.3&nbsp;L||V8||2 Barrel Carburetor |2BBL||OHV||Oldsmobile "Rocket" V8 (260 cu. in.) '81 Oldsmobile Cutlass, Delta 88. |- |F||L61||2.2&nbsp;L||Straight-4|I4||Fuel injection#Multi-port fuel injection|MFI||DOHC,<br /> 16 valve||GM Ecotec Gen I. '00-'04 Saturn L-Series, '02-'05 Chevy Cavalier, Pontiac Sunfire, Grand Am,<br /> '02-'04 Oldsmobile Alero, '03-'06 Saturn Ion, '04-'06 Chevy Malibu, '05-'06 Chevy Cobalt |- |F||L61||2.2&nbsp;L||Straight-4|I4||Fuel injection#Multi-port fuel injection|MFI||DOHC,<br /> 16 valve||GM Ecotec Gen II. '07-'08 Chevy Cobalt, Malibu, Pontiac G5, '07 Saturn Ion. |- |F||LB9||5.0&nbsp;L||V8||Tuned-port fuel injection|TPI||OHV||Gen I Chevy Small-Block V8. (305 cu. in.). '85-'92 Chevy Camaro, Pontiac Firebird. |- |G||L46||1.8&nbsp;L||I4||2 Barrel Carburetor |2BBL||OHV||Chevrolet "122" engine. '82 J-cars. |- |G||L69||5.0&nbsp;L||V8||4 Barrel Quadrajet Carburetor |4BBL||OHV||Gen I Chevy Small-Block V8 (High Output 5.0L). (305 cu. in.)<br /> '84-'86 Camaro/Firebird, '84-'88 Chevy Monte Carlo SS |- |G||LM3||2.2&nbsp;L||I4||Fuel injection#Throttle Body injection|TBI||OHV||Chevrolet "122" engine. '90-'91 Chevy Cavalier & Corsica/Beretta. |- |G||LS1||5.7&nbsp;L||V8||Fuel injection#Multi-port fuel injection|MFI||OHV||Gen III Chevy Small-Block V8. (346 cu. in.) Aluminum Block & Heads.<br /> '97-'04 Corvette, '98-'02 Camaro/Firebird, '04 Pontiac GTO |- |G||LF1||3.0L||V6||Direct Injection|DI||DOHC,<br /> 24 valve||GM High Feature V6. VVT. 2010 Buick LaCrosse, Cadillac CTS |- |G||LWE||1.8&nbsp;L||Straight-4|I4||Fuel injection#Sequential Multi-port fuel injection|SFI||DOHC,<br /> 16 valve||GM Family 1 engine, Gen III. VVT. PZEV emissions.<br /> '13-'15 Chevy Cruze, '16 Cruze Limited, '13-'18 Sonic. |- |H||LG4||5.0&nbsp;L||V8||4 Barrel Quadrajet Carburetor |4BBL||OHV||Gen I Chevy Small-Block V8. (305 cu. in.) '81-'87 F-bodies, '81-'83 Chevy Malibu, '81-'85 Impala,<br /> '81-'88 Caprice, Monte Carlo, '83-'86 Pontiac Bonneville, Parisienne, '83-'87 Grand Prix |- |H||LE4||2.0&nbsp;L||Straight-4|I4||Fuel injection#Multi-port fuel injection|MFI||SOHC,<br /> 8 valve||GM Family II engine. Made in Brazil. '92-'94 Pontiac Sunbird. |- |H||LX5||3.5&nbsp;L||V6||Fuel injection#Sequential Multi-port injection|SFI||DOHC,<br /> 24 valve||Oldsmobile "Shortstar" V6 (Premium V). Oldsmobile Intrigue '99-'02, Aurora 3.5 '01-'02. |- |H||LAP||2.2&nbsp;L||Straight-4|I4||Fuel injection#Multi-port fuel injection|MFI||DOHC,<br /> 16 valve||GM Ecotec Gen II. VVT. '09 Chevy Cobalt, Pontiac G5. |- |H||LUW||1.8&nbsp;L||Straight-4|I4||Fuel injection#Sequential Multi-port fuel injection|SFI||DOHC,<br /> 16 valve||GM Family 1 engine, Gen III. VVT. '11-'15 Chevy Cruze, '16 Cruze Limited, '12-'18 Sonic. |- |J||L39||4.4&nbsp;L||V8||2 Barrel Carburetor |2BBL||OHV||Gen I Chevy Small-Block V8 (267 cu. in.) '81-'82 Chevy Caprice, Impala, Malibu, Monte Carlo,<br /> '81 Chevy Camaro |- |J||LA5||1.8&nbsp;L||Straight-4|I4 Turbo||Fuel injection#Multi-port fuel injection|MFI||SOHC,<br /> 8 valve||GM Family II engine. Made in Brazil. '84-'86 Pontiac Sunbird, Buick Skyhawk. |- |J||LT5||5.7&nbsp;L||V8||Fuel injection#Multi-port fuel injection|MFI||DOHC,<br /> 32 valve||Based on Chevy Small-Block V8. Designed with Lotus Engineering.<br /> Made by Mercury Marine. Aluminum Block & Heads. '90-'95 Corvette ZR-1 |- |J||LG8||3.1&nbsp;L||V6||Fuel injection#Sequential Multi-port injection|SFI||OHV||Chevrolet 60° V6. Gen III. 3100. '99-'03 Chevy Malibu, '99 Oldsmobile Cutlass, '00-'01 Chevy Lumina,<br /> '00-'03 Pontiac Grand Prix SE, '00-'05 Buick Century |- |J||L99||6.2&nbsp;L||V8||Fuel injection#Sequential Multi-port injection|SFI||OHV||Gen IV Chevy Small-Block V8. VVT. With Active Fuel Management. Aluminum Block & Heads.<br /> '10-'15 Camaro SS (auto. trans.) |- |J||LTA||4.2&nbsp;L||V8 Twin Turbo||Direct injection|DI||DOHC,<br /> 32 valve||Cadillac Blackwing V8. VVT. '19-'20 Cadillac CT6 Platinum & V-series |- |K||LC3||3.8&nbsp;L||V6||2 Barrel Carburetor |2BBL||OHV||Chevrolet 90° V6 (Chevy Small-Block V8 Derived). 229 cu. in. <br /> '81-'82 Malibu, Monte Carlo, Impala, Caprice, '81 Camaro. |- |K||LC5||1.5&nbsp;L||I4||2 Barrel Carburetor |2BBL||SOHC,<br /> 8 valve||Isuzu 4XC1 engine. '85 Chevrolet Spectrum. |- |K||LT2||2.0&nbsp;L||Straight-4|I4||Fuel injection#Throttle Body injection|TBI||SOHC,<br /> 8 valve||GM Family II engine. Made in Brazil.<br /> '87-'91 Pontiac Sunbird, '87-'88 Oldsmobile Firenza, Buick Skyhawk. |- |K||LT2||2.0&nbsp;L||Straight-4|I4||Fuel injection#Throttle Body injection|TBI||SOHC,<br /> 8 valve||GM Family II engine. Made in Australia by Holden.<br /> '89-'90 Pontiac LeMans GSE Aerocoupe, '89 LeMans SE sedan |- |K||L36||3.8&nbsp;L||V6||Fuel injection#Sequential Multi-port injection|SFI||OHV||Buick V6 (3800 Series II). '95-'05: Various W-, H-, C-, & G-body models. '95-'02 Camaro/Firebird. |- |K||LZE||3.5L||V6||Fuel injection#Sequential Multi-port injection|SFI||OHV||GM High Value 60° V6. 3510cc. VVT. Flex-Fuel E85 compatible.<br /> '06-'07 Chevy Monte Carlo, '06-'11 Chevy Impala, '09-'10 Chevy Malibu, Pontiac G6 |- |K||LEA||2.4&nbsp;L||Straight-4|I4||Direct Injection|DI||DOHC,<br /> 16 valve||E85 Flex Fuel. GM Ecotec engine, Gen II. VVT. Buick Regal, Verano '12-'17 (except '13 Regal). |- |K||LSY||2.0&nbsp;L||Straight-4|I4 Turbo||Direct Injection|DI||DOHC,<br /> 16 valve||GM Ecotec engine, Gen III. Active Fuel Management. VVT. VVL.<br /> '19 Cadillac CT6, '20+ Cadillac CT4, CT5 |- |L||LM1||5.7&nbsp;L||V8||4 Barrel Carburetor |4BBL||OHV||Gen I Chevy Small-Block V8.<br> '81 Camaro Z28 (only w/auto. trans. in US), '81-'82 Impala 9C1 Police, '81 Malibu 9C1 Police |- |L||LL1||2.8&nbsp;L||V6||2 Barrel Carburetor |2BBL||OHV||Chevrolet 60° V6 H.O. (longitudinally mounted). '83-'84 Pontiac Firebird. |- |L||LN7||3.0&nbsp;L||V6||Fuel injection#Multi-port fuel injection|MFI||OHV||Buick V6. '85-'87 Pontiac Grand Am, '85-'88 Oldsmobile & Buick N-bodies,<br /> '86 Oldsmobile Delta 88, Buick LeSabre |- |L||L27||3.8&nbsp;L||V6||Fuel injection#Tuned port injection|TPI||OHV||Buick V6 (3800 Series I). '90-'95 Buick Regal, '91-'94 Oldsmobile 98, Buick Park Avenue, '91 Reatta, '91-'93 Riviera, '91-'92 Oldsmobile Toronado, '92-'95 Buick LeSabre, '92-'94 Pontiac Bonneville, Oldsmobile 88 |- |L||LNK||1.8&nbsp;L||Straight-4|I4||Fuel injection#Sequential multi-port injection|SFI||DOHC,<br /> 16 valve||Toyota 2ZZ-GE engine. VVTL-i. '03-'06 Pontiac Vibe GT |- |L||LKW||2.5&nbsp;L||Straight-4|I4||Direct Injection|DI||DOHC,<br /> 16 valve||GM Ecotec engine, Gen III. VVT. VVL. '14-'15 Chevy Malibu, Impala |- |L||L3B||2.7L||I4 Turbo||Direct Injection|DI||DOHC,<br /> 16 valve||GM L3B Tripower engine. VVT, VVL. Active Fuel Management. '20+ Cadillac CT4, CT4-V |- |M||LY9||1.0&nbsp;L||Straight-3|I3||2BBL||SOHC,<br /> 6 valve ||Suzuki G10A engine. '85 Chevrolet Sprint |- |M||LT3||2.0&nbsp;L||Straight-4|I4 Turbo||Fuel injection#Multi-port fuel injection|MFI||SOHC,<br /> 8 valve||GM Family II engine. Made in Brazil.<br /> '87-'90 Pontiac Sunbird, '87 Buick Skyhawk T-Type, '87-'89 Pontiac Grand Am SE. |- |M||L82||3.1&nbsp;L||V6||Fuel injection#Sequential Multi Port Fuel injection|SFI||OHV||Chevrolet 60° V6 (transversely mounted). Gen III. 3100. '93-'97 Oldsmobile Cutlass Supreme,<br /> '94-'98 Pontiac Grand Am, Oldsmobile Achieva, Buick Skylark, '94-'99 Pontiac Grand Prix,<br /> '94-'96 Chevy Corsica/Beretta, Oldsmobile Cutlass Ciera, Buick Regal, '94-'99 Century,<br /> '95-'99 Chevy Lumina, Monte Carlo, '97-'99 Chevy Malibu, Oldsmobile Cutlass |- |M||LY9||2.6&nbsp;L||V6||Fuel injection#Multi-port fuel injection|MFI||DOHC,<br /> 24 valve||Opel 54° V6 engine (Made in the UK). Euro-market Cadillac CTS '03-'04. |- |M||LGD||3.9L||V6||Fuel injection#Sequential Multi Port Fuel injection|SFI||OHV||E85 Flex Fuel. GM High Value 60° V6. VVT. '09-'11 Chevy Impala, Buick Lucerne |- |M||LE2||1.4&nbsp;L||Straight-4|I4 Turbo||Direct Injection|DI||DOHC,<br /> 16 valve||GM Small Gasoline Engine. VVT. '16-'19 Chevy Cruze. |- |N||LF9||5.7&nbsp;L||V8||Indirect injection Diesel||OHV||Oldsmobile Diesel V8. '81-'85 Chevy Caprice, Impala, '82-'83 Malibu, '82-'84 Monte Carlo,<br /> '81-'84 Pontiac Grand Prix, Bonneville, '81 Catalina, '83-'85 Parisienne,<br /> '81-'84 Oldsmobile 98, '81-'85 Cutlass/Cutlass Supreme, Delta 88, Custom Cruiser, Toronado,<br /> '81-'83 Buick Electra, '81-'85 LeSabre, Electra Estate wagon, Riviera, '82-'83 Regal,<br /> '81-'84 Cadillac DeVille, '81-'85 Fleetwood Brougham, Eldorado, Seville |- |N||LG7||3.3&nbsp;L||V6||Fuel injection#Multi-port fuel injection|MFI||OHV||Buick V6 (3300). '89-'93 Buick Century, Skylark, Oldsmobile Cutlass Ciera, '89-'91 Cutlass Calais,<br /> '92-'93 Achieva, Pontiac Grand Am. |- |N||LA3||3.2&nbsp;L||V6||Fuel injection#Multi-port fuel injection|MFI||DOHC,<br /> 24 valve||Opel 54° V6 engine (Made in the UK). '03-'04 Cadillac CTS |- |N||LZ4||3.5L||V6||Fuel injection#Sequential Multi-port injection|SFI||OHV||GM High Value 60° V6. 3510cc. VVT. '06-'07 Chevy Monte Carlo, '06-'10 Chevy Impala,<br /> '07-'10 Chevy Malibu, Pontiac G6, '07-'08 Saturn Aura |- |N||LFR||3.6L||V6||Fuel injection#Multi-port fuel injection|MFI||DOHC,<br /> 24 valve||(Bi-Fuel Gas/CNG). GM High Feature V6. '15-'17 Chevy Impala Bi-Fuel |- |P||LQ5||2.0&nbsp;L||I4||Fuel injection#Throttle Body injection|TBI||OHV||Chevrolet "122" engine. '83-'86 J-cars ('83-'84 for Pontiac). |- |P||LT1||5.7&nbsp;L||V8||Fuel injection#Sequential Multi-port injection|SFI||OHV||Gen II Chevy Small-Block V8. Aluminum Heads: '92-'96 Corvette, '93-'97 Camaro/Firebird.<br /> Iron Heads: '94-'96 Chevy Caprice, Impala SS, Buick Roadmaster, Cadillac Fleetwood. |- |P||LSJ||2.0&nbsp;L||SC Straight-4|I4 Supercharged||Fuel injection#Sequential central point injection|SFI||DOHC,<br /> 16 valve||GM Ecotec Gen I. Made by Opel in Kaiserslautern, Germany.<br /> '04-'07 Saturn Ion Red Line, '05-'07 Chevy Cobalt SS Supercharged. |- |P||LSA||6.2&nbsp;L||V8 Supercharged||Fuel injection#Sequential Multi-port injection|SFI||OHV||Gen IV Chevy Small-Block V8. Aluminum Block & Heads.<br /> Cadillac CTS V-Series '09-'15, Camaro ZL1 '12-'15 |- |P||LF4||3.6L||V6 Twin Turbo||Direct Injection|DI||DOHC,<br /> 24 valve||GM High Feature V6. Cadillac CT4-V Blackwing '22+ |- |R||LR8||2.5L||I4||Fuel injection#Throttle Body injection|TBI||OHV||Pontiac Iron Duke/Tech IV engine. Transversely mounted. '82-'85 Chevy Citation, Buick Skylark,<br /> '82-'84 Pontiac Phoenix, Oldsmobile Omega, '82-'90 Chevy Celebrity, '82-'91 Pontiac 6000,<br /> '82-'92 Oldsmobile Cutlass Ciera, Buick Century, '84-'88 Pontiac Fiero, '90-'92 Chevy Lumina |- |R||L81||3.0&nbsp;L||V6||Fuel injection#Multi-port fuel injection|MFI||DOHC,<br /> 24 valve||Opel 54° V6 engine (Made in the UK). '97-'01 Cadillac Catera, '00-'05 Saturn L-Series |- |R||LZ8||3.9L||V6||Fuel injection#Sequential Multi Port Fuel injection|SFI||OHV||GM High Value 60° V6. VVT. Active Fuel Management. '07 Chevy Impala |- |R||LS9||6.2&nbsp;L||V8 Supercharged||Fuel injection#Sequential Multi-port injection|SFI||OHV||Gen IV Chevy Small-Block V8. Aluminum Block & Heads. '09 Corvette ZR1. |- |R||LUK||2.4L||I4||Direct Injection|DI||DOHC,<br /> 16 valve||Mild Hybrid. GM Ecotec Gen II. VVT. '12-'16 Buick LaCrosse eAssist, Regal eAssist,<br /> '13-'14 Chevy Malibu Eco, '14 Chevy Impala Eco |- |S||LS5||4.3&nbsp;L||V8||2 Barrel Carburetor |2BBL||OHV||Pontiac V8. 265 cu. in.<br /> '81 Pontiac Bonneville, Catalina, Firebird, Grand Prix, LeMans, Buick Century, Regal. |- |S||LU5||5.0&nbsp;L||V8||Cross-Fire fuel injection|CFI||OHV||Gen I Chevy Small-Block V8. (305 cu. in.) '83 Camaro, Firebird. Dual throttle-body fuel injection. |- |S||LB8||2.8&nbsp;L||V6||Fuel injection#Multi Port Fuel injection|MPFi||OHV||Chevrolet 60° V6 (longitudinally mounted). '85-'89 Chevy Camaro, Pontiac Firebird. |- |S||L32||3.4&nbsp;L||V6||Fuel injection#Multi Port Fuel injection|MPFi||OHV||Chevrolet 60° V6 (longitudinally mounted). '93-'95 Chevy Camaro, Pontiac Firebird. |- |S||LS6||5.7&nbsp;L||V8||Fuel injection#Sequential Multi Port injection|SFI||OHV||Gen III Chevy Small-Block V8. (346 cu. in.) Aluminum Block & Heads.<br /> '01-'04 Corvette Z06, '04-'05 Cadillac CTS V-Series |- |S||LGX||3.6L||V6||Direct Injection|DI||DOHC,<br /> 24 valve||GM High Feature V6, 4th gen. VVT. Active Fuel Management. '16-'19 Cadillac ATS, CTS, '16-'20 CT6, '16-'24 Chevrolet Camaro, '17-'19 Buick LaCrosse, '18–'20 Buick Regal GS |- |T||LU8||4.9&nbsp;L||V8 Turbo||4 Barrel Carburetor |4BBL||OHV||Pontiac V8. 301 cu. in. '81 Pontiac Firebird Formula & Trans Am. |- |T||LT7||4.3&nbsp;L||V6||Indirect injection Diesel||OHV||Oldsmobile Diesel V6. FWD version for '82-'85 GM A-bodies. |- |T||LS2||4.3&nbsp;L||V6||Indirect injection Diesel||OHV||Oldsmobile Diesel V6. FWD version for '85 GM C-bodies. |- |T||LH0||3.1&nbsp;L||V6||Fuel injection#Multi Port Fuel injection|MPFi||OHV||Chevrolet 60° V6 (longitudinally mounted). '90-'92 Chevy Camaro, Pontiac Firebird. |- |T||LH0||3.1&nbsp;L||V6||Fuel injection#Multi Port Fuel injection|MPFi||OHV||Chevrolet 60° V6 (transversely mounted). Gen II. '88-'91 Pontiac 6000,<br /> '89-'93 Grand Prix, Oldsmobile Cutlass Supreme, Buick Regal, '90-'94 Chevy Cavalier, Lumina,<br /> '91-'94 Pontiac Sunbird, '90-'93 Chevy Corsica/Beretta, '90 Celebrity |- |T||LD9||2.4&nbsp;L||Straight-4|I4||Fuel injection#Sequential Multi-port injection|SFI||DOHC,<br /> 16 valve||Oldsmobile Quad 4 ("2.4 Twin Cam"). '96-'01 Pontiac Grand Am, '96-'97 Oldsmobile Achieva, Buick Skylark, '99-'01 Oldsmobile Alero, '97-'99 Chevy Malibu, '96-'02 Chevy Cavalier, Pontiac Sunfire |- |T||LP1||2.8&nbsp;L||V6||Fuel injection#Sequential Multi-port injection|SFI||DOHC,<br /> 24 valve||GM High Feature V6. '05-'07 Cadillac CTS |- |T||LS9||6.2&nbsp;L||V8 Supercharged||Fuel injection#Sequential Multi-port injection|SFI||OHV||Gen IV Chevy Small-Block V8. Aluminum Block & Heads. '10-'13 Corvette ZR1. |- |T||LFV||1.5L||I4 Turbo||Direct Injection|DI||DOHC,<br /> 16 valve||GM Small Gasoline Engine. VVT. '16-'25 Chevy Malibu. |- |U||L68||2.5L||I4||Fuel injection#Throttle Body injection|TBI||OHV||Pontiac Iron Duke/Tech IV engine. Transversely mounted. '85-'91 N-bodies |- |U||LS2||6.0&nbsp;L||V8||Fuel injection#Sequential Multi-port fuel injection|SFI||OHV||Gen IV Chevy Small-Block V8. Aluminum Block & Heads.<br /> '05-'07 Corvette, '05-'06 Pontiac GTO, '06-'07 Cadillac CTS V-Series |- |U||LE9||2.4&nbsp;L||Straight-4|I4||Fuel injection#Multi-port fuel injection|MFI||DOHC,<br /> 16 valve||GM Ecotec Gen II. E85 Flex-Fuel. 2011-12 Chevy Malibu. |- |U||LKN||1.8L||I4||Direct Injection|DI||DOHC,<br /> 16 valve||Full Hybrid. GM Medium Gasoline Engine. VVT. Made in Szentgotthárd, Hungary.<br> '16-'19 Chevy Malibu Hybrid |- |V||LT6||4.3&nbsp;L||V6||Indirect injection Diesel||OHV||Oldsmobile Diesel V6. RWD version.<br /> '82-'83 Chevy Malibu, Monte Carlo, '82-'85 Oldsmobile Cutlass Supreme, Buick Regal |- |V||LG5||3.1&nbsp;L||V6 Turbo||Fuel injection#Multi-port fuel injection|MPFI||OHV||Chevrolet 60° V6. Gen II. Intercooled. (ASC/McLaren modified).<br /> '89-'90 Pontiac Grand Prix Turbo coupe, '90 Grand Prix STE Turbo sedan |- |V||LLT||3.6L||V6||Direct Injection|DI||DOHC,<br /> 24 valve||GM High Feature V6. '08-'11 Cadillac CTS, STS, '10-'11 Chevrolet Camaro, Buick LaCrosse |- |V||LHU||2.0&nbsp;L||Straight-4|I4 Turbo||Direct Injection|DI||DOHC,<br /> 16 valve||E85 Flex Fuel (N/A on Regal GS). GM Ecotec engine, Gen II. VVT.<br /> Buick Regal '11-'13, Verano '13-'16. |- |W||L37||4.9&nbsp;L||V8||4 Barrel Carburetor |4BBL||OHV||Pontiac V8. 301 cu. in. '81 Pontiac Firebird, LeMans Safari wagon. |- |W||LB6||2.8&nbsp;L||V6||Fuel injection#Multi-port fuel injection|MFI||OHV||Gen I/II Chevrolet 60° V6 (transversely mounted). '85 Chevy Citation, Buick Skylark,<br /> '85-'89 Chevy Cavalier, Celebrity, Pontiac 6000, '85-'88 Cadillac Cimarron,<br /> '85-'87 Oldsmobile Firenza, '86-'89 Cutlass Ciera, '87-'88 Buick Century, '87-'89 Chevy Corsica/Beretta, '88-'89 Pontiac Grand Prix, Oldsmobile Cutlass Supreme, Buick Regal |- |W||L64||3.1&nbsp;L||V6||Fuel injection#Multi-port fuel injection|MFI||OHV||Flex-fuel: Gas/M85 or Gas/E85 (2 versions). Gen II Chevrolet 60° V6. '93 Chevy Lumina VFV |- |W||L99||4.3&nbsp;L||V8||Fuel injection#Sequential Multi-port injection|SFI||OHV||Gen II Chevy Small-Block V8. '94-'96 Chevy Caprice. |- |W||LS3||6.2&nbsp;L||V8||Fuel injection#Sequential Multi-port injection|SFI||OHV||Gen IV Chevy Small-Block V8. Aluminum Block & Heads.<br /> '08-'13 Corvette, '10-'15 Camaro SS (man. trans.), '09 Pontiac G8 GXP, '14-'17 Chevy SS |- |W||LGY||3.0L||V6 Twin Turbo||Direct Injection|DI||DOHC,<br /> 24 valve||GM High Feature V6, 4th gen. VVT. Active Fuel Management. '20+ Cadillac CT5, CT5-V |- |X||LE2||2.8&nbsp;L||V6||2 Barrel Carburetor |2BBL||OHV||Chevrolet 60° V6 (transversely mounted). '81-'85 Chevy Citation, Buick Skylark,<br /> '81-'84 Pontiac Phoenix, Oldsmobile Omega, '82-'86 Chevy Celebrity, Pontiac 6000,<br /> '86 Oldsmobile Cutlass Ciera, Buick Century |- |X||LQ1||3.4&nbsp;L||V6||Fuel injection#Multi-port fuel injection|MPFI||DOHC,<br /> 24 valve||Chevrolet 60° V6 ("Twin Dual Cam V6"). '91-'97 Chevy Lumina, '95-'97 Chevy Monte Carlo,<br /> '91-'96 Pontiac Grand Prix, Oldsmobile Cutlass Supreme |- |X||LNF||2.0&nbsp;L||Straight-4|I4 Turbo||Direct Injection|DI||DOHC,<br /> 16 valve||GM Ecotec engine, Gen II. VVT.<br /> '07-'10 Pontiac Solstice GXP, Saturn Sky Red Line, '08-'10 Chevy Cobalt SS Turbo. |- |X||LTG||2.0&nbsp;L||Straight-4|I4 Turbo||Direct Injection|DI||DOHC,<br /> 16 valve||GM Ecotec engine, Gen III. VVT. '13-'22 Chevy Malibu, '13-'19 Cadillac ATS, '14-'20 Buick Regal,<br /> '14-'19 Cadillac CTS, '16-'23 Chevy Camaro, '16-'18 Cadillac CT6. |- |X||LTG||2.0&nbsp;L||Straight-4|I4 Turbo||Direct Injection|DI||DOHC,<br /> 16 valve||Plug-in hybrid. GM Ecotec engine, Gen III. VVT. '17-'18 Cadillac CT6 PHEV. (VIN starts with LRE) |- |Y||LV2||5.0&nbsp;L||V8||4 Barrel Carburetor |4BBL||OHV||Oldsmobile "Rocket" V8 (307 cu. in.) '86-'90 Chevy Caprice wagon, '87 Caprice sedan (Can.),<br /> '81 Pontiac Bonneville, Catalina, '86 Parisienne, '87-'89 Safari wagon, '81-'84 Oldsmobile 98,<br /> '81-'85 Delta 88, Toronado, '81-'90 Custom Cruiser, '81 Cutlass Cruiser, '82-'87 Cutlass Supreme,<br /> '88 Cutlass Supreme Classic, '81-'84 Buick Electra, '85-'89 Electra Estate wagon,<br /> '81-'85 LeSabre, Riviera, '86-'89 LeSabre Estate wagon, '90 Estate wagon, '86-'87 Regal,<br /> '86 Cadillac Fleetwood Brougham, '87-'90 Brougham |- |Y||LD8||4.6&nbsp;L||V8||Fuel injection#Sequential Multi-port injection|SFI||DOHC,<br /> 32 valve||Cadillac Northstar V8 (Torque tuned FWD) (Premium V). '93-'02 Cadillac Eldorado,<br /> '94-'04 Cadillac Seville SLS, '94-'05 Cadillac DeVille, '06-'11 Cadillac DTS,<br /> '04-'05 Pontiac Bonneville GXP, '06-'08 Buick Lucerne |- |Y||L76||6.0&nbsp;L||V8||Fuel injection#Sequential Multi-port fuel injection|SFI||OHV||Gen IV Chevy Small-Block V8. Aluminum Block & Heads. With Active Fuel Management.<br /> '08-'09 Pontiac G8 GT. |- |Y||LF1||3.0L||V6||Direct Injection|DI||DOHC,<br /> 24 valve||GM High Feature V6. VVT. 2011 Cadillac CTS |- |Y||LF4||3.6L||V6 Twin Turbo||Direct Injection|DI||DOHC,<br /> 24 valve||GM High Feature V6. Cadillac ATS-V '16-'19 |- |Z||LH7||2.8&nbsp;L||V6||2 Barrel Carburetor |2BBL||OHV||Chevrolet 60° V6 (transversely mounted). H.O. '81-'84 Chevy Citation, '82-'84 Pontiac Phoenix, Oldsmobile Omega ES, Buick Skylark, '83-'84 Pontiac 6000 STE, '84 Chevy Celebrity |- |Z||LB4||4.3L||V6||Fuel injection#Throttle Body injection|TBI||OHV||Chevrolet 90° V6 (Chevy Small-Block V8 Derived). '85 Chevy Impala, '85-'90 Caprice,<br /> '92-'93 Caprice 9C6 taxi, '85-'88 Monte Carlo, '85-'86 Pontiac Parisienne, '86-'87 Grand Prix,<br> '86 Bonneville. |- |Z||LAT||2.4L||I4||Fuel injection#Multi-port fuel injection|MFI||DOHC,<br /> 16 valve||Mild Hybrid. GM Ecotec Gen II. VVT. '10 Chevy Malibu Hybrid |- |Z||LUZ||2.0&nbsp;L||I4 Turbo||Direct injection <br /> Common-rail Diesel||DOHC,<br /> 16 valve||GM Family B Diesel (Based on Fiat JTD engine). Made by Opel in Kaiserslautern, Germany.<br /> Iron Block, Aluminum Heads. '14-'15 Chevy Cruze Diesel. |- |1||LC1||2.8&nbsp;L||V6||2 Barrel Carburetor |2BBL||OHV||Chevrolet 60° V6 (longitudinally mounted). '82-'84 Camaro/Firebird. |- |1||LL8||2.0&nbsp;L||I4||Fuel injection#Throttle Body injection|TBI||OHV||Chevrolet "122" engine. '87-'89 Chevy/Olds/Buick J-cars & Chevy L-cars. |- |1||L67||3.8&nbsp;L||V6 Supercharged||Fuel injection#Sequential Multi-port injection|SFI||OHV||Buick V6 (3800 Supercharged Series I). '91-'95 Buick Park Avenue Ultra,<br /> '92-'95 Pontiac Bonneville, Oldsmobile 98, '95 Buick Riviera, Oldsmobile LSS |- |1||L67||3.8&nbsp;L||V6 Supercharged||Fuel injection#Sequential Multi-port injection|SFI||OHV||Buick V6 (3800 Supercharged Series II). '96-'05 Buick Park Avenue Ultra,<br /> '96-'99 Buick Riviera, Oldsmobile LSS, '96-'03 Pontiac Bonneville, '97-'03 Grand Prix,<br /> '97-'04 Buick Regal, '04-'05 Chevy Impala SS, Monte Carlo SS Supercharged |- |1||LZ9||3.9L||V6||Fuel injection#Sequential Multi-port injection|SFI||OHV||GM High Value 60° V6. VVT.<br /> '06-'07 Chevy Malibu SS, '06-'09 Pontiac G6, '06 Chevy Monte Carlo, Impala, '09-'10 Buick Lucerne |- |1||2H0||1.8&nbsp;L||Straight-4|I4||Fuel injection#Sequential Multi-port fuel injection|SFI||DOHC,<br /> 16 valve||GM Family 1 engine, Gen III. VVT. Made in Szentgotthárd, Hungary. '08 (& '09 in Canada) Saturn Astra |- |1||LE5||2.4&nbsp;L||Straight-4|I4||Fuel injection#Multi-port fuel injection|MFI||DOHC,<br /> 16 valve||GM Ecotec Gen II. VVT. '11 & some '12 Chevy Malibu w/LE5 engine. |- |2||LQ9||2.5L||I4||Fuel injection#Throttle Body injection|TBI||OHV||Pontiac Iron Duke/Tech IV engine. Longitudinally mounted. '82-'85 Camaro/Firebird. |- |2||LS3||1.0&nbsp;L||Straight-3|I3 Turbo||Fuel injection#Multi-port fuel injection|MFI||SOHC,<br /> 6 valve ||Suzuki G10T engine. '87-'88 Chevrolet Sprint Turbo |- |2||LY8||1.3&nbsp;L||Straight-4|I4||Fuel injection#Multi-port fuel injection|MFI||SOHC,<br /> 16 valve||Suzuki G13BB engine. '98-'01 Chevrolet Metro |- |2||L26||3.8&nbsp;L||V6||Fuel injection#Sequential Multi-port injection|SFI||OHV||Buick V6 (3800 Series III). '04-'08 Pontiac Grand Prix, '05-'09 Buick LaCrosse, '06-'08 Buick Lucerne |- |2||L77||6.0&nbsp;L||V8||Fuel injection#Sequential Multi-port fuel injection|SFI||OHV||Gen IV Chevy Small-Block V8. Aluminum Block & Heads. With Active Fuel Management.<br /> E85 Flex Fuel. '11-'17 Chevy Caprice PPV. |- |3||LC8||3.8&nbsp;L||V6|V6 Turbo||4 Barrel Carburetor |4BBL||OHV||Buick V6. 231 cu. in. '81-'82 Buick Regal, Riviera, '81 Chevy Monte Carlo. |- |3||LG3||3.8&nbsp;L||V6||Fuel injection#(Sequential) Multi-port injection|MFI/SFI||OHV||Buick V6. '84-'88 Oldsmobile Cutlass Ciera, Buick Century, '85 & '87 Oldsmobile 98, Buick Electra,<br /> '86-'88 Oldsmobile Delta 88, Buick LeSabre, '87 Oldsmobile Toronado, Buick Riviera,<br /> '87-'88 Pontiac Bonneville. |- |3||LW2||4.5&nbsp;L||V8||Fuel injection#Multi-port fuel injection|MFI||OHV||Cadillac High Technology V8. '90 Cadillac DeVille/Fleetwood/Sixty Special/Eldorado/Seville. |- |3||L40||2.3&nbsp;L||Straight-4|I4||Fuel injection#Multi-port fuel injection|MFI||SOHC,<br /> 8 valve||Oldsmobile Quad 4 ("Quad OHC"). '92-'94 Pontiac Grand Am, Oldsmobile Achieva, Buick Skylark |- |3||LZG||3.9L||V6||Fuel injection#Sequential Multi Port Fuel injection|SFI||OHV||E85 Flex Fuel. GM High Value 60° V6. VVT. Active Fuel Management. '08 Chevy Impala |- |3||LFX||3.6L||V6||Direct Injection|DI||DOHC,<br /> 24 valve||GM High Feature V6. VVT. E85 Flex Fuel.<br /> '12-'16 Buick LaCrosse, '12-'15 Chevrolet Camaro, Cadillac CTS, '12-'17 Chevrolet Caprice PPV,<br /> '12-'20 Chevrolet Impala, '14-'16 Chevrolet Impala Limited, '13-'15 Cadillac ATS, '13-'19 Cadillac XTS |- |3||LT6||5.5&nbsp;L||V8||Direct injection|DI||DOHC,<br /> 32 valve||Chevrolet Gemini Small-Block V8. Aluminum Block & Heads. Flat-plane crank. VVT.<br /> For mid-engine C8 Corvette Z06 '23+. |- |4||LC4||4.1&nbsp;L||V6|V6||4 Barrel Carburetor |4BBL||OHV||Buick V6. '81-'84 Buick LeSabre, Electra, Riviera, Oldsmobile Toronado, '81-'82 Cadillac DeVille, Fleetwood Brougham, Eldorado, Seville, '81-'83 Oldsmobile 98, '82-'84 Buick Regal,<br /> '82 Pontiac Grand Prix, Bonneville G |- |4||LC9||1.6&nbsp;L||Straight-4|I4||2 Barrel Carburetor |2BBL||SOHC,<br /> 8 valve||Toyota 4A-C engine. '85-'88 Chevy Nova |- |4||LN2||2.2&nbsp;L||Straight-4|I4||Fuel injection#(Sequential) Multi-port injection|MPI/SFI||OHV||Chevrolet "122" engine. '92-'02 Cavalier, '95-'02 Sunfire, '92-'96 Corsica/Beretta, '93 Lumina,<br /> '93-'96 Cutlass Ciera, Century. |- |4||L32||3.8&nbsp;L||V6 Supercharged||Fuel injection#Sequential Multi-port injection|SFI||OHV||Buick V6 (3800 Supercharged Series III). '04-'07 Pontiac Grand Prix |- |4||LUU||1.4L||I4||Fuel injection#Sequential Multi-port fuel injection|SFI||DOHC,<br /> 16 valve||GM Family 0 Engine, Gen III. VVT. ([[w:EREV|Range extender]]). Early production engines were made in Aspern, Austria; later made in Flint, MI. '11-'15 Chevy Volt, '14 & '16 Cadillac ELR. |- |4||LT2||6.2&nbsp;L||V8||Direct injection|DI||OHV||Gen V Chevy Small-Block V8. Aluminum Block & Heads. Active Fuel Management. VVT.<br /> For mid-engine C8 Corvette Stingray '20+. |- |4||LT2||6.2&nbsp;L||V8||Direct injection|DI||OHV||Full Hybrid. Gen V Chevy Small-Block V8. Aluminum Block & Heads. Active Fuel Management. VVT.<br /> For mid-engine C8 Corvette E-Ray '24+. |- |5||LW9||2.5L||I4||2 Barrel Carburetor |2BBL||OHV||Pontiac Iron Duke engine. '81 Chevy Citation, Pontiac Phoenix, Oldsmobile Omega, Buick Skylark. |- |5||LR6||4.5&nbsp;L||V8||Fuel injection#Throttle Body injection|TBI (DFI)||OHV||Cadillac High Technology V8. '88-'89 Cadillac DeVille/Fleetwood/Sixty Special/Eldorado/Seville. |- |5||LY9||1.0&nbsp;L||Straight-3|I3||2BBL||SOHC,<br /> 6 valve ||Suzuki G10A engine. '86 Chevrolet Sprint |- |5||LM9||1.0&nbsp;L||Straight-3|I3||2BBL||SOHC,<br /> 6 valve ||Suzuki G10A engine. '87-'88 Chevrolet Sprint |- |5||LW0||1.6&nbsp;L||Straight-4|I4||Fuel injection#Multi-port fuel injection|MFI||DOHC,<br /> 16 valve||Toyota 4A-GE engine. '88 Chevy Nova Twin Cam, '90-'92 Geo Prizm GSi |- |5||LW0||1.6&nbsp;L||Straight-4|I4||Fuel injection#Multi-port fuel injection|MFI||DOHC,<br /> 16 valve||Isuzu 4XE1-UW engine. '90-'91 Geo Storm GSi |- |5||LT4||5.7&nbsp;L||V8||Fuel injection#Sequential Multi-port injection|SFI||OHV||Gen II Chevy Small-Block V8. '96 Corvette (man. trans.) |- |5||LAT||2.4L||I4||Fuel injection#Multi-port fuel injection|MFI||DOHC,<br /> 16 valve||Mild Hybrid. GM Ecotec Gen II. VVT. '07-'09 Saturn Aura Green Line, '08-'09 Chevy Malibu Hybrid |- |5||LAP||2.2&nbsp;L||Straight-4|I4||Fuel injection#Multi-port fuel injection|MFI||DOHC,<br /> 16 valve||GM Ecotec Gen II. VVT. '10 Chevy Cobalt. |- |5||LFW||3.0L||V6||Direct Injection|DI||DOHC,<br /> 24 valve||GM High Feature V6. VVT. '12-'13 Cadillac CTS, '14 CTS wagon |- |5||L3A||1.5L||I4||Direct Injection|DI||DOHC,<br /> 16 valve||GM Small Gasoline Engine. VVT. ([[w:EREV|Range extender]]). '16-'19 Chevy Volt. |- |5||LWC||1.6L||I4 Turbo||Direct Injection|DI||DOHC,<br /> 16 valve||GM Medium Gasoline Engine, H.O. VVT. Made in Szentgotthárd, Hungary. '16-'19 Buick Cascada |- |5||LS6||6.7&nbsp;L||V8||Port/Direct injection||OHV||Gen VI Chevy Small-Block V8. Aluminum Block & Heads. Active Fuel Management. VVT.<br /> For mid-engine C8 Corvette Stingray, Grand Sport '27+. |- |5||LS6||6.7&nbsp;L||V8||Port/Direct injection||OHV||Full Hybrid. Gen VI Chevy Small-Block V8. Aluminum Block & Heads. Active Fuel Management. VVT.<br /> For mid-engine C8 Corvette Grand Sport X '27+. |- |6||L81||5.7&nbsp;L||V8||4 Barrel Carburetor |4BBL||OHV||Gen I Chevy Small-Block V8. '81 Corvette |- |6||LM1||5.7&nbsp;L||V8||4 Barrel Carburetor |4BBL||OHV||Gen I Chevy Small-Block V8. '83-'85 Impala 9C1 Police, '86-'88 Caprice 9C1 Police |- |6||L73||1.6&nbsp;L||Straight-4|I4||Fuel injection#Throttle Body injection|TBI||SOHC,<br /> 8 valve||GM Family 1 engine. Made in South Korea by Daewoo. '88-'93 Pontiac LeMans |- |6||LP2||1.0&nbsp;L||Straight-3|I3||Fuel injection#Throttle Body injection|TBI||SOHC,<br /> 6 valve ||Suzuki G10A engine. '89-'97 Geo Metro, '98-'00 Chevrolet Metro |- |6||L01||1.6&nbsp;L||Straight-4|I4||Fuel injection#Multi-port fuel injection|MFI||DOHC,<br /> 16 valve||Toyota 4A-FE engine. '89-'97 Geo Prizm base/LSi |- |6||L01||1.6&nbsp;L||Straight-4|I4||Fuel injection#Multi-port fuel injection|MFI||SOHC,<br /> 12 valve||Isuzu 4XE1-V engine. '90-'93 Geo Storm (base model) |- |6||L42||2.2&nbsp;L||Straight-4|I4||Fuel injection#Multi-port fuel injection|MFI||DOHC,<br /> 16 valve||GM Ecotec Gen I (Bi-Fuel Gas/CNG). '03-'04 Chevy Cavalier |- |6||L91||1.6&nbsp;L||Straight-4|I4||Fuel injection#Multi-port fuel injection|MFI||DOHC,<br /> 16 valve||E-TEC II. '04-'07 Chevy Aveo |- |6||LXT||1.6&nbsp;L||Straight-4|I4||Fuel injection#Multi-port fuel injection|MFI||DOHC,<br /> 16 valve||E-TEC II. '08 Chevy Aveo |- |6||LGW||3.0L||V6 Twin Turbo||Direct Injection|DI||DOHC,<br /> 24 valve||GM High Feature V6, 4th gen. VVT. Active Fuel Management. '16-'19 Cadillac CT6 |- |6||LT4||6.2&nbsp;L||V8 Supercharged||Direct injection|DI||OHV||Gen V Chevy Small-Block V8. Aluminum Block & Heads. With Active Fuel Management. VVT.<br /> '15-'19 Corvette Z06, '17-'24 Camaro ZL1, '16-'19 Cadillac CTS V-Series,<br /> '22+ Cadillac CT5-V Blackwing |- |7||LU5||5.0&nbsp;L||V8||Cross-Fire fuel injection|CFI||OHV||Gen I Chevy Small-Block V8. (305 cu. in.) '82 Camaro, Firebird. Dual throttle-body fuel injection. |- |7||L69||5.0&nbsp;L||V8||4 Barrel Quadrajet Carburetor |4BBL||OHV||Gen I Chevy Small-Block V8 (High Output 5.0L). (305 cu. in.). '83 F-cars, '83 Chevy Monte Carlo SS |- |7||LC5||1.5&nbsp;L||I4||2 Barrel Carburetor |2BBL||SOHC,<br /> 8 valve||Isuzu 4XC1 engine. '86-'88 Chevrolet Spectrum, '89 Geo Spectrum. |- |7||LC2||3.8&nbsp;L||V6|V6 Turbo||Fuel injection#Sequential multi-port injection|SFI||OHV||Intercooled. Buick V6. '86-'87 Buick Regal. '89 Pontiac 20th Anniversary Turbo Trans Am |- |7||LC7||4.1&nbsp;L||V8||Fuel injection#Multi-port fuel injection|MFI||OHV||Cadillac High Technology V8. '87-'88 Cadillac Allante. |- |7||L05||5.7&nbsp;L||V8||Fuel injection#Throttle Body injection|TBI||OHV||Gen I Chevy Small-Block V8. '89-'93 Chevy Caprice (police only for '89-'91),<br /> '92-'93 Buick Roadmaster, '92 Oldsmobile Custom Cruiser, '90-'92 Cadillac Brougham, '93 Fleetwood. |- |7||LL0||1.9&nbsp;L||Straight-4|I4||Fuel injection#Multi-port injection|MFI||DOHC,<br /> 16 valve||Saturn I4 engine. '91-'02 Saturn S-Series |- |7||LY7||3.6&nbsp;L||V6||Fuel injection#Sequential Multi-port injection|SFI||DOHC,<br /> 24 valve||GM High Feature V6. VVT. '04-'09 Cadillac CTS, '05-'07 STS, '05-'08 Buick LaCrosse,<br /> '07-'09 Pontiac G6, Saturn Aura, '08-'09 Pontiac G8, '08-'12 Chevy Malibu |- |7||LT1||6.2&nbsp;L||V8||Direct injection|DI||OHV||Gen V Chevy Small-Block V8. Aluminum Block & Heads. With Active Fuel Management. VVT.<br /> '14-'19 Corvette, '16-'24 Camaro SS |- |7||LT7||5.5&nbsp;L||V8 Twin Turbo||Port/Direct injection||DOHC,<br /> 32 valve||Chevrolet Gemini Small-Block V8. Aluminum Block & Heads. Flat-plane crank. VVT.<br /> For mid-engine C8 Corvette ZR1 '25+. (1,064 hp) |- |7||LT7||5.5&nbsp;L||V8 Twin Turbo||Port/Direct injection||DOHC,<br /> 32 valve||Full Hybrid. Chevrolet Gemini Small-Block V8. Aluminum Block & Heads. Flat-plane crank. VVT.<br /> For mid-engine C8 Corvette ZR1X '26+. (1,250 hp) |- |8||LV8||4.3&nbsp;L||V8||2 Barrel Carburetor |2BBL||OHV||Oldsmobile "Rocket" V8 (260 cu. in.) '82 Oldsmobile Cutlass, Delta 88. |- |8||LT8||4.1&nbsp;L||V8||Fuel injection#Throttle Body injection|TBI (DFI)||OHV||Cadillac High Technology V8. '82-'87 Cadillac DeVille, Eldorado, Seville, '82-'85 Fleetwood Brougham, '85-'87 Fleetwood, '87 Fleetwood Sixty Special. |- |8||LC8||3.8&nbsp;L||V6|V6 Turbo||4 Barrel Carburetor |4BBL||OHV||Buick V6. '83 Buick Regal, Riviera. |- |8||L83||5.7&nbsp;L||V8||Cross-Fire fuel injection|CFI||OHV||Gen I Chevy Small-Block V8. '82, '84 Corvette. Dual throttle-body fuel injection. 1st fuel injected Corvette since 1965. |- |8||L98||5.7&nbsp;L||V8||Tuned-port fuel injection|TPI||OHV||Gen I Chevy Small-Block V8. '85-'91 Corvette, '87-'92 Chevy Camaro, Pontiac Firebird. |- |8||LQ6||4.5&nbsp;L||V8||Fuel injection#Multi-port fuel injection|MFI||OHV||Cadillac High Technology V8. '89-'92 Cadillac Allante. |- |8||L24||1.9&nbsp;L||Straight-4|I4||Fuel injection#Multi-port injection|MFI||SOHC,<br /> 8 valve||Saturn I4 engine. '95-'02 Saturn S-Series |- |8||LX9||3.5&nbsp;L||V6||Fuel injection#Sequential Multi-port injection|SFI||OHV||GM High Value 60° V6. 3498cc. '04-'06 Chevy Malibu, '05-'06 Pontiac G6 |- |8||LF3||3.6L||V6 Twin Turbo||Direct Injection|DI||DOHC,<br /> 24 valve||GM High Feature V6. '14-'19 Cadillac CTS V-Sport, XTS V-Sport |- |8||LV6||1.8&nbsp;L||Straight-4|I4||Fuel injection#Multi-port fuel injection|MFI||DOHC,<br /> 16 valve||Isuzu 4XF1 engine. '92-'93 Geo Storm GSi. |- |8||LV6||1.8&nbsp;L||Straight-4|I4||Fuel injection#Multi-port fuel injection|MFI||DOHC,<br /> 16 valve||Toyota 7A-FE engine. '93-'97 Geo Prizm |- |8||LV6||1.8&nbsp;L||Straight-4|I4||Fuel injection#Multi-port fuel injection|MFI||DOHC,<br /> 16 valve||Toyota 1ZZ-FE engine. VVT-i from '00. '98-'02 Chevrolet Prizm, '03-'08 Pontiac Vibe |- |8||LAY||1.8&nbsp;L||Straight-4|I4||Fuel injection#Sequential multi-port injection|SFI||DOHC,<br /> 16 valve||Toyota 2ZR-FE engine. Dual VVT-i. '09-'10 Pontiac Vibe |- |9||L17||1.6&nbsp;L||Straight-4|I4||2 Barrel Carburetor |2BBL||SOHC,<br /> 8 valve||Isuzu G161Z engine made by GM in US. '81 Chevy Chevette, Pontiac T1000 |- |9||L62||6.0&nbsp;L||V8||Fuel injection#Throttle Body injection|TBI (DFI)||OHV||Cadillac 472-series V8 engine family. V8-6-4 cylinder deactivation.<br /> '81 Cadillacs, '82-'84 Fleetwood Limousine. |- |9||LC3||3.8&nbsp;L||V6||2 Barrel Carburetor |2BBL||OHV||Chevrolet 90° V6 (Chevy Small-Block V8 Derived). 229 cu. in. <br /> '83 Malibu, '83-'84 Monte Carlo, Impala, Caprice, '83 Pontiac Parisienne. |- |9||LG8||5.0&nbsp;L||V8||4 Barrel Carburetor |4BBL||OHV||Oldsmobile "Rocket" V8 (307 cu. in.) H.O. '83-'84 Hurst/Olds, '85-'87 Oldsmobile Cutlass 442 |- |9||LM9||3.8&nbsp;L||V6|V6 Turbo||Fuel injection#Sequential multi-port injection|SFI||OHV||Buick V6. '84-'85 Buick Regal, Riviera. |- |9||L44||2.8&nbsp;L||V6||Fuel injection#Multi-port fuel injection|MFI||OHV||Chevrolet 60° V6 (transversely mounted). H.O. '85-'88 Pontiac Fiero |- |9||LC0||1.5&nbsp;L||I4 Turbo||Fuel injection#Multi-port fuel injection|MFI||SOHC,<br /> 8 valve||Isuzu 4XC1-T engine. '87-'88 Chevrolet Spectrum Turbo |- |9||LK0||1.9&nbsp;L||Straight-4|I4||Fuel injection#Throttle Body injection|TBI||SOHC,<br /> 8 valve||Saturn I4 engine. '91-'94 Saturn S-Series |- |9||L37||4.6&nbsp;L||V8||Fuel injection#Sequential Multi-port injection|SFI||DOHC,<br /> 32 valve||Cadillac Northstar V8 (H.O. FWD) (Premium V). '93 Cadillac Allanté,<br /> '93-'02 Cadillac Eldorado Touring Coupe, '93-'04 Cadillac Seville STS, '96-'05 Cadillac DeVille,<br /> '06-'11 Cadillac DTS, '08-'11 Buick Lucerne Super |- |9||L72||1.3&nbsp;L||Straight-4|I4||Fuel injection#Throttle Body injection|TBI||SOHC,<br /> 8 valve ||Suzuki G13BA engine. '95-'97 Geo Metro |- |9||LUJ||1.4L||I4 Turbo||Fuel injection#Sequential Multi-port fuel injection|SFI||DOHC,<br /> 16 valve||GM Family 0 Engine, Gen III. VVT. Early production engines were made in Aspern, Austria; later made in Flint, MI. '11 Chevy Cruze |- |9||LL0||1.2&nbsp;L||Straight-4|I4||Fuel injection#Multi-port fuel injection|MFI||DOHC,<br /> 16 valve||Daewoo S-TEC II engine (1249 cc). VVT. Made in Changwon, S. Korea. '13-'15 Chevy Spark. |- |9||LT5||6.2&nbsp;L||V8 Supercharged||Port/Direct injection||OHV||Gen V Chevy Small-Block V8. Aluminum Block & Heads. VVT. '19 Corvette ZR1. |- |0||LH8||1.8&nbsp;L||Straight-4|I4||Fuel injection#Throttle Body injection|TBI||SOHC,<br /> 8 valve||GM Family II engine. Made in Brazil.<br /> '82-'86 Pontiac J2000/2000/Sunbird, Oldsmobile Firenza, Buick Skyhawk. |- |0||LAX||2.4&nbsp;L||Straight-4|I4||Fuel injection#Sequential multi-port injection|SFI||DOHC,<br /> 16 valve||Toyota 2AZ-FE engine. VVT-i. '09-'10 Pontiac Vibe |- |0||LE9||2.4&nbsp;L||Straight-4|I4||Fuel injection#Multi-port fuel injection|MFI||DOHC,<br /> 16 valve||GM Ecotec Gen II. E85 Flex-Fuel. 2010 Chevy Malibu. |- |0||LE5||2.4&nbsp;L||Straight-4|I4||Fuel injection#Multi-port fuel injection|MFI||DOHC,<br /> 16 valve||GM Ecotec Gen II. VVT. Most '12 Chevy Malibu w/LE5 engine. |} H.O.=High Output, CNG=Compressed Natural Gas, VVT=Variable Valve Timing, VVL=Variable Valve Lift ====Motor codes for electric passenger cars==== {| class="wikitable" |- ! VIN !! RPO !! Fuel !! Drive Wheels !! Application/Notes |- | 5 ||LN1|| Electricity || Front || '97, '99 General Motors EV1 |- | 0 ||EN0|| Electricity || Front || '14-'16 Chevrolet Spark EV |- | 0 ||EN0|| Electricity || Front || '17-'23 Chevrolet Bolt EV |- | 0 ||EN0|| Electricity || Front || '22-'23 Chevrolet Bolt EUV |- |} ====Motor codes for LFP-powered electric passenger cars==== {| class="wikitable" |- ! VIN !! Motor <br /> RPO code !! # of Motors !! Battery Pack <br /> RPO code !! Fuel !! Drive Wheels !! Application/Notes |- |- | V ||P9D (HPB)|| 1 || EJW || Electricity || Front || '27 Chevrolet Bolt |} LFP=Lithium Iron Phosphate ====Motor codes for Ultium-powered electric passenger cars==== {| class="wikitable" |- ! VIN !! Motor <br /> RPO code !! # of Motors !! Battery Module <br /> RPO code !! # of Modules !! Fuel !! Drive Wheels !! Application/Notes |- |- | 1 ||X0E|| 2 || EXN || 16 || Electricity || All || '25- Cadillac Celestiq |- | 2 ||X0E|| 2 || EHT || 16 || Electricity || All || '25- Cadillac Celestiq <br> (Battery Module RPO code EHT is Configuration B) |} ====Engine codes for light trucks==== GM encodes the engine type in character 8 of the VIN. The following table outlines the various engines encoded there: {| class="wikitable" |- ! VIN !! RPO !! Size !! Type !! Fuel !! Valvetrain !! Engine Family/Notes/Applications |- | A ||LD5|| 3.8L || V6 || Gas ||OHV||2-bbl carb. Buick V6. (231 cu. in.) '81-'84 Chevy El Camino, GMC Caballero (CA emissions). |- | A ||LR1|| 1.9L || I4 || Gas ||SOHC,<br /> 8 valve||2-bbl carb. Isuzu G200 engine imported from Japan.<br /> '82-'85 Chevy S-10/GMC S-15, '83-'85 Chevy S-10 Blazer/GMC S-15 Jimmy |- | A ||L38|| 2.5L || I4 || Gas ||OHV||TBI. Pontiac Iron Duke/Tech IV engine. '91-'93 Chevy S-10/GMC Sonoma. |- | A ||LH2|| 4.6L || V8 || Gas ||DOHC,<br /> 32 valve||Cadillac Northstar V8 (For RWD) (Premium V). '04-'09 Cadillac SRX |- | A ||L20|| 4.8L || V8 || Gas/E85 ||OHV|| Flex Fuel. SFI. Gen IV Chevrolet Small-Block V8. Iron Block/Aluminum Heads. VVT.<br /> '10-'13 GMT900 pickups, '10-'14 Express/Savana |- | A ||LCV|| 2.5L || I4 || Gas ||DOHC,<br /> 16 valve||GM Ecotec engine, Gen III. Direct Injection. VVT. '15-'22 Chevy Colorado, GMC Canyon,<br /> '17-'20 Buick Envision, '17-'21 GMC Acadia, '19-'21 Chevy Blazer |- | B ||LR2|| 2.8L || V6 || Gas ||OHV||2-bbl carb. Chevrolet 60° V6.<br /> '82-'85 Chevy S-10/GMC S-15, '83-'85 Chevy S-10 Blazer/GMC S-15 Jimmy |- | B ||LU2|| 4.3L || V6 || Gas ||OHV|| TBI. Chevrolet 90° V6 (Chevy Small-Block V8 Derived). '90-'91 Astro/Safari higher output engine option. |- | B ||L81|| 3.0L || V6 || Gas ||DOHC,<br /> 24 valve||Opel 54° V6 engine (Made in the UK). '02-'03 Saturn Vue |- | B ||L33|| 5.3L || V8 || Gas ||OHV|| Gen III Chevrolet Small-Block V8. Vortec 5300 H.O. 310hp. Aluminum Block & Heads.<br /> '05-'07 Silverado/Sierra 1500 4wd ext. cab short bed. |- | B ||LE8|| 2.2L || I4 || Gas/E85 ||DOHC,<br /> 16 valve||Flex-Fuel. GM Ecotec Gen II. VVT. '09-'10 Chevy HHR |- | B ||LC8|| 6.0L || V8 || Gas/CNG ||OHV||Bi-Fuel (Also Gas/LPG in Express/Savana). SFI. Gen IV Chevrolet Small-Block V8. Iron Block & Aluminum Heads. VVT. '11-'20 Express/Savana, '13-'19 Silverado HD/Sierra HD. |- | B ||LUV|| 1.4L ||I4 Turbo|| Gas ||DOHC,<br /> 16 valve||GM Family 0 Engine, Gen III. SFI. VVT.<br /> '13-'21 Buick Encore, '15-'21 Chevy Trax (also '13-'14 Trax in Canada) |- | C ||LH6|| 6.2L || V8 || Diesel ||OHV||Detroit Diesel V8. For sub-8,500 lb. GVWR trucks '82-'93. '82-'86 C/K pickups, '87 R/V pickups,<br /> '88-'93 C/K, Sierra pickups, '82-'91 Blazer/Jimmy, Suburban, '83-'93 full-size vans |- | C ||L34|| 2.0L || I4 || Gas ||DOHC,<br /> 16 valve||Suzuki J20A engine. MFI. '99-'03 Chevrolet Tracker |- | C ||LY2|| 4.8L || V8 || Gas ||OHV||SFI. Gen IV Chevrolet Small-Block V8. Iron Block/Aluminum Heads.<br /> '07-'09 GMT900 pickups, '07-'09 Tahoe/Yukon, '08-'09 Express/Savana |- | C ||LAF|| 2.4L || I4 || Gas ||DOHC,<br /> 16 valve||GM Ecotec engine, Gen II. Direct Injection. VVT. Chevy Equinox, GMC Terrain '11. |- | C ||L83|| 5.3L || V8 || Gas/E85 ||OHV|| Flex Fuel. Gen V Chevrolet Small-Block V8 (EcoTec3). Direct injection, VVT. Active Fuel Management<br /> '14-'19 K2XX pickups, '15-'20 K2XX SUVs. |- | C ||L2R|| 2.7L ||I4 Turbo||| Gas ||DOHC,<br /> 16 valve||GM L3B Tripower engine ("TurboMax") - Detuned version. Direct Injection. VVT, VVL. Active Fuel Management. '23-'24 Chevy Colorado. |- | D ||LE3|| 4.1L || I6 || Gas ||OHV||2-bbl carb. Chevrolet Turbo-Thrift I6.<br /> '81-'84 Chevy/GMC C/K pickups, full-size vans, '81-'82 Blazer/Jimmy |- | D ||LG6|| 3.1L || V6 || Gas ||OHV||TBI. Chevrolet 60° V6. '90-'95 U-body minivans. |- | D ||L61|| 2.2L || I4 || Gas ||DOHC,<br /> 16 valve||GM Ecotec Gen I. '02-'07 Saturn Vue, '06 Chevy HHR. |- | D ||L61|| 2.2L || I4 || Gas ||DOHC,<br /> 16 valve||GM Ecotec Gen II. '07-'08 Chevy HHR. |- | D ||LLT|| 3.6L || V6 || Gas ||DOHC,<br /> 24 valve||GM High Feature V6. Direct Injection. '09-'16 GMC Acadia, '17 GMC Acadia Limited,<br /> '09-'17 Chevrolet Traverse, Buick Enclave, '09-'10 Saturn Outlook |- | D ||LBZ|| 6.6L || V8 Turbo || Diesel ||OHV,<br /> 32 valve||Duramax 6600 V8 engine.<br /> Mid '06 Silverado HD/Sierra HD & '07 Silverado Classic HD/Sierra Classic HD |- | D ||L84|| 5.3L || V8 || Gas/E85 ||OHV|| Gen V Chevrolet Small-Block V8 (EcoTec3). Direct injection, VVT. With Dynamic Fuel Management<br /> '19+ Chevy/GMC Silverado 1500/Sierra 1500, '21+ Tahoe/Yukon, Suburban/Yukon XL. |- | E ||LN8|| 2.5L || I4 || Gas ||OHV||TBI. Pontiac Iron Duke/Tech IV engine.<br /> '85-'90 Chevy/GMC S-10/S-15, Astro/Safari Cargo Van, '85-'88 S-10 Blazer/S-15 Jimmy. |- | E ||LLR|| 3.7L || I5 || Gas ||DOHC,<br /> 20 valve||Atlas I5. SFI. VVT.<br /> '07-'12 Colorado/Canyon, '07-'08 Isuzu i-370, '07-'10 Hummer H3, '09-'10 Hummer H3T |- | E ||LA1|| 3.4L || V6 || Gas ||OHV||Chevrolet 60° V6. '96 GMT199 (U-body) minivans, '97-'05 GMT200 (U-body) minivans,<br /> '01-'05 Pontiac Aztek, '02-'05 Buick Rendezvous |- | F ||LF3|| 5.0L || V8 || Gas ||OHV|| 4-bbl carb. Gen I Chevrolet Small-Block V8. '81-'86 C/K, full-size vans, '81-'82 Blazer/Jimmy.<br /> CA emissions version of LE9 5.0 V8. |- | F ||L65|| 6.5L || V8 Turbo || Diesel ||OHV||Detroit Diesel V8. For over-8,500 lb. GVWR Chevy C/K, GMC Sierra trucks '92-'02,<br /> Chevy/GMC Suburban 1500/2500 '94-'99, over-8,500 lb. GVWR Express/Savana '96-'02 |- | F ||LNJ|| 3.4L || V6 || Gas ||OHV||Chevrolet 60° V6. Made in China by SAIC-GM. '05-'09 Chevy Equinox, '06-'09 Pontiac Torrent. |- | F ||L94|| 6.2L || V8 || Gas/E85 ||OHV||Flex-Fuel. Gen IV Chevrolet Small-Block V8. Aluminum Block & Heads. SFI. VVT. Active Fuel Management. '10-'14 GMC Yukon Denali/Yukon XL Denali, Cadillac Escalade/Escalade ESV. |- | F ||L20|| 4.8L || V8 || Gas/E85 ||OHV|| Flex Fuel. SFI. Gen IV Chevrolet Small-Block V8. Iron Block/Aluminum Heads. VVT.<br /> '15-'17 Express/Savana |- | F ||L82|| 5.3L || V8 || Gas ||OHV|| Gen V Chevrolet Small-Block V8 (EcoTec3). Direct injection, VVT. With Active Fuel Management<br /> '19-'21 Chevy Silverado 1500, GMC Sierra 1500 (T1XX). |- | G ||LG9|| 5.0L || V8 || Gas ||OHV|| 2-bbl carb. Gen I Chevrolet Small-Block V8. '81 Chevy/GMC C/K pickups, Blazer/Jimmy, full-size van |- | G ||L18|| 8.1L || V8 || Gas ||OHV||MFI. Vortec 8100. Gen VII Chevrolet Big-Block V8. '01-'02 C3500HD, '01-'06 Silverado HD/Sierra HD, '07 Silverado Classic HD/Sierra Classic HD, '01-'06 Suburban/Yukon XL 2500, '02-'06 Avalanche 2500, '01-'02 Express/Savana |- | G ||L96|| 6.0L || V8 || Gas/E85 ||OHV||Flex Fuel. SFI. Gen IV Chevrolet Small-Block V8. Iron Block & Aluminum Heads. VVT.<br /> '10-'19 Silverado HD/Sierra HD, '10-'13 Suburban 2500/Yukon XL 2500, '16-'19 Suburban 3500,<br /> '10-'20 Express/Savana. |- | G ||LSD|| 1.5L || I4 Turbo || Gas ||DOHC,<br /> 16 valve||GM Small Gasoline Engine. Direct Injection. VVT. '23+ Chevy Equinox, GMC Terrain |- | H ||LG4|| 5.0L || V8 || Gas ||OHV||4-bbl carb. Gen I Chevy Small-Block V8. (305 cu. in.) '81-'87 Chevy El Camino, GMC Caballero. |- | H ||LE9|| 5.0L || V8 || Gas ||OHV|| 4-bbl carb. Gen I Chevrolet Small-Block V8. '81-'86 C/K pickups, Blazer/Jimmy, Suburban, full-size vans |- | H ||L03|| 5.0L || V8 || Gas ||OHV|| TBI. Gen I Chevrolet Small-Block V8. '87 R/V pickups, '88-'95 C/K, Sierra pickups, '87-'95 full-size vans, '87 Blazer/Jimmy, Suburban. |- | H ||LN2|| 2.2L || I4 || Gas ||OHV||SFI. Chevrolet "122" engine. '03 Chevy S-10/GMC Sonoma |- | H ||LS2|| 6.0L || V8 || Gas ||OHV||SFI. Gen IV Chevy Small-Block V8. Chevy SSR '05-'06, Trailblazer SS '06-'09, Saab 9-7X Aero '08-'09. |- | H ||LV3|| 4.3L || V6 || Gas/E85 ||OHV||Flex Fuel. Chevrolet 90° V6 - Gen V Chevrolet Small-Block V6 (EcoTec3). Direct injection, VVT. Active Fuel Management. '14-'21 Chevy Silverado 1500/GMC Sierra 1500. |- | J ||L39|| 4.4L || V8 || Gas ||OHV||2-bbl carb. Gen I Chevy Small-Block V8 (267 cu. in.) '81-82 Chevy El Camino, GMC Caballero. |- | J ||LL4|| 6.2L || V8 || Diesel ||OHV||Detroit Diesel V8. For over-8,500 lb. GVWR trucks '82-'93. '82-'86 C/K pickups, '87-'91 R/V pickups,<br /> '88-'93 C/K, Sierra pickups, '82-'91 Blazer/Jimmy, Suburban, '83-'93 full-size vans |- | J ||L29|| 7.4L || V8 || Gas ||OHV|| MFI. Vortec 7400. Gen VI Chevrolet Big-Block V8.<br /> '96-'00 C/K, Sierra pickups, Express/Savana, '96-'99 Suburban 2500 |- | J ||LY5|| 5.3L || V8 || Gas ||OHV||SFI. Gen IV Chevrolet Small-Block V8. Active Fuel Management. Iron Block & Aluminum Heads.<br /> '07-'09 Silverado/Sierra 1500, Tahoe/Yukon, Suburban/Yukon XL 1500, Avalanche |- | J ||LZ1|| 6.0L || V8 || Gas ||OHV||2-Mode Hybrid. Gen IV Chevrolet Small-Block V8. Aluminum Block & Heads. VVT. Active Fuel Management. '10-'13 Tahoe Hybrid, Yukon Hybrid, Escalade Hybrid, Silverado Hybrid, Sierra Hybrid |- | J ||L86|| 6.2L || V8 || Gas ||OHV||Gen V Chevrolet Small-Block V8 (EcoTec3). Direct injection, VVT. Active Fuel Management. <br /> '14-18 Chevy/GMC Silverado 1500/Sierra 1500,<br /> '18-20 Chevy Tahoe Premier, '19-'20 Chevy Suburban Premier, GMC Yukon/Yukon XL SLT,<br /> '15-'20 GMC Yukon Denali/Yukon XL Denali, Cadillac Escalade/Escalade ESV. |- | K ||LC3|| 3.8L || V6 || Gas ||OHV||2-bbl carb. Chevrolet 90° V6 (Chevy Small-Block V8 Derived). 229 cu. in. <br /> '81-'82 Chevy El Camino, GMC Caballero (49-state emissions) |- | K ||L05|| 5.7L || V8 || Gas ||OHV|| TBI. Gen I Chevrolet Small-Block V8. '87 R/V pickups, '88-'95 C/K, Sierra pickups, '87-'95 full-size vans, '96 G-Classic full-size vans, '87-'94 Blazer, '95 Tahoe, '87-'91 Jimmy, '92-'95 Yukon, '87-'95 Suburban. |- | K ||LY6|| 6.0L || V8 || Gas ||OHV||SFI. Gen IV Chevrolet Small-Block V8. Iron Block & Aluminum Heads. VVT.<br /> '07-'09 Silverado HD/Sierra HD, '07-'09 Suburban 2500/Yukon XL 2500, '08-'09 Express/Savana |- | K ||LEA|| 2.4L || I4 || Gas/E85 ||DOHC,<br /> 16 valve||Flex Fuel. GM Ecotec engine, Gen II. Direct Injection. VVT. Chevy Equinox, GMC Terrain '12-'17,<br /> Chevy Captiva Sport '12-'14, Chevy Orlando '14. |- | K ||L3B|| 2.7L ||I4 Turbo||| Gas ||DOHC,<br /> 16 valve||GM L3B Tripower engine ("TurboMax"). Direct Injection. VVT, VVL. Active Fuel Management.<br /> '19+ Chevy Silverado 1500, GMC Sierra 1500, '23+ Chevy Colorado, GMC Canyon. |- | L ||LS9|| 5.7L || V8 || Gas ||OHV|| 4-bbl carb. Gen I Chevrolet Small-Block V8. For sub-8,500 lb. GVWR trucks, vans, Suburban, Blazer/Jimmy (CA) '81-'86. |- | L ||L27|| 3.8L || V6 || Gas ||OHV||Buick V6 (3800 Series I). '92-'95 U-body minivans |- | L ||LX9|| 3.5L || V6 || Gas ||OHV||GM High Value 60° V6. 3498cc. SFI. '05-'06 GMT201 minivans, '06-'07 Buick Rendezvous |- | L ||LH8|| 5.3L || V8 || Gas ||OHV||SFI. Gen IV Chevrolet Small-Block V8. Aluminum Block & Heads.<br /> '08-'09 Hummer H3 Alpha, '09 Colorado/Canyon, Hummer H3T Alpha |- | L ||LGH|| 6.6L || V8 Turbo || Diesel ||OHV,<br /> 32 valve||Duramax 6600 V8 engine. Mid '10-'16 Express/Savana, '11-'12 Silverado HD/Sierra HD chassis cabs |- | L ||L87|| 6.2L || V8 || Gas ||OHV||Gen V Chevrolet Small-Block V8 (EcoTec3). Direct injection, VVT. Dynamic Fuel Management.<br /> '19+ Chevy/GMC Silverado 1500/Sierra 1500, '21+ Tahoe/Yukon, Suburban/Yukon XL,<br /> Cadillac Escalade/Escalade ESV. |- | L ||L3T|| 1.3L || I3 Turbo || Gas ||DOHC,<br /> 12 valve||GM E-Turbo Engine. Direct Injection. VVT. '20+ Buick Encore GX, '21+ Chevy Trailblazer. |- | M ||LT9|| 5.7L || V8 || Gas ||OHV|| 4-bbl carb. Gen I Chevy Small-Block V8.<br /> For over-8,500 lb. GVWR C/K trucks, full-size vans, Suburban '81-'86, full-size van cutaway '81-'88.<br /> '88 Chevy/GMC R30/3500 Chassis Cab w/C7C (10,500 lb. GVWR),<br /> V30/3500 Chassis Cab w/C7E (11,000 lb. GVWR) |- | M ||L30|| 5.0L || V8 || Gas ||OHV||Gen 1+ Chevrolet Small-Block V8. Vortec 5000. CPI.<br /> '96-'99 Chevy C/K, GMC Sierra, '96-'02 Express/Savana |- | M ||LNF|| 2.0L || I4 Turbo || Gas ||DOHC,<br /> 16 valve||GM Ecotec engine, Gen II. Direct Injection. VVT. 2010 Chevy HHR SS. |- | M ||LH6|| 5.3L || V8 || Gas ||OHV||SFI. Gen IV Chevrolet Small-Block V8. Active Fuel Management. Aluminum Block & Heads.<br /> '05-'06 GMT370 SUVs (Trailblazer EXT/Envoy XL/Isuzu Ascender 7-psgr.), '05-'07 Buick Rainier,<br /> '05-'09 GMC Envoy Denali, Saab 9-7X, '06-'08 Chevy Trailblazer, '05 GMC Envoy XUV,<br /> '07-'09 Silverado/Sierra 1500 |- | M ||LAF|| 2.4L || I4 || Gas ||DOHC,<br /> 16 valve||GM Ecotec engine, Gen II. Direct Injection. VVT. Chevy Orlando '12. |- | M ||LE2|| 1.4L || I4 Turbo || Gas ||DOHC,<br /> 16 valve||GM Small Gasoline Engine. Direct Injection. VVT. '16-'19 & '21-'22 Buick Encore, '21-'22 Chevy Trax. |- | N ||L10|| 1.8L || I4 || Gas ||SOHC,<br /> 8 valve||2-bbl carb. Isuzu G180Z engine imported from Japan. '81-'82 Chevy LUV |- | N ||LF9|| 5.7L || V8 || Diesel ||OHV||Oldsmobile Diesel V8. '83-'84 Chevy El Camino/GMC Caballero. |- | N ||LB1|| 4.3L || V6 || Gas ||OHV|| 4-bbl carb. Chevrolet 90° V6 (Chevy Small-Block V8 Derived).<br /> '85 Astro/Safari, '85-'86 C/K pickups & full-size vans |- | N ||L19|| 7.4L || V8 || Gas ||OHV|| Mark IV Chevrolet Big-Block V8. TBI.<br /> '87-'90 R/V pickups, Suburban 2500, '88-'90 C/K, Sierra pickups, full-size vans |- | N ||L19|| 7.4L || V8 || Gas ||OHV|| Gen V Chevrolet Big-Block V8. TBI.<br /> '91 R/V pickups, '91-'95 C/K, Sierra pickups, Suburban 2500, full-size vans. '96 G-Classic full-size vans |- | N ||LZ4|| 3.5L || V6 || Gas ||OHV||GM High Value 60° V6. 3510cc. SFI. VVT. '08-'09 Saturn Vue |- | N ||LQ9|| 6.0L || V8 || Gas ||OHV|| Gen III Chevrolet Small-Block V8. Vortec 6000 H.O. or VortecMAX. Iron Block/Aluminum Heads. 345 hp.<br /> '02-'06 Cadillac Escalade, '03-'06 Cadillac Escalade ESV, '03-'06 Chevy Silverado SS, '05-'06 GMC Sierra Denali. |- | N ||LGZ|| 3.6L || V6 || Gas ||DOHC,<br /> 24 valve||GM High Feature V6, 4th gen. Direct Injection. VVT. Active Fuel Management.<br /> '17-'22 Chevy Colorado, GMC Canyon. |- | P ||L49|| 6.5L || V8 || Diesel ||OHV||Detroit Diesel V8. For sub-8,500 lb. GVWR Chevy C/K, GMC Sierra trucks & full-size vans '94-'95 |- | P ||LM4|| 5.3L || V8 || Gas ||OHV||Gen III Chevrolet Small-Block V8. Vortec 5300. 290hp. Aluminum Block & Heads.<br /> '03-'04 Chevy SSR, '03-'04 GMT370 SUVs (Trailblazer EXT/Envoy XL/Isuzu Ascender 7-psgr.),<br /> '04 Buick Rainier, GMC Envoy XUV |- | P ||LE5|| 2.4L || I4 || Gas ||DOHC,<br /> 16 valve||MFI. GM Ecotec Gen II. VVT. '06-'08 Chevy HHR, '08-'09 Saturn Vue |- | P ||LH9|| 5.3L || V8 || Gas/E85 ||OHV||Flex Fuel. SFI. Gen IV Chevrolet Small-Block V8. Aluminum Block & Heads. VVT.<br /> '10-'12 Colorado/Canyon, '10 Hummer H3 Alpha, H3T Alpha |- | P ||LV1|| 4.3L || V6 || Gas ||OHV||Chevrolet 90° V6 - Gen V Chevrolet Small-Block V6 (EcoTec3). Direct injection, VVT.<br /> '18+ Chevy Express/GMC Savana. |- | P ||LBP|| 1.2L || I3 Turbo || Gas/E85 ||DOHC,<br /> 12 valve||Flex Fuel. GM E-Turbo Engine. Direct Injection. VVT.<br /> '25+ Buick Encore GX, Chevy Trailblazer, '25- Chevy Trax, Buick Envista. |- | R ||LL2|| 2.8L || V6 || Gas ||OHV||TBI. Chevrolet 60° V6. '86-'93 Chevy S-10, GMC S-15/Sonoma,<br /> '86-'89 Chevy S-10 Blazer/GMC S-15 Jimmy |- | R ||L31|| 5.7L || V8 || Gas ||OHV||Gen 1+ Chevrolet Small-Block V8. Vortec 5700. CPI.<br /> '96-'99 Chevy C/K, GMC Sierra, '96-'99 Chevy Tahoe/GMC Yukon, Chevy/GMC Suburban, '99-'00 GMC Yukon Denali, Cadillac Escalade, '00 Chevy Tahoe Limited/Z71, '96-'02 Chevy Express/GMC Savana. |- | R ||L8B|| 5.3L || V8 || Gas ||OHV||Mild Hybrid. Gen V Chevrolet Small-Block V8 (EcoTec3). Direct injection, VVT. Active Fuel Management. '16-'18 Chevy Silverado 1500, GMC Sierra 1500. |- | S ||LQ7|| 2.2L || I4 || Diesel ||OHV||Isuzu C220 engine imported from Japan. '81-'82 Chevy LUV, '84-'85 Chevy S-10/GMC S-15 |- | S ||L56|| 6.5L || V8 Turbo || Diesel ||OHV||Detroit Diesel V8. For sub-8,500 lb. GVWR Chevy C/K, GMC Sierra trucks '94-'99,<br /> Chevy Blazer '94, Chevy Tahoe 2-d '95-'99, GMC Yukon 2-d '94-'97 |- | S ||LL8|| 4.2L || I6 || Gas ||DOHC,<br /> 24 valve||Atlas I6. SFI. VVT. '02-'09 GMT360/370 SUVs (Chevy Trailblazer, GMC Envoy, Oldsmobile Bravada, Buick Rainier, Isuzu Ascender, Saab 9-7X) |- | S ||LGX|| 3.6L || V6 || Gas ||DOHC,<br /> 24 valve||GM High Feature V6, 4th gen. Direct Injection. VVT. Active Fuel Management.<br /> '17+ Cadillac XT5, '17-'23 GMC Acadia, '19+ Chevrolet Blazer, '20-'25 Cadillac XT6. |- | S ||LK0|| 2.5L || I4 Turbo || Gas ||DOHC,<br /> 16 valve||L3B engine family. Direct Injection. VVT. '24- Chevy Traverse, GMC Acadia, '25- Buick Enclave |- | T ||L25|| 4.8L || I6 || Gas ||OHV||1-bbl carb. Chevrolet Turbo-Thrift I6. '81-'86 Chevy/GMC C/K pickups, '88 R/V pickups |- | T ||LM7|| 5.3L || V8 || Gas ||OHV|| Gen III Chevrolet Small-Block V8. Iron Block & Aluminum Heads. Vortec 5300. 270/285/295hp.<br /> '99-'07 GMT800 pickups & SUVs including '02-'05 Escalade 2wd, '03-'07 Express/Savana |- | T ||LEA|| 2.4L || I4 || Gas/E85 ||DOHC,<br /> 16 valve||Flex Fuel. GM Ecotec engine, Gen II. Direct Injection. VVT. Chevy Orlando '13. |- | T ||LM2|| 3.0L || I6 Turbo|| Diesel ||DOHC,<br /> 24 valve|| Duramax Diesel I6. Aluminum Block & Heads. '20-'22 Silverado/Sierra 1500, '21-'24 Tahoe/Suburban, Yukon/Yukon XL, Escalade/Escalade ESV. |- | U ||LS5|| 1.6L || I4 || Gas ||SOHC,<br /> 8 valve||Suzuki G16A engine. TBI. '89-'95 Geo Tracker |- | U ||LQ4|| 6.0L || V8 || Gas ||OHV|| Gen III Chevrolet Small-Block V8. Iron Block & Aluminum Heads (Iron Heads in '99-'00).<br /> '99-'06 GMT800 pickups, '00-'06 Suburban/Yukon XL 2500, '01-'06 Yukon Denali/Yukon XL Denali,<br> '06 Suburban LTZ, '03-'07 Express/Savana, '03-'07 Hummer H2. |- | U ||LE9|| 2.4L || I4 || Gas/E85 ||DOHC,<br /> 16 valve||Flex-Fuel. GM Ecotec Gen II. 2011 Chevy HHR |- | U ||LH7|| 1.6L ||I4 Turbo|| Diesel ||DOHC,<br /> 16 valve||GM Medium Diesel engine ("Whisper Diesel"). Made by Opel in Szentgotthárd, Hungary.<br /> Aluminum Block & Heads. '18-'19 Chevy Equinox & GMC Terrain Diesel. |- | V ||LR4|| 4.8L || V8 || Gas ||OHV||Gen III Chevrolet Small-Block V8. Iron Block/Aluminum Heads. '99-'06 GMT800 pickups,<br /> '00-'06 Tahoe/Yukon, '03-'07 Express/Savana |- | V ||LE9|| 2.4L || I4 || Gas/E85 ||DOHC,<br /> 16 valve||Flex-Fuel. GM Ecotec Gen II. 2009-2010 Chevy HHR |- | V ||LYX|| 1.5L || I4 Turbo || Gas ||DOHC,<br /> 16 valve||GM Small Gasoline Engine. Direct Injection. VVT. '18-'22 Chevy Equinox, GMC Terrain |- | W ||LE8|| 7.4L || V8 || Gas ||OHV|| Mark IV Chevrolet Big-Block V8. 4bbl carb. '81-'86 Chevy/GMC C/K pickups, Suburban.<br /> '88-'89 Chevy/GMC R30/3500 Chassis Cab w/C7C (10,500 lb. GVWR),<br /> V30/3500 Chassis Cab w/C7E (11,000 lb. GVWR) |- | W ||L35|| 4.3L || V6 || Gas ||OHV|| CPI. Vortec 4300 H.O. Chevrolet 90° V6 (Chevy Small-Block V8 Derived).<br /> '92-'95 Sonoma, S-10 Blazer/Jimmy, Astro/Safari, '94-'95 S-10, '92-'94 Oldsmobile Bravada |- | W ||L35|| 4.3L || V6 || Gas ||OHV|| SFI. Vortec 4300 H.O. Chevrolet 90° V6 (Chevy Small-Block V8 Derived). '96-'02 S-10/Sonoma, Blazer/Jimmy, Express/Savana, C/K, Silverado, Sierra, '96-'01 Bravada, Astro/Safari, '00 Isuzu Hombre |- | W ||LGD|| 3.9L || V6 || Gas/E85 ||OHV||Flex Fuel. GM High Value 60° V6. SFI. VVT. '07-'09 GMT201 minivans |- | W ||LAF|| 2.4L || I4 || Gas ||DOHC,<br /> 16 valve||GM Ecotec engine, Gen II. Direct Injection. VVT. Chevy Equinox, GMC Terrain '10. |- | W ||LE8|| 2.2L || I4 || Gas/E85 ||DOHC,<br /> 16 valve||Flex-Fuel. GM Ecotec Gen II. VVT. 2011 Chevy HHR. |- | W ||LFY|| 3.6L || V6 || Gas ||DOHC,<br /> 24 valve||GM High Feature V6. Direct Injection.<br> '18-'23 Chevrolet Traverse, '24 Chevrolet Traverse Limited, '18-'24 Buick Enclave. |- | X ||LF6|| 4.3L || V6 || Gas ||OHV||SFI. Vortec 4300. Chevrolet 90° V6 (Chevy Small-Block V8 Derived).<br /> '96-'99 S-10/Sonoma, '97-'99 Isuzu Hombre. |- | X ||LU3|| 4.3L || V6 || Gas ||OHV||Vortec 4300. Chevrolet 90° V6 (Chevy Small-Block V8 Derived). '03-'04 S-10/Sonoma,<br /> '03-'05 Blazer/Jimmy, '02-'05 Astro/Safari, '03-'14 Express/Savana, '03-'13 Silverado/Sierra |- | X ||LNF|| 2.0L || I4 Turbo || Gas ||DOHC,<br /> 16 valve||GM Ecotec engine, Gen II. Direct Injection. VVT. '08-'09 Chevy HHR SS. |- | X ||LTG|| 2.0L || I4 Turbo || Gas ||DOHC,<br /> 16 valve||GM Ecotec engine, Gen III. Direct Injection. VVT.<br /> '16-'20 Buick Envision, '18-'20 Chevy Equinox, GMC Terrain, '18-'19 Chevy Traverse RS |- | Y ||LQ2|| 2.0L || I4 || Gas ||OHV||2-bbl carb. Chevrolet "122" engine.<br /> '83-'84 Chevy S-10/GMC S-15, '83-'84 Chevy S-10 Blazer/GMC S-15 Jimmy |- | Y ||L57|| 6.5L || V8 || Diesel ||OHV||Detroit Diesel V8. For over-8,500 lb. GVWR full-size vans '94-'95 & '96 G-Classic full-size vans |- | Y ||L76|| 6.0L || V8 || Gas ||OHV||SFI. Gen IV Chevy Small-Block V8. Aluminum Block & Heads. VVT. With Active Fuel Management.<br /> '07-'09 Silverado/Sierra, Suburban/Yukon XL, Chevy Avalanche |- | Y ||LF1|| 3.0L || V6 || Gas ||DOHC,<br /> 24 valve||GM High Feature V6. Direct Injection. VVT.<br /> '10-'11 Cadillac SRX, '11 Saab 9-4X, '10 Chevy Equinox, GMC Terrain |- | Y ||L5P|| 6.6L || V8 Turbo || Diesel ||OHV,<br /> 32 valve||Duramax 6600 V8 engine. '17+ Silverado HD/Sierra HD. Engine updated in '24. |- | Z ||LF9|| 5.7L || V8 || Diesel ||OHV||Oldsmobile Diesel V8. '81 Chevy C10/GMC C1500 full-size pickups. |- | Z ||LB4|| 4.3L || V6 || Gas ||OHV|| TBI. Chevrolet 90° V6 (Chevy Small-Block V8 Derived). '85-'87 Chevy El Camino/GMC Caballero,<br /> '86-'94 Astro/Safari, '87 R/V pickups, '88-'95 C/K & Sierra pickups, '87-'95 full-size vans & <br /> '96 G-Classic full-size vans, '88-'95 S-10, S-15/Sonoma, '88-'94 S-10 Blazer, S-15 Jimmy,<br /> '91-'92 Oldsmobile Bravada |- | Z ||LB4|| 4.3L || V6 Turbo || Gas ||OHV|| MPI. For GMC Syclone & Typhoon. Chevrolet 90° V6 (Chevy Small-Block V8 Derived) |- | Z ||L59|| 5.3L || V8 || Gas/E85 ||OHV||Flex Fuel. Gen III Chevrolet Small-Block V8. Iron Block & Aluminum Heads. Vortec 5300. 285/295hp.<br /> '02-'07 GMT800 pickups, '02-'06 Suburban/Yukon XL, Avalanche. |- | Z ||LAT|| 2.4L || I4 || Gas ||DOHC,<br /> 16 valve||Mild Hybrid. MFI. GM Ecotec Gen II. VVT. '07-'09 Saturn Vue Green Line |- | 1 ||LZ9|| 3.9L || V6 || Gas ||OHV||GM High Value 60° V6. SFI. VVT. '06-'09 GMT201 minivans |- | 1 ||LE5|| 2.4L || I4 || Gas ||DOHC,<br /> 16 valve||MFI. GM Ecotec Gen II. VVT. '10 Saturn Vue. |- | 1 ||LB7|| 6.6L || V8 Turbo || Diesel ||OHV,<br /> 32 valve||Duramax 6600 V8 engine. First version of the Duramax V8. '01-Mid '04 Silverado HD/Sierra HD |- | 1 ||LWN|| 2.8L || I4 Turbo || Diesel ||DOHC,<br /> 16 valve||Based on VM Motori A428 engine. Made by GM Powertrain Thailand 2016-2020. Made in Brazil for '22. '16-'22 Colorado/Canyon, '17-'22 Express/Savana. |- | 2 ||LLY|| 6.6L || V8 Turbo || Diesel ||OHV,<br /> 32 valve||Duramax 6600 V8 engine. Mid '04-Mid '06 Silverado HD/Sierra HD, '06-Mid '07 Express/Savana |- | 2 ||L9H|| 6.2L || V8 || Gas/E85 ||OHV||Flex-Fuel. Gen IV Chevrolet Small-Block V8. Aluminum Block & Heads. SFI. VVT.<br /> '09-'13 Chevy Silverado 1500, GMC Sierra 1500, Sierra Denali 1500,<br /> '09 Chevy Tahoe LTZ, GMC Yukon Denali/Yukon XL Denali, Cadillac Escalade/Escalade ESV,<br> Hummer H2 |- | 2 ||LIH|| 1.2L || I3 Turbo || Gas ||DOHC,<br /> 12 valve||GM E-Turbo Engine. Direct Injection. VVT.<br /> '20-'24 Buick Encore GX, '21-'24 Chevy Trailblazer, '24 Chevy Trax, Buick Envista,<br> '25 Chevy Trax, Buick Envista (Canada only). |- | 3 ||LC9|| 5.3L || V8 || Gas/E85 ||OHV||Flex Fuel. SFI. Gen IV Chevrolet Small-Block V8. Active Fuel Management. VVT added for '10. Aluminum Block & Heads.<br /> '07-'11 Silverado/Sierra 1500, Tahoe/Yukon, Suburban/Yukon XL 1500, '07-'09 & '11 Avalanche |- | 3 ||LFX|| 3.6L || V6 || Gas ||DOHC,<br /> 24 valve||GM High Feature V6. Direct Injection. VVT. E85 Flex Fuel.<br /> '12-'16 Cadillac SRX, '13-'17 Chevrolet Equinox, GMC Terrain, '15-'16 Colorado/Canyon |- | 4 ||LN2|| 2.2L || I4 || Gas ||OHV||MFI (94-95). SFI (96-00). Chevrolet "122" engine. '94-'00 S-10/Sonoma, '96-'00 Isuzu Hombre |- | 4 ||LE8|| 2.5L || V6 || Gas ||DOHC,<br /> 24 valve||Suzuki H25A engine. MFI. '01-'04 Chevrolet Tracker |- | 4 ||L66|| 3.5L || V6 || Gas ||SOHC,<br /> 24 valve||Honda J35S1 V6. VTEC. '04-'07 Saturn Vue |- | 4 ||LMF|| 5.3L || V8 || Gas/E85 ||OHV||Flex Fuel. SFI. Gen IV Chevrolet Small-Block V8. Iron Block & Aluminum Heads. VVT.<br /> '08-'14 Express/Savana 1500 |- | 4 ||LAU|| 2.8L || V6 Turbo || Gas ||DOHC,<br /> 24 valve||GM High Feature V6. SFI. '10 Cadillac SRX |- | 4 ||LSY|| 2.0L || I4 Turbo || Gas ||DOHC,<br /> 16 valve||GM Ecotec engine, Gen III. Direct Injection. Active Fuel Management. VVT. VVL.<br /> '19-'25 Cadillac XT4, '20+ Chevy Blazer, Cadillac XT5, '20-'23 GMC Acadia,<br /> '21+ Buick Envision, '21-'25 Cadillac XT6 |- | 5 ||L43|| 2.2L || I4 || Gas/E85 ||OHV||Flex-Fuel. SFI. Chevrolet "122" engine. '00-'02 S-10/Sonoma, '00 Isuzu Hombre |- | 5 ||LFA|| 6.0L || V8 || Gas ||OHV||2-Mode Hybrid. Gen IV Chevrolet Small-Block V8. Aluminum Block & Heads. VVT. Active Fuel Management. '08-'09 Tahoe Hybrid/Yukon Hybrid, '09 Escalade Hybrid, Silverado Hybrid/Sierra Hybrid |- | 5 ||LFW|| 3.0L || V6 || Gas/E85 ||DOHC,<br /> 24 valve||Flex-Fuel. GM High Feature V6. Direct Injection. VVT. '11-'12 Chevy Equinox, GMC Terrain,<br /> '12 Chevy Captiva Sport |- | 6 ||L01|| 1.6L || I4 || Gas ||SOHC,<br /> 16 valve||Suzuki G16B engine. MFI. '94-'97 Geo Tracker, '98-'00 Chevrolet Tracker |- | 6 ||L52|| 3.5L || I5 || Gas ||DOHC,<br /> 20 valve||Atlas I5. SFI. VVT. '04-'06 Colorado/Canyon, '06 Isuzu i-350, '06 Hummer H3 |- | 6 ||LAU|| 2.8L || V6 Turbo || Gas ||DOHC,<br /> 24 valve||GM High Feature V6. SFI. '11 Cadillac SRX, Saab 9-4X |- | 6 ||LMM|| 6.6L || V8 Turbo || Diesel ||OHV,<br /> 32 valve||Duramax 6600 V8 engine. '07-'10 Silverado HD/Sierra HD (GMT900), Mid '07-Mid '10 Express/Savana |- | 7 ||LY7|| 3.6L || V6 || Gas ||DOHC,<br /> 24 valve||GM High Feature V6. '04-'06 Buick Rendezvous, '04-'09 Cadillac SRX,<br /> '07-'08 GMC Acadia, Saturn Outlook, '08 Buick Enclave, '08-'10 Saturn Vue |- | 7 ||LC9|| 5.3L || V8 || Gas/E85 ||OHV||Flex Fuel. SFI. Gen IV Chevrolet Small-Block V8. Active Fuel Management. VVT.<br /> Aluminum Block & Heads.<br /> '12-'13 Silverado/Sierra 1500, Avalanche, '12-'14 Tahoe/Yukon, Suburban/Yukon XL 1500 |- | 7 ||L8T|| 6.6L || V8 || Gas ||OHV||Gen V Chevrolet Small-Block V8. Iron Block/Aluminum Heads. Direct injection, VVT.<br /> '20+ Silverado HD/Sierra HD, '21+ Express/Savana |- | 8 ||LK5|| 2.8L || I4 || Gas ||DOHC,<br /> 16 valve||Atlas I4. SFI. VVT. '04-'06 Colorado/Canyon, '06 Isuzu i-280. |- | 8 ||L92|| 6.2L || V8 || Gas ||OHV||Gen IV Chevrolet Small-Block V8. Aluminum Block & Heads. SFI. VVT.<br /> '07-'08 GMC Sierra Denali, Yukon Denali/Yukon XL Denali, Cadillac Escalade/Escalade ESV,<br> '08 Chevy Tahoe LTZ, Hummer H2. |- | 8 ||LML|| 6.6L || V8 Turbo || Diesel ||OHV,<br /> 32 valve||Duramax 6600 V8 engine.<br /> '11-'16 Silverado HD/Sierra HD pickups, '13-'16 Silverado HD/Sierra HD chassis cabs. |- | 8 ||LZ0|| 3.0L || I6 Turbo|| Diesel ||DOHC,<br /> 24 valve|| Duramax Diesel I6. Aluminum Block & Heads.<br> '23+ Silverado/Sierra 1500, '24+ Suburban HD, '25+ Tahoe/Suburban, Yukon/Yukon XL. |- | 9 ||LC3|| 3.8L || V6 || Gas ||OHV||2-bbl carb. Chevrolet 90° V6 (Chevy Small-Block V8 Derived). 229 cu. in. <br /> '83-'84 Chevy El Camino, GMC Caballero (49-state emissions). |- | 9 ||LLV|| 2.9L || I4 || Gas ||DOHC,<br /> 16 valve||Atlas I4. SFI. VVT. '07-'12 Colorado/Canyon, '07-'08 Isuzu i-290. |- | 9 ||LT4|| 6.2L ||V8 Supercharged|| Gas ||OHV||Gen V Chevy Small-Block V8. Aluminum Block & Heads. Direct injection. VVT. Active Fuel Management. '23+ Cadillac Escalade/Escalade ESV V-Series. |- | 0 ||LMG|| 5.3L || V8 || Gas/E85 ||OHV||Flex-Fuel. SFI. Gen IV Chevrolet Small-Block V8. Active Fuel Management. VVT added for '10.<br /> Iron Block & Aluminum Heads.<br /> '07-'13 Silverado/Sierra 1500, Avalanche, '07-'14 Tahoe/Yukon, Suburban/Yukon XL 1500. |} H.O.=High Output, VVT=Variable Valve Timing, VVL=Variable Valve Lift, GVWR=Gross Vehicle Weight Rating, CNG=Compressed Natural Gas, LPG=Liquefied Petroleum Gas (Propane Autogas) ====Motor codes for electric light trucks==== {| class="wikitable" |- ! VIN !! RPO !! Fuel !! Drive Wheels !! Application/Notes |- | H ||LN1|| Electricity || Front || '97-'98 Chevrolet S-10 Electric. |- |} ====Motor codes for Ultium-powered electric light trucks==== {| class="wikitable" |- ! VIN !! Motor <br /> RPO code !! # of Motors !! Battery Module <br /> RPO code !! # of Modules !! Fuel !! Drive Wheels !! Application/Notes |- | A ||XRL|| 3 || ETN || 24 || Electricity || All || '22- GMC Hummer EV pickup 3X |- | B ||XRL|| 3 || ETI || 20 || Electricity || All || '24- GMC Hummer EV pickup 3X |- | C ||XRL|| 3 || ETJ || 20 || Electricity || All || '24- GMC Hummer EV SUV 3X |- | D ||XRJ|| 2 || ETI || 20 || Electricity || All || '24 Chevrolet Silverado EV 3WT, '25- Silverado EV 5WT, 3LT,<br> '25 Silverado EV RST (2SP), '26- Silverado EV Trail Boss (2TR),<br> '24- GMC Hummer EV pickup 2X, '25- GMC Sierra EV Denali 5SC,<br> '26- Sierra EV Elevation 3SC, AT4 4SC |- | E ||XRJ|| 2 || ETJ || 20 || Electricity || All || '24- GMC Hummer EV SUV 2X |- | G ||XRJ|| 2 || ETJ || 20 || Electricity || All || '23 BrightDrop Zevo 600 |- | H ||XRJ|| 2 || EWX || 14 || Electricity || All ||'26- Chevrolet Silverado EV 4WT, 2LT,<br> '26- GMC Sierra EV Elevation 3SB, Denali 5SB |- | J ||X0C|| 2 || EC5 || 10 || Electricity || All || '24 Chevy Blazer EV 2LT, 1RS AWD,<br> '25- Chevy Blazer EV 4LT, 3RS AWD, '24- Honda Prologue AWD |- | K ||X0D|| 1 || EC6 || 12 || Electricity || Rear || '23- Cadillac Lyriq RWD, '24-'25 Chevrolet Blazer EV 2RS RWD,<br> '24 Acura ZDX A-Spec RWD |- | L ||X0E|| 2 || EC6 || 12 || Electricity || All || '23- Cadillac Lyriq AWD, '24- Chevrolet Blazer EV PPV AWD,<br> '25- Chevrolet Blazer EV SS AWD, '26- Cadillac Vistiq AWD,<br> '24 Acura ZDX A-Spec, Type S AWD |- | L ||XRJ|| 2 || ETN || 24 || Electricity || All || '24 Chevrolet Silverado EV 4WT, RST (3SP), '25- Silverado EV 8WT,<br> '25 Silverado EV RST (3SP), '26- Silverado EV 4LT, Trail Boss (3TR),<br> '24- GMC Sierra EV Denali 5SD, '26- Sierra EV AT4 4SD,<br> '25- Cadillac Escalade IQ, '26- Cadillac Escalade IQL |- | M ||X0B|| 1 || EC5 || 10 || Electricity || Front || '24- Honda Prologue FWD, '25- Chevy Blazer EV 2LT, 1RS FWD |- | P ||X0B|| 1 || EC3 || 10 || Electricity || Front || '24- Chevrolet Equinox EV FWD |- | R ||X0C|| 2 || EC3 || 10 || Electricity || All || '24- Chevrolet Equinox EV AWD, '25 Cadillac Optiq AWD |- | Y ||XRJ|| 2 || ETC || 12 || Electricity || All || '24 BrightDrop Zevo 400, Zevo 600,<br> '25-'26 Chevrolet BrightDrop 400/600 AWD |- | Z ||XRJ|| 2 || ETJ || 20 || Electricity || All || '24 BrightDrop Zevo 400, Zevo 600,<br> '25-'26 Chevrolet BrightDrop 400/600 AWD |- | 4 ||X0E|| 2 || EC3 || 10 || Electricity || All || '26- Cadillac Optiq AWD |- | 5 ||X0D|| 1 || EC3 || 10 || Electricity || Rear|| '26- Cadillac Optiq RWD |- | 6 ||XRM|| 1 || ETC || 12 || Electricity || Front || '25-'26 Chevrolet BrightDrop 400/600 FWD |- | 7 ||XRJ|| 2 || EWU || 14 || Electricity || All || '26 Chevrolet BrightDrop 600 AWD |} SB=Standard Range, SC=Extended Range, SD=Max Range ====Engine codes for medium duty trucks 2016-==== GM encodes the engine type in character 8 of the VIN. The following table outlines the various engines encoded there: {| class="wikitable" |- ! VIN !! RPO !! Size !! Type !! Fuel !! Valvetrain !! Engine Family/Notes/Applications |- | B ||L96|| 6.0L || V8 || Gas ||OHV||SFI. Gen IV Chevrolet Small-Block V8. Iron Block & Aluminum Heads. VVT.<br /> '16-'20 Chevy LCF 3500/4500. |- | C ||LC8|| 6.0L || V8 || Gas/CNG or<br>Gas/LPG ||OHV||Bi-Fuel. SFI. Gen IV Chevrolet Small-Block V8. Iron Block & Aluminum Heads. VVT.<br /> '16-'20 Chevy LCF 3500/4500. |- | D ||L8T|| 6.6L || V8 || Gas ||OHV||Gen V Chevrolet Small-Block V8. Iron Block/Aluminum Heads. Direct injection, VVT.<br /> '21-'23 Chevy LCF 3500/4500, '24- Chevy LCF 3500HG/4500HG/5500HG/5500XG. |- | F ||LCB|| 6.7L || I6 Turbo || Diesel ||OHV,<br /> 32 valve||Cummins B Series ISB engine. '22- Chevy LCF 6500XD, '23- Chevy LCF 7500XD. |- | 6 ||I1B|| 5.2L || I4 Turbo || Diesel ||SOHC,<br /> 16 valve||Isuzu 4HK1-TC engine. '17- Chevy LCF 4500HD/XD, 5500XD, '17-'24 Chevy LCF 5500HD,<br /> '18-'21 Chevy LCF 6500XD. |- | 7 ||IZ3|| 3.0L || I4 Turbo || Diesel ||DOHC,<br /> 16 valve||Isuzu 4JJ1-TC engine. '16-'18 Chevy LCF 3500HD. |- |} ====Engine codes for AM General-built Hummer H1 2000-2006==== AM General encodes the engine type in character 4 of the VIN. {| class="wikitable" |- ! VIN !! RPO !! Size !! Type !! Fuel !! Valvetrain !! Engine Family/Notes |- | F || || 6.5L || V8 Turbo || Diesel ||OHV||Detroit Diesel V8 built by GEP (General Engine Products), a subsidiary of AM General.<br> '01-'04 Hummer H1 & '06 H1 Fleet models. |- | P ||LLY|| 6.6L || V8 Turbo || Diesel ||OHV,<br /> 32 valve||Duramax 6600 V8 engine. '06 Hummer H1 Alpha. |- | Z ||L65|| 6.5L || V8 Turbo || Diesel ||OHV||Detroit Diesel V8 built by GM. '00-'01 Hummer H1. |- |} ====Engine codes for Nissan-built vans==== Nissan encodes the engine type in character 4 of the VIN. {| class="wikitable" |- ! VIN !! RPO !! Size !! Type !! Fuel !! Valvetrain !! Engine Family/Notes |- | 3 ||L0A|| 2.0L || I4 || Gas ||DOHC,<br /> 16 valve||Nissan MR20DE engine. SFI. VVT. For the '15-'18 Chevrolet City Express. |- |} ====Engine codes for Navistar-built medium-duty trucks==== Navistar encodes the engine type in character 6 & 7 of the VIN. {| class="wikitable" |- ! VIN !! RPO !! Size !! Type !! Fuel !! Valvetrain !! Engine Family/Notes |- | PV ||L5D|| 6.6L || V8 Turbo || Diesel ||OHV,<br /> 32 valve||Duramax 6600 V8 engine. For the Chevy Silverado Medium Duty '19+. |- |} ==GM factories supplying North America== ===North American GM factories=== [[w:List_of_General_Motors_factories | List of GM Factories]] {| class="wikitable" !VIN code !Location !Notes |- |A |Lakewood Assembly (Lakewood Heights, Atlanta, Georgia) |through 1990 model year |- |A |Artisan Center (Warren, Michigan) |From 2026 model year. Cadillac CT5-V Blackwing "Curated by Cadillac" program only. |- |B |Baltimore Assembly (Baltimore, Maryland) |through 2005 model year |- |B |Reatta Craft Centre/Lansing Craft Centre (Lansing Township, Michigan) |1988-2006 model year (except GM EV1) |- |B |GM Defense-Manufacturing Customer Innovation Center (MCIC) (Concord, North Carolina) |From 2024 model year. Chevrolet Suburban HD (a.k.a. HD SUV) (for US govt. only). |- |C |South Gate Assembly (South Gate, California) |through 1982 model year |- |C |Lansing Car Assembly (Lansing, Michigan) |South assembly line 1985-2004 model year |- |D |Doraville Assembly (Doraville, Georgia) |through 2009 model year |- |E |Linden Assembly (Linden, New Jersey) |through 1991 model year |- |E |Pontiac East Assembly (Pontiac, Michigan) |1988-2009 model year |- |E |AM General Military plant (Mishawaka, Indiana) |1992-2006 Hummer H1 |- |F |Flint Truck Assembly (Flint, Michigan) |since 1953 |- |F |Fairfax II Assembly (Kansas City, Kansas) |since 1988 model year |- |G |Framingham Assembly (Framingham, Massachusetts) |through 1989 model year |- |G |Silao Assembly (Silao, Guanajuato, Mexico) |since 1995 model year |- |H |Buick City Assembly (Flint, Michigan) |through 1999 model year |- |H |AM General Commercial plant (Mishawaka, Indiana) |2003-2009 Hummer H2 |- |H |Navistar Springfield plant (Main Line) (Springfield, Ohio) |2019- Chevrolet Silverado Medium Duty (4500HD/5500HD/6500HD) |- |J |Janesville Assembly (Janesville, Wisconsin) |through 2009 model year |- |J |Lansing Delta Township Assembly (Lansing, Michigan) |since 2007 model year |- |K |Leeds Assembly (Leeds, Kansas City, Missouri) |through 1988 model year |- |K |Linden Assembly (Linden, New Jersey) |from 1994-2005 model year |- |K |Nissan plant (Cuernavaca, Morelos, Mexico) |2015-2018 Chevrolet City Express |- |L |Van Nuys Assembly (Van Nuys, California) |through 1992 model year |- |L |San Luis Potosí Assembly (San Luis Potosí, Mexico) |since 2009 model year |- |M |Lansing Car Assembly (Lansing, Michigan) |through 1984 model year, North assembly line 1985-2005 model year |- |M |Toluca Assembly (Toluca, Mexico state, Mexico) |through 2008 model year |- |N |Norwood Assembly (Norwood, Ohio) |through 1987 model year |- |N |Navistar Springfield plant (Secondary Line) (Springfield, Ohio) |2017- Chevrolet Express cutaway, GMC Savana cutaway |- |P |Pontiac Assembly (Pontiac, Michigan) |through 1988 model year |- |R |Arlington Assembly (Arlington, Texas) |since 1965 [all GM brands]. (R plant code used only by Chevrolet in 1963-64) |- |S |St. Louis Assembly (St. Louis, Missouri) |through 1987 model year |- |S |Spring Hill Manufacturing (Spring Hill, Tennessee) |2002-2007 Saturn Vue & 2009-2010 Chevrolet Traverse only |- |S |Spartan Motors/Shyft Group plant (Charlotte, Michigan) |2016- Chevrolet Low Cab Forward 3500/3500HG/4500/4500HG/5500HG/5500XG/6500XD/7500XD |- |S |Ramos Arizpe Assembly (Ramos Arizpe, Coahuila, Mexico) |since 1982 |- |T |Tarrytown Assembly (North Tarrytown, New York) |through 1996 model year |- |U |Detroit/Hamtramck Assembly (Factory Zero) <br /> (Detroit & Hamtramck, Michigan) |since 1986 model year |- |U |Artisan Center (Warren, Michigan) |From 2025 model year. Cadillac Celestiq only. |- |V |Pontiac Central Assembly (Pontiac, Michigan) |through 1991 model year |- |V |Pontiac East Assembly (Pontiac, Michigan) |through 1985 model year |- |W |Willow Run Assembly (Ypsilanti Township, Michigan) |through 1993 model year |- |X |Fairfax Assembly (Fairfax I) (Kansas City, Kansas) |through 1987 model year |- |Y |Wilmington Assembly (Wilmington, Delaware) |through 2010 model year |- |Z |Fremont Assembly (Fremont, California) |through 1982 model year |- |Z |NUMMI (Fremont, California) |1985-2010 model year |- |Z |Spring Hill Manufacturing (Spring Hill, Tennessee) |since 1991 model year (except Vue & Traverse) |- |Z |Fort Wayne Assembly (Roanoke, Indiana) |since 1988 model year |- |0 |Pontiac West Assembly (Pontiac, Michigan) |through 1994 model year |- |0 |Lansing Craft Centre (Lansing Township, Michigan) |GM EV1 only |- |0 |Lansing Grand River Assembly (Lansing, Michigan) |since 2003 model year |- |0 |Artisan Center (Warren, Michigan) |2024 Cadillac CT5-V Blackwing 20th Anniversary Edition where the final eight digits of the VIN are R0912004 through R0912024 or R0962004 through R0962024 |- |1 |Wentzville Assembly (Wentzville, Missouri) |since 1985 model year |- |1 |Oshawa Car Assembly (Oshawa, Ontario, Canada) |from 1967-1983 model year |- |1 |Oshawa Car Assembly (Line 2 a.k.a. Consolidated Line) (Oshawa, Ontario, Canada) |from 1984-2019 model year; switched to pickup trucks for 2019 model year |- |1 |Oshawa Car Assembly (Oshawa, Ontario, Canada) |Silverado pickup trucks since 2022 model year |- |1 |Oshawa Truck Assembly (Oshawa, Ontario, Canada) |through 2009 model year |- |2 |Moraine Assembly (Moraine, Ohio) |through 2009 model year |- |2 |Sainte-Thérèse Assembly (Boisbriand, Quebec, Canada) |through 2002 model year |- |3 |Detroit Truck & Bus plant (Piquette Ave., Detroit, Michigan) |through 1999 model year |- |3 |Saint-Eustache Bus Plant (Saint-Eustache, Quebec, Canada) |through 1987 model year |- |4 |Orion Assembly (Orion Township, Michigan) |since 1985 model year |- |4 |Scarborough Van Assembly (Scarborough, Ontario, Canada) |through 1993 model year |- |5 |Bowling Green Assembly (Bowling Green, Kentucky) |since 1981 model year |- |6 |Oklahoma City Assembly (Oklahoma City, Oklahoma) |through 2006 model year |- |6 |CAMI plant (Ingersoll, Ontario, Canada) |1990-2022 model year |- |7 |Lordstown Assembly (Warren, Ohio) |from 1979-2019 model year |- |8 |Shreveport Assembly (Shreveport, Louisiana) |through 2012 model year |- |9 |Detroit Assembly (Clark Street, Detroit, Michigan)<br> (Cadillac plant) |from 1979-1988 model year |- |9 |Oshawa Car Assembly (Line 1 a.k.a. Flex Line)<br> (Oshawa, Ontario, Canada) |from 1984-2020 model year |- |9 |KUKA plant (Livonia, Michigan) |2022 model year only (BrightDrop Zevo 600) |- |9 |CAMI plant (Ingersoll, Ontario, Canada) |since 2023 model year (BrightDrop Zevo/Chevrolet BrightDrop) |} ===Non-North American GM factories supplying North America=== {| class="wikitable" !VIN code !Location !Models Sourced |- |A |SAIC-GM plant: Jinqiao, Pudong district, Shanghai, China |2017-2018 Cadillac CT6 Plug-in Hybrid |- |B |Daewoo/GM Daewoo/GM Korea plant: Bupyeong, South Korea |1988-1993 Pontiac LeMans, 2004-2011 Chevrolet Aveo, 2005-2010 Pontiac Wave/G3, 2004-2006 Chevrolet <br /> Epica (Canada), 2013-2022 Chevrolet Trax, Buick Encore, 2021- Chevrolet Trailblazer, 2020- Buick Encore GX, 2024- Buick Envista |- |C |GM Daewoo/GM Korea plant: Changwon, South Korea |2003-2010 Pontiac Matiz/Matiz G2 (Mexico), 2013-2022 Chevrolet Spark, 2024- Chevrolet Trax |- |D |SAIC-GM Dongyue Motors plant: Yantai, Shandong province, China |2016- Buick Envision, 2019-2023 Chevrolet Aveo (Mexico), 2023- Chevrolet Onix (Mexico) |- |G |Opel plant: Gliwice, Poland |2016-2019 Buick Cascada |- |K |Suzuki plant: Kosai, Shizuoka prefecture, Japan |1985-1988 Chevrolet Sprint, 1989-1990 Geo Metro hatchback, 1990-1993 Geo Metro convertible, 1985-1990 Pontiac Firefly (Canada), 1991 & 1994 Pontiac Firefly convertible & sedan (Canada) |- |K |GM Daewoo/GM Korea plant: Kunsan, South Korea |2004-2007 Chevrolet Optra (Canada), 2012-2014 Chevrolet Orlando (Canada) |- |L |Holden plant: Elizabeth, South Australia, Australia |2004-2006 Pontiac GTO, 2008-2009 Pontiac G8, 2011-2017 Chevrolet Caprice PPV, 2014-2017 Chevrolet SS |- |R |Opel plant: Rüsselsheim, Germany |1997-2001 Cadillac Catera |- |T |GM India plant: Talegaon, Maharashtra, India |2017-2021 Chevrolet Spark Classic/Beat (Mexico) |- |V |SAIC-GM Wuhan plant: Wuhan, Hubei province, China |2018-2021 Chevrolet Cavalier (Mexico), 2022- Chevrolet Cavalier Turbo (Mexico) |- |W |Suzuki plant: Iwata, Shizuoka prefecture, Japan |1989-1990 Geo Tracker |- |1 |Opel plant: Rüsselsheim, Germany |2011, 2018-2020 Buick Regal |- |3 |Isuzu plant: Kawasaki, Kanagawa prefecture, Japan |1987-1998 Chevrolet/GMC W5, 1989-1996 Chevrolet/GMC W6, 1984-1996 Chevrolet/GMC W7 |- |5 |Opel plant: Antwerp, Belgium |2008-2009 Saturn Astra |- |7 |Isuzu plant: Fujisawa, Kanagawa prefecture, Japan |1988 Chevrolet Spectrum, 1988 Pontiac Sunburst (Canada), 1989 Geo Spectrum, 1990-1993 Geo Storm,<br /> 1999-2008 Chevrolet/GMC W3500, 1988-2009 Chevrolet/GMC W4, 1999-2009 Chevrolet/GMC W5,<br /> 2000-2004 Chevrolet/GMC WT5500,<br /> 2016- Chevrolet Low Cab Forward 3500HD/4500HD/4500XD/5500HD/5500XD |- |8 |Isuzu plant: Fujisawa, Kanagawa prefecture, Japan |1981-1982 Chevrolet LUV, 1985-1987 Chevrolet Spectrum, 1985-1987 Pontiac Sunburst (Canada),<br /> 1986-1987 Chevrolet/GMC W4 |} ==GM WMIs== {| class=wikitable !WMI !Marque !Country |- |1G1||rowspan=57|Chevrolet||United States |- |1G8||United States (MPV 1981-1986) |- |1GA||United States (bus [van with more than 3 rows of seats]) |- |1GB||United States (incomplete vehicle) |- |1GC||United States (truck) |- |1GN||United States (MPV 1987-) |- |1HA||United States (Express incomplete vehicle made by Navistar) |- |1HT||United States ([[w:Chevrolet Silverado#Medium duty version_(4500HD,_5500HD,_6500HD,_and_International_CV)|Silverado Medium Duty]] incomplete vehicle made by Navistar) |- |1Y1||United States (made by NUMMI) |- |2C1||Canada (car made by CAMI) |- |2CN||Canada (SUV made by CAMI - 1998-2011) |- |2G1||Canada |- |2G5||Canada (truck - Chevrolet BrightDrop '25) |- |2G8||Canada (MPV 1981-1986) |- |2GA||Canada (bus [van with more than 3 rows of seats]) |- |2GB||Canada (incomplete vehicle) |- |2GC||Canada (truck - includes Chevrolet BrightDrop '26) |- |2GN||Canada (MPV 1987-) |- |3G1||Mexico |- |3GC||Mexico (truck) |- |3GN||Mexico (MPV) |- |3N6||Mexico (Truck - City Express made by Nissan) |- |4G1||United States (made by Genasys L.C.) |- |4KB||United States (W-Series incomplete vehicle made by GM - through 2009) |- |4W1||United States (MPV - Chevrolet Suburban HD made for US govt. in Concord, NC) |- |54D||United States (incomplete vehicle made by Spartan Motors/The Shyft Group) |- |6G1||Australia (2011-2013 Caprice PPV) |- |6G3||Australia (2014-2017 Caprice PPV & SS performance sedan) |- |ADM||South Africa |- |J81||Japan (car made by Isuzu) |- |J8B||Japan (incomplete vehicle made by Isuzu - through 2009) |- |J8Z||Japan (LUV pickup made by Isuzu) |- |JAL||Japan (incomplete vehicle made by Isuzu - 2016+) |- |JG1||Japan (car made by Suzuki) |- |KL1||South Korea (car) |- |KL7||South Korea (MPV - 2012+) |- |KL8||South Korea (Spark) |- |LSF||China (S-10 Max made by SAIC-Maxus - Mexico only) |- |LSG||China (SAIC-GM) |- |LSH||China (Express Max made by SAIC-Maxus - Mexico only) |- |LZW||China (SAIC-GM-Wuling) |- |MA6||India |- |MJB||Indonesia (GM Indonesia) |- |MK3||Indonesia (SGMW Motor Indonesia) |- |MMM||Thailand |- |XUF||Russia (GM Russia - St. Petersburg plant) |- |XUU||Russia (Chevrolet Korea models made by Avtotor in Kaliningrad) |- |XWB||Uzbekistan (GM Uzbekistan, UzAuto Motors) |- |XWF||Russia (Chevrolet Tahoe & Trailblazer [GMT360] made by Avtotor in Kaliningrad) |- |X9L||Russia (GM-AvtoVAZ) |- |8AG||Argentina |- |8GG||Chile |- |8LD||Ecuador |- |8Z1||Venezuela |- |9BG||Brazil |- |93C||Brazil |- |9GC||Colombia |- |J81||rowspan=6|Geo||Japan (car made by Isuzu) |- |JG1||Japan (car made by Suzuki) |- |JGC||Japan (SUV made by Suzuki) |- |1Y1||United States (car made by NUMMI) |- |2C1||Canada (car made by CAMI) |- |2CN||Canada (SUV made by CAMI - 1990-1997) |- |KLA||rowspan=3|GM Daewoo/<br />GM Korea||South Korea (Bupyeong & Kunsan plants) |- |KLY||South Korea (Changwon plant) |- |5GD||United States (G2X) |- |1G2||rowspan=12|Pontiac||United States |- |1G5||United States (incomplete vehicle - for '89-'90 Turbo Grand Prix by ASC/McLaren) |- |1GM||United States (MPV) |- |2CK||Canada (2006-2009 Torrent made by CAMI) |- |2G2||Canada |- |2G7||Canada (US market 1983 Pontiac Parisienne) |- |3G2||Mexico |- |3G7||Mexico (MPV: 2001-2005 Aztek) |- |4G2||United States (made by Genasys L.C.) |- |5Y2||United States (made by NUMMI) |- |6G2||Australia |- |KL2||South Korea (made by Daewoo/GM Daewoo) |- |1G7||rowspan=6|Pontiac<br />(Canada only)||United States |- |2C7||Canada (car made by CAMI) |- |2CG||Canada (SUV made by CAMI) |- |2G7||Canada |- |J87||Japan (car made by Isuzu) |- |JG7||Japan (car made by Suzuki) |- |KL7||Passport<br />(Canada only)||South Korea (car made by Daewoo) |- |J87||rowspan=3|Asüna<br />(Canada only)||Japan (car made by Isuzu) |- |KL7||South Korea (car made by Daewoo) |- |2CG||Canada (SUV made by CAMI) |- |1G3||rowspan=3|Oldsmobile||United States |- |1GH||United States (MPV/SUV) |- |2G3||Canada |- |1G4||rowspan=9|Buick||United States |- |2G4||Canada |- |3G4||Mexico |- |3G5||Mexico (MPV) |- |4GL||United States (incomplete vehicle) |- |5GA||United States (MPV) |- |KL4||South Korea (MPV) |- |LRB||China (SAIC-GM) |- |W04||Germany & Poland |- |KLA||Alpheon||South Korea (2011-2015) |- |1G6||rowspan=10|Cadillac||United States |- |1GE||United States (incomplete vehicle) |- |1GY||United States (SUV) |- |2G6||Canada |- |2GE||Canada (incomplete vehicle) |- |3GY||Mexico (SUV) |- |LRE||China (SAIC-GM) |- |W06||Germany |- |XWF||Russia (made by Avtotor in Kaliningrad) |- |YSC||Sweden |- |1G8||rowspan=4|Saturn||United States |- |3GS||Mexico (SUV) |- |5GZ||United States (MPV/SUV) |- |W08||Belgium |- |1G0||rowspan=22|GMC||United States (bus 1981-1986) |- |1G5||United States (MPV 1981-1986) |- |1GD||United States (incomplete vehicle) |- |1GJ||United States (bus 1987-) |- |1GK||United States (MPV 1987-) |- |1GT||United States (truck) |- |2CK||Canada (1990-1991 Tracker made by CAMI - Canada only) |- |2CT||Canada (2010-2011 Terrain made by CAMI) |- |2G0||Canada (bus [van with more than 3 rows of seats] 1981-1986) |- |2G5||Canada (MPV 1981-1986) |- |2GD||Canada (incomplete vehicle) |- |2GH||Canada (transit bus) |- |2GJ||Canada (bus [van with more than 3 rows of seats] 1987-) |- |2GK||Canada (MPV 1987-) |- |2GT||Canada (truck) |- |3GK||Mexico (SUV) |- |3GT||Mexico (truck) |- |4KD||United States (W-Series incomplete vehicle made by GM - through 2009) |- |7GZ||United States (incomplete vehicle made by Navistar) |- |J8D||Japan (incomplete vehicle made by Isuzu - through 2009) |- |JGT||Japan (SUV made by Suzuki - Canada only) |- |KL6||South Korea (Middle East market Terrain '08-'10) |- |4GD||WhiteGMC||United States (1988-1989 Brigadier made by GM) |- |137||rowspan=6|Hummer||United States (H1 made by AM General) |- |5GN||United States (H3T) |- |5GR||United States (H2 made by AM General) |- |5GT||United States (H3) |- |ADM||South Africa (H3) |- |XWF||Russia (H2 & H3 made by Avtotor in Kaliningrad) |- |4G5||General Motors||United States (EV1) |- |2G5||rowspan=2|BrightDrop||Canada (Truck 2023-2024) |- |5G5||United States (Truck made by Kuka AG - 2022 only) |- |5G2||rowspan=2|Cruise||United States (car) (Cruise AV) |- |5G3||United States (MPV) (Cruise Origin AV) |- |YS3||rowspan=4|Saab||Sweden |- |JF4||Japan (9-2X made by Subaru) |- |3G0||Mexico (9-4X) |- |5S3||United States (9-7X) |- |W0L||rowspan=19|Opel/Vauxhall||Germany & the rest of Europe (2017 and earlier) |- |W0V||Germany & the rest of Europe (2018 and later) & Opel Ampera-e Mid-2017 - 2019 |- |W0L||when plant code is H: Thailand (Zafira A) |- |W0L||when plant code is 0: South Korea (Antara) or B: South Korea (Antara, Mokka A, Mokka X [A]) |- |W0L||when plant code is C: South Korea (Opel Karl/Vauxhall Viva) |- |W0V||when plant code is B: South Korea (Mokka X [A]) or C: South Korea (Opel Karl/Vauxhall Viva) |- |SCC||UK (Opel Lotus Omega made by Lotus) |- |SED||UK (made by IBC Vehicles) |- |TW8||Portugal |- |VF1||France (Arena made by Renault) |- |VN1||France (Movano A made by Renault at SOVAB plant in Batilly, France) |- |VSX||Spain |- |XUF||Russia (Opel made by GM Russia - St. Petersburg plant) |- |XWF||Russia (Opel made by Avtotor in Kaliningrad) |- |1G0||United States (Opel GT, Opel/Vauxhall Ampera, Opel Ampera-e Early - Mid-2017) |- |4GD||United States (Sintra) |- |ADM||South Africa |- |JAA||Japan (Opel Campo made by Isuzu) |- |JAC||Japan (Monterey made by Isuzu) |- |SKA||rowspan=4|Vauxhall Motors||UK |- |SCC||UK (Vauxhall Lotus Carlton made by Lotus) |- |6G1||Australia (Vauxhall Monaro & VXR8 made by Holden) |- |JAA||Japan (Vauxhall Brava made by Isuzu) |- |SKF||rowspan=2|Bedford Vehicles||UK |- |JAA||Japan (Bedford Brava made by Isuzu) |- |6G1||rowspan=18|Holden||Australia (2003-2017) |- |6H8||Australia (1989-2002) |- |JAA||Japan (Rodeo pickup [TF] made by Isuzu) |- |JAC||Japan (Jackaroo/Monterey made by Isuzu) |- |JSA||Japan (YG Cruze made by Suzuki) |- |KL3||South Korea |- |MMM||Thailand ('09-'11 Colorado pickup [RC] made by GM Thailand) |- |MMU||Thailand ('13-'20 Colorado pickup [RG], '13-'16 Colorado 7, '17-'20 Trailblazer made by GM Thailand) |- |MPA||Thailand ('04-'08 Rodeo pickup [RA] made by Isuzu Thailand) |- |SED||UK (1st gen. Frontera made by IBC Vehicles) |- |W0L||Germany & the rest of Europe (2017 and earlier) |- |W0L||when plant code is H: Thailand (Zafira A) |- |W0V||Germany & the rest of Europe (2018-2020) |- |1GH||United States (Acadia) |- |3G0||Mexico (Equinox) |- |3GM||Mexico (Suburban) |- |4S2||United States (2nd gen. Frontera made by [[w:Subaru Isuzu Automotive|SIA]]) |- |5G8||United States (Volt) |- |1GG||rowspan=4|Isuzu||United States (Truck - Hombre & i-Series made by GM) |- |4GT||United States (H-Series & T-Series incomplete vehicle made by GM - through 2009) |- |4KL||United States (N-Series incomplete vehicle made by GM - through 2009) |- |4NU||United States (MPV/SUV - Ascender made by GM) |- |W0L||Subaru||Thailand [plant code H] (Traviq made by GM Thailand for export to Japan) |- |4G3||Toyota||United States (Cavalier made by GM for export to Japan) |- |3GP||Honda||Mexico (MPV/SUV: 2024- Prologue made by GM) |- |4W5||Acura||United States (MPV/SUV: 2024 ZDX EV made by GM) |} {{BookCat}} q69alzto9uf5o6jgdj0mz9htioc8hvf Metabolomics/Metabolites 0 148296 4654467 4654019 2026-07-14T17:27:21Z R. Henrik Nilsson 3395618 similary > similarly 4654467 wikitext text/x-wiki Back to Previous Chapter: [[Metabolomics/Introduction_to_Metabolomics| Introduction to Metabolomics]]<br> Next chapter: [[Metabolomics/Hormones | Hormones]]<br> #[[Metabolomics/Metabolites/Carbohydrates | Carbohydrates]] #[[Metabolomics/Metabolites/Lipids | Lipids]] #[[Metabolomics/Metabolites/Amino Acids | Amino Acids]] #[[Metabolomics/Metabolites/Nucleotides | Nucleotides]] ===Table of Contents=== #[[/Carbohydrates/]] #[[/Lipids/]] #[[/Amino Acids/]] #[[/Nucleotides/]] == '''Metabolites''' == Metabolites are organic compounds that are starting materials/intermediates in metabolism pathways. Metabolites are small simple structures absorbed in a diet. They include vitamins and essential amino acids. They can be used to construct more complex molecules, or they can be broken down into simpler ones. Intermediary metabolites may be synthesized from other metabolites and often release chemical energy. For example, glucose, can be synthesized via gluconeogenesis (an anabolic reaction) to form starch or glycogen, and can be broken down during glycolysis (catabolic reaction) to obtain chemical energy. End products of metabolism are excreted from the organism. Urea, for example, is an end product of protein degradation in man. Carbon dioxide is usually thought of as an end product of carbohydrate, protein, and fat degradation in aerobic organisms, although technically, carbon dioxide, as carbonic acid, can also participate in the biosynthesis of some substances, particularly in plants. Catabolism and Anabolism Catabolism: degradative metabolism involving the release of energy and resulting in the breakdown of complex materials (as proteins or lipids) within the organism. Anabolism: the constructive part of metabolism concerned especially with macromolecular synthesis. Catabolism: [[Image: http://www.merriam-webster.com/dictionary/catabolism.]] Anabolism: [[Image: http://www.merriam-webster.com/dictionary/anabolism.]] ===Metabolites and their pathways=== ====KEGG Pathways==== [http://www.genome.jp/ GenomeNet] is a resource database developed by the Kyoto University Bioinformatics Center dedicated to provide computational devices to aid the study on the genome are various areas in biomedical sciences. The database provide tons of diversified maps of various metabolic pathways in humans and in plants. In addition, topics such as disease and drugs research are also mentioned and discussed in details with visual aids. Gene sequencing and analysis are also hugely emphasized at GenomeNet that provides many bioinformatic tools to in studying the genome sequence motif, phylogenetic research, and everything else you want to know about genes. One of the huge contribution from GenomeNet is providing '''KEGG''' maps and pathways that served as visual aids for studying of Matabolomics. [http://www.genome.jp/kegg/ Kyoto Encyclopedia of Genes and Genomes] or KEGG, is a database of biological systems which consists of genes, proteins, chemical building blocks, molecular pathways, hierarchies and relationships between various biological objects. KEGG links genomes to biological systems and maps pathways together to see the interactive cycle and the metabolites involved. You can also search through the KEGG website by entering a specific organism. Primary Metabolites: Below are links that show the different pathways of all Primary metabolites. Primary metabolites encompass reactions involving compounds which are formed as part of the normal anabolic and catabolic processes. These processes take in the cells of the organism. {|style="background:Darkgray; margin: auto;" |- !style="color:black"|<big>KEGG Maps of Some Primary Metabolites</big> |- |{{dropimage|align=center|width=400px|'''Carbohydrate Secondary Metabolite Pathway'''| ]}} |- |{{dropimage|width=400px|align=center|'''Lipid Metabolite Pathway'''| ] ]}} |- |{{dropimage|width=400px|align=center|'''Nucleotide Metabolism Pathway'''| ] ]}} |- |{{dropimage|align=center|width=400px|'''Energy Synthesizing Pathway'''| ]}} |- |{{dropimage|width=400px|align=center|'''Other Primary Metabolites Pathways'''| [http://www.genome.jp/kegg/pathway.html#amino Amino Acid Metabolite Pathways] <br> [http://www.genome.jp/kegg/pathway.html#glycan Glycan Biosynthesis Metabolite Pathway]<br> [http://www.genome.jp/kegg/pathway.html#cofactor Cofactors and Vitamins Metabolite Pathways]}} |} New Vocabulary: 1. Orthologs, or orthologous genes, are genes in different species that are similar to each other because they originated from a common ancestor. 2. Ohnologous genes are paralogous genes that have originated by a process of whole-genome duplication. 3. Paralogs: a gene in an organism that is duplicated to occupy two different positions in the same genome, making the two copies paralogous. 4. Xenologs: Homologs resulting from horizontal gene transfer between two. Xenologs can have different functions, if the new environment is vastly different for the horizontally moving gene. In general, though, xenologs typically have similar function in both organism 5. Gametology: term which denotes the relationship between homologous genes on nonrecombining, opposite sex chromosomes. Gametologs result from the origination of genetic sex determination and barriers to recombination between sex chromosomes Relevance: This website database relates to our course work and text book by compiling all of the metabolism pathways. It defines metabolites, characterizes them in their role they play in any pathway and gives us a clear view on the relationship it has with organism as a whole. This database can be used for research to further develop our understanding in the world of Metabolomics which will in turn help us understand and maybe even cure different illnesses. ====MetaCyc==== [http://metacyc.org/ MetaCyc] is a database for over 900 primary and secondary metabolic pathways from various organisms; it also contains associated compounds, enzymes, and genes. Similarly to KEGG, the MetaCryc database aids the studying of Metabolomics by providing visual aid of many metabolic pathways. The exciting aspect of [http://biocyc.org/META/class-tree?object=Pathways MetaCyc pathways] is the detail explanation of the pathways. You can view all metabolites and their subclasses. (It also allows you to see all metabolites in relationship to each other and their hierarchy.) New vocabulary: 1. Prostaglandin is any member of a group of lipid compounds that are derived enzymatically from fatty acids and have important functions in the animal body. Every prostaglandin contains 20 carbon atoms, including a 5-carbon ring. They are mediators and have a variety of strong physiological effects; although they are technically hormones, they are rarely classified as such. 2. Cyclooxygenases: Prostaglandins are produced following the sequential oxidation of AA, DGLA or EPA by cyclooxygenases (COX-1 and COX-2) and terminal prostaglandin synthesis. 3. Pseudo compound: is not necessarily a physical compound. For example light, or a mis match of DNA base pairs, could be considered pseudo compounds. 4. Superatoms: are clusters of atoms that seem to exhibit some of the properties of elemental atoms. 5. Taxon (plural taxa), or taxonomic unit, is a name designating an organism or group of organisms. Relevance: This web site database relates to our course work and textbook in the same way the KEGG web page is. MetaCyc however allows for a user friendly specific search based on the organism. It also looks for closely on the genome. ====The Human Metabolome Database==== [http://www.hmdb.ca/ Human Metabolome Database] is the most complete collection of human metabolite and human metabolism data in the world. It contains records for more than 2180 metabolites. It contains every metabolite and where you can find them (biofluids, tissue etc) it gives the molecular structure, weight and IUPC. The HMDB also contains a collection of experimental metabolite concentration data compiled from hundreds of mass spectra and Nuclear Magnetic resonance metabolomic analyses performed on urine, blood and cerebrospinal fluid samples. The HMDB contains compound description, names and synonyms, structural information, physico-chemical data, reference NMR and MS spectra, biofluid concentrations, disease associations, pathway information, enzyme data, gene sequence data, SNP and mutation data as well as extensive links to images, references and other public databases. Another aspect of the HMDB is Biofluid search which allows you to look at normal and abnormal concentrations of different metabolites for 7 different biofluids. [http://universe-review.ca/F11-monocell.htm Universe-review.ca] is a link that gives a brief summary on different essential metabolites. It goes through the structure of the molecule and their role in various metabolic pathways. [http://universe-review.ca/F11-monocell.htm Biosynth Chemistry & Biology] is another site with specific information on Lipids. New Vocabulary: 1. CAS registry numbers are unique numerical identifiers for chemical compounds, polymers, biological sequences, mixtures and alloys. They are also referred to as CAS numbers, CAS RNs or CAS #s 2. Biofluid: encompasses any fluid found in the body, HMDB includes: Amniotic Fluid, Bile, Blood, Breast Milk, CSF, Feces, Lymph, Menses, Mucus, Saliva, Sebum, Semen, Sweat, Synovial Fluid, Urine, Vitreous Humour and Vomit. 3. Sebum: oily substances are secreted by Sebaceous glands called sebum and the debris of dead fat-producing cells. 4. Simplified molecular input line entry specification or SMILES: is a specification for unambiguously describing the structure of chemical molecules using short ASCII strings. SMILES strings can be imported by most molecule editors for conversion back into two-dimensional drawings or three-dimensional models of the molecules. 5. American Standard Code for Information Interchange (ASCII), character encoding based on the English alphabet. ASCII codes represent text in computers, communications equipment, and other devices that work with text Relevance: While the past two data base are more specific for metabolite pathways, HMDB focuses on the metabolite composition and chemistry/ chemical interaction. This is relevant because HMDB really breaks down each metabolite to the molecular level. HMDB also allows for purchasing of these compounds. http://www.pubmedcentral.nih.gov/articlerender.fcgi?tool=pmcentrez&artid=1694820.com Summary: The main point of this peer review article is to discuss the glycolysis process, which results in the formation of ATP as the main fuel in the anaerobic eukaryote, Monocercomonoides. Both ATP and Glucose are metabolites that relate directly to glycolysis and would be included in the organism's metabalome. Since anaerobic eukaryotes lack a complete tricarboxylic acid cycle, they can only extract few molecule of ATP per molecule of glucose. This is opposite of human cells, which makes this article important as it discusses alternate versions of enzymes in glycolysis. In anaerobic eukaryotes, enzymes such as pyruvate orthophosphate dikinase and pyrophosphate-fructose 6-phosphate phosphotransferase were examined through horizontal gene transfers from the bacteria in question to other eukaryotes. Horizontal gene transfers are processes in which an organism transfers genetic material to another cell that is not its offspring. Analysis of the glycolytic pathway of Monocercomonoides resulted in identification of both single-gene trees and conserved HGT events that provide evidence for the monophyly of protists known as Ecavata. Shared horizontal gene transfer events between oxymonads and both Giardia and Trichomonas further supported this relationship. This relationship becomes an important resource as it focuses on using glucose metabolites of Monocercomonoides to determine its lineage. Terms: Horizontal Gene Transfer- process in which an organism transfers genetic material to another cell that is not its offspring Monophyly- a group of organisms that includes an ancestral species and all of its descendants. Oxymonad- a group of flagellated protozoa found exclusively in the intestines of termites and other wood-eating insects. Diplomonads- a group of flagellates, most of which are parasitic. Also classified as Protists. Walking primers-is a sequencing method for sequencing large DNA fragments (between 1,3 and 7 kilobases) that works by dividing long sequences into several consecutive short ones. Phylogenetic analyses- Analysis of the evolutionary connections between traits (for example, sequences) Taxa- Any organism or group of organisms of the same taxonomic rank; for example, members of an order, family, genus, or species. Relevance: How does this information relate to the information that you have studied in this course to date? This resource is very closely related to our current coursework. As one would recall we had to memorize the complete glycolysis pathway, which is exactly what this article covered. It focused on the enzymes involved in the pathway, which are some that I have memorized. It also reviewed the process through an anaerobic prospective, which sheds light on how glycolysis can be altered but still produce ATP. This is very interesting as we mainly focused on just the one type of glycolysis. ====Institute for Analytical Sciences==== http://www.isas.de/english/menu-top/research/research-departments/metabolomics/ Summary: ISAS’s main focus is to create analytical methods that will be able to answer questions about a metabolites specificity, selectivity, and dynamic range. They want to be able to identify a metabolom in a single step (ex: from a sample of air breathed out by a person being able to identify dangerous metabolites that would signal cancer was present in the lungs). Another goal of ISAS is to detect differences at the single cell level that come from mutations and the varying environments that each cell is in. Terms: Biogenic- necessary for the maintenance of life processes (http://www.thefreedictionary.com/biogenic) Mycotoxins-A toxin produced by a fungus. The term is usually reserved for fungal metabolites that are toxic to man and/or animals and are produced by molds growing on foodstuffs (e.g., aflatoxins, ergot alkaloids). (http://www.plantpath.cornell.edu/glossary/Defs_M.htm) Microfluidics- Microfluidics is the science of designing, manufacturing, and formulating devices and processes that deal with volumes of fluid on the order of nanoliters or picoliters. The devices themselves have dimensions ranging from millimeters down to micrometers. (http://whatis.techtarget.com/definition/0,,sid9_gci526632,00.html) Hyphal- a long, branching filamentous cell of a fungus, and also of Actinobacteria. In fungi, hyphae are the main mode of vegetative growth, and are collectively called a mycelium. (http://en.wikipedia.org/wiki/Hyphal) Amperometric- relating to or being a chemical titration in which the measurement of the electric current flowing under an applied potential difference between two electrodes in a solution is used for detecting the end point (http://www.webster.com/dictionary/amperometric) Voltammetry- is a category of electroanalytical methods used in analytical chemistry and various industrial processes. In voltammetry, information about an analyte is obtained by measuring the current as the potential is varied. (http://en.wikipedia.org/wiki/Voltammetry) Chronocoulometry- The study of electrode surface properties, such as surface area. (http://www.answers.com/topic/chronocoulometry?cat=technology) Cytostatic- inhibiting or suppressing cellular growth and multiplication (http://medical-dictionary.thefreedictionary.com/cytostatic) Relevance: A lot of the techniques that ISAS uses so far are similar to subjects we have studied in the course. ISAS uses nuclear magnetic resonance spectrometry to evaluate intracellular and extracellular metabolites in human bowel tissues in an attempt to identify metabolites created by cancer cells. In Chapter 4 we learned that NMR can show the dynamic part of a components structure (folding, conformational alterations, and interactions with different molecules). Through the use of this method people could diagnosed with colorectal cancer earlier and through a less invasive method than before. Since cancer cells have mutated genes and create different metabolites than the colorectal cells normally would, a method being able to identify these products would be very helpful. In chapter 3 we learned about Mass Spec methods including MALDI MS, ESI MS, and MS/MS. ISAS uses ion mobility mass spectrometry in a lot of their projects including mold identification, analysis of breath to check for diabetes and lung cancer. Ion Mass Spec (IMS) detects low amounts of chemicals by using a homogenous electric field to see differences in migration of the gas phase ions. Where proteomics and genomics can show general drug treatments for problems, the Single Cell Laboratory research could be used to create specific drugs for each individual person’s unique cells and how their metabolome might be different. ====Learn More==== Additional Articles: 1)A metabolome study of the steady-state relation between central metabolism, amino acid biosynthesis and penicillin production in Penicillium chrysogenum [http://www.sciencedirect.com/science?_ob=ArticleURL&_udi=B6WN3-4PDC19R-1&_user=47004&_coverDate=01%2F31%2F2008&_rdoc=3&_fmt=full&_orig=browse&_srch=doc-info(%23toc%236951%232008%23999899998%23677531%23FLA%23display%23Volume)&_cdi=6951&_sort=d&_docanchor=&_ct=7&_acct=C000005018&_version=1&_urlVersion=0&_userid=47004&md5=b99d60371bfc4a02c615cf744ab7065c] 2)A critique of the molecular target-based drug discovery paradigm based on principles of metabolic control: Advantages of pathway-based discovery [http://www.sciencedirect.com/science?_ob=ArticleURL&_udi=B6WN3-4PPMXW2-2&_user=47004&_coverDate=01%2F31%2F2008&_rdoc=2&_fmt=full&_orig=browse&_srch=doc-info(%23toc%236951%232008%23999899998%23677531%23FLA%23display%23Volume)&_cdi=6951&_sort=d&_docanchor=&_ct=7&_acct=C000005018&_version=1&_urlVersion=0&_userid=47004&md5=f3dae2a75744791f9f01be9e56ae310b] 3)Metabolomics - the way Forward [http://springerlink.metapress.com/content/v2276h12677n5012/fulltext.pdf] Images The following links are images, structures and diagrams of each previously mentioned metabolite. [[Image:http://www.brynmawr.edu/Acads/Chem/mnerzsto/carb-1.htm]] - Carbohydrate structures. [[Image:http://www.ncbi.nlm.nih.gov/sites/entrez?db=pccompound&term=carbohydrate]] – PubChem images for Carbohydrate. [[Image:http://www.ncbi.nlm.nih.gov/sites/entrez]] - PubChem images for Lipids. [[Image:http://www.chemistryland.com/ElementarySchool/BuildingBlocks/Lipids.jpg]] - Lipid [[Image:http://www.ncbi.nlm.nih.gov/sites/entrez]] - PubChem Amino Acids [[Image:http://www-jmg.ch.cam.ac.uk/data/molecules/amino/]] - All Amino Acids (formula and diagram) [[Image:http://www.ncbi.nlm.nih.gov/sites/entrez]] - Nucleotide PubChem [[Image:http://publications.nigms.nih.gov/thenewgenetics/images/ch1_nucleotide.jpg]] - The big picture - Nucleotides [[Image:http://www.nvo.com/jin/nss-folder/scrapbookcell/4%20nucleotide.jpg]] – 4 Nucleotides [[Image:http://www.ncbi.nlm.nih.gov/sites/entrez]] - Co-factors PubChem [[Image:http://www.ncbi.nlm.nih.gov/sites/entrez]] PubChem Glycan ---- == Metabolites Index == {{BookCat}} =Articles and Web Pages for Review and Inclusion= n8tlbfs157zkgh6g761qfhdm7zz7212 Chess Opening Theory/1. d4/1...Nf6/2. c4/2...e6/3. g3 0 151046 4654453 4628660 2026-07-14T16:28:53Z Greenman 7490 /* 3. g3 · Catalan Opening */ ce 4654453 wikitext text/x-wiki {{Chess Opening Theory/Position |name=Catalan Opening |eco=[[Chess/ECOE|E01-E09]] }} == 3. g3 · Catalan Opening == This is the '''Catalan Opening''', named after the Spanish region of [[Wikipedia:Catalonia|Catalonia]], when Grandmaster Savielly Tartakower was asked, at the Barcelona tournament of 1929, to invent an opening system in honor of the region's chess history. Usually, the game continues '''3...d5 4. Nf3'''. The Catalan then has two main branches, the Open Variation and the Closed Variation. In the Open Variation, Black takes the pawn on c4. This gives White strong pressure on Black's queenside, thanks to the fianchettoed bishop on g2. In the Closed Variation, Black retains their strong-point on d5, attempting to block out the bishop on g2, but stays passive. ==Theory table== {{ChessTable}} {{Chess/theory table |name1=Catalan Opening |line1=3. ... d5 4. Nf3 dxc4 5. Bg2 Be7 6. O-O O-O |eval1={{Chess/not|=}} |name2=Benoni Defence |line2=3. ... c5 4. d5 exd5 5. cxd5 d6 6. Nc3 g6 |eval2={{Chess/not|=}} |name3=Bogo Indian Defence |line3=3. ... Bb4+ 4. Bd2 Qe7 5. Nf3 Nc6 |eval3={{Chess/not|=}} |line4=3. ... Be7 4. Bg2 d5 5. Nf3 O-O |eval4={{Chess/not|=}} |line5=3. ... c6 4. Bg2 d5 5. Nf3 Nbd7 |eval5={{Chess/not|=}} }} {{ChessMid}} ==References== {{reflist}} {{Wikipedia|Catalan Opening}} {{BCO2}} {{Chess Opening Theory/Footer}} m9zqusw0lapiq4qeduc5gu1x6km0fpf Chess Opening Theory/1. e4/1...e5/2. Bc4/2...Bc5/3. Qh5 0 155626 4654414 4638310 2026-07-14T12:46:51Z Greenman 7490 Not sure what this is doing here 4654414 wikitext text/x-wiki {{Chess Opening Theory/Position|= |Bishop's Opening Classical Defence| |rd|nd|bd|qd|kd| |nd|rd|= |pd|pd|pd|pd| |pd|pd|pd|= | | | | | | | | |= | | |bd| |pd| | |ql|= | | |bl| |pl| | | |= | | | | | | | | |= |pl|pl|pl|pl| |pl|pl|pl|= |rl|nl|bl| |kl| |nl|rl|= || }} = Bishop's Opening Classical Defence = == 3. Qh5 Scholar's Mate Variation == White immediately tries to checkmate on f7. Although this move violates a principle of the opening, it can ensure a quick win if Black doesn't recognize the threat. However, this is not recommended. === Black's responses === * 3...Qf6 defends the f7-pawn and counterattacks f2. * 3...Qe7 Unlike 3...Qf6, the f6 square remains free for the knight. ==Theory table== {{Chess Opening Theory/Table}}. :'''1. e4 e5 2. Bc4 Bc5 3. Qh5''' <table border="0" cellspacing="0" cellpadding="4"> <tr> <th></th> <th align="left">3</th> </tr> <tr> <th align="right"></th> <td>...<br>[[/3...Qe7|Qe7]]</td> <td>Nf3<br>Nc6</td> <td>=</td> </tr> <tr> <th align="right"></th> <td>...<br>[[/3...Qf6|Qf6]]</td> <td>Nf3<br>Nc6</td> <td>=</td> </tr> <tr> <th align="right"></th> <td>...<br>[[/3...Nc6|Nc6??]]</td> <td>Qxf7#</td> </tr> <tr> <th align="right"></th> <td>...<br>[[/3...Nf6|Nf6??]]</td> <td>Qxf7#</td> </tr> </table> {{ChessMid}} ==References== {{reflist}} {{Wikipedia|Scholars Mate}} {{Chess Opening Theory/Footer}} {{ChessStub}} 5f3ylz6f5p1d0k573pv7gsai0om2j00 Metabolomics/Applications/Nutrition/Personal Metabolomics 0 174831 4654476 4354058 2026-07-14T17:30:54Z R. Henrik Nilsson 3395618 similary > similarly 4654476 wikitext text/x-wiki Back to Previous Chapter: [[Metabolomics/Databases| Databases]]<br> Next chapter:[[Metabolomics/Contributors| Contributors ]]<br> First Category: [[Metabolomics/Applications/Disease Research| Disease Research]]<br> Go to:[[Metabolomics/Applications/Nutrition/Lifestyle| Lifestyle]]<br> Go back to:[[Metabolomics/Applications/Nutrition/Nutrigenomics| Nutrigenomics]]<br> #[[Metabolomics/Applications/Nutrition/Personal_Metabolomics/Phenotypes|Phenotypes]]<br> #[[Metabolomics/Applications/Nutrition/Personal_Metabolomics/Genotypes|Genotypes]]<br> =Personal Metabolomics= :As technology progress and new algorithms for computer programs are discovered, we will see the ability for medical researchers to detect changes in the concentrations of a person's metabolites. This could lead to the discovery of new bio-markers for diseases such as schizophrenia. These ideas were shared between the articles about schizophrenia bio-markers and potentials of personal metabolomics by Elain Holmes and Leroy Hood and colleagues. :Personal metabolomics will be an easy method in the future to diagnose and treat metabolic disorders on an individual basis. Metabolites in urine or blood can be analyzed and through the data collected, illnesses that the individual may have can be examined. Our review focus was mostly on diabetes, as it is one of the most studied and well known metabolic disorders. :In the paper “Correlative and quantitativate (1)H NMR-based metabolomics reveals specific metabolic pathway disturbances in diabetic rats”, rats were induced to develop diabetes by utilizing streptozotocin. Afterwards, urine and plasma were analyzed to discover metabolites that may indicate diabetes. Seventeen different metabolites where found, many in excess. By taking this information to a further level, in the future, it could be used to easily diagnose or treat diabetes in humans. :Similarly, in the article “Comprehensive two-dimensional gas chromatography/time of flight mass spectrometry for metabonomics: Biomarker discovery for diabetes mellitus”, five potential biomarkers were found in human patients. However, in contrast to the first paper, instead of NMR, two dimensional gas chromatography was used. Potential biomarkers found included glucose and linoleic acid. Again, these discoveries are useful for further diagnoses and treatments. [[File:Blue circle for diabetes.svg|thumb|Universal blue symbol for diabetes]] :The third article, “Nitric Oxide Synthesis and Isoprostane Production in Subjects With Type 1 Diabetes and Normal Urinary Albumin Excretion” showed that in type 1 diabetic patients, nitric oxide (NO) levels are higher than in normal healthy individuals. However, this increase in NO has no effect on renal function, as the diabetic patients had normal albumin excretion in their urine. NO is a metabolite that could be used further for diagnosis and study of diabetes. :The article "Personal Metabolics as a Next Generation Nutritional Assessment" discusses how current and future technologies as well as collaborating laboratories and databases on aspects of metabolism such as lipids will be the key to assessing metabolic disease as well as personalizing health and diet in humans in the very near future. :The article "Prospective health care: the second transformation of medicine" describes how current databases and standards for predicting disease are inadequate. Instead predictive modeling, such as using the Gail model with breast cancer, should be used to not only assess risk of disease or adverse effects of a disease but to also help work towards an appropriate treatment based upon an individual's personalized assessment and predictive model. :Websites found were mostly resource websites directed towards researchers and professionals rather than normal consumers. Chenomx Inc is a life sciences company offering metabolomics researchers for pharmaceutical companies chemistry software, and data analysis solutions among other things. They have a patented NMR suite 5.1, which is comprised of five different functional tools like Chenomx Profiler, and Chenomx Compound Builder. The software they provide is very reliable and accurate, capable of quickly identifying and quantifying metabolites. Currently, there are over 250 metabolites in their database, which provides a wealth of information to metabolomic researchers. :The PreDX was the only website directed towards consumers or the average Joe, rather than research facilities or large companies. The website offers a new type of blood test assesses different metabolites that have been found present in individuals at risk for diabetes. This is extremely important because some cases of diabetes can be prevented through diet and exercise change. Knowing the risks of developing diabetes can greatly aid individuals in the prevention process. The technology provided is easily accessible through phone, online or fax. :The last website belongs to The Society of Metabolomics, which is a group of well known metabolomic scientists that are trying to expand their field further. They offer tutorials and workshops on new technologies and methods in the field of metabolomics in addition to, providing resources. The website has links to various types of software used for metabolomics. Although though this is not useful for the general public, it is a good resource for metabolomic researchers or medical doctors hoping to use metabolomics to help diagnose their patients. = Website Sources = ==Chenomx.com== http://www.chenomx.com === General Overview === :Chenomx NMR Suite helps scientists correlate metabolic responses with pathology, toxicity, drug efficacy, and genetics. Main Focus: :To provide access to technology for analysis of metabolites found in various biological samples through the use of NMR spectroscopy and by unique, innovative software. Summary: :Chenomx Inc is a life sciences company that has much to offer metabolomics researchers for pharmaceutical companies and institutions all over the world. Through partnership with some of the leading providers in specific areas of expertise, including chemistry software and data analysis solutions in systems biology, Chenomx grants access to a bevy of efficient, cost-effective, and timely services through their website. These services consist of nuclear magnetic resonance (NMR) spectroscopy data acquisition, targeted profiling of metabolite analysis and statistical analysis of numerous biological samples. This is all obtained through the their one-of-a-kind, patented Chenomx NMR suite 5.1; a suite compiled of five different functional tools such as the Chenomx Profiler, Chenomx Compound Builder, Chenomx Spin Simulator, Chenomx Library Manager, and Chenomx Processor. :Chenomx employ highly trained and skilled scientists to carry out all their services. Over the years, Chenomx has gained experience in the handling and analysis of a variety of biological samples. Standard protocols for urine, plasma, serum, saliva and cell extracts exist at the Chenomx labs. Chenomx continues to improve and expand their knowledge in working with new samples that may be analyzed for specific metabolite detection from NMR spectroscopy. The NMR spectroscopy at Chenomx is a powerful tool in quick detection of the contents of biofluids. The NMR spectrometer utilized at Chenomx has field strengths of 400 to 800 MHz. Coupling NMR spectroscopy with their software provides efficient one-step biofluid analysis. The Chenomx software accurately, reliably, and quickly identifies and quantifies metabolites giving researchers complete and thorough analysis presented in various formats or databases: delimited text, Microsoft Excel, XML, SIMCA-P, Mat lab, and much more. :Currently Chenomx provides sample preparation services for alcohols, fatty acids, amino acids, sugars, organic acids, and nucleic acid components to name a few. With over 250 compounds in the Chenomx database, metabolomic researchers in need of interpretation of compounds or pathways they study are just a few clicks away from accessing an advantageous tool provided at www.chenomx.com. === New Terms === ;NMR : a family of scientific methods that exploit nuclear magnetic resonance to study molecules ("NMR spectroscopy") ( http://en.wikipedia.org/wiki/NMR ) ;chemometric : The use of mathematical statistics in the design of experiments, and the evaluation of the resulting data (http://en.wiktionary.org/wiki/chemometrics) ;metabolite : Any substance produced by, or taking part in, a metabolic reaction (http://en.wiktionary.org/wiki/metabolite) ;field strength : the vector sum of all the forces exerted by an electrical or magnetic field (on a unit mass or unit charge or unit magnetic pole) at a given point in the field (http://wordnetweb.princeton.edu/perl/webwn?s=field%20strength) ;serum : The clear yellowish fluid obtained upon separating whole blood into its solid and liquid components after it has been allowed to clot (http://en.wiktionary.org/wiki/serum) === Course Relevance === :This website offers technology to analyze various metabolites, some of which we have discussed in this course. ==PredictMyRisk.com== http://predictmyrisk.com/about.html ===General Overview=== Identifies patients in danger of contracting diabetes within five years. Main Focus: :The main focus is to use metabolite blood testing to find patients at risk for diabetes, and to do so using metabolic indicators other then glucose. Summary: :Diabetes is a major health concern for many. It can lead to other health problems such as high blood pressure, blood clots, loss of vision, stroke, and many other maladies. Today doctors have some ability to test for diabetes risk factors in an effort to prevents this condition before it happens. Doctors use a blood test that tests for the level of glucose in the blood during a period of fasting. Unfortunately this test has been found to be not as accurate as previously assumed. :PreDX is a website offering a new type of blood test that will test for the appearance of many different metabolites that have been found to be present in persons at risk for diabetes. This new test could be extremely helpful to doctors because it analyzes the blood for metabolites, which gives a much more accurate measure of diabetes risk then the traditional fasting blood glucose test. The website claims that its blood test is capable of identifying patients at risk for diabetes as much as five years before they would contract it. PreDX claims to be a simple to run and sensitive test that gives an easy to interpret readout of the patients risk and the reasons for that risk. This test could also be used on current diabetic patients to more fully test how well their diabetes is being controlled. :The test is preformed on a fasting blood sample. An algorithm analyzes a number of proteins and blood born biomarkers. This algorithm then compiles this data into a single numerical score that can be converted into a percentage of risk. This technology can be be obtained by phone, on line, or by faxing information to a number on the website. ===New Terms=== ;Biomarkers : a substance used as an indicator of a biologic state. (http://en.wikipedia.org/wiki/Biomarkers) ;Protein : organic compounds made of amino acids arranged in a linear chain and joined together by peptide bonds between the carboxyl and amino groups of adjacent amino acid residues. (http://en.wikipedia.org/wiki/Protein) ;Stroke : the rapidly developing loss of brain functions due to a disturbance in the blood vessels supplying blood to the brain. (http://en.wikipedia.org/wiki/Stroke) ;Macrovascular: referring to the large blood vessels. (http://diabetes.org.au/glossary.htm) ;Fasting blood glucose: a method for learning how much glucose there is in a blood sample taken after an overnight fast. (http://www.medterms.com/script/main/art.asp?articlekey=3393) ;Genetic marker: a specific gene that produces a recognizable trait and can be used in family or population studies. (http://wordnetweb.princeton.edu/perl/webwn?s=genetic%20marker) ;Retinopathy: is a general term that refers to some form of non-inflammatory damage to the retina of the eye. Most commonly it is a problem with the blood supply that is the cause for this condition. (http://en.wikipedia.org/wiki/Retinopathy) ===Course Relevance=== :This website offers a test to analyze metabolites pertaining to diabetes. This is relevant because it shows the complex interactions of metabolism and how they affect the body. ==Metabolomics Society== http://www.metabolomicssociety.org ===General Overview=== :The Metabolomics Society is a website commited to the growth of the metabolomics field. It is a non-profit organization containing more than 500 members in 20 countries. The society also publishes its very own journal titled Metabolomics, which is a peer-reviewed journal published by Springer that is released every 3-4months. This site provides multiple metabolomics resources, including numerous software and databases. However, these sources are more for research users rather than “everyday” individuals. In other words, it is NOT the WebMD of metabolomics, but still provides information that could be used by doctors or researchers to aid the “everyday” person with personal metabolomics. :Almost all software listed on the site uses either NMR or various types of mass spectrometry. Using this, they are able to detect certain metabolites by comparing to a large database, and sometimes even structuralize new metabolites found. XCMS(2) is capable of using a “similarity search” which can take an unknown metabolite and come up with possible structural motifs, allowing for possible identification of an unknown metabolite. MetaboMiner is a program capable of “identifying metabolites in complex biofluids”, which would be useful in a medical setting. HORA is probably the most relevant, because it’s a database made of up metabolites specifically in human blood. It allows you to tell which metabolites are abnormal, and conveniently also provides graphs to manage data. Although there is more software available, these last two were the most relevant to Personal Metabolomics. The website also provides databases for metabolites, including some related to diseases such as the OMIM. Aside from software, the Metabolomics Society also offers a variety of tutorial workshops, including “The NIH Roadmap to Understanding Biological Pathways and Networks with Metabolomics” and “PubChem: A Public Repository for Chemical Biology Screening Results”. The most important part of this website are the software resources, although there are other useful aspects of the site. ===New Terms=== ;NIH : National Institutes of Health (http://en.wikipedia.org/wiki/NIH) ;Metabolic profiling: Metabolic profiling employs a range of analytical approaches (e.g., mass spectrometry and high- resolution 1H nuclear magnetic resonance spectroscopy) suited to the chemical properties of the metabolite class(es) of interest. (http://www.genomicglossaries.com/content/metabolic_engineering.asp) ;Metabolic fingerprinting: a rapid classification of samples according to their origin or their biological relevance. (http://www.genomicglossaries.com/content/metabolic_engineering.asp) ;Footprinting: is a technique for identifying the site on DNA bound by some protein by virtue of the protection of bonds in this region against attack by nucleases. (http://www.hgsc.bcm.tmc.edu/docs/HGSC_glossary.html) ;Transcriptome analysis: Analysis of the global gene expression of a cell by identification of all the messenger RNA present in the cell. (http://www.nature.com/nrmicro/journal/v2/n12/glossary/nrmicro1046_glossary.html) ;Metabolic flux analysis: an analysis technique similar to Flux Base Analysis used to determine the rate at which a metabolite is produced during a bioprocess. (http://en.wikipedia.org/wiki/Metabolic_flux_analysis) ;Metabolome: refers to the complete set of small-molecule metabolites (such as metabolic intermediates, hormones and other signalling molecules, and secondary metabolites) to be found within a biological sample, such as a single organism. (http://en.wikipedia.org/wiki/Metabolome) = Article Sources = ==Systems Medicine: The Future of Medical Genomics and Healthcare== :Auffray, Charles; Chen, Zhu; Hood, Leroy. Systems medicine: the Future of medical genomics and healthcare. Genome Medicine 2009, I:2. http://genomemedicine.com/content.I/I/2. ==General Overview:== :Systems biology can be used in the determination and early warnings of certain diseases, made possible through the advances in computation and technology. ==Main Focus:== :By making robust hypothesis, a biological system can be monitored by taking samples of certain metabolites and using well thought out mathematical methodologies to make informative decisions about data. The data can then be shared with other scientist through a series of networks. ==Summary== :Through well thought out hypothesis-driven methods synthetic biology and dynamic processes can be created that allow the user to change the parameters of the metabolites to predict effects of different concentrations. Using these well-thought out methods, the personal genome project would be able to determine the differences between normal and diseased phenotypes. Without high quality design and assessment the usefulness of the resulting biomarkers would be compromised. However, recent advances in micro array and PCR technology along with advances in proteomic tools allow for accurate readings and high quality data. Using robust computer programs, network processes can be produced that show protein to protein interactions. Some limitations on computing are the variations in annotated data. Different languages of programming, along with the fact that a cell's system is continuously changing is what makes it difficult to write an ideal program that will encompasses all changes in a cel. As technologies progress new computational methods will allow for the modeling of entire cell systems and organs. This project is very dependent on annotated information so all organizations should use a standard for annotation and pay close attention to the quality of their experiments. ==Terms:== Systems biology - using complex biological systems knowledge can be determined by the behavior and differing conditions. Synthetic biology - using modular processes biological systems can be designed and modeled. Stratification - appearance www.dictionary.com allometric - measure of growth www.dictionary.com elucidate - make clear www.dictionary.com systematic - having a plan www.dictionary.com cytometry - cell counting www.dictionary.com ==Metabolic Profiling of Patients with Schizophrenia == Kaddurah-Daouk, Rima. Metabolic Profiling of Patients with Schizophrenia. PLoS Medicine. August 2006, V.3, I.8; pg 1222-1223. ==General Overview:== :Metabolomics can be used to monitor and develop biomarkers in different human diseases. ==Main Focus:== :This article provides the idea that with proper measurement tools, environmental factors can be used to discovery new bio-markers for diseases, such as schizophrenia. ==Summary:== :In this time of developing medicine, new ideas for discovering and preventing diseases are proposed. Mental illnesses, more specifically schizophrenia, hinders the daily activity of many people around the world. This disease has a treatment course, but many Schizophrenics find it hard to continue on the course. Often stopping their treatments, only to relapse and make symptoms worse. Elaine Holmes and her colleagues presented the fact that schizophrenia has no known biomarkers. They focus their work on identifying biomarkers for schizophrenia, by identifying changes in samples of cerebrospinal fluid. To do this Nuclear Magnetic Resonance (NMR) was used to record several resonance coefficients. They tracked the metabolites for two different groups of schizophrenics and treated one group with anti psychotics. What they found was that once the treatment was given, the subset of the metabolom being tested stabilized to normal levels. Elaine Holmes and her colleagues believe that by studying metabolomics, scientists can figure impairments in energy and lipid biosynthesized metabolism. In further testing of this study, it should include a larger sample population as well as the ability to replicate and validate results. This would reduce confounding effects and allow for more meaningful biological hypothesis. ==Terms:== aberrant - deviations from normal. leading coefficients - constant factor in multiplication Cerebrospinal fluid(CSF)- clear fluid by the spine around the brain nuclear magnetic resonance(NMR)- physical resonance using quantum magnetics Type 2 diabetes mellitus - non insulin dependent diabetes ==Correlative and quantitative 1H NMR-based metabolomics reveals specific metabolic pathway disturbances in diabetic rats== Zhang, Shucha. Nagana Gowda,GA. Asiago, V. Shanaiah, N. Barbas, C. "Correlative and quantitative (1)H NMR-based metabolomics reveals specific metabolic pathway disturbances in diabetic rats". Analytical Biochemistry 383. May 2008. 76-84. 11 Feb 2009 http://www.ncbi.nlm.nih.gov/pubmed/18775407?ordinalpos=1&itool=EntrezSystem2.PEntrez.Pubmed.Pubmed_ResultsPanel.Pubmed_DefaultReportPanel.Pubmed_RVDocSum === General Overview === [[File:Streptozocin.svg|thumb|200px|Streptozotocin - a glucosamine-nitrosourea compound that is toxic to the insulin-producing beta cells of the mammalian pancreas. It is use to treat cancers cells in the Islet of Langerhans and has been experimentally use in animal models to treat Type 1 diabetes.]] :Type 1 diabetes is an autoimmune illness caused by the body’s destruction of beta cells in the pancreas. Even though diabetes is a well studied topic, the causes and preventions of it are still not well understood. In this study, researchers used the metabolomic approach to study Type 1 diabetes. Specifically, researchers combined nuclear magnetic resonance (NMR) and mass spectroscopy with multivariate statistical analysis (MSA). These techniques enable the researchers to screen large samples of metabolites and collect data that pertains to the normal individuals as well as diabetic patients in a relatively cost-effective and time-efficient fashion. The use of metabolomics as a way to study diseases is very common. For instance, it has been employed to study cancer, Type 2 diabetes, inborn errors of metabolism, and even diet and nutrition. :In this study, researchers injected rats with streptozotocin (STZ) to induce Type 1 diabetes. They were then examined for glucose level increases of more than 200 mg/dl after 4 days to confirm that they are diabetic. The controls chosen were both equivalent in age and gender. Both groups of rats were kept in proper condition with appropriate food and water supply. Urine samples were collected every 8 h after seven days after the initial injection. Blood samples were collected by cardiac puncture before sacrificing the rats. Data were collected from urine and blood samples and analyzed using NMR spectrometer supplied with HCN 1H inverse detection probe. After analysis, 17 metabolites were identified and quantified. :In diabetic rats, glucose, alpha-tocopherol, urea, triglycerides, TBARS, and liver alpha-tocopherol were all higher than the control. In addition, the diabetic rats consumed and secreted 10 times more urine volume than the control in the 24 h time frame. :The diabetic rats had high-intensity peaks from glucose along with a variety of other smaller molecules. Specific quantities of glucose averaged to about 7500-fold higher than in control rats. Lactate was observed to be the second highest increase with about 40-fold. :In order to confirm that the data compiled was accurate, researchers carried out a multivariate analysis: principal component analysis (PCA). The PCA results showed that the controls and the diabetic rats were well distinguished due to the large quantities of metabolites. The removal of glucose did not affect the analysis distinguishing diabetic rats from control rats. :Using the metabolomics approach to studying Type 1 diabetes, researchers found that even after the removal of the most significant marker (glucose) from the samples, there was still a significant difference in metabolites that separate the control rats from the diabetic rats. Furthermore, the researchers developed a network showing the metabolite changes and its correlation with each other. === New Terms === ;Autoimmune : the failure of an organism to recognize its own constituent parts as self, which results in an immune response against its own cells and tissues (http://en.wikipedia.org/wiki/Autoimmune) ;Glucose : a monosaccharide (or simple sugar) also known as grape sugar, blood sugar, or corn sugar, is a very important carbohydrate in biology (http://en.wikipedia.org/wiki/Glucose) ;Inborn errors of metabolism : comprise a large class of genetic diseases involving disorders of metabolism (http://en.wikipedia.org/wiki/Inborn_errors_of_metabolism) ;Mass spectroscopy : a charged particle passing through a magnetic field is deflected along a circular path on a radius that is proportional to the mass to charge ratio, m/e (http://www.chem.ucalgary.ca/courses/351/Carey/Ch13/ch13-ms.html) ;Metabolites : is the "systematic study of the unique chemical fingerprints that specific cellular processes leave behind" : specifically, the study of their small-molecule metabolite profiles (http://en.wikipedia.org/wiki/Metabolites) ;Nuclear magnetic resonance (NMR) : is a physical phenomenon based upon the quantum mechanical magnetic properties of an atom's nucleus (http://en.wikipedia.org/wiki/Nuclear_magnetic_resonance) ;Principal components analysis : determining a smaller set of synthetic variables that could explain the original set (http://en.wikipedia.org/wiki/Principal_components_analysis) ;Streptozotocin : a naturally occurring chemical that is particularly toxic to the insulin-producing beta cells of the pancreas in mammals(http://en.wikipedia.org/wiki/Streptozotocin) ;Triglyceride : chemical form in which most fat exists in food as well as in the body (http://www.americanheart.org/presenter.jhtml?identifier=4778) ;Type 1 diabetes : Type 1 diabetes is an autoimmune disease that results in destruction of insulin-producing beta cells of the pancreas (http://en.wikipedia.org/wiki/Type_1_diabetes) ===Course Relevance=== :This pertains to the overall study of metabolism. ==Comprehensive two-dimensional gas chromatography/time-of-flight mass spectrometry for metabonomics: Biomarker discovery for diabetes mellitus == Li, Xiang. Xu,Z. Lu, X. Yang, X. Yin, P. Kong, H. Xu, G. "Comprehensive two-dimensional gas chromatography/time-of-flight mass spectrometry for metabonomics: Biomarker discovery for diabetes mellitus." Analytica Chimica Acta 663. Nov. 2008. 257-262. 11 Feb 2009 <http://www.sciencedirect.com/science?_ob=ArticleURL&_udi=B6TF4-4V2NKGK-2&_user=47004&_rdoc=1&_fmt=&_orig=search&_sort=d&view=c&_acct=C000005018&_version=1&_urlVersion=0&_userid=47004&md5=bc0216cfd9f5107aa5fd79797ede270b>. ===General Overview=== :Metabolomics can be utilized to diagnose disease and help with mechanism research. Researchers have used linear chromatography – mass spectroscopy (LC-MS) and gas chromatography-mass spectroscopy (GC-MS) to examine metabolite contents that required high sensitivity, selectivity, and that had a large linear range. In this study, researchers investigated levels of plasma phospholipids in Type 2 diabetes mellitus (T2DB) patients by LC-MS and multivariate statistical analysis (MSA). Some standard methods were modified to examine the metabolite profile differences between healthy and diabetic patients. For example, researchers combined GC X GC-MS with ultra performance liquid chromatography mass spectroscopy (UPLC-MS) to acquire global metabolite profiles in rats. GC X GC has been used in a variety of ways. However, when it is coupled with MS, metabolic profiles can be contrasted among samples. :Metabolites were extracted from blood plasma and analyzed by GC X GC-TOFMS. The data was submitted to data processing software. Peak alignment adjustments and pattern recognition were performed. Potential biomarker metabolites were obtained according to their variable importance in the projection (VIP). They were identified by ChromaTOF and NIST MS search 2.0 software. :Forty-eight diabetes mellitus patients and thirty-one healthy control volunteers participated in this study. Blood samples were collected and plasma proteins were obtained. The plasma samples were then analyzed by LECO Pegasus 4D GC X GC-TOFMS device. After that, differences between the healthy and diabetic patients were revealed using the partial least-square discriminant analysis (PLSDA). Orthogonal signal correction (OSC) was used to exclude the variations between the two sample types. :As mentioned above, VIP values of greater than 1.0 were chosen as potential biomarkers. After further analysis and exclusion of unrelated data, the researchers concluded that if similarity were greater than 750, then it would be a positive match with the published data. They found that 4/9 of potential biomarkers had a positive match. Palmitic acid, phosphate, 2-hydroxyisobutyric acid, and linoleic acid were all identified as positive matches. :It is known that glucose and lipids are key features of Type 2 diabetes mellitus. In T2DM’s, an increase level of free fatty acids (FFA) is detected circulating the blood. This could be a cause of T2DM development or it could just be the result of T2DM. In addition, FFAs could compete with glucose for substrate level oxidation, thus interfering with the activities of pyruvate dehydrogenase. This leads to elevated levels of glucose intracellularly. The increased levels of FFA could also lead to hyperinsulinemia. Hyperinsulinemia could be the beginning of insulin resistance in T2DM patients. Since the biomarkers found were either associated with hyperglycemia or problems with beta-oxidation. They may be utilized to help with diagnosis or for further research. ===New Terms=== ;Gas chromatography : specifically gas-liquid chromatography - involves a sample being vaporized and injected onto the head of the chromatographic column (http://teaching.shu.ac.uk/hwb/chemistry/tutorials/chrom/gaschrm.htm) ;Multivariate statistical analysis : describes a collection of procedures which involve observation and analysis of more than one statistical variable at a time (http://en.wikipedia.org/wiki/Multivariate_statistical_analysis) ;Time of flight mass spectroscopy (TOFMS) : ions are accelerated by an electrical field to the same kinetic energy with the velocity of the ion depending on the mass-to-charge ratio (http://en.wikipedia.org/wiki/Time-of-flight_mass_spectrometry) ;Type 2 Diabetes : a metabolic disorder that is characterized by high blood glucose in the context of insulin resistance and relative insulin deficiency. (http://en.wikipedia.org/wiki/Diabetes_mellitus_type_2) ;Hyperinsulinemia : present in people with diabetes mellitus type 2 or insulin resistance where excess levels of circulating insulin are in the blood. (http://en.wikipedia.org/wiki/Hyperinsulinemia) ;Ultra performance liquid chromatography : a column that holds chromatographic packing material (stationary phase), a pump that moves the mobile phase(s) through the column, and a detector that shows the retention times of the molecules (http://en.wikipedia.org/wiki/Ultra_performance_liquid_chromatography) ===Course Relevance=== :This pertains to the overall study of metabolism. ==Nitric Oxide Synthesis and Isoprostane Production in Subjects With Type 1 Diabetes and Normal Urinary Albumin Excretion== O'Byrne, Sharon, P Forte, LJ Roberts II, JD Morrow, A Johnston, E Anggard, RDG Leslie, and Nigel Benjamin. "Nitric Oxide Synthesis and Isoprostane Production in Subjects With Type 1 Diabetes and Normal Urinary Albumin Excretion." Diabetes. 49. 5, 857-862. May 2000. http://diabetes.diabetesjournals.org/cgi/reprint/49/5/857 ===General Overview=== [[Image: Nitric-oxide-2D.png|thumb|right]] [[Image: Peroxynitrite-ion-2D.png|thumb|right]] :People with type 1 diabetes are at a high risk of developing serious microvascular complications. Investigations into these complications have been conducted with considerable emphasis on endothelium and nitric oxide (NO) production. NO plays an important role in everyday normal functioning of the body’s microvasculature. NO action is tightly regulated by the balance between its own production and the production of the free radical, superoxide (O2-). When NO and O2- interact, a highly reactive peroxynitrite (ONOO-) forms, which catalyzes isoprostane formation in LDL cholesterol. Isoprostanes serve as markers for hyperglycemia; a disorder associated with diabetes that can induce proliferation of tissues vital for maintaining vasculature, thus causing complications. In this study, researchers designed a method to accurately quantify NO synthesis in order to delve into the relationship between NO and free radical production in type 1 diabetics with normal urinary albumin excretion (UAER) and matching healthy diabetic-free individuals. :The methodology required injection of the stable isotope L-[15N]2-arginine, which converts into 15N-nitrate, into each subject with their urine collected every 12 hours over a 36 hour period. Subjects followed strict guidelines, such as refraining from physical exercise for 3 days prior to and during the study. The major metabolite of a certain isoprostane, 2,3-dinor-5,6-dihydro-F2-IsoP, was used to quantify free radical production for the first 12h period through isotope dilution mass spectrometric assay. Measuring whole-body NO production was detected through levels of 15N-nitrate, excreted in urine, using isotope ratio mass spectrometry. Careful considerations and actions were taken in order to limit factors of variability between diabetic and healthy subjects that could possibly alter results, including age, BMI, blood pressure, and cholesterol. :According to results, in comparison to the control group, a significant increase in whole-body NO synthesis was exhibited by type 1 diabetics, particularly those individuals with a history of diabetes greater than 20 years. All variables pertaining to individual characteristics, creatinine clearance and rate of elimination were negligible. Only differences in sex had an effect on 15N-nitrate levels regardless of diabetes, with females showing the highest production of NO overall. Levels of the F2-isoprostanes, which determined oxidative stress in vivo, revealed an inverse relationship between NO synthesis and free radicals. This was consistent with earlier hypotheses stating that presence of oxidative species, free radicals, inactivates NO synthesis. Isoprostrane concentration was similar in both diabetic and control groups, therefore one explanation for higher NO production in the diabetic group could possibly be due to the antioxidant and protective activity of NO. NO inhibits free radicals, which are built up during hyperglycemic conditions developed by diabetic patients. This study’s results show promising new insights into the role of NO in people with type 1 diabetes. ===New Terms=== ;Microvascular : referring to small blood vessels (http://diabetes.org.au/glossary.htm) ;Anigiopathy : any disease of the blood vessels or lymph ducts (http://wordnetweb.princeton.edu/perl/webwn?s=angiopathy) ;Microalbuminuria : leakage of small amounts of protein (albumin) into the urine; an early warning of kidney damage (http://diabetes.org.au/glossary.htm) ;Mitogenesis : induction of mitosis in a cell (http://medical-dictionary.thefreedictionary.com/mitogenesis) ;Euglycemic : of or pertaining to euglycemia; having the standard blood glucose level in the body (http://en.wiktionary.org/wiki/euglycemic) ===Course Relevance=== :To further understand the relationship between NO, from the metabolism of arginine to praline, production and free radicals and the emergence of microvascular diseases in individuals with type 1 diabetes. ==Personal Metabolomics as a Next Generation Nutritional Assessment== German, J. Bruce. Roberts, Matthew-Alan. and Watkins, Steven M. “Personal Metabolomics as a Next Generation Nutritional Assessment” The American Society for Nutritional Sciences. J. Nutr. May 2009. 133:4260-4266, December 2003. http://jn.nutrition.org/cgi/content/full/133/12/4260 ===General Overview=== [[:Image:FAB_MS.jpg]] :Every human differs in their metabolic regulation and because of this there is not necessarily an optimum diet that each person must follow. Personalized assessment of a person’s unique metabolism will be necessary in the future. The ultimate goal will be to individualize each person’s health in order to better predict and manage disease. Now, with the challenges of understanding metabolic health within individuals, it is necessary to take a more precise and more general approach. It is important to define both the input variables of foods as parts of complete diets and the outcome variables of integrated metabolism in order to judge a person’s health. To date, nutrition researchers have not addressed the acquisition of metabolism-wide data sets as output variables in nutrition clinical trials. The goal of metabolomics is to prepare a comprehensive dataset of every metabolite within a given biological sample. This is not yet possible because of the wide dynamic and chemical range of small metabolites within biological samples. However, it is possible to divide metabolites into specific classes, analyze these and then reassemble the data electronically. All lipid classes in blood, for example, can be quantified according to the mass of each fatty acid constituent. The technologies such as mass spectrometry provide a very efficient and relatively cheap way to implement systems to collect such data. The technologies that are available to address most of the metabolite classes are equally as available as those for fatty acids and complex lipids. Thus, no significant technological hurdle stands in the way of using these technologies to assemble metabolite databases of humans and experimental animals for amino acids and small peptides, sterols, organic acids, sugars and alcohols, vitamins, nucleotides, etc. So long as the data are qualitative and quantitative, such data from various human and animal investigations are directly comparable. Studies conducted in separate laboratories, using entirely different analytical technologies years apart, will produce directly comparable data if the data are both qualitative and quantitative. The primary causative factors in disease are often the altered biochemical composition of cells and tissues. Thus, the link between the gene regulatory control and the primary causative factors will be crucial for application in drug development, medicine, nutrition and other therapeutic courses of action. The identification of relationships between genes, transcripts, proteins and metabolites are essential components to understand integrative metabolism. Software is now available to superimpose analytical data onto said pathways, providing a powerful means to identify biological regulation of metabolism through the coexpression of gene data obtained from microarrays. GenMAPP is a particularly useful tool for such purpose, allowing the user to link pathway information to gene expression data. Overall the goal is to collaborate with various laboratories to interpret differences in blood lipids and thus provide predictive knowledge of potential interventions using food, drugs and lifestyle to improve lipid metabolism. ===New Terms=== ;Environment The sum of all external variables, including diet, lifestyle and not to be forgotten, coexisting organisms. ;Lipomics Study and research of lipids ;Lipids Broadly defined as any fat-soluble (lipophilic), naturally-occurring molecule, such as fats, oils, waxes, cholesterol, sterols, fat-soluble vitamins (such as vitamins A, D, E and K), monoglycerides, diglycerides, phospholipids, and others. The main biological functions of lipids include energy storage, as structural components of cell membranes, and as important signaling molecules. (http://en.wikipedia.org/wiki/Lipid) ;Nutrigenetics refers to the specific gene sequence differences between humans and how these affect the differences in responses to diet and particular needs for nutrients. ;Nutrigenomics is the study of the effects of diet on the expression of all genes and their functions. ===Course Relevance=== :Can be related to every human being as the study and research of lipids and personalized diets according to one’s own metabolic construct could impact our personal health. Could revolutionize how we think about health and diet. ==Prospective health care: the second transformation of medicine== Snyderman, Ralph and Langheier, Jason. “Prospective health care: the second transformation of medicine” Genome Biology 2006. May 2009. 7:104. 27 March 2006. http://genomebiology.com/2006/7/2/104 ===General Overview=== [[:Image:Breast Cancer Awareness (263497131).jpg]] :The term “Prospective health care” refers to the personalized risk prediction and strategic health-care planning which will facilitate a new form of care. The current approach to health care is based upon the reductionist method which simplifies causal reasons for infectious disease as well as chronic disease. Instead of disease being caused by one microbe (as this is far too simplistic) diseases develop as a consequence of inherited susceptibilities and environmental exposure. Over time, pathology increases, reversibility decreases and costs of care increases. Earlier intervention could clearly reduce the costs and the disease burden. Thus, it appears as though current research is on curing chronic illness and not preventing it. With modern science and technology including rapid evolving fields such as genomics, proteomics, and metabolomics, the ability to predict events and interfere before damage occurs is possible. Prospective health care is a new approach that incorporates all the power of current disease-oriented medicine but is based on the concept of strategic health planning, a proactive, prospective approach to care. In this system, individuals will be evaluated to determine their baseline risk for various diseases, their current health status, and the likelihood of their developing specific clinical problems given their risks. In order for this to be possible one must acquire the tools necessary such as predictive biomarkers, such as low-density lipoprotein (LDL) for cardiovascular disease. These biomarkers need to be identified and tracked over time to determine whether the individual’s likelihood of developing any particular disease is increasing or decreasing. A model of prediction is thus needed to accomplish this task. Predictive modeling encompasses various procedures for creating models that distinguish predictors from many other factors that are not as valuable for anticipating the outcome. Mathematical models can serve as guidelines to raise the overall standard of care, but not to determine the final diagnosis or treatment plan as humans are sensitive to appreciating outlying issues that the model might not be able to account for. The best course of action would be for healthcare to use these math models as a guideline to help standardize care which is not currently being done. To be the most useful, clinical medicine requires predictive models that can predict events accurately over far shorter timeframes, rather than the likelihood of recurrence in 10 years. To achieve this, more relevant and specific data will need to be collected for analysis as shown in Figure 5 which states that clinical data and the results of biomarker analyses (such as gene expression, protein array, and EKG) be collected from a cohort of people and stored in disease model libraries and then models are developed from them. The models can then be used to identify risk prediction factors for particular diseases or events and can thus be compared against a specific person’s profile to determine their risk, or to diagnose disease progression. Biomarkers such as SNPs that are highly associated with causal genes will serve as much better predictors of adverse outcomes, as well as provide for better predictive models, than much of the current data being collected. For individuals that are identified to be high risk they will undergo extensive surveillance to track the disease as much as possible and to provide therapeutic support, such as with breast cancer. With any disease, and specifically breast cancer, for personalized prevention and early intervention, it is necessary to predict baseline risks, provide surveillance for early detection, and facilitate optimal individualized therapy if disease develops. In order to do this with breast cancer there are specific models called the Gail and the Claus models, as well as BRCAPRO, which are used to predict risk and also used to facilitate appropriate treatment. The application of these new technologies to health care will not only provide a far more detailed understanding of health and its evolution toward disease, but will also support the ability to predict events and anticipate appropriate interventions. ===New Terms=== ;Reductionist Method: Simplifies the concept of pathogenesis to the smallest number of causal factors ;Biomarkers: Measurable biological factors that predict disease development ;BRCA1/BRCA2: Human genes that with specific mutations can increase a person’s risk of breast and ovarian cancers in women (up to 86% in breast cancer) as well as breast and prostate cancers in men. ;Claus Model: A computer program that uses statistics to predict a person’s risk for developing breast cancer based on family history (http://www.cancer.gov/Templates/db_alpha.aspx?CdrID=446553) ;Gail Model: A computer program that uses personal and family history to estimate a woman’s chance of developing breast cancer. Also called Gail risk model. (http://www.cancer.gov/Templates/db_alpha.aspx?searchTxt=gail&sgroup=Starts+with&lang=) ;SNP: Single nucleotide Polymorphism -- DNA sequence variation occurring when a single nucleotide — A, T, C, or G — in the genome (or other shared sequence) differs between members of a species (or between paired chromosomes in an individual). (http://en.wikipedia.org/wiki/Single_nucleotide_polymorphism) ==Course Relevance== :Prospective health care if put into effect could influence how modern health care works. We could be the guinea pigs to see if this type of intervention is possible, and we could ultimately benefit from it if successful. Overall relates to how metabolism and body regulations affects health. =Resources= :O'Byrne, Sharon, P Forte, LJ Roberts II, JD Morrow, A Johnston, E Anggard, RDG Leslie, and Nigel Benjamin. "Nitric Oxide Synthesis and Isoprostane Production in Subjects With Type 1 Diabetes and Normal Urinary Albumin Excretion." Diabetes. 49. 5, 857-862. May 2000. :Li, Xiang. Xu,Z. Lu, X. Yang, X. Yin, P. Kong, H. Xu, G. "Comprehensive two-dimensional gas chromatography/time-of-flight mass spectrometry for metabonomics: Biomarker discovery for diabetes mellitus." Analytica Chimica Acta 663. Nov. 2008. 257-262. 11 Feb 2009 <http://www.sciencedirect.com/science?_ob=ArticleURL&_udi=B6TF4-4V2NKGK-2&_user=47004&_rdoc=1&_fmt=&_orig=search&_sort=d&view=c&_acct=C000005018&_version=1&_urlVersion=0&_userid=47004&md5=bc0216cfd9f5107aa5fd79797ede270b>. :Zhang, Shucha. Nagana Gowda,GA. Asiago, V. Shanaiah, N. Barbas, C. "Correlative and quantitative (1)H NMR-based metabolomics reveals specific metabolic pathway disturbances in diabetic rats". Analytical Biochemistry 383. May 2008. 76-84. 11 Feb 2009 <http://www.ncbi.nlm.nih.gov/pubmed/18775407?ordinalpos=1&itool=EntrezSystem2.PEntrez.Pubmed.Pubmed_ResultsPanel.Pubmed_DefaultReportPanel.Pubmed_RVDocSum>. :"Diabetes Risk Test". PreDX. 2008. Tethys Bioscience, Inc.. 15 Feb 2009 <http://predictmyrisk.com/about.html>. :"Home". Metabolomics Society. Dec. 2008. Thermo Scientific. 13 Feb 2009 <129.128.185.121/metabolomics_society> :German, J. Bruce. Roberts, Matthew-Alan. and Watkins, Steven M. “Personal Metabolomics as a Next Generation Nutritional Assessment” The American Society for Nutritional Sciences. J. Nutr. May 2009. 133:4260-4266, December 2003. http://jn.nutrition.org/cgi/content/full/133/12/4260 :Snyderman, Ralph and Langheier, Jason. “Prospective health care: the second transformation of medicine” Genome Biology 2006. May 2009. 7:104. 27 March 2006. http://genomebiology.com/2006/7/2/104 ==Articles for future review as Metabolism class assignments== #[http://www.pubmedcentral.nih.gov/articlerender.fcgi?artid=1257643&tool=pmcentrez Personalized Exposure Assessment: Promising Approaches for Human Environmental Health Research] ====Main Focus==== ;:Identify the main focus of the resource. Possible answers include specific organisms, database design, intergration of information, but there are many more possibilities as well. ====New Terms==== ;New Term 1: Definition. (source: http://) ;New Term 2: Definition. (source: http://) ;New Term 3: Definition. (source: http://) ;New Term 4: Definition. (source: http://) ;New Term 5: Definition. (source: http://) ;New Term 6: Definition. (source: http://) ;New Term 7: Definition. (source: http://) ;New Term 8: Definition. (source: http://) ;New Term 9: Definition. (source: http://) ;New Term 10: Definition. (source: http://) ====Summary==== ;:Enter your article summary here. Please note that the punctuation is critical at the start (and sometimes at the end) of each entry. It should be 300-500 words. What are the main points of the article? What questions were they trying to answer? Did they find a clear answer? If so, what was it? If not, what did they find or what ideas are in tension in their findings? ====Relevance to a Traditional Metabolism Course==== ;:Enter a 100-150 word description of how the material in this article connects to a traditional metabolism course. Does the article relate to particular pathways (e.g., glycolysis, the citric acid cycle, steroid synthesis, etc.) or to regulatory mechanisms, energetics, location, integration of pathways? Does it talk about new analytical approaches or ideas? Does the article show connections to the human genome project (or other genome projects)? #[http://www.pubmedcentral.nih.gov/articlerender.fcgi?artid=1570061&tool=pmcentrez Monitoring Environmental Exposures: Now It’s Personal] ====Main Focus==== ;:Identify the main focus of the resource. Possible answers include specific organisms, database design, intergration of information, but there are many more possibilities as well. ====New Terms==== ;New Term 1: Definition. (source: http://) ;New Term 2: Definition. (source: http://) ;New Term 3: Definition. (source: http://) ;New Term 4: Definition. (source: http://) ;New Term 5: Definition. (source: http://) ;New Term 6: Definition. (source: http://) ;New Term 7: Definition. (source: http://) ;New Term 8: Definition. (source: http://) ;New Term 9: Definition. (source: http://) ;New Term 10: Definition. (source: http://) ====Summary==== ;:Enter your article summary here. Please note that the punctuation is critical at the start (and sometimes at the end) of each entry. It should be 300-500 words. What are the main points of the article? What questions were they trying to answer? Did they find a clear answer? If so, what was it? If not, what did they find or what ideas are in tension in their findings? ====Relevance to a Traditional Metabolism Course==== ;:Enter a 100-150 word description of how the material in this article connects to a traditional metabolism course. Does the article relate to particular pathways (e.g., glycolysis, the citric acid cycle, steroid synthesis, etc.) or to regulatory mechanisms, energetics, location, integration of pathways? Does it talk about new analytical approaches or ideas? Does the article show connections to the human genome project (or other genome projects)? #[http://www.pubmedcentral.nih.gov/articlerender.fcgi?artid=2651587&tool=pmcentrez Systems medicine: the future of medical genomics and healthcare] ====Main Focus==== ;:Identify the main focus of the resource. Possible answers include specific organisms, database design, intergration of information, but there are many more possibilities as well. ====New Terms==== ;New Term 1: Definition. (source: http://) ;New Term 2: Definition. (source: http://) ;New Term 3: Definition. (source: http://) ;New Term 4: Definition. (source: http://) ;New Term 5: Definition. (source: http://) ;New Term 6: Definition. (source: http://) ;New Term 7: Definition. (source: http://) ;New Term 8: Definition. (source: http://) ;New Term 9: Definition. (source: http://) ;New Term 10: Definition. (source: http://) ====Summary==== ;:Enter your article summary here. Please note that the punctuation is critical at the start (and sometimes at the end) of each entry. It should be 300-500 words. What are the main points of the article? What questions were they trying to answer? Did they find a clear answer? If so, what was it? If not, what did they find or what ideas are in tension in their findings? ====Relevance to a Traditional Metabolism Course==== ;:Enter a 100-150 word description of how the material in this article connects to a traditional metabolism course. Does the article relate to particular pathways (e.g., glycolysis, the citric acid cycle, steroid synthesis, etc.) or to regulatory mechanisms, energetics, location, integration of pathways? Does it talk about new analytical approaches or ideas? Does the article show connections to the human genome project (or other genome projects)? #[http://www.pubmedcentral.nih.gov/articlerender.fcgi?artid=1551921&tool=pmcentrez Metabolic Profiling of Patients with Schizophrenia] ====Main Focus==== ;:Identify the main focus of the resource. Possible answers include specific organisms, database design, intergration of information, but there are many more possibilities as well. ====New Terms==== ;New Term 1: Definition. (source: http://) ;New Term 2: Definition. (source: http://) ;New Term 3: Definition. (source: http://) ;New Term 4: Definition. (source: http://) ;New Term 5: Definition. (source: http://) ;New Term 6: Definition. (source: http://) ;New Term 7: Definition. (source: http://) ;New Term 8: Definition. (source: http://) ;New Term 9: Definition. (source: http://) ;New Term 10: Definition. (source: http://) ====Summary==== ;:Enter your article summary here. Please note that the punctuation is critical at the start (and sometimes at the end) of each entry. It should be 300-500 words. What are the main points of the article? What questions were they trying to answer? Did they find a clear answer? If so, what was it? If not, what did they find or what ideas are in tension in their findings? ====Relevance to a Traditional Metabolism Course==== ;:Enter a 100-150 word description of how the material in this article connects to a traditional metabolism course. Does the article relate to particular pathways (e.g., glycolysis, the citric acid cycle, steroid synthesis, etc.) or to regulatory mechanisms, energetics, location, integration of pathways? Does it talk about new analytical approaches or ideas? Does the article show connections to the human genome project (or other genome projects)? =Websites for future review as Metabolism class assignments= {{BookCat}} gzetvw7lnxg6lgqqgdw4debu6vp0zn2 UMD Analysis Qualifying Exam/Jan08 Complex 0 181738 4654472 3269555 2026-07-14T17:29:31Z R. Henrik Nilsson 3395618 similary > similarly 4654472 wikitext text/x-wiki ==Problem 2 == {| WIDTH="80%" |- | style="background-color: #FFFFEE; border: solid 1px #FFC92E; padding: 1em;" valign="top" | Prove there is an entire function <math> f \!\,</math> so that for any branch <math>g \!\,</math> of <math> \sqrt{z} \!\,</math> :<math>\sin^2 (g(z))=f(z) \!\,</math> for all <math> z \!\,</math> in the domain of definition of <math> g \!\,</math> |} ==Solution 2== Key steps * <math>\sin^2(\theta)=\frac{1-\cos(2\theta)}{2} \!\,</math> * <math>\cos(z)=\sum_{n=1}^\infty \frac{(-1)^nz^{2n}}{(2n)!} \!\,</math> * ratio test ==Problem 4 == {| WIDTH="80%" |- | style="background-color: #FFFFEE; border: solid 1px #FFC92E; padding: 1em;" valign="top" | Let <math>H\!\,</math> be the domain <math>\{ z: -\frac{\pi}{2} < \Re(z) < \frac{\pi}{2}, \Im(z)>0 \}\!\,</math>. Prove that <math>g=\sin(z)\!\,</math> is a 1:1 conformal mapping of <math>H\!\,</math> onto a domain <math>D\!\,</math>. What is <math>D\!\,</math>? |} ==Solution 4== ===Showing G 1:1 conformal mapping === First note that <math> \begin{align} (1) \quad |g^{\prime}(z)| &= |\sin^{\prime}(z)|\\ &= |\cos(z)| \\ &= \left|\frac{e^{-iz}+e^{iz}}{2}\right| \\ &\geq \frac{1}{2} (|e^{-ix}||e^{y}|-|e^{ix}||e^{-y}| ) \\ &\geq \frac{1}{2}(e^y-e^{-y}) \\ &> 0 \quad \mbox{since }y>0 \end{align} </math> Also, applying a <span class="plainlinks"> [http://en.wikipedia.org/wiki/List_of_trigonometric_identities#Product-to-sum_and_sum-to-product_identities trigonometric identity]</span>, we have for all <math> z_1, z_2 \in H \!\,</math>, :<math> (2) \quad \sin z_1 - \sin z_2 = 2 \sin \left(\frac{z_1-z_2}{2}\right)\cos\left(\frac{z_1+z_2}{2}\right) \!\,</math> Hence if <math>\sin z_1=\sin z_2 \!\,</math>, then :<math>\sin \left(\frac{z_1-z_2}{2}\right)=0 \!\,</math> or :<math>\cos \left(\frac{z_1+z_2}{2}\right)=0 \!\,</math> The latter cannot happen in <math> H \!\,</math> since <math> |g^{\prime}(z)|=|\cos(z)|>0 \!\,</math> so :<math>\sin \left(\frac{z_1-z_2}{2}\right)=0 \!\,</math> i.e. :<math> z_1 = z_2 \!\, </math> Note that the zeros of <math>\sin(z)=\sin(x+iy) \!\,</math> occur at <math>x=k \pi, k \in \mathbb{Z} \!\,</math>. Similarly the zeros of <math>\cos(z)=\cos(x+iy) \!\,</math> occur at <math>x=\frac{\pi}{2}+k\pi, k \in \mathbb{Z} \!\,</math>. Therefore from <math>(1) \!\,</math> and <math>(2) \!\,</math>, <math>g\!\,</math> is a <math>1:1\!\,</math> conformal mapping. ===Finding the domain D=== To find <math> D \!\,</math>, we only need to consider the image of the boundaries. Consider the right hand boundary, <math> C_3=\{z=x+iy | x=\frac{\pi}{2}, y >0 \} \!\,</math> <math> \begin{align} g(C_3) &= g\left(\frac{\pi}{2}+ yi\right)\\ &= \sin\left(\frac{\pi}{2}+ yi\right) \\ &= \frac{e^{i(\frac{\pi}{2}+yi)}-e^{-i(\frac{\pi}{2}+yi})}{2i}\\ &= \frac{e^{i\frac{\pi}{2}}e^{-y}-e^{-i\frac{\pi}{2}}e^{y}}{2i} \\ &= \frac{e^{i\frac{\pi}{2}}e^{-y}+e^{i\frac{\pi}{2}}e^{y}}{2i} \\ &= \frac{e^{i\frac{\pi}{2}}(e^{-y}+e^y)}{2i} \\ &= \frac{i(e^{-y}+e^y)}{2i} \\ &= \frac{e^{-y}+e^y}{2} \\ \end{align} </math> Since <math> y>0 \!\,</math>, :<math>g(C_3)=(1,\infty) \!\,</math> Now, consider the left hand boundary <math> C_2=\{z=x+iy | x=-\frac{\pi}{2}, y >0 \} \!\,</math>. <math> \begin{align} g(C_2) &= g\left(-\frac{\pi}{2}+ yi\right)\\ &= \sin\left(-\frac{\pi}{2}+ yi\right) \\ &= \frac{e^{i(-\frac{\pi}{2}+yi)}-e^{-i(-\frac{\pi}{2}+yi})}{2i}\\ &= \frac{e^{-i\frac{\pi}{2}}e^{-y}-e^{i\frac{\pi}{2}}e^{y}}{2i} \\ &= \frac{-e^{i\frac{\pi}{2}}e^{-y}-e^{i\frac{\pi}{2}}e^{y}}{2i} \\ &= \frac{e^{i\frac{\pi}{2}}(-e^{-y}-e^y)}{2i} \\ &= -\frac{i(e^{-y}+e^y)}{2i} \\ &= -\frac{e^{-y}+e^y}{2} \\ \end{align} </math> Since <math> y>0 \!\,</math>, :<math>g(C_2)=(-\infty,-1) \!\,</math> Now consider the bottom boundary <math> C_1=\{z=x+iy | -\frac{\pi}{2}<= x <= \frac{\pi}{2}, y=0 \} \!\,</math>. <math> \begin{align} g(C_1) &= g(x)\\ &= \sin(x) \end{align} </math> Since <math> -\frac{\pi}{2}<= x <= \frac{\pi}{2} \!\,</math>, :<math>g(C_2)=[-1,1] \!\,</math> Hence, the boundary of <math>H \!\,</math> maps to the real line. Using the test point <math> z=i \!\,</math>, we find <math> \begin{align} g(i) &= \sin(i) \\ &= \frac{e^{i(i)}-e^{-i(i)}}{2i}\\ &= \frac{e^{-1}-e^{1}}{2i}\\ &= \frac{-i(e^{-1}-e^{1})}{2}\\ &= \frac{i(e^{1}-e^{-1})}{2}\\ &= \frac{i}{2}(e-\frac{1}{e}) \\ &\in \mbox{Upper Half Plane} \end{align} </math> We then conclude <math>D=g(H)=\mbox{Upper Half Plane} \!\,</math> ==Problem 6== {| WIDTH="80%" |- | style="background-color: #FFFFEE; border: solid 1px #FFC92E; padding: 1em;" valign="top" | Suppose that for a sequence <math> a_n \in R \!\,</math> and any <math> z, \Im (z) >0 \!\,</math>, the series :<math> h(z) = \sum_{n=1}^\infty a_n \sin (nz) \!\,</math> is convergent. Show that <math> h \!\,</math> is analytic on <math> \{ \Im(z)> 0 \} \!\,</math> and has analytic continuation to <math> C \!\,</math> |} ==Solution 6== ===Summation a_n Convergent=== We want to show that <math>\sum_{n=1}^\infty a_n \!\,</math> is convergent. Assume for the sake of contradiction that <math>\sum_{n=1}^\infty a_n \!\,</math> is divergent i.e. :<math>\sum_{n=1}^\infty a_n = \infty\!\,</math> Since <math>h(z) \!\,</math> is convergent in the upper half plane, choose <math> z=i \!\,</math> as a testing point. <math> \begin{align} h(i) &= \sum_{n=1}^\infty a_n \sin(ni) \\ &= \sum_{n=1}^\infty a_n \frac{e^{-n}-e^n}{2i} \\ &= \sum_{n=1}^\infty a_n \frac{-i(e^{-n}-e^n)}{2} \\ &= \sum_{n=1}^\infty a_n \frac{i(e^n-e^{-n})}{2} \end{align} </math> Since <math>h(i) \!\,</math> converges in the upper half plane, so does its imaginary part and real part. :<math> \Im(h(i)) = \frac12 \sum_{n=1}^\infty a_n \underbrace{(e^n-e^{-n})}_{E_n} \!\,</math> The sequence <math>\{E_n\} \!\,</math> is increasing (<math>E_1 < E_2 < \ldots < E_n < E_{n+1} \!\,</math>) since <math>e^{n+1} > e^n \!\,</math> and <math>e^{-n} > e^{-(n+1)} \!\,</math> e.g. the gap between <math>e^n \!\,</math> and <math>e^{-n} \!\,</math> is grows as <math>n \!\,</math> grows. Hence, <math> \begin{align} \Im(h(i)) &\geq \frac12 (e^1 - e^{-1}) \underbrace{\sum_{n=1}^\infty a_n}_{= \infty} \\ \\ \\ \Im(h(i)) &\geq \infty \end{align} </math> This contradicts that <math>h(i) \!\,</math> is convergent on the upper half plane. ===Show that h is analytic=== In order to prove that <math>h \!\,</math> is analytic, let us cite the following theorem '''Theorem''' Let <math>{h_n}\!\,</math> be a sequence of holomorphic functions on an open set <math>U\!\,</math>. &nbsp; Assume that for each compact subset <math>K\!\,</math> of <math>U\!\,</math> the sequence converges uniformly on <math>K\!\,</math>, and let the limit function be <math>h\!\,</math>. &nbsp; Then <math>h\!\,</math> is holomorphic. '''Proof''' See Theorem 1.1 in Chapter V, Complex Analysis Fourth Edition, Serge Lang. Now, define <math>h_n(z)= \sum_{k=1}^{n} a_k \sin(k z)\!\,</math>. &nbsp; Let <math>K\!\,</math> be a compact set of <math>U=\{\Im{z}>0\}\!\,</math>. &nbsp; Since <math> \sin(kz) \!\,</math> is continuous {{BookCat}} qv1c2jsdurszfvv2pl3j97rwm0a57ka Talk:Chess Opening Theory/1. e4/1...b6 1 189568 4654542 1611451 2026-07-15T11:40:39Z 123957a 582828 /* Unclear */ new section 4654542 wikitext text/x-wiki {{ChessProject|importance=Mid|class=Stub}} == Unclear == When it says "light-squared bishop" it's not clear it means specifically in Owen's Defense rather than Black's fianchetto pattern as a whole, which is why I misunderstood. [[User:123957a|123957a]] ([[User talk:123957a|discuss]] • [[Special:Contributions/123957a|contribs]]) 11:40, 15 July 2026 (UTC) jjbo4eh4ho3hejfzyy47l7u94iy977a Chess Opening Theory/1. e4/1...e5/2. f4/2...exf4/3. Nf3/3...g5 0 190355 4654413 4650959 2026-07-14T12:44:49Z Greenman 7490 ce 4654413 wikitext text/x-wiki {{Chess diagram|tright|'''King's Gambit Accepted'''|rd|nd|bd|qd|kd|bd|nd|rd|pd|pd|pd|pd||pd||pd|||||||||||||||pd||||||pl|pd||||||||nl|||pl|pl|pl|pl|||pl|pl|rl|nl|bl|ql|kl|bl||rl|'''Common moves:'''<br> [[/4. h4|4. h4 - Main Line (Paris Attack)]]<br> [[/4. Bc4|4. Bc4 - Classical Variation]]<br> [[/4. d4|4. d4 - Rosentreter Gambit]]<br> [[/4. Nc3|4. Nc3 - Quaade Gambit]]|=}}Black has put a pawn on g5 to defend f4. Left to their own devices, Black could reinforce this pawn with ...h6 and ...Bg7 and turn the f4-pawn into a fortress. However, the most common and forcing threat is for Black to play ...g4, flush White's knight away, and play Qh4+ to force White's king to go uncastled. White has two direct defenses and two indirect defenses to defend against ...g4. * [[Chess Opening Theory/1. e4/1...e5/2. f4/2...exf4/3. Nf3/3...g5/4. h4|'''4. h4''']]! is the most mainline direct defense against ...g4, as now the Black queen cannot make use of h4 with check. This move catches Black off guard, because g5 is attacked twice and defended only once, and 4...h6? doesn't protect it (5.hxg5 hxg5?? 6.Rxh8 is a disaster). 4...gxh4 would leave Black with three isolated pawns on the kingside. So the pawn advances to g4 and kicks the knight. * [[Chess Opening Theory/1. e4/1...e5/2. f4/2...exf4/3. Nf3/3...g5/4. Bc4|'''4. Bc4''']] is the most commonly-played direct defense against ...g4, vacating the f1 square for the White king to hide after Qh4+. Black could reinforce their g-pawn with ...Bg7 and ...h6, but much more common is ...g4, leading to some of the most famous variations such as the '''Muzio Gambit''', '''Lolli Gambit''', and '''Salvio Gambit'''. White can either sacrifice their knight and develop, sacrifice the bishop on f7 to lure out Black's king, or play Ne5 and coordinate on f7. * [[Chess Opening Theory/1. e4/1...e5/2. f4/2...exf4/3. Nf3/3...g5/4. d4|'''4. d4''']] is an indirect defense against ...g4, opening up the dark-squared bishop to recapture on f4. After ...g4, White can either play Nc3 or Bxf4 and give up the knight for an attack, or play Ne5, allowing ...Qh4+, but after g3 fxg3, Qxg4 saves the day. If Black goes for the rook with g2+, the position is equal! In fact, White gets an attack so extreme that it's very easy for Black to blunder the game away. * [[Chess Opening Theory/1. e4/1...e5/2. f4/2...exf4/3. Nf3/3...g5/4. Nc3|'''4. Nc3''']] is an indirect defense against ...g4, seemingly ignoring the threat on ...g4 but presenting a very strong counterattacking idea; after Ne5 Qh4+ g3 fxg3 Qxg4 g2+ Qxh4 gxh1=Q, White can go for a Scholar's Mate, and one day, the knight on c3 will jump to d5 with devastating effect. ==Theory table== {{Chess Opening Theory/Table}}. '''1.e4 e5 2.f4 exf4 3. Nf3 g5''' <table border="0" cellspacing="0" cellpadding="4"> <tr> <th></th> <th align="left"><span style="font-size: small;">4</span></th> </tr> <tr> <th align="right">Paris Attack</th> <td>[[/4. h4|h4]]<br>g4</td> <td>Ne5<br>Nf6</td> <td></td> </tr> <tr> <th align="right"></th> <td>[[/4. Bc4|Bc4]]<br/>d5</td> <td>exd5<br/>Bd6</td> <td></td> </tr> <tr> <th align="right">Quaade Attack</th> <td>[[/4. Nc3|Nc3]]</td> <td></td> </tr> </table> {{ChessMid}} {{wikipedia|King's Gambit Accepted}} {{Chess Opening Theory/Footer}} cjnkts2w0codhktyeuy0u5huw2drb3f Medical Physiology/Gastrointestinal Physiology/Secretions 0 197377 4654473 4225196 2026-07-14T17:29:56Z R. Henrik Nilsson 3395618 similary > similarly 4654473 wikitext text/x-wiki ==Secretions in the GI tract== About 10 liters of fluid pass through the gastrointestinal system each day, and only about 2 liters are ingested, the rest represent secretions from the system itself. About half, 3.5, liters is secreted from the exocrine glands, the salivary glands, the stomach and the liver, the other half is secreted by the epithelial cells of the digestive tract itself. Nearly all this fluid is absorbed, so the pellets of feces only contain a significant amount of fluid in diarrhea. To put this in perspective a 70 Kilogram man has about 42 liters of fluid, so the secretions represent about a sixth of the body's volume. The circulation contains about 3.5 liters, so these secretions represent twice the body's circulating volume. Failures of absorption of the intestinal secretions can thus lead to rapid dehydration and electrolyte imbalance. The secretions consist of digestive enzymes, mucous and substantial amounts of fluid and ions. <table cellpadding='5'> <tr><th></th><th>Daily Volume</th><th>pH</th></tr> <tr><td>Saliva</td><td>1000</td><td>6.0 - 7.0</td></tr> <tr><td>Stomach</td><td>1500</td><td>1.0 - 3.0</td></tr> <tr><td>Brunners Glands (duodenum)</td><td>200</td><td>8.0 - 9.0</td></tr> <tr><td>Pancreas</td><td>1000-1500</td><td>8.0 - 8.3</td></tr> <tr><td>Bile</td><td>1000</td><td>7.8</td></tr> <tr><td>Small Intestine</td><td>1800</td><td>7.5 - 8.0</td></tr> <tr><td>Large Intestine</td><td>200</td><td>7.5 - 8.0</td></tr> <tr><td>Total</td><td><hr />6700-7200</td><td></td></tr> </table> ===Types of glands=== Several different types of gland are found in the GI Tract: *Single cell mucous glands and goblet cells. *Pit glands. Invaginations of the epithelia into the submucosa. In the small intestine these are called '''Crypts of Lieberkuhn'''. *Deep tubular glands. These are found in the stomach - the '''gastric glands''', and the upper duodenum - '''Brunners glands'''. *Complex glands, the salivary glands, the pancreas, and the liver. The salivary glands and the pancreas are '''compound acinous glands'''. ===Mechanisms of stimulation=== Stimulation occurs due to local effects; autonomic stimulation; and hormones ====Local effects==== The mechanical presence of food causes stimulation not only locally but also adjacent regions. This may either be a direct effect, or via. the enteric nervous system. ====Autonomic stimulation==== Stimulation of parasympathetic nerves invariably serve to increase secretion. Stimulation of sympathetic nerves may increase some secretions, but usually diminishes blood flow, which will usually decrease overall secretion. ====Hormones==== Several different hormones affect secretions. They will be looked at in the regional review of secretions. ===Digestive Enzymes=== Digestive enzymes are secreted by glandular cells which will store the enzyme in '''secretory vesicles''' until they are ready to be released. These cells are characterised by a robust rough endoplastic reticulum and numerous mitochondria. Passage of materials from the ribosomes, through the endoplasmic reticulum and Golgi body to the secretory vesicles takes about 20 minutes. [[File:Cell gland.png]] Note the presence of nerve fibers on the basal side of the cell. ===Water & Electrolyte secretions=== Glandular secretions must also secrete water and electrolytes to go along with the organic substances. The following illustration shows the most likely mechanism for this. [[File:Cell electrolytes.png|400px]] *In its resting state the membrane resting potential is about -30-40 mV *Neural stimulation causes an influx of -ve chloride ions decreasing resting potential by 10-20 mV *Sodium ions follow down the electrical gradient. Cell contents become hyper osmotic. *Water follows. Intracellular pressure increases *Increased pressure opens ports on apical side of cell flushing water and electrolytes Micro electrode studies indicate that the whole process lasts about a second! ===Digestive Enzymes of the GI tract=== The following table shows a summary of the digestive enzymes of the GI tract: <table cellpadding='5' rules='none' border='1'> <tr> <th>Location</th><th>Enzyme Name</th><th>Action</th> </tr> <tr valign='top'> <td>'''Salivary Glands'''</td> <td>Amylase<br />Lingual Lipase</td> <td>Starch<br />Triglycerides (limited action)</td> </tr> <tr valign='top'> <td>'''Stomach'''</td> <td>Pepsin (pepsinogen)<br />Gastric Lipase</td> <td> Proteins<br /> Triglycerides </td> </tr> <tr valign='top'> <td>'''Pancreas'''</td> <td>Amylase<br/> Lipase &amp; Colipase<br/> Phospholipase<br/> Trypsin(Tripsinogen)<br/> Chymotripsin(Chymotripsinogen)<br/> </td> <td> Starch<br/> Triglycerides<br/> Phospholipids<br/> Peptides<br/> Peptides<br/> </td> </tr> <tr valign='top'> <td>'''Intestinal Epithelium'''</td> <td> Enterokinase<br/> Disaccharidases<br/> &nbsp;&nbsp;&nbsp;Sucrase<br/> &nbsp;&nbsp;&nbsp;Maltase<br/> &nbsp;&nbsp;&nbsp;Lactase<br/> Peptidases<br/> &nbsp;&nbsp;&nbsp;Endopeptidases<br/> &nbsp;&nbsp;&nbsp;Exopeptidases<br/> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Aminopeptidase<br/> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Carboxypeptidase<br/> </td> <td> Activates Trypsin<br/> Disaccharides<br/> &nbsp;&nbsp;&nbsp;Sucrose<br/> &nbsp;&nbsp;&nbsp;Maltose<br/> &nbsp;&nbsp;&nbsp;Lactose<br/> Peptides<br/> &nbsp;&nbsp;&nbsp;Interior peptide bonds<br/> &nbsp;&nbsp;&nbsp;Terminal peptide bonds<br/> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Amide end of of peptide<br/> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Cobxyl end of peptide<br/> </td> </tr> </table> Note that in both the stomach and the Pancreas the protein digesting enzymes are secreted in non-active forms - pepsinogen in the stomach and Tripsinogen and Chymotripsinogen in the pancreas. This is to prevent autodigestion. They are then activated in the lumen, in the case of Tripsinogen and Chymotripsinogen these are activated by the small intestine enzyme '''enterokinase'''. ===Digestive Hormones of the Gastrointestinal tract=== Numerous hormones are secreted by the Gastrointestinal system. Here is a summary of the most important hormones secreted by the gut. <table cell padding='5' border='1' rules='rows'> <tr valign='top'><th>Hormone</th><th>Secreted by:</th><th>Target(s)</th><th>Releasing stimuli</th><th>Actions</th></tr> <tr valign='top'><td><b>Gastrin</b></td><td>G cells of Stomach</td><td>Histamine secreting and parietal cells of stomach</td><td>Peptides in lumen</td><td>Increases acid secretion in stomach and gastric motility</td></tr> <tr valign='top'><td><b>Cholecystokinin (CCK)</b></td><td>Endocrine cells of small intestine</td><td>gall bladder; pancreas; gastric muscle</td><td>partially digested proteins and fatty acids in duodenum</td><td>gallbladder contraction; inhibits gastric emptying; stimulates secretion of Pancreatic Enzymes</td></tr> <tr valign='top'><td><b>Secretin</b></td><td>Endocrine cells of small intestine</td><td>Pancreas; stomach</td><td>Acid and partially digested proteins and fatty acids in duodenum and small intestine</td><td>Stimulates bicarbonate secretion and pepsin release; inhibits gastric acid secretion, bile ejection</td></tr> <tr valign='top'><td><b>Motilin</b></td><td>Endocrine cells of upper small intestine</td><td>Smooth muscle of Antrum and duodenum</td><td>Fasting</td><td>Stimulates gastric contractions (hunger pangs)</td></tr> </table> Secretin is of particular historical interest as it was the first hormone discovered in 1902 ===Mucus Secreting Cells=== Mucous is a viscous secretion used for protection and lubrication. It consists mainly of '''Glycoproteins'''. It is made by '''mucous cells''' in the stomach and '''Goblet cells''' in the small intestine. Up to 25% of the intestinal epithelial cells are goblet cells.In the mouth about 70% of the mucous is secreted by the minor salivary glands. Mucous has the following properties: *Adherent properties, it sticks well to surfaces *Enough body to prevent contact of most food particles with tissue *Lubricates well - has a low resistance to slippage *Strongly resistant to digestive enzymes *Neutralizing properties. As well as a buffer like effect, mucous can also contain large quantities of bicarbonate. [[File:Barrett's mucosa, Alcian blue stain.jpg|thumb|Blue staining Goblet cells]] Control of secretion is by a variety of neuropeptides in the enteric nervous system; parasympathetic innervation; and cytokines from the immune system. [[File:Gray1060.png|250px]] Transverse section of Villus showing goblet cells ===Electrolytes and Fluids=== A large portion of the 7 liters is composed of water and ions. The ionic composition varies from region to region. *The '''acini''' of the salivary glands secrete a sodium and chloride rich secretion, this is then turned to a potassium, bicarbonate rich secretion as it travels down the lumen and ducts of the glands *The '''Oxyntic cells''' of the stomach secret Hydrochloric acid *The '''mucous cells''' of the stomach secrete a mucous rich in bicarbonates *The '''pancreatic ducts and ductules''' secrete a solution rich in bicarbonate *the '''Crypts of Liberkuhn''' of the small intestine secrete a solution almost indistinguishable from interstitial fluid. <!--====Sodium, Potassium & Chloride==== [[File:secretion_NaCl.png]] [[File:secretion_KCl_reg.png]] ====Hydrogen ions and Bicarbonate==== [[File:secretion_hydrogen.png]] [[File:Secretion_bicarbonate.png]] --> ===Mouth=== The Salivary glands consist of the '''parotid''', '''submandibular''', and '''sublingual''' glands as well as numerous smaller '''buccal''' glands secreting both ''serous'' and ''mucoid'' secretions. The parotid secretions are mainly serous, the buccal glands mucus, and the sublingual and submandibular are a mixture of the two. The acini secrete proteins and a fluid similar in consistency to interstitial fluid, and the ducts exchange the sodium for potassium and Bicarbonate for chlorine leaving saliva that is rich in Potassium and bicarbonate ions. The glands secrete between 800-1500 mls a day [[File:Gray1024.png|thumb|Salivary Glands, From Grays Anatomy]] <div style='margin:10px;padding:10px; border:1px black solid;width:300px'>[[File:Salivary1.png]]</div> The sodium ions are actively reabsorbed, and the potassium ions are actively secreted at the luminal side of the cell with an excess of sodium reabsorbtion causing a -70mV gradient. This causes passive reabsorbtion of chlorine ions. Bicarbonate ions are both passively exchanged , and actively secreted in exchange for chlorine. This is illustrated in the diagram below. [[File:Saliva secretion duct.png]] The saliva contains the enzyme Ptyalin, an amylase for breaking down carbohydrates as well as a lipase. ====Anti-bacterial action of Saliva==== The mouth contains numerous bacteria, and an important function of saliva is oral hygine. The saliva contains thiocyanate, a potent antibacterial. The lipase in the saliva will also breakdown bacteria cell walls and facilitates the passage of thiocyanate into the bacteria. The lipase in fact is not very important for the digestion of food, most fat digestion occours with the pancreatic enzymes, but is important in its anti-bacterial and oral hygiene role. ====Regulation of Salivary Secretion==== Salivation is controlled via the parasympathetic system from the salivary nuclei in the brain stem. Factors that induce salivation include: *Taste stimuli, especially sour taste *Higher centers especially appetite anticipation, smells and visual clues *In response to signals from the stomach and upper GI tract, particularly irritating stimuli. Salivation can also occour as a prelude to vomiting. ====Clinical Note - Sjögren's syndrome==== [[File:Sjogren's syndrome (2).jpg|thumb|Histopathologic image of focal lymphoid infiltration in the minor salivary gland associated with Sjögren syndrome. Lip biopsy. H & E stain]] Sjögren's syndrome is an auto immune disorder where immune cells attack the salivary and tear glands. This can play havoc with oral hygiene and lead to rampant caries. [[http://en.wikipedia.org/wiki/Sjogrens See Wikipedia Sjogrens Syndrome]] [http://www.courseweb.uottawa.ca/medicine-histology/English/Gastrointestinal/Salivary04.htm Link to Histology Slide at University of Ottawa] <br clear='all' /> ===Esophagus=== Esophageal secretions are entirely mucous in character, and assist passage of food as well as protecting the lower end of the esophagus from gastric reflux. ===Stomach=== The adult stomach secretes about 1500 cc in a normal day consisting of '''hydrochloric acid''', '''bicarbonate rich mucous''', and the digestive hormone precursor '''pepsinogen'''. Pepsinogen is activated to its active form '''pepsin''' by the acidity of the stomach. G cells also secrete the hormone '''gastrin'''. The gastric pits of the stomach open on to branching glands: '''pyloric glands''' in the antral part of the stomach; '''gastric''' or '''oxyntic''' (acid forming) glands in the fundus and body of the stomach. A schematic diagram of an oxcyntic gland is shown here (see also anatomy). [[File:Gastric gland.png|250px]] The parietal or oxcyntic cells secrete hydrochloric acid; the peptic or chief cells secrete pepsinogen; the mucous cells secrete a bicarbonate rich mucous; and the G cells (found only in the antral glands) secrete the hormone Gastrin. ====Hydrochloric Acid secretion==== The oxcyntic or parietal cell contains a large number of of intracellular '''canaliculi''' shown schematically here: [[File:Cell parietal.png]] The pH of the secreted acid is about 0.8, and has a hydrogen ion concentration of about 3 million times that of arterial blood. To achieve this level of concentration requires a lot of energy, about 1500 calories per liter of secretion. The mechanism of hydrogen ion formation is illustrated schematically here. [[File:secretion_hydrogen.png]] *Carbon dioxide and water enter the cell and combine to form carbonic acid under the influence of the enzyme ''carbonic anhydrase''. *Bicarbonate is actively excreted at the basal side of the cell and is exchanged for chlorine. *Potassium is exchanged for hydrogen ions at the apical side of the cell *Chlorine ions (not shown in diag.) are also actively secreted. ====Clinical Note: Intrinsic factor and Pernicious anaemia==== The oxcyntic or parietal cells also secrete '''intrinsic factor''', a substance essential for the absorption of '''Vitamin B12''' in the small intestine. In ''chronic gastritis'', this may not be secreted, and the medical condition ''pernicious anaemia'' will develop. ====Bicarbonate Rich Mucous Secretion==== Mucous secretion rich in alkaline bicarbonate protects the stomach from the Hydrochloric acid of the gastric juice. [[File:Stomach mucous.png]] Bicarbonate ions are generated by the mechanism illustrated below: [[File:Secretion_bicarbonate.png]] *Carbon dioxide and water enter the cell and combine to form carbonic acid under the influence of the enzyme ''carbonic anhydrase''. *Hydrogen ions are actively secreted on the basal side of the cell in exchange for sodium. *Bicabonate ions are actively secreted on the apical or lumen side of the cell in exchange for chlorine ====Secretion and Activation of Pepsinogen==== Pepsinogen is secreted by the '''peptic''' or '''chief''' cells of the gland. When first secreted pepsinogen is inactive, but contact with acid converts it to the active form '''pepsin''' by splitting the pepsinogen molecule. Pepsin functions best at a pH between 1.8 and 3.5 ====Stimulation of Gastric Acid secretion.==== The Oxcyntic cells function in close association with histamine producing cells called '''enterochromaffin-like cells''' (ECL) which secrete '''histamin'''. These cells release histamin in direct contact with the oxcyntic glands and promote the secretion of HCl. The activation of this complex is under hormonal (Gastrin) and nervous control. *'''Gastrin''', secreted by the '''G cells''' in the antrum of the stomach in response to the presence of protein is the most potent stimulator of the Histamine/Acid complex. The gastrin is not only carried by the blood stream, but is also carried directly into the lumens of the gastric pits an has a direct stimulating action. *The Histamin/HCl complex is also activated by '''acetylcholine''' released by the vagus nerve *Other substances also control Acid secretion, mainly through their action on Gastrin production. ====Inhibition of Gastric Acid secretion.==== Factors which slow stomach emptying, which was discussed when considering ''motility'' will also reduce gastin production and hence Acid secretion. ====Regulation of Pepsinogen Secretion==== Pepsinogen secretion occours in response to two signals: *Acetylcholine release from the vagus nerve *stimulation of peptic cell secretion in response to acid in the stomach, probably not directly but through the enteric nervous system ===Small Intestine=== The upper small intestine secretes the hormones '''Cholecystokinase''' and '''secretin''', mucous, Intestinal digestive juices, and possibly enzymes. The Digestive enzymes are secreted by the small intestine at a rate of about 1800 ccs a day. The pH of the small intestine secretions averages 7.5 to 8.0. ====Hormone Secretion==== '''Cholecystokinin (CCK)'''is secreted in response to fats and peptides in the upper small intestines, particularly the duodenum. Actions of CCK include: *Secretion of Pancreatic Enzymes *Contraction of Gallbladder *Relaxation of the sphincter of Oddi *increased tension in the pyloric sphincter, inhibiting stomach emptying '''Secretin''' is released in response to the presence of Acid in the duodenum. Actions of Secretin include: *Secretion of Copious amounts of bicarbonate rich fluid by the biliary and gall bladder ducts *Secretion of alkaline rich mucous by Brunners glands *increased tension in the pyloric sphincter, inhibiting stomach emptying ====Brunner's Glands==== The first few centimeters of the Duodenum, between the pylorus of the stomach and the Ampulla of Vater, contain numerous compound mucous glands called '''Brunner's Glands'''. These secrete an Alkaline rich mucous - pH between 8.0 & 8.9 - in response to various stimuli: *Local irritation and the presence of Acid *Vagal Stimulation *Gastrointestinal hormones, particularly '''secretin'''. The mechanism for secreting the alkaline rich mucous is similar to that already discussed for the stomach. ====Clinical Note - Peptic Ulcers==== Gastric and duodenal ulcers are due mainly to the breakdown of the protective barrier of alkaline mucous. The following factors have been identified as causes: *Non Steroidal Anti-inflamatory Drugs ('''NSAIDs'''). *The '''bacteria''' ''Heliobacter Pylori''. *Excess acid secretion which can over whelm the defences. This can occour particularly in ''Zollinger-Ellison syndrome'', caused by benign '''gastrin''' secreting tumors which may develop in the stomach or duodenum. It is of interest that Brunner Cell secretion is ''inhibited'' by sympathetic stimulation, thus this may be a connection between the 'hyper' personality and their disposition to duodenal ulcers. Less mucous may be secreted making the duodenum more vulnerable to stomach acid and stomach pepsin. ====Crypts of Lieberkuhn==== These are located over the entire surface of the small intestine adjacent to the villi. They secrete a copious solution almost identical to interstitial fluid. The mechanism for secretion is not well understood but one hypothesis is illustrated here which differs only slightly from the hypothesis described earlier: <div style='margin:20px;'>[[File:secretion_NaCl.png]]</div> Sodium and chlorine ions are pumped into the cell; water follows by osmosis; the chlorine ions are actively pumped into the lumen; water and sodium follows from the cell itself or possibly passes through 'leaky' tight junctions. ====Mucous Cells==== The villi are covered with goblet cells. About a quarter to a half of the villi cells are mucous producing. ====Enzyme Secretion==== Small intestine secretions that are free of cellular debris contains almost no enzymes! Thus the enzymes are either secluded within the cell, or possibly they are attached to the brush border. In any case they are not flushed down the lumen, and they remain local. ====Regulation of Small Intestine Secretions==== Secretions are produced almost entirely from local enteric nervous reflexes in response to local stimuli. ===Pancreas=== [[File:gray1100.png|thumb|Anatomiical relations of pancreas]] [[File:Langerhanssche Insel.jpg|thumb|Islet of Langerhans surrounded by Acini]] [[File:Gray1105.png|thumb|showing relationship of Islet of Langerhans and exocrine gland]] The pancreas is a large endocrine and exocrine gland situated retroperitonealy beneath the stomach. The endocrine portion of the gland secretes ''Insulin'' and ''glucagon'' from the Islets of Langerhans (see thumbnail of histology). This function of the pancreas will be looked at elsewhere. The microscopic structure of the pancras is similar to the salivary glands, the acini secrete enzymes, and the ductules and ducts secrete large quantities of a bicarbonate rich juice. These travel down the pancreatic duct to the second part of the duodenum where it exits via the '''Ampulla of Vater''', protected by the '''Sphincter of Oddi'''. <div style='border:1px solid black;margin:10px;padding:10px;width:300px'>[[File:Pancreas secretions2.png]]</div> Enzymes secreted by the acini include proteolytic enzymes, amylases and lipases. The proteolytic enzymes are all secreted in an inactive form to prevent auto-digestion(see below). ====Pancreatic Digestive Enzymes==== The following table summarizes the digestive enzymes secreted by the pancreas: <table cellpadding='5'> <tr valign='top'> <tr><th>Group</th><th>Enzymes</th><th>Substrates</th></tr> <tr valign='top'> <td><b>Carbohydrates and Starch</b></td> <td>Amylase</td> <td> Starch</td> </tr> <tr valign='top'> <td><b>Fats</b></td> <td>Lipase &amp; Colipase<br/> Phospholipase<br/> cholesterol esterase </td> <td>Triglycerides<br/> Phospholipids<br/> Hydrolysis of Cholesterol esters </td> </tr> <tr valign='top'> <td><b>Proteins and Peptides</b></td> <td>Trypsin (Tripsinogen)<br/> Chymotripsin (Chymotripsinogen) Carboxypolypeptidase<br/> </td> <td> Peptides<br/> Peptides<br/> Peptides </td> </tr> </table> *'''Amylase''' breaks down carbohydrates (except cellulose) to di-saccharides and some tri-saccharides. *'''Proteolytic enzymes''' are secreted in the in active form to prevent auto digestion, they are converted to the active form in the small intestine. '''Trypsin''' is activated by '''enterokinase''', secreted by the intestinal mucosa; *Tripsin then activates Chymotripsinogen *'''Lipase''' converts fats to fatty acids and monoglycerides *'''Phospholipase''' splits fatty acids from phospholipids *'''Cholesterol esterase''' hydrolises cholesterol esters ====Inhibition and Activation of Enzymes==== The cells that secrete proteolytic enzymes also secrete another substance called '''tripsin inhibitor'''. This prevents any tripsin that may form in the cells or ducts from becoming active, or activating the other enzymes. If however the pancreas becomes damaged or the pancreatic ducts become blocked then the action of tripsin inhibitor can be over whelmed, and the very serious condition '''acute pancreatitis''' can develop. This can also occur if there is regurgitation of intestinal contents through the Ampulla of Vater. [http://en.wikipedia.org/wiki/Acute_pancreatitis Wiki Article on Acute Pancreatitis] ====Secretion of Bicarbonate ions==== Copious quantities of Bicarbonate ion rich solutions are secreted by the ducts and ductules of the pancreas in response to the hormone '''Secretin'''. The mechanisms are similar to that of the mucous cells of the stomach, except that large quantities of fluid are also produced. <div style='margin:10px;padding:10px;'>[[File:Secretion_bicarbonate.png]]</div> *Carbon dioxide and water enter the cell and combine to form carbonic acid under the influence of the enzyme ''carbonic anhydrase''. *Hydrogen ions are actively secreted on the basal side of the cell in exchange for sodium. *Bicabonate ions are actively secreted on the apical or lumen side of the cell in exchange for chlorine *Sodium and Water ions follow either passively through 'leaky' tight junctions, or through cell by the mechanism described above in 'Water & Electrolyte secretions'. ====Phases of Digestion==== Like Gastic secretions, Pancreatic secretions can be divided into three phases: *Cephalic *Gastric *Intestinal The '''Cephalic phase''' occurs when we think about or anticipate food. It is mediated by the vagus nerve. It causes secretion of about 20% of the enzymes, but as this secretion is not accompanied by fluid secretions, the enzymes are not flushed out and tend to remain in the ducts. The '''gastric phase''' occurs when food enters the stomach, and again is mediated by neural stimuli. This accounts for another 5-10%, and again in the absence of serous flow these secretions tend to remain in the ducts. The '''Intestinal phase''' occurs when food enters the small intestine and both serous pancreatic secretion becomes copious due to the hormone ''secretin''. ====Regulation of pancreatic Secretion==== Three basic stimuli control pancreatic secretion *'''Acetylcholine''' from the parasympathetic nerves of the vagus and the cholinergic nerves of the enteric nervous system. *'''Cholecystokinin''' secreted in the duodenum and the uopper small intestine *'''Secretin''', also secreted in the duodenum and upper jejunum. The following diagram summarizes the factors controlling pancreatic secretions. [[File:Pancreas secretion.png]] Acetylcholin and Cholecystokinin cause secretion of digestive enzymes, but these tend to remain in the gland, as there are no secretions to flow them out. Secretin causes copious secretions of sodium bicarbonate rich fluids which wash the enzymes into the small intestine, and also neutralize the Hydrochloric acid from the stomach. 2HCl + Na<sub>2</sub>CO<sub>3</sub> --> 2NaCl + H<sub>2</sub>CO<sub>3</sub> --> H<sub>2</sub>O + CO<sub>2</sub> The carbonic acid (a weak acid) immediately dissociates into Carbon Dioxide and water The Carbon dioxide is absorbed into the blood stream. Pancreatic enzymes work best between a pH of 7-8. Sodium Bicarbonate has a pH of about 8. <br clear='all' /> ===Biliary System=== [[File:Pancrease biliary1.png|thumb|Basic anatomy of the biliary system]] About 1500 mLs of bile are secreted every day. The bile is secreted continuously by the hepatocytes of the liver, and if not immediately required for digestion are stored in the gall bladder. Here they are concentrated up to 15 times. Initially bile fluid has about the same electrolyte concentration of interstitial fluid, but during concentration large quantities of electrolytes (but not Ca ions) are reabsorbed. In the presence of fats in the duodenum, cholesystokinin is secreted which causes strong contractions of the gall bladder and relaxation of the Sphincter of Oddi, propelling the bile into the small intestine. Vagal stimulation can have a similar but secondary effect. Bile contains Bile salts, an emulsifying agent neccessary for the digestion and absorption of fats; as well as bilirubin, cholesterol and fatty acids <table cellpadding='2' style='margin:20px'> <caption><b>Composition of Human Hepatic Duct Bile</b></caption> <tr> <td>Water</td> <td>97%</td> </tr> <tr> <td>Bile Salts</td> <td>0.7%</td> </tr> <tr> <td>Bile Pigments</td> <td>0.2%</td> </tr> <tr> <td>Cholesterol</td> <td>0.07%</td> </tr> <tr> <td>Inorganic Salts</td> <td>0.7%</td> </tr> <tr> <td>Fatty Acids</td> <td>0.15%</td> </tr> <tr> <td>Fat</td> <td>0.1%</td> </tr> <tr> <td>Lecithin</td> <td>0.1%</td> </tr> </table> ====Manufacture of Bile and Structure of Hepatic Lobule ==== The illustration below shows a schematic diagram of a liver lobule. Blood is conveyed to the lobules by branches of the '''hepatic portal vein''' and the '''hepatic artery'''. It then flows through sinuses, bathing the '''hepatocytes''', to the '''central vein''' of the lobule, a branch of the Hepatic vein which drains into the '''Inferior Vena Cava'''. The hepatocytes secrete bile into bile canuliculi running between the hepatocytes, and these drain into branches of the bile duct. <div style='margin:20px;'>[[File:Hepatic structure.png]]</div> Bile is continuously secreted by the hepatocytes. The fluid part of the secretion, a watery substance rich in sodium and bicarbonate is added by the ducts of the biliary system, and this secretion is stimulated by '''Secretin'''. [http://www.courseweb.uottawa.ca/medicine-histology/English/Gastrointestinal/Liver02.htm Histology slide from the University of Ottawa] ====Recycling of Bile Salts==== Bile salts are recycled by the GI System. About 95% of bile salts are are reabsorbed from the terminal ilium and returned to the liver via the portal system. In addition, some salts are produce by bacterial action in the Large intestine, and these too are returned to the liver. [[File:Bile recycling.png|350px]] About 0.2 gm per day of bile salts are manufactured by the Liver, and the total pool of salts is about 3.5gm, so recycling is very important. recycling occurs 6-8 times per day or about twice per meal. If the terminal ilium is resected, or affected by disease such as Crohn's, fat digestion is seriously compromised, and mal-absorption of fat soluble vitamins can occur. ====Regulation of Bile Secretion==== The following Diagram summarizes the regulation of Bile secretion: [[File:Gallbladder1.png|350px]] <br clear='all' /> ===Large Intestine=== The chief function of the large intestine is absorption of fluids and the formation of faeces. About 1-2 liters of fluid enter the large intestine, and these are mainly absorbed, only about 200 cc being egested each day. The large intestine secretes about 200 cc of fluid a day, mainly in the form of mucous. ====Diarrhea==== The large intestine can produce large quantities of water and electrolytes in response to irritation, such as occurs in infections. This can lead to dehydration, but also has the beneficial effect of flushing out the irritants. {{BookCat}} bcdfs8mfnoi0hw3lmhto8av54ajt069 The Linux Kernel/System 0 226981 4654524 4641710 2026-07-15T07:54:24Z Conan 3188 sysctl 4654524 wikitext text/x-wiki <noinclude>{{DISPLAYTITLE:System functionality}}</noinclude> {| style="float: right; text-align: center; border-spacing: 0; margin: auto;" cellpadding="5pc" ! bgcolor="#edf" |system |- | bgcolor="#cdf" |[[#System interfaces|system interfaces]] |- | bgcolor=#abe |[[#Virtualization|virtualization]] |- | bgcolor="#aad" |[[#Driver Model|Driver Model]] |- style="" | bgcolor="#99c" |[[../Modules|modules]] |- | bgcolor="#88a" |[[#Peripheral buses|buses]], [[The Linux Kernel/PCI|PCI]] |- | bgcolor="#889" |[[#Hardware interfaces|hardware interfaces]], [[#Booting and halting|[re]booting]] |} The System functionality is named after system calls and sysfs. It differs from other kernel functionalities. Its subsystems are not tightly coupled across layers but instead provide infrastructure to other parts of the kernel. For example, the System Calls subsystem offers a common interface layer for all functionalities exposed to user space. == System interfaces == There are several mechanisms available in Linux for user space system interfaces. One of the most common mechanisms is through {{w|system call}}s, which are functions that allow user space applications to request services from the kernel, such as opening files, creating processes, and accessing system resources. Another mechanism for user space communication is through {{w|device file}}s, which are special files that represent physical or virtual devices, such as storage devices, network interfaces, and various peripheral devices. User space applications can communicate with these devices by reading from and writing to their corresponding device files. In summary, Linux kernel provides several mechanisms for user space communication, including system calls, device files, {{w|procfs}}, {{w|sysfs}}, and devtmpfs. These mechanisms enable user space applications to communicate with the kernel and access system resources in a safe and controlled manner. ⚲ APIs: : kernel space API for user space :: {{The Linux Kernel/include|uapi}} :: {{The Linux Kernel/source|arch/x86/include/uapi}} &ndash; x86 user-space API headers :: {{The Linux Kernel/man|2|ioctl}} :: [[#System calls|System calls]] :: [[#Device files|Device files]] : user space API for kernel space :: {{The Linux Kernel/include|linux/uaccess.h}}: :: {{The Linux Kernel/id|copy_to_user}} :: {{The Linux Kernel/id|copy_from_user}} 📖 References : {{The Linux Kernel/doc|User-space API guides|userspace-api}} : {{w|User space}} : {{w|Linux kernel interfaces}} : [http://safari.oreilly.com/0596005652/understandlk-CHP-11 ULK3 Chapter 11. Signals] ===System calls=== System calls are the fundamental interface between user space applications and the Linux kernel. They provide a way for programs to request services from the operating system, such as opening a file, allocating memory, or creating a new process. In the Linux kernel, system calls are implemented as functions that can be invoked by user space programs using a software interrupt mechanism. The Linux kernel provides hundreds of system calls, each with its own unique functionality. These system calls are organized into categories such as process management, file management, network communication, and memory management. User space applications can use these system calls to interact with the kernel and access the underlying system resources. ⚲ API : [[../Syscalls|Table of syscalls]] : {{The Linux Kernel/man|2|syscalls}} ⚙️ Internals : {{The Linux Kernel/include|linux/syscalls.h}} : {{The Linux Kernel/source|kernel/entry}} &ndash; common syscall entry/exit and exception handling : {{The Linux Kernel/id|syscall_init}} installs {{The Linux Kernel/id|entry_SYSCALL_64}} : {{The Linux Kernel/man|2|syscall}} ↪ :: {{The Linux Kernel/id|entry_SYSCALL_64}} ↯ call hierarchy: ::: {{The Linux Kernel/id|do_syscall_64}} :::: {{The Linux Kernel/id|sys_call_table}} 📖 References : {{w|System call}} : [http://man7.org/linux/man-pages/dir_section_2.html Directory of system calls, man section 2] : Anatomy of a system call, [https://lwn.net/Articles/604287/ part 1] and [https://lwn.net/Articles/604515/ part 2] : {{The Linux Kernel/ltp|kernel|syscalls}} 💾 ''Historical'' : [http://safari.oreilly.com/0596005652/understandlk-CHP-10 ULK3 Chapter 10. System Calls] === Device files === Classic UNIX devices are [[../Human_interfaces#Char_devices|Char devices]] used as byte streams with {{The Linux Kernel/man|2|ioctl}}. ⚲ API ls /dev cat /proc/devices cat /proc/misc Examples: {{The Linux Kernel/id|misc_fops}} {{The Linux Kernel/id|usb_fops}} {{The Linux Kernel/id|memory_fops}} : {{The Linux Kernel/doc|Allocated devices|admin-guide/devices.html}} : {{The Linux Kernel/source|drivers/char}} &ndash; miscellaneous byte stream devices : [https://www.oreilly.com/library/view/understanding-the-linux/0596005652/ch13.html Chapter 13. I/O Architecture and Device Drivers] ==== hiddev ==== ⚠️ Warning: confusion. hiddev isn't real [[../Human_interfaces#HID|human interface device]]! It reuses USBHID infrastructure. hiddev is used for example for monitor controls and Uninterruptible Power Supplies. This module supports these devices separately using a separate event interface on /dev/usb/hiddevX (char 180:96 to 180:111) (⚙️ {{The Linux Kernel/id|HIDDEV_MINOR_BASE}}) ⚲ API : {{The Linux Kernel/include|uapi/linux/hiddev.h}} : {{The Linux Kernel/id|HID_CONNECT_HIDDEV}} ⚙️ Internals : [https://elixir.bootlin.com/linux/latest/K/ident/CONFIG_USB_HIDDEV CONFIG_USB_HIDDEV] : {{The Linux Kernel/include|linux/hiddev.h}} : {{The Linux Kernel/id|hiddev_event}} : {{The Linux Kernel/source|drivers/hid/usbhid/hiddev.c}}, {{The Linux Kernel/id|hiddev_fops}} 📖 References : {{The Linux Kernel/doc|HIDDEV - Care and feeding of your Human Interface Devices|hid/hiddev.html}} 📖 References : {{w|Device file}} ===Administration=== 🔧 TODO 📖 References : {{The Linux Kernel/man|7|netlink}} : {{The Linux Kernel/doc|The Linux kernel user’s and administrator’s guide|admin-guide}} ==== procfs ==== The ''proc filesystem'' (''procfs'') is a special filesystem that presents information about processes and other system information in a hierarchical file-like structure, providing a more convenient and standardized method for dynamically accessing process data held in the kernel than traditional tracing methods or direct access to kernel memory. Typically, it is mapped to a mount point named <code>/proc</code> at boot time. The proc file system acts as an interface to internal data structures in the kernel. It can be used to obtain information about the system and to change certain kernel parameters at runtime. <code>/proc</code> includes a directory for each running process &mdash;including kernel threads&mdash; in directories named <code>/proc/PID</code>, where <code>PID</code> is the process number. Each directory contains information about one process, including the command that originally started the process (<code>/proc/PID/cmdline</code>), the names and values of its environment variables (<code>/proc/PID/environ</code>), a symlink to its working directory (<code>/proc/PID/cwd</code>), another symlink to the original executable file &mdash;if it still exists&mdash; (<code>/proc/PID/exe</code>), a couple of directories with symlinks to each open file descriptor (<code>/proc/PID/fd</code>) and the status &mdash;position, flags, ...&mdash; of each of them (<code>/proc/PID/fdinfo</code>), information about mapped files and blocks like heap and stack (<code>/proc/PID/maps</code>), a binary image representing the process's virtual memory (<code>/proc/PID/mem</code>), a symlink to the root path as seen by the process (<code>/proc/PID/root</code>), a directory containing hard links to any child process or thread (<code>/proc/PID/task</code>), basic information about a process including its run state and memory usage (<code>/proc/PID/status</code>) and much more. 📖 References : {{w|procfs}} : {{The Linux Kernel/man|5|procfs}} : {{The Linux Kernel/man|7|namespaces}} : {{The Linux Kernel/man|7|capabilities}} : {{The Linux Kernel/include|linux/proc_fs.h}} : {{The Linux Kernel/include|linux/seq_file.h}} &ndash; sequential file interface for /proc entries : {{The Linux Kernel/source|fs/proc}} &ndash; procfs implementation :: [https://sysprog21.github.io/lkmpg/#the-proc-filesystem LKMPG: The /proc Filesystem] :: {{The Linux Kernel/include|linux/sysctl.h}} &ndash; /proc/sys runtime kernel tuning: ::: /etc/sysctl.conf, /etc/sysctl.d/, /lib/sysctl.d/ &ndash; persistent sysctl configuration loaded at boot by {{The Linux Kernel/man|8|sysctl}} :: {{The Linux Kernel/source|fs/proc/proc_sysctl.c}} &ndash; filesystem interface :: {{The Linux Kernel/source|kernel/sysctl.c}} &ndash; read/write handlers (proc_dointvec, proc_dostring, ...) ==== sysfs ==== sysfs is a pseudo-file system that exports information about various kernel subsystems, hardware devices, and associated device drivers from the kernel's device model to user space through virtual files. In addition to providing information about various devices and kernel subsystems, exported virtual files are also used for their configuring. Sysfs is designed to export the information present in the device tree, which would then no longer clutter up procfs. Sysfs is mounted under the <code>/sys</code> mount point. ⚲ API : {{The Linux Kernel/include|linux/sysfs.h}} 📖 References : {{w|sysfs}} : {{The Linux Kernel/man|5|sysfs}} : {{The Linux Kernel/doc|sysfs - filesystem for exporting kernel objects|filesystems/sysfs.html}} :: [https://sysprog21.github.io/lkmpg/#sysfs-interacting-with-your-module LKMPG: sysfs] : {{The Linux Kernel/source|fs/sysfs}} &ndash; sysfs implementation : {{The Linux Kernel/source|fs/kernfs}} &ndash; kernfs, the backing filesystem for sysfs and cgroups ==== devtmpfs ==== devtmpfs is a hybrid {{w|User space and kernel space|kernel/user space}} approach of a device filesystem to provide nodes before udev runs for the first time. 📖 References : {{w|Device file}} : {{The Linux Kernel/source|drivers/base/devtmpfs.c}} &ndash; kernel-maintained tmpfs /dev ==== configfs ==== {{The Linux Kernel/doc|configfs|filesystems/configfs.html}} is a userspace-driven kernel object configuration filesystem mounted at /sys/kernel/config/. Unlike sysfs (which exposes kernel-created objects), configfs lets userspace create and configure kernel objects via mkdir/rmdir. Used by USB gadget, NVMe target, ACPI, null_blk, GPIO simulator and other subsystems. ⚲ API: : {{The Linux Kernel/include|linux/configfs.h}} :: {{The Linux Kernel/id|config_item}} &ndash; base object, created by userspace mkdir :: {{The Linux Kernel/id|config_group}} &ndash; container for config_items :: {{The Linux Kernel/id|configfs_attribute}} &ndash; per-item readable/writable attribute :: {{The Linux Kernel/id|configfs_subsystem}} &ndash; top-level subsystem registration :: {{The Linux Kernel/id|configfs_register_subsystem}} ⚙️ Internals: : {{The Linux Kernel/source|fs/configfs}} == Virtualization == 🔧 TODO See {{w|Kernel-based Virtual Machine}} 📖 References : {{The Linux Kernel/doc|Virtualization Support|virt/}} 📚 Further reading : https://deepwiki.com/torvalds/linux/3-virtualization === Containerization === {{w|OS-level virtualization|Containerization}} is a powerful technology that has revolutionized the way software applications are developed, deployed, and run. At its core, containerization provides an isolated environment for running applications, where the application has all the necessary dependencies and can be easily moved from one environment to another without worrying about any compatibility issues. Containerization technology has its roots in the {{w|chroot}} command, which was introduced in the Unix operating system in the 1979. Chroot provided a way to change the root directory of a process, effectively creating a new isolated environment with its own file system hierarchy. However, this early implementation of containerization had limited functionality, and it was difficult to manage and control the various processes running within the container. In the early 2000s, the Linux kernel introduced {{w|Linux namespaces|namespaces}} and {{w|cgroups|control groups}} to provide a more robust and scalable containerization solution. '''Namespaces''' allow processes to have their own isolated view of the system, including the file system, network, and process ID space, while '''control groups''' provide fine-grained control over the resources allocated to each container, such as CPU, memory, and I/O. Using these kernel features, containerization platforms such as {{w|Docker (software)|Docker}} and {{w|Kubernetes}} have emerged as popular solutions for building and deploying containerized applications at scale. Containerization has become an essential tool for modern software development, allowing developers to easily package applications and deploy them in a consistent and predictable manner across different environments. ==== Resources usage and limits ==== ⚲ API : {{The Linux Kernel/man|2|chroot}} &ndash; change root directory : {{The Linux Kernel/man|2|sysinfo}} &ndash; return system information : {{The Linux Kernel/man|2|getrusage}} &ndash; get resource usage : get/set resource limits: :: {{The Linux Kernel/man|2|getrlimit}} :: {{The Linux Kernel/man|2|setrlimit}} :: {{The Linux Kernel/man|2|prlimit64}} 📖 References : {{w|chroot}} ==== Namespaces ==== {{w|Linux namespaces}} provide the way to isolate and virtualize different aspects of the operating system. Namespaces allow multiple instances of an application to run in isolation from each other, without interfering with the host system or other instances. 🔧 TODO ⚲ API : /proc/self/ns : {{The Linux Kernel/man|8|lsns}}, {{The Linux Kernel/man|2|ioctl_ns}} ↪ {{The Linux Kernel/id|ns_ioctl}} : {{The Linux Kernel/man|1|unshare}}, {{The Linux Kernel/man|2|unshare}} : {{The Linux Kernel/man|1|nsenter}}, {{The Linux Kernel/man|2|setns}} : {{The Linux Kernel/man|2|clone3}} ↪ {{The Linux Kernel/id|clone_args}} : {{The Linux Kernel/include|linux/ns_common.h}} : {{The Linux Kernel/include|linux/proc_ns.h}} : namespaces definition :: {{The Linux Kernel/id|uts_namespace}} :: {{The Linux Kernel/id|ipc_namespace}} :: {{The Linux Kernel/id|mnt_namespace}} :: {{The Linux Kernel/id|pid_namespace}} :: {{The Linux Kernel/include|net/net_namespace.h}} - struct net :: {{The Linux Kernel/id|user_namespace}} :: {{The Linux Kernel/id|time_namespace}} :: {{The Linux Kernel/id|cgroup_namespace}} ⚙️ Internals : {{The Linux Kernel/id|init_nsproxy}} - struct of namespaces : {{The Linux Kernel/source|kernel/nsproxy.c}} &ndash; namespace proxy management : {{The Linux Kernel/source|fs/namespace.c}} &ndash; mount namespace : {{The Linux Kernel/source|fs/proc/namespaces.c}} &ndash; /proc namespace entries : {{The Linux Kernel/source|net/core/net_namespace.c}} &ndash; network namespace : {{The Linux Kernel/source|kernel/time/namespace.c}} &ndash; time namespace : {{The Linux Kernel/source|kernel/user_namespace.c}} &ndash; user namespace : {{The Linux Kernel/source|kernel/pid_namespace.c}} &ndash; PID namespace : {{The Linux Kernel/source|kernel/utsname.c}} &ndash; UTS namespace : {{The Linux Kernel/source|kernel/cgroup/namespace.c}} &ndash; cgroup namespace : {{The Linux Kernel/source|ipc/namespace.c}} &ndash; IPC namespace 📖 References : {{The Linux Kernel/man|7|namespaces}} : {{The Linux Kernel/man|7|uts_namespaces}} : {{The Linux Kernel/man|7|ipc_namespaces}} : {{The Linux Kernel/man|7|mount_namespace}} : {{The Linux Kernel/man|7|pid_namespaces}} : {{The Linux Kernel/man|7|network_namespaces}} : {{The Linux Kernel/man|7|user_namespaces}} : {{The Linux Kernel/man|7|time_namespaces}} : {{The Linux Kernel/man|7|cgroup_namespaces}} === Control groups === {{w|cgroups}} are used to limit and control the resource usage of groups of processes. They allow administrators to set limits on CPU usage, memory usage, disk I/O, network bandwidth, and other resources, which can be useful for managing system performance and preventing resource contention. There are two versions of cgroups. Unlike v1, cgroup v2 has only a single process hierarchy and discriminates between processes, not threads. Here are some of the key differences between cgroups v1 and v2: {| class="wikitable" |+ ! !cgroups v1 !cgroups v2 |- |Hierarchy |each subsystem had its own hierarchy, which could lead to complexity and confusion |unified hierarchy, which simplifies management and enables better resource allocation |- |Controllers |has several subsystems that are controlled by separate controllers, each with its own set of configuration files and parameters |controllers are consolidated into a single "cgroup2" controller, which provides a unified interface for managing resources |- |Resource distribution |distributes resources among groups of processes based on proportional sharing, which can lead to unpredictable results |resources are distributed based on a "weighted fair queuing" algorithm, which provides better predictability and fairness |} Cgroups v2 is not backward compatible with cgroups v1, which means that migrating from v1 to v2 can be challenging and requires careful planning. 🔧 TODO ⚲ API : {{The Linux Kernel/include|linux/cgroup.h}} : {{The Linux Kernel/include|linux/cgroup-defs.h}} :: {{The Linux Kernel/id|css_set}} &ndash; holds set of reference-counted pointers to {{The Linux Kernel/id|cgroup_subsys_state}} objects :: {{The Linux Kernel/id|cgroup_subsys}} : {{The Linux Kernel/include|linux/cgroup_subsys.h}} &ndash; list of cgroup subsystems ⚙️ Internals : {{The Linux Kernel/id|cg_list}} &ndash; list of {{The Linux Kernel/id|css_set}} in task_struct : {{The Linux Kernel/source|kernel/cgroup}} &ndash; cgroup core : {{The Linux Kernel/id|cgroup_init}} : {{The Linux Kernel/id|cgroup2_fs_type}} : {{The Linux Kernel/source|tools/testing/selftests/cgroup}} &ndash; cgroup self-tests 📖 References : [[The_Linux_Kernel/System/CGroup_v2|Control Groups v2]] : {{The Linux Kernel/doc|Control Groups v1|admin-guide/cgroup-v1/}} : {{The Linux Kernel/man|1|systemd-cgtop}} : {{The Linux Kernel/man|5|systemd.slice}} &ndash; slice unit configuration : {{The Linux Kernel/man|7|cgroups}} : {{The Linux Kernel/man|7|cgroup_namespaces}} : {{The Linux Kernel/doc|CFS Bandwidth Control for cgroups|scheduler/sched-bwc.html}} : {{The Linux Kernel/doc|Real-Time group scheduling|scheduler/sched-rt-group.html}} : [https://docs.redhat.com/en/documentation/red_hat_enterprise_linux/latest/html/managing_monitoring_and_updating_the_kernel/setting-limits-for-applications_managing-monitoring-and-updating-the-kernel Understanding control groups, RHEL] 📚 Further reading : https://github.com/containers : [https://github.com/mk-fg/fgtk#cgrc cgrc tool] 💾 Historical : https://github.com/mk-fg/cgroup-tools for cgroup v1 == Driver Model == The Linux driver model (or Device Model, or just DM) is a framework that provides a consistent and standardized way for device drivers to interface with the kernel. It defines a set of rules, interfaces, and data structures that enable device drivers to communicate with the kernel and perform various operations, such as managing resources, lifecycle and more. DM core structure consists of DM classes, DM buses, DM drivers and DM devices. === kobject === In the Linux kernel, a {{The Linux Kernel/id|kobject}} is a fundamental data structure used to represent kernel objects and provide a standardized interface for interacting with them. A kobject is a generic object that can represent any type of kernel object, including devices, files, modules, and more. The kobject data structure contains several fields that describe the object, such as its name, type, parent, and operations. Each kobject has a unique name within its parent object, and the parent-child relationships form a hierarchy of kobjects. Kobjects are managed by the kernel's sysfs file system, which provides a virtual file system that exposes kernel objects as files and directories in the user space. Each kobject is associated with a sysfs directory, which contains files and attributes that can be read or written to interact with the kernel object. ⚲ Infrastructure API : {{The Linux Kernel/include|linux/kobject.h}} : {{The Linux Kernel/id|kobject}} : {{The Linux Kernel/doc|Kernel objects manipulation|driver-api/basics.html#kernel-objects-manipulation}} : 🔧 TODO === Classes === A class is a higher-level view of a device that abstracts out low-level implementation details. Drivers may see a NVME storage or a SATA storage, but, at the class level, they are all simply {{The Linux Kernel/id|block_class}} devices. Classes allow user space to work with devices based on what they do, rather than how they are connected or how they work. General DM classes structure match {{w|composite pattern}}. ⚲ API : ls /sys/class/ : {{The Linux Kernel/id|class_register}} registers {{The Linux Kernel/id|class}} : {{The Linux Kernel/include|linux/device/class.h}} 👁 Examples: {{The Linux Kernel/id|input_class}}, {{The Linux Kernel/id|block_class}} {{The Linux Kernel/id|net_class}} === Buses === A {{w|peripheral bus}} is a channel between the processor and one or more peripheral devices. A DM bus is {{w|Proxy pattern|proxy}} for a peripheral bus. General DM buses structure match {{w|composite pattern}}. For the purposes of the device model, all devices are connected via a bus, even if it is an internal, virtual, {{The Linux Kernel/id|platform_bus_type}}. Buses can plug into each other. A USB controller is usually a PCI device, for example. The device model represents the actual connections between buses and the devices they control. A bus is represented by the {{The Linux Kernel/id|bus_type}} structure. It contains the name, the default attributes, the bus' methods, PM operations, and the driver core's private data. ⚲ API : ls /sys/bus/ : {{The Linux Kernel/id|bus_register}} registers {{The Linux Kernel/id|bus_type}} : {{The Linux Kernel/include|linux/device/bus.h}} 👁 Examples: {{The Linux Kernel/id|usb_bus_type}}, {{The Linux Kernel/id|hid_bus_type}}, {{The Linux Kernel/id|pci_bus_type}}, {{The Linux Kernel/id|scsi_bus_type}}, {{The Linux Kernel/id|platform_bus_type}} : [[#Peripheral_buses|Peripheral buses]] === Drivers === ⚲ API : ls /sys/bus/:/drivers/ : {{The Linux Kernel/id|module_driver}} - simple common driver initializer, 👁 for example used in {{The Linux Kernel/id|module_pci_driver}} : {{The Linux Kernel/id|driver_register}} registers {{The Linux Kernel/id|device_driver}} - basic device driver structure, one per all device instances. : {{The Linux Kernel/include|linux/device/driver.h}} 👁 Examples: {{The Linux Kernel/id|hid_generic}} {{The Linux Kernel/id|usb_register_device_driver}} '''Platform drivers''' : {{The Linux Kernel/id|module_platform_driver}} registers {{The Linux Kernel/id|platform_driver}} (platform wrapper of {{The Linux Kernel/id|device_driver}}) with {{The Linux Kernel/id|platform_bus_type}} : {{The Linux Kernel/include|linux/platform_device.h}} 👁 Examples: {{The Linux Kernel/id|gpio_mouse_device_driver}} === Devices === ⚲ API : ls /sys/devices/ : {{The Linux Kernel/id|device_register}} registers {{The Linux Kernel/id|device}} - the basic device structure, per each device instance : {{The Linux Kernel/include|linux/device.h}} &ndash; {{The Linux Kernel/doc|Device drivers infrastructure|driver-api/infrastructure.html}} : {{The Linux Kernel/include|linux/dev_printk.h}} : {{The Linux Kernel/doc|Device Resource Management|driver-api/basics.html#device-resource-management}}, devres, devm ... 👁 Examples: {{The Linux Kernel/id|platform_bus}} mousedev_create '''Platform devices''' : {{The Linux Kernel/id|platform_device}} - platform wrapper of {{The Linux Kernel/doc|struct <big>device</big> - the basic device structure|driver-api/infrastructure.html#c.device}}, contains resources associated with the device : it can be created dynamically by {{The Linux Kernel/id|platform_device_register_simple}} or {{The Linux Kernel/id|platform_device_alloc}}. Or registered with {{The Linux Kernel/id|platform_device_register}}. : {{The Linux Kernel/id|platform_device_unregister}} - releases device and associated resources 👁 Examples: {{The Linux Kernel/id|add_pcspkr}} ⚲ API 🔧 TODO : platform_device_info platform_device_id platform_device_register_full platform_device_add : platform_device_add_data platform_device_register_data platform_device_add_resources : attribute_group dev_pm_ops <hr> ⚙️ Internals : {{The Linux Kernel/include|linux/dev_printk.h}} : {{The Linux Kernel/source|lib/kobject.c}} &ndash; kobject library : {{The Linux Kernel/source|drivers/base/platform.c}} &ndash; platform bus for legacy devices : {{The Linux Kernel/source|drivers/base/core.c}} &ndash; driver model core : {{The Linux Kernel/include|linux/notifier.h}}, {{The Linux Kernel/source|kernel/notifier.c}} &ndash; notifier chains for event broadcasting 📖 References : {{The Linux Kernel/doc|Device drivers infrastructure|driver-api/infrastructure.html}} : {{The Linux Kernel/doc|Everything you never wanted to know about kobjects, ksets, and ktypes|core-api/kobject.html}} : {{The Linux Kernel/doc|Driver Model|driver-api/driver-model}} :: {{The Linux Kernel/doc|The Linux Kernel Device Model|driver-api/driver-model/overview.html}} :: {{The Linux Kernel/doc|Platform Devices and Drivers|driver-api/driver-model/platform.html}} : [https://linux-kernel-labs.github.io/refs/heads/master/labs/device_model.html Linux Device Model, by linux-kernel-labs] : [https://sysprog21.github.io/lkmpg/#standardizing-the-interfaces-the-device-model LKMPG: The Device Model] {{:The Linux Kernel/Modules}} == {{w|Peripheral bus}}es == Peripheral buses are the communication channels used to connect various peripheral devices to a computer system. These buses are used to transfer data between the peripheral devices and the system's processor or memory. In the Linux kernel, peripheral buses are implemented as drivers that enable communication between the operating system and the hardware. Peripheral buses in the Linux kernel include USB, PCI, SPI, I2C, and more. Each of these buses has its own unique characteristics, and the Linux kernel provides support for a wide range of peripheral devices. The PCI (Peripheral Component Interconnect) bus is used to connect internal hardware devices in a computer system. It is commonly used to connect graphics cards, network cards, and other expansion cards. The Linux kernel provides a PCI bus driver that enables communication between the operating system and the devices connected to the bus. The USB (Universal Serial Bus) is one of the most commonly used peripheral buses in modern computer systems. It allows devices to be hot-swapped and supports high-speed data transfer rates. 🔧 TODO: device enumeration ⚲ API : Shell interface: ls /proc/bus/ /sys/bus/ See also [[#Buses|Buses of Driver Model]] See [[../Human_interfaces#Input_devices|'''Input: keyboard, mouse etc''']] '''PCI''' ⚲ Shell API : lspci -vv : column -t /proc/bus/pci/devices Main article: [[The_Linux_Kernel/PCI|PCI]] '''USB''' ⚲ Shell API : lsusb -v : ls /sys/bus/usb/ : cat /proc/bus/usb/devices ⚙️ Internals : {{The Linux Kernel/source|drivers/usb}} &ndash; USB subsystem 📖 References : {{The Linux Kernel/doc|USB|usb}} : [http://lwn.net/images/pdf/LDD3/ch13.pdf LDD3:USB Drivers] '''Other buses''' : {{The Linux Kernel/source|drivers/bus}} &ndash; bus driver implementations '''Buses for 🤖 embedded devices:''' : {{The Linux Kernel/include|linux/gpio/driver.h}} {{The Linux Kernel/include|linux/gpio.h}} {{The Linux Kernel/source|drivers/gpio}} {{The Linux Kernel/source|tools/gpio}} : {{The Linux Kernel/source|drivers/i2c}} &ndash; I2C bus framework, {{The Linux Kernel/doc|I2C|i2c}} '''SPI''' ⚲ API : {{The Linux Kernel/include|linux/spi/spi.h}} : {{The Linux Kernel/source|tools/spi}} &ndash; SPI user-space tools ⚙️ Internals : {{The Linux Kernel/source|drivers/spi}} &ndash; SPI bus framework : {{The Linux Kernel/id|spi_register_controller}} : {{The Linux Kernel/id|spi_controller_list}}🚧 📖 References : {{The Linux Kernel/doc|SPI|spi}} ==Hardware interfaces== Hardware interfaces are basic part of any operating, enabling communication between the processor and other HW components of a computer system: memory, peripheral devices and buses, various controllers. [[../Multitasking/CPU#Interrupts|Interrupts]] ===I/O ports and registers=== I/O ports and registers are electronic components in computer systems that enable communication between CPU and other electronic controllers and devices. ⚲ API {{The Linux Kernel/include|asm-generic/io.h}} &mdash; generic I/O port emulation. : {{The Linux Kernel/id|ioport_map}} : {{The Linux Kernel/id|ioread32}} / {{The Linux Kernel/id|iowrite32}} ... : {{The Linux Kernel/id|readl}}/ {{The Linux Kernel/id|writel}} ... : The {in,out}[bwl] macros are for emulating x86-style PCI/ISA IO space: : {{The Linux Kernel/id|inl}}/ {{The Linux Kernel/id|outl}} ... {{The Linux Kernel/include|linux/ioport.h}}, {{The Linux Kernel/source|kernel/resource.c}} &mdash; I/O and memory resource management. : {{The Linux Kernel/id|devm_request_mem_region}} :: {{The Linux Kernel/id|request_mem_region}} {{The Linux Kernel/source|arch/x86/include/asm/io.h}} &ndash; x86 I/O port and MMIO access Functions for memory mapped registers: {{The Linux Kernel/id|devm_ioremap}} ... : {{The Linux Kernel/id|ioremap}} ==== regmap ==== The regmap subsystem provides a standardized abstraction layer for register access in device drivers. It simplifies interactions with hardware registers across various bus types, such as I2C, SPI, and MMIO, by offering a consistent API. ⚲ API {{The Linux Kernel/include|linux/regmap.h}} &mdash; register map access API : the most frequently used functions: : {{The Linux Kernel/id|regmap_update_bits}} : {{The Linux Kernel/id|regmap_write}} : {{The Linux Kernel/id|regmap_read}} : {{The Linux Kernel/id|regmap_reg_range}} : {{The Linux Kernel/id|regmap_bulk_read}} : {{The Linux Kernel/id|devm_regmap_init_i2c}} : {{The Linux Kernel/id|regmap_set_bits}} : {{The Linux Kernel/id|regmap_field_write}} : {{The Linux Kernel/id|regmap_bulk_write}} : {{The Linux Kernel/id|regmap_clear_bits}} : {{The Linux Kernel/id|regmap_write_bits}} : {{The Linux Kernel/id|regmap_config}} : {{The Linux Kernel/id|regmap_read_poll_timeout}} : {{The Linux Kernel/id|devm_regmap_init_mmio}} ⚙️ Internals {{The Linux Kernel/source|drivers/base/regmap}} &ndash; register map abstraction layer ===Hardware Device Drivers=== Keywords: firmware, hotplug, clock, mux, pin ⚙️ Internals : {{The Linux Kernel/source|drivers/acpi}} &ndash; ACPI drivers : {{The Linux Kernel/source|drivers/base}} &ndash; driver model core : {{The Linux Kernel/source|drivers/sdio}} &ndash; {{w|Secure Digital#SDIO cards|Secure Digital Input Output}} : {{The Linux Kernel/source|drivers/virtio}} &ndash; virtio guest drivers : {{The Linux Kernel/source|drivers/hwmon}} &ndash; hardware monitoring : {{The Linux Kernel/source|drivers/thermal}} &ndash; thermal management : {{The Linux Kernel/source|drivers/pinctrl}} &ndash; pin control and multiplexing : {{The Linux Kernel/source|drivers/clk}} &ndash; clock framework 📖 References : {{The Linux Kernel/doc|Pin control subsystem|driver-api/pin-control.html}} : {{The Linux Kernel/doc|Linux Hardware Monitoring|hwmon}} : {{The Linux Kernel/doc|Firmware guide|firmware-guide}} : {{The Linux Kernel/doc|Devicetree|devicetree}} : https://hwmon.wiki.kernel.org/ : [http://lwn.net/images/pdf/LDD3/ch14.pdf LDD3:The Linux Device Model] : http://www.tldp.org/LDP/tlk/dd/drivers.html : http://www.xml.com/ldd/chapter/book/ : http://examples.oreilly.com/linuxdrive2/ === Live patching === {{w|Kpatch|Live patching}} (since 4.0) allows applying critical fixes to a running kernel without rebooting. ⚲ API: : {{The Linux Kernel/include|linux/livepatch.h}} : {{The Linux Kernel/id|klp_patch}} &ndash; patch structure : {{The Linux Kernel/id|klp_enable_patch}} ⚙️ Internals: : {{The Linux Kernel/source|kernel/livepatch}} &ndash; live patching core 📖 References: : {{The Linux Kernel/doc|Livepatch|livepatch}} === Booting and halting === ==== Kernel booting ==== This is loaded in two stages - in the first stage the kernel (as a compressed image file) is loaded into memory and decompressed, and a few fundamental functions such as essential hardware and basic memory management (memory paging) are set up. Control is then switched one final time to the main kernel start process calling {{The Linux Kernel/id|start_kernel}}, which then performs the majority of system setup (interrupts, the rest of memory management, device and driver initialization, etc.) before spawning separately, the idle process and scheduler, and the init process (which is executed in user space). '''Kernel loading stage''' The kernel as loaded is typically an image file, compressed into either zImage or bzImage formats with zlib. A routine at the head of it does a minimal amount of hardware setup, decompresses the image fully into high memory, and takes note of any RAM disk if configured. It then executes kernel startup via startup_64 (for x86_64 architecture). : {{The Linux Kernel/source|arch/x86/boot/compressed/vmlinux.lds.S}} - linker script defines entry {{The Linux Kernel/id|startup_64}} in : {{The Linux Kernel/source|arch/x86/boot/compressed/head_64.S}} - assembly of extractor : {{The Linux Kernel/id|extract_kernel}} - extractor in language C :: prints Decompressing Linux... done. Booting the kernel. '''Kernel startup stage''' The startup function for the kernel (also called the swapper or process 0) establishes memory management (paging tables and memory paging), detects the type of CPU and any additional functionality such as floating point capabilities, and then switches to non-architecture specific Linux kernel functionality via a call to {{The Linux Kernel/id|start_kernel}}. ↯ Startup call hierarchy: : {{The Linux Kernel/source|arch/x86/kernel/vmlinux.lds.S}} &ndash; linker script : {{The Linux Kernel/source|arch/x86/kernel/head_64.S}} &ndash; assembly of uncompressed startup code : {{The Linux Kernel/source|arch/x86/kernel/head64.c}} &ndash; platform dependent startup: :: {{The Linux Kernel/id|x86_64_start_kernel}} :: {{The Linux Kernel/id|x86_64_start_reservations}} : {{The Linux Kernel/source|init/main.c}} &ndash; main initialization code :: {{The Linux Kernel/id|start_kernel}} 200 SLOC ::: {{The Linux Kernel/id|mm_init}} :::: {{The Linux Kernel/id|mem_init}} :::: {{The Linux Kernel/id|vmalloc_init}} ::: {{The Linux Kernel/id|sched_init}} ::: {{The Linux Kernel/id|rcu_init}} &ndash; {{w|Read-copy-update}} ::: {{The Linux Kernel/id|rest_init}} :::: {{The Linux Kernel/id|kernel_init}} - deferred kernel thread #1 ::::: {{The Linux Kernel/id|kernel_init_freeable}} This and following functions are defined with attribute {{The Linux Kernel/id|__init}} :::::: {{The Linux Kernel/id|prepare_namespace}} ::::::: {{The Linux Kernel/id|initrd_load}} ::::::: {{The Linux Kernel/id|mount_root}} ::::: {{The Linux Kernel/id|run_init_process}} obviously runs the first process {{The Linux Kernel/man|1|init}} :::: {{The Linux Kernel/id|kthreadd}} &ndash; deferred kernel thread #2 :::: {{The Linux Kernel/id|cpu_startup_entry}} ::::: {{The Linux Kernel/id|do_idle}} {{The Linux Kernel/id|start_kernel}} executes a wide range of initialization functions. It sets up interrupt handling (IRQs), further configures memory, starts the {{The Linux Kernel/man|1|init}} process (the first user-space process), and then starts the idle task via {{The Linux Kernel/id|cpu_startup_entry}}. Notably, the kernel startup process also mounts the {{w|initial ramdisk}} (initrd) that was loaded previously as the temporary root file system during the boot phase. The initrd allows driver modules to be loaded directly from memory, without reliance upon other devices (e.g. a hard disk) and the drivers that are needed to access them (e.g. a SATA driver). This split of some drivers statically compiled into the kernel and other drivers loaded from initrd allows for a smaller kernel. The root file system is later switched via a call to {{The Linux Kernel/man|8|pivot_root}} / {{The Linux Kernel/man|2|pivot_root}} which unmounts the temporary root file system and replaces it with the use of the real one, once the latter is accessible. The memory used by the temporary root file system is then reclaimed. ⚙️ Internals : {{The Linux Kernel/source|arch/x86/Kconfig.debug}} &ndash; x86 debugging Kconfig options : {{The Linux Kernel/include|linux/smpboot.h}} : {{The Linux Kernel/source|kernel/smpboot.c}} &ndash; common SMP CPU bringup/teardown : {{The Linux Kernel/source|arch/x86/kernel/smpboot.c}} &ndash; x86 SMP booting : {{The Linux Kernel/include|linux/kallsyms.h}}, {{The Linux Kernel/source|kernel/kallsyms.c}} &ndash; the /proc/kallsyms kernel symbol table ===== ... ===== 📖 References : Article about [[../Booting|booting of the kernel]] : {{The Linux Kernel/doc|Initial RAM disk|admin-guide/initrd.html}} : [https://www.kernel.org/doc/Documentation/admin-guide/kernel-parameters.txt#:~:text=initcall_debug initcall_debug, boot argument] : {{w|Linux startup process}} : {{w|init}} : [http://lwn.net/Articles/632528/ Linux (U)EFI boot process] : {{The Linux Kernel/doc|The kernel’s command-line parameters|admin-guide/kernel-parameters.html}} : {{The Linux Kernel/doc|The EFI Boot Stub|admin-guide/efi-stub.html}} : {{The Linux Kernel/doc|Boot Configuration|admin-guide/bootconfig.html}} : {{The Linux Kernel/doc|Boot time memory management|core-api/boot-time-mm.html}} : [https://github.com/0xAX/linux-insides/blob/master/Booting/README.md Kernel booting process] : [https://github.com/0xAX/linux-insides/blob/master/Initialization/README.md Kernel initialization process] 📚 Further reading : {{The Linux Kernel/doc|Boot-time tracing|trace/boottime-trace.html}} : {{w|E820}} 💾 ''Historical'' : http://tldp.org/HOWTO/Linux-i386-Boot-Code-HOWTO/ : http://www.tldp.org/LDP/lki/lki-1.html : http://www.tldp.org/HOWTO/KernelAnalysis-HOWTO-4.html ==== Halting or rebooting ==== 🔧 TODO ⚲ API : {{The Linux Kernel/include|linux/reboot.h}} : {{The Linux Kernel/include|linux/stop_machine.h}} :: {{The Linux Kernel/id|print_stop_info}} :: {{The Linux Kernel/id|stop_machine}} ::: {{The Linux Kernel/id|stop_core_cpuslocked}} : {{The Linux Kernel/man|2|reboot}} ↪ {{The Linux Kernel/id|sys_reboot}} :: {{The Linux Kernel/id|machine_restart}} or :: {{The Linux Kernel/id|machine_halt}} or :: {{The Linux Kernel/id|machine_power_off}} : {{The Linux Kernel/man|2|kexec_load}} ↪ {{The Linux Kernel/source|kernel/kexec.c}} &ndash; load a new kernel for later execution ({{w|kdump (Linux)|kdump}}) : {{The Linux Kernel/id|reboot_mode}} : {{The Linux Kernel/include|linux/reboot-mode.h}} :: {{The Linux Kernel/id|reboot_mode_driver}} ::: {{The Linux Kernel/id|devm_reboot_mode_register}} ⚙️ Internals : {{The Linux Kernel/source|kernel/reboot.c}} &ndash; reboot, halt and power-off : {{The Linux Kernel/source|kernel/stop_machine.c}} &ndash; stop all CPUs for safe code patching :: {{The Linux Kernel/id|cpu_stopper}} :: {{The Linux Kernel/id|cpu_stop_init}} ::: {{The Linux Kernel/id|cpu_stopper_thread}} &ndash; "migration" tasks : {{The Linux Kernel/source|arch/x86/kernel/reboot.c}} &ndash; x86 reboot methods : [[../Softdog Driver/]] ==== Power management ==== Keyword: suspend, alarm, hibernation. ⚲ API : /sys/power/ : /sys/kernel/debug/wakeup_sources :: <big>⌨️</big> hands-on: :: sudo awk '{gsub("^ ","?")} NR>1 {if ($6) {print $1}}' /sys/kernel/debug/wakeup_sources : {{The Linux Kernel/include|linux/pm.h}} :: {{The Linux Kernel/include|linux|dev_pm_ops}} : {{The Linux Kernel/include|linux/pm_qos.h}} : {{The Linux Kernel/include|linux/pm_clock.h}} : {{The Linux Kernel/include|linux/pm_domain.h}} : {{The Linux Kernel/include|linux/pm_wakeirq.h}} : {{The Linux Kernel/include|linux/pm_wakeup.h}} :: {{The Linux Kernel/id|wakeup_source}} :: {{The Linux Kernel/id|wakeup_source_register}} : {{The Linux Kernel/include|linux/suspend.h}} :: {{The Linux Kernel/id|pm_suspend}} suspends the system : {{The Linux Kernel/include|linux/freezer.h}} &ndash; process freezer for suspend/hibernate : Suspend and wakeup depend on :: {{The Linux Kernel/man|2|timer_create}} and {{The Linux Kernel/man|2|timerfd_create}} with clock ids {{The Linux Kernel/id|CLOCK_REALTIME_ALARM}} or {{The Linux Kernel/id|CLOCK_BOOTTIME_ALARM}} will wake the system if it is suspended. :: {{The Linux Kernel/man|2|epoll_ctl}} with flag {{The Linux Kernel/id|EPOLLWAKEUP}} blocks suspend :: See also {{The Linux Kernel/man|7|capabilities}} {{The Linux Kernel/id|CAP_WAKE_ALARM}}, {{The Linux Kernel/id|CAP_BLOCK_SUSPEND}} ⚙️ Internals : {{The Linux Kernel/id|CONFIG_PM}} : {{The Linux Kernel/id|CONFIG_SUSPEND}} : {{The Linux Kernel/source|kernel/power}} &ndash; suspend, hibernate and PM core : {{The Linux Kernel/id|alarm_init}} : {{The Linux Kernel/source|kernel/time/alarmtimer.c}} &ndash; alarm timer for wakeup events : {{The Linux Kernel/source|drivers/base/power}}: {{The Linux Kernel/id|wakeup_sources}} 📖 References : {{The Linux Kernel/doc|PM administration|admin-guide/pm}} : {{The Linux Kernel/doc|CPU and Device PM|driver-api/pm}} : {{The Linux Kernel/doc|Power Management|power}} : {{The Linux Kernel/doc|sysfs power testing ABI|admin-guide/abi-testing.html#file-testing-sysfs-power}} : https://lwn.net/Kernel/Index/#Power_management : {{w|PowerTOP}} : [https://linux.die.net/man/1/cpupower cpupower] : [https://manpages.ubuntu.com/manpages/xenial/man8/tlp.8.html tlp] &ndash; apply laptop power management settings : {{w|ACPI}} &ndash; Advanced Configuration and Power Interface ===== Runtime PM ===== Keywords: runtime power management, devices power management opportunistic suspend, autosuspend, autosleep. ⚲ API : /sys/devices/.../power/: :: async autosuspend_delay_ms control runtime_active_kids runtime_active_time runtime_enabled runtime_status runtime_suspended_time runtime_usage : {{The Linux Kernel/include|linux/pm_runtime.h}} :: {{The Linux Kernel/id|pm_runtime_mark_last_busy}} :: {{The Linux Kernel/id|devm_pm_runtime_enable}} ::: {{The Linux Kernel/id|pm_runtime_enable}} :: {{The Linux Kernel/id|pm_runtime_disable}} :: {{The Linux Kernel/id|pm_runtime_get}} &ndash; asynchronous get :: {{The Linux Kernel/id|pm_runtime_get_sync}} :: {{The Linux Kernel/id|pm_runtime_resume_and_get}} &ndash; preferable synchronous get :: {{The Linux Kernel/id|pm_runtime_put}} :: {{The Linux Kernel/id|pm_runtime_put_noidle}} &ndash; just decrement usage counter :: {{The Linux Kernel/id|pm_runtime_put_sync}} :: {{The Linux Kernel/id|pm_runtime_put_autosuspend}} : {{The Linux Kernel/id|SET_RUNTIME_PM_OPS}} 👁 Example: {{The Linux Kernel/id|ac97_pm}} ⚙️ Internals : {{The Linux Kernel/id|CONFIG_PM_AUTOSLEEP}} === ... === 📖 References : {{The Linux Kernel/doc|Runtime Power Management Framework for I/O Devices|power/runtime_pm.html}} : [https://wiki.linuxfoundation.org/realtime/documentation/howto/applications/cpuidle CPU idle power saving methods for real-time workloads] : [https://www.kernel.org/doc/Documentation/ABI/testing/sysfs-devices-power Sysfs devices PM API] : [https://www.kernel.org/doc/Documentation/driver-api/usb/power-management.rst Power Management for USB] : [https://lwn.net/Kernel/Index/#Power_management-Opportunistic_suspend Opportunistic suspend] 📚 Further reading : https://deepwiki.com/torvalds/linux/5-hardware-drivers == Building and Updating == : [[../Updating/]] {{BookCat}} pmyha3ahjhklna7sxbffi82n5jqdlfm 4654525 4654524 2026-07-15T07:54:26Z Conan 3188 Shell interfaces, Utilities 4654525 wikitext text/x-wiki <noinclude>{{DISPLAYTITLE:System functionality}}</noinclude> {| style="float: right; text-align: center; border-spacing: 0; margin: auto;" cellpadding="5pc" ! bgcolor="#edf" |system |- | bgcolor="#cdf" |[[#System interfaces|system interfaces]] |- | bgcolor=#abe |[[#Virtualization|virtualization]] |- | bgcolor="#aad" |[[#Driver Model|Driver Model]] |- style="" | bgcolor="#99c" |[[../Modules|modules]] |- | bgcolor="#88a" |[[#Peripheral buses|buses]], [[The Linux Kernel/PCI|PCI]] |- | bgcolor="#889" |[[#Hardware interfaces|hardware interfaces]], [[#Booting and halting|[re]booting]] |} The System functionality is named after system calls and sysfs. It differs from other kernel functionalities. Its subsystems are not tightly coupled across layers but instead provide infrastructure to other parts of the kernel. For example, the System Calls subsystem offers a common interface layer for all functionalities exposed to user space. == System interfaces == There are several mechanisms available in Linux for user space system interfaces. One of the most common mechanisms is through {{w|system call}}s, which are functions that allow user space applications to request services from the kernel, such as opening files, creating processes, and accessing system resources. Another mechanism for user space communication is through {{w|device file}}s, which are special files that represent physical or virtual devices, such as storage devices, network interfaces, and various peripheral devices. User space applications can communicate with these devices by reading from and writing to their corresponding device files. In summary, Linux kernel provides several mechanisms for user space communication, including system calls, device files, {{w|procfs}}, {{w|sysfs}}, and devtmpfs. These mechanisms enable user space applications to communicate with the kernel and access system resources in a safe and controlled manner. ⚲ APIs: : kernel space API for user space :: {{The Linux Kernel/include|uapi}} :: {{The Linux Kernel/source|arch/x86/include/uapi}} &ndash; x86 user-space API headers :: {{The Linux Kernel/man|2|ioctl}} :: [[#System calls|System calls]] :: [[#Device files|Device files]] : user space API for kernel space :: {{The Linux Kernel/include|linux/uaccess.h}}: :: {{The Linux Kernel/id|copy_to_user}} :: {{The Linux Kernel/id|copy_from_user}} 📖 References : {{The Linux Kernel/doc|User-space API guides|userspace-api}} : {{w|User space}} : {{w|Linux kernel interfaces}} : [http://safari.oreilly.com/0596005652/understandlk-CHP-11 ULK3 Chapter 11. Signals] ===System calls=== System calls are the fundamental interface between user space applications and the Linux kernel. They provide a way for programs to request services from the operating system, such as opening a file, allocating memory, or creating a new process. In the Linux kernel, system calls are implemented as functions that can be invoked by user space programs using a software interrupt mechanism. The Linux kernel provides hundreds of system calls, each with its own unique functionality. These system calls are organized into categories such as process management, file management, network communication, and memory management. User space applications can use these system calls to interact with the kernel and access the underlying system resources. ⚲ API : [[../Syscalls|Table of syscalls]] : {{The Linux Kernel/man|2|syscalls}} ⚙️ Internals : {{The Linux Kernel/include|linux/syscalls.h}} : {{The Linux Kernel/source|kernel/entry}} &ndash; common syscall entry/exit and exception handling : {{The Linux Kernel/id|syscall_init}} installs {{The Linux Kernel/id|entry_SYSCALL_64}} : {{The Linux Kernel/man|2|syscall}} ↪ :: {{The Linux Kernel/id|entry_SYSCALL_64}} ↯ call hierarchy: ::: {{The Linux Kernel/id|do_syscall_64}} :::: {{The Linux Kernel/id|sys_call_table}} 📖 References : {{w|System call}} : [http://man7.org/linux/man-pages/dir_section_2.html Directory of system calls, man section 2] : Anatomy of a system call, [https://lwn.net/Articles/604287/ part 1] and [https://lwn.net/Articles/604515/ part 2] : {{The Linux Kernel/ltp|kernel|syscalls}} 💾 ''Historical'' : [http://safari.oreilly.com/0596005652/understandlk-CHP-10 ULK3 Chapter 10. System Calls] === Device files === Classic UNIX devices are [[../Human_interfaces#Char_devices|Char devices]] used as byte streams with {{The Linux Kernel/man|2|ioctl}}. ⚲ API ls /dev cat /proc/devices cat /proc/misc Examples: {{The Linux Kernel/id|misc_fops}} {{The Linux Kernel/id|usb_fops}} {{The Linux Kernel/id|memory_fops}} : {{The Linux Kernel/doc|Allocated devices|admin-guide/devices.html}} : {{The Linux Kernel/source|drivers/char}} &ndash; miscellaneous byte stream devices : [https://www.oreilly.com/library/view/understanding-the-linux/0596005652/ch13.html Chapter 13. I/O Architecture and Device Drivers] ==== hiddev ==== ⚠️ Warning: confusion. hiddev isn't real [[../Human_interfaces#HID|human interface device]]! It reuses USBHID infrastructure. hiddev is used for example for monitor controls and Uninterruptible Power Supplies. This module supports these devices separately using a separate event interface on /dev/usb/hiddevX (char 180:96 to 180:111) (⚙️ {{The Linux Kernel/id|HIDDEV_MINOR_BASE}}) ⚲ API : {{The Linux Kernel/include|uapi/linux/hiddev.h}} : {{The Linux Kernel/id|HID_CONNECT_HIDDEV}} ⚙️ Internals : [https://elixir.bootlin.com/linux/latest/K/ident/CONFIG_USB_HIDDEV CONFIG_USB_HIDDEV] : {{The Linux Kernel/include|linux/hiddev.h}} : {{The Linux Kernel/id|hiddev_event}} : {{The Linux Kernel/source|drivers/hid/usbhid/hiddev.c}}, {{The Linux Kernel/id|hiddev_fops}} 📖 References : {{The Linux Kernel/doc|HIDDEV - Care and feeding of your Human Interface Devices|hid/hiddev.html}} 📖 References : {{w|Device file}} ===Administration=== 🔧 TODO 📖 References : {{The Linux Kernel/man|7|netlink}} : {{The Linux Kernel/doc|The Linux kernel user’s and administrator’s guide|admin-guide}} ==== procfs ==== The ''proc filesystem'' (''procfs'') is a special filesystem that presents information about processes and other system information in a hierarchical file-like structure, providing a more convenient and standardized method for dynamically accessing process data held in the kernel than traditional tracing methods or direct access to kernel memory. Typically, it is mapped to a mount point named <code>/proc</code> at boot time. The proc file system acts as an interface to internal data structures in the kernel. It can be used to obtain information about the system and to change certain kernel parameters at runtime. <code>/proc</code> includes a directory for each running process &mdash;including kernel threads&mdash; in directories named <code>/proc/PID</code>, where <code>PID</code> is the process number. Each directory contains information about one process, including the command that originally started the process (<code>/proc/PID/cmdline</code>), the names and values of its environment variables (<code>/proc/PID/environ</code>), a symlink to its working directory (<code>/proc/PID/cwd</code>), another symlink to the original executable file &mdash;if it still exists&mdash; (<code>/proc/PID/exe</code>), a couple of directories with symlinks to each open file descriptor (<code>/proc/PID/fd</code>) and the status &mdash;position, flags, ...&mdash; of each of them (<code>/proc/PID/fdinfo</code>), information about mapped files and blocks like heap and stack (<code>/proc/PID/maps</code>), a binary image representing the process's virtual memory (<code>/proc/PID/mem</code>), a symlink to the root path as seen by the process (<code>/proc/PID/root</code>), a directory containing hard links to any child process or thread (<code>/proc/PID/task</code>), basic information about a process including its run state and memory usage (<code>/proc/PID/status</code>) and much more. 📖 References : {{w|procfs}} : {{The Linux Kernel/man|5|procfs}} : {{The Linux Kernel/man|7|namespaces}} : {{The Linux Kernel/man|7|capabilities}} : {{The Linux Kernel/include|linux/proc_fs.h}} : {{The Linux Kernel/include|linux/seq_file.h}} &ndash; sequential file interface for /proc entries : {{The Linux Kernel/source|fs/proc}} &ndash; procfs implementation :: [https://sysprog21.github.io/lkmpg/#the-proc-filesystem LKMPG: The /proc Filesystem] :: {{The Linux Kernel/include|linux/sysctl.h}} &ndash; /proc/sys runtime kernel tuning: ::: /etc/sysctl.conf, /etc/sysctl.d/, /lib/sysctl.d/ &ndash; persistent sysctl configuration loaded at boot by {{The Linux Kernel/man|8|sysctl}} :: {{The Linux Kernel/source|fs/proc/proc_sysctl.c}} &ndash; filesystem interface :: {{The Linux Kernel/source|kernel/sysctl.c}} &ndash; read/write handlers (proc_dointvec, proc_dostring, ...) ==== sysfs ==== sysfs is a pseudo-file system that exports information about various kernel subsystems, hardware devices, and associated device drivers from the kernel's device model to user space through virtual files. In addition to providing information about various devices and kernel subsystems, exported virtual files are also used for their configuring. Sysfs is designed to export the information present in the device tree, which would then no longer clutter up procfs. Sysfs is mounted under the <code>/sys</code> mount point. ⚲ API : {{The Linux Kernel/include|linux/sysfs.h}} 📖 References : {{w|sysfs}} : {{The Linux Kernel/man|5|sysfs}} : {{The Linux Kernel/doc|sysfs - filesystem for exporting kernel objects|filesystems/sysfs.html}} :: [https://sysprog21.github.io/lkmpg/#sysfs-interacting-with-your-module LKMPG: sysfs] : {{The Linux Kernel/source|fs/sysfs}} &ndash; sysfs implementation : {{The Linux Kernel/source|fs/kernfs}} &ndash; kernfs, the backing filesystem for sysfs and cgroups ==== devtmpfs ==== devtmpfs is a hybrid {{w|User space and kernel space|kernel/user space}} approach of a device filesystem to provide nodes before udev runs for the first time. 📖 References : {{w|Device file}} : {{The Linux Kernel/source|drivers/base/devtmpfs.c}} &ndash; kernel-maintained tmpfs /dev ==== configfs ==== {{The Linux Kernel/doc|configfs|filesystems/configfs.html}} is a userspace-driven kernel object configuration filesystem mounted at /sys/kernel/config/. Unlike sysfs (which exposes kernel-created objects), configfs lets userspace create and configure kernel objects via mkdir/rmdir. Used by USB gadget, NVMe target, ACPI, null_blk, GPIO simulator and other subsystems. ⚲ API: : {{The Linux Kernel/include|linux/configfs.h}} :: {{The Linux Kernel/id|config_item}} &ndash; base object, created by userspace mkdir :: {{The Linux Kernel/id|config_group}} &ndash; container for config_items :: {{The Linux Kernel/id|configfs_attribute}} &ndash; per-item readable/writable attribute :: {{The Linux Kernel/id|configfs_subsystem}} &ndash; top-level subsystem registration :: {{The Linux Kernel/id|configfs_register_subsystem}} ⚙️ Internals: : {{The Linux Kernel/source|fs/configfs}} == Virtualization == 🔧 TODO See {{w|Kernel-based Virtual Machine}} 📖 References : {{The Linux Kernel/doc|Virtualization Support|virt/}} 📚 Further reading : https://deepwiki.com/torvalds/linux/3-virtualization === Containerization === {{w|OS-level virtualization|Containerization}} is a powerful technology that has revolutionized the way software applications are developed, deployed, and run. At its core, containerization provides an isolated environment for running applications, where the application has all the necessary dependencies and can be easily moved from one environment to another without worrying about any compatibility issues. Containerization technology has its roots in the {{w|chroot}} command, which was introduced in the Unix operating system in the 1979. Chroot provided a way to change the root directory of a process, effectively creating a new isolated environment with its own file system hierarchy. However, this early implementation of containerization had limited functionality, and it was difficult to manage and control the various processes running within the container. In the early 2000s, the Linux kernel introduced {{w|Linux namespaces|namespaces}} and {{w|cgroups|control groups}} to provide a more robust and scalable containerization solution. '''Namespaces''' allow processes to have their own isolated view of the system, including the file system, network, and process ID space, while '''control groups''' provide fine-grained control over the resources allocated to each container, such as CPU, memory, and I/O. Using these kernel features, containerization platforms such as {{w|Docker (software)|Docker}} and {{w|Kubernetes}} have emerged as popular solutions for building and deploying containerized applications at scale. Containerization has become an essential tool for modern software development, allowing developers to easily package applications and deploy them in a consistent and predictable manner across different environments. ==== Resources usage and limits ==== ⚲ API : {{The Linux Kernel/man|2|chroot}} &ndash; change root directory : {{The Linux Kernel/man|2|sysinfo}} &ndash; return system information : {{The Linux Kernel/man|2|getrusage}} &ndash; get resource usage : get/set resource limits: :: {{The Linux Kernel/man|2|getrlimit}} :: {{The Linux Kernel/man|2|setrlimit}} :: {{The Linux Kernel/man|2|prlimit64}} 📖 References : {{w|chroot}} ==== Namespaces ==== {{w|Linux namespaces}} provide the way to isolate and virtualize different aspects of the operating system. Namespaces allow multiple instances of an application to run in isolation from each other, without interfering with the host system or other instances. 🔧 TODO ⚲ API : /proc/self/ns : {{The Linux Kernel/man|8|lsns}}, {{The Linux Kernel/man|2|ioctl_ns}} ↪ {{The Linux Kernel/id|ns_ioctl}} : {{The Linux Kernel/man|1|unshare}}, {{The Linux Kernel/man|2|unshare}} : {{The Linux Kernel/man|1|nsenter}}, {{The Linux Kernel/man|2|setns}} : {{The Linux Kernel/man|2|clone3}} ↪ {{The Linux Kernel/id|clone_args}} : {{The Linux Kernel/include|linux/ns_common.h}} : {{The Linux Kernel/include|linux/proc_ns.h}} : namespaces definition :: {{The Linux Kernel/id|uts_namespace}} :: {{The Linux Kernel/id|ipc_namespace}} :: {{The Linux Kernel/id|mnt_namespace}} :: {{The Linux Kernel/id|pid_namespace}} :: {{The Linux Kernel/include|net/net_namespace.h}} - struct net :: {{The Linux Kernel/id|user_namespace}} :: {{The Linux Kernel/id|time_namespace}} :: {{The Linux Kernel/id|cgroup_namespace}} ⚙️ Internals : {{The Linux Kernel/id|init_nsproxy}} - struct of namespaces : {{The Linux Kernel/source|kernel/nsproxy.c}} &ndash; namespace proxy management : {{The Linux Kernel/source|fs/namespace.c}} &ndash; mount namespace : {{The Linux Kernel/source|fs/proc/namespaces.c}} &ndash; /proc namespace entries : {{The Linux Kernel/source|net/core/net_namespace.c}} &ndash; network namespace : {{The Linux Kernel/source|kernel/time/namespace.c}} &ndash; time namespace : {{The Linux Kernel/source|kernel/user_namespace.c}} &ndash; user namespace : {{The Linux Kernel/source|kernel/pid_namespace.c}} &ndash; PID namespace : {{The Linux Kernel/source|kernel/utsname.c}} &ndash; UTS namespace : {{The Linux Kernel/source|kernel/cgroup/namespace.c}} &ndash; cgroup namespace : {{The Linux Kernel/source|ipc/namespace.c}} &ndash; IPC namespace 📖 References : {{The Linux Kernel/man|7|namespaces}} : {{The Linux Kernel/man|7|uts_namespaces}} : {{The Linux Kernel/man|7|ipc_namespaces}} : {{The Linux Kernel/man|7|mount_namespace}} : {{The Linux Kernel/man|7|pid_namespaces}} : {{The Linux Kernel/man|7|network_namespaces}} : {{The Linux Kernel/man|7|user_namespaces}} : {{The Linux Kernel/man|7|time_namespaces}} : {{The Linux Kernel/man|7|cgroup_namespaces}} === Control groups === {{w|cgroups}} are used to limit and control the resource usage of groups of processes. They allow administrators to set limits on CPU usage, memory usage, disk I/O, network bandwidth, and other resources, which can be useful for managing system performance and preventing resource contention. There are two versions of cgroups. Unlike v1, cgroup v2 has only a single process hierarchy and discriminates between processes, not threads. Here are some of the key differences between cgroups v1 and v2: {| class="wikitable" |+ ! !cgroups v1 !cgroups v2 |- |Hierarchy |each subsystem had its own hierarchy, which could lead to complexity and confusion |unified hierarchy, which simplifies management and enables better resource allocation |- |Controllers |has several subsystems that are controlled by separate controllers, each with its own set of configuration files and parameters |controllers are consolidated into a single "cgroup2" controller, which provides a unified interface for managing resources |- |Resource distribution |distributes resources among groups of processes based on proportional sharing, which can lead to unpredictable results |resources are distributed based on a "weighted fair queuing" algorithm, which provides better predictability and fairness |} Cgroups v2 is not backward compatible with cgroups v1, which means that migrating from v1 to v2 can be challenging and requires careful planning. 🔧 TODO ⚲ Shell interfaces : /proc/cgroups &ndash; available controllers with hierarchy and num_cgroups : /proc/$pid/cgroup &ndash; cgroup membership of a process : {{The Linux Kernel/man|1|systemd-cgls}} &ndash; show cgroup hierarchy as a tree : [https://github.com/sosreport/sos/blob/main/sos/report/plugins/cgroups.py sos cgroups plugin] &ndash; diagnostics collection for cgroups ⚲ API : {{The Linux Kernel/include|linux/cgroup.h}} : {{The Linux Kernel/include|linux/cgroup-defs.h}} :: {{The Linux Kernel/id|css_set}} &ndash; holds set of reference-counted pointers to {{The Linux Kernel/id|cgroup_subsys_state}} objects :: {{The Linux Kernel/id|cgroup_subsys}} : {{The Linux Kernel/include|linux/cgroup_subsys.h}} &ndash; list of cgroup subsystems ⚙️ Internals : {{The Linux Kernel/id|cg_list}} &ndash; list of {{The Linux Kernel/id|css_set}} in task_struct : {{The Linux Kernel/source|kernel/cgroup}} &ndash; cgroup core : {{The Linux Kernel/id|cgroup_init}} : {{The Linux Kernel/id|cgroup2_fs_type}} : {{The Linux Kernel/source|tools/testing/selftests/cgroup}} &ndash; cgroup self-tests 📖 References : [[The_Linux_Kernel/System/CGroup_v2|Control Groups v2]] : {{The Linux Kernel/doc|Control Groups v1|admin-guide/cgroup-v1/}} : {{The Linux Kernel/man|1|systemd-cgtop}} : {{The Linux Kernel/man|5|systemd.slice}} &ndash; slice unit configuration : {{The Linux Kernel/man|7|cgroups}} : {{The Linux Kernel/man|7|cgroup_namespaces}} : {{The Linux Kernel/doc|CFS Bandwidth Control for cgroups|scheduler/sched-bwc.html}} : {{The Linux Kernel/doc|Real-Time group scheduling|scheduler/sched-rt-group.html}} : [https://docs.redhat.com/en/documentation/red_hat_enterprise_linux/latest/html/managing_monitoring_and_updating_the_kernel/setting-limits-for-applications_managing-monitoring-and-updating-the-kernel Understanding control groups, RHEL] 📚 Further reading : https://github.com/containers : [https://github.com/mk-fg/fgtk#cgrc cgrc tool] 💾 Historical : https://github.com/mk-fg/cgroup-tools for cgroup v1 == Driver Model == The Linux driver model (or Device Model, or just DM) is a framework that provides a consistent and standardized way for device drivers to interface with the kernel. It defines a set of rules, interfaces, and data structures that enable device drivers to communicate with the kernel and perform various operations, such as managing resources, lifecycle and more. DM core structure consists of DM classes, DM buses, DM drivers and DM devices. === kobject === In the Linux kernel, a {{The Linux Kernel/id|kobject}} is a fundamental data structure used to represent kernel objects and provide a standardized interface for interacting with them. A kobject is a generic object that can represent any type of kernel object, including devices, files, modules, and more. The kobject data structure contains several fields that describe the object, such as its name, type, parent, and operations. Each kobject has a unique name within its parent object, and the parent-child relationships form a hierarchy of kobjects. Kobjects are managed by the kernel's sysfs file system, which provides a virtual file system that exposes kernel objects as files and directories in the user space. Each kobject is associated with a sysfs directory, which contains files and attributes that can be read or written to interact with the kernel object. ⚲ Infrastructure API : {{The Linux Kernel/include|linux/kobject.h}} : {{The Linux Kernel/id|kobject}} : {{The Linux Kernel/doc|Kernel objects manipulation|driver-api/basics.html#kernel-objects-manipulation}} : 🔧 TODO === Classes === A class is a higher-level view of a device that abstracts out low-level implementation details. Drivers may see a NVME storage or a SATA storage, but, at the class level, they are all simply {{The Linux Kernel/id|block_class}} devices. Classes allow user space to work with devices based on what they do, rather than how they are connected or how they work. General DM classes structure match {{w|composite pattern}}. ⚲ API : ls /sys/class/ : {{The Linux Kernel/id|class_register}} registers {{The Linux Kernel/id|class}} : {{The Linux Kernel/include|linux/device/class.h}} 👁 Examples: {{The Linux Kernel/id|input_class}}, {{The Linux Kernel/id|block_class}} {{The Linux Kernel/id|net_class}} === Buses === A {{w|peripheral bus}} is a channel between the processor and one or more peripheral devices. A DM bus is {{w|Proxy pattern|proxy}} for a peripheral bus. General DM buses structure match {{w|composite pattern}}. For the purposes of the device model, all devices are connected via a bus, even if it is an internal, virtual, {{The Linux Kernel/id|platform_bus_type}}. Buses can plug into each other. A USB controller is usually a PCI device, for example. The device model represents the actual connections between buses and the devices they control. A bus is represented by the {{The Linux Kernel/id|bus_type}} structure. It contains the name, the default attributes, the bus' methods, PM operations, and the driver core's private data. ⚲ API : ls /sys/bus/ : {{The Linux Kernel/id|bus_register}} registers {{The Linux Kernel/id|bus_type}} : {{The Linux Kernel/include|linux/device/bus.h}} 👁 Examples: {{The Linux Kernel/id|usb_bus_type}}, {{The Linux Kernel/id|hid_bus_type}}, {{The Linux Kernel/id|pci_bus_type}}, {{The Linux Kernel/id|scsi_bus_type}}, {{The Linux Kernel/id|platform_bus_type}} : [[#Peripheral_buses|Peripheral buses]] === Drivers === ⚲ API : ls /sys/bus/:/drivers/ : {{The Linux Kernel/id|module_driver}} - simple common driver initializer, 👁 for example used in {{The Linux Kernel/id|module_pci_driver}} : {{The Linux Kernel/id|driver_register}} registers {{The Linux Kernel/id|device_driver}} - basic device driver structure, one per all device instances. : {{The Linux Kernel/include|linux/device/driver.h}} 👁 Examples: {{The Linux Kernel/id|hid_generic}} {{The Linux Kernel/id|usb_register_device_driver}} '''Platform drivers''' : {{The Linux Kernel/id|module_platform_driver}} registers {{The Linux Kernel/id|platform_driver}} (platform wrapper of {{The Linux Kernel/id|device_driver}}) with {{The Linux Kernel/id|platform_bus_type}} : {{The Linux Kernel/include|linux/platform_device.h}} 👁 Examples: {{The Linux Kernel/id|gpio_mouse_device_driver}} === Devices === ⚲ API : ls /sys/devices/ : {{The Linux Kernel/id|device_register}} registers {{The Linux Kernel/id|device}} - the basic device structure, per each device instance : {{The Linux Kernel/include|linux/device.h}} &ndash; {{The Linux Kernel/doc|Device drivers infrastructure|driver-api/infrastructure.html}} : {{The Linux Kernel/include|linux/dev_printk.h}} : {{The Linux Kernel/doc|Device Resource Management|driver-api/basics.html#device-resource-management}}, devres, devm ... 👁 Examples: {{The Linux Kernel/id|platform_bus}} mousedev_create '''Platform devices''' : {{The Linux Kernel/id|platform_device}} - platform wrapper of {{The Linux Kernel/doc|struct <big>device</big> - the basic device structure|driver-api/infrastructure.html#c.device}}, contains resources associated with the device : it can be created dynamically by {{The Linux Kernel/id|platform_device_register_simple}} or {{The Linux Kernel/id|platform_device_alloc}}. Or registered with {{The Linux Kernel/id|platform_device_register}}. : {{The Linux Kernel/id|platform_device_unregister}} - releases device and associated resources 👁 Examples: {{The Linux Kernel/id|add_pcspkr}} ⚲ API 🔧 TODO : platform_device_info platform_device_id platform_device_register_full platform_device_add : platform_device_add_data platform_device_register_data platform_device_add_resources : attribute_group dev_pm_ops <hr> ⚙️ Internals : {{The Linux Kernel/include|linux/dev_printk.h}} : {{The Linux Kernel/source|lib/kobject.c}} &ndash; kobject library : {{The Linux Kernel/source|drivers/base/platform.c}} &ndash; platform bus for legacy devices : {{The Linux Kernel/source|drivers/base/core.c}} &ndash; driver model core : {{The Linux Kernel/include|linux/notifier.h}}, {{The Linux Kernel/source|kernel/notifier.c}} &ndash; notifier chains for event broadcasting 📖 References : {{The Linux Kernel/doc|Device drivers infrastructure|driver-api/infrastructure.html}} : {{The Linux Kernel/doc|Everything you never wanted to know about kobjects, ksets, and ktypes|core-api/kobject.html}} : {{The Linux Kernel/doc|Driver Model|driver-api/driver-model}} :: {{The Linux Kernel/doc|The Linux Kernel Device Model|driver-api/driver-model/overview.html}} :: {{The Linux Kernel/doc|Platform Devices and Drivers|driver-api/driver-model/platform.html}} : [https://linux-kernel-labs.github.io/refs/heads/master/labs/device_model.html Linux Device Model, by linux-kernel-labs] : [https://sysprog21.github.io/lkmpg/#standardizing-the-interfaces-the-device-model LKMPG: The Device Model] {{:The Linux Kernel/Modules}} == {{w|Peripheral bus}}es == Peripheral buses are the communication channels used to connect various peripheral devices to a computer system. These buses are used to transfer data between the peripheral devices and the system's processor or memory. In the Linux kernel, peripheral buses are implemented as drivers that enable communication between the operating system and the hardware. Peripheral buses in the Linux kernel include USB, PCI, SPI, I2C, and more. Each of these buses has its own unique characteristics, and the Linux kernel provides support for a wide range of peripheral devices. The PCI (Peripheral Component Interconnect) bus is used to connect internal hardware devices in a computer system. It is commonly used to connect graphics cards, network cards, and other expansion cards. The Linux kernel provides a PCI bus driver that enables communication between the operating system and the devices connected to the bus. The USB (Universal Serial Bus) is one of the most commonly used peripheral buses in modern computer systems. It allows devices to be hot-swapped and supports high-speed data transfer rates. 🔧 TODO: device enumeration ⚲ API : Shell interface: ls /proc/bus/ /sys/bus/ See also [[#Buses|Buses of Driver Model]] See [[../Human_interfaces#Input_devices|'''Input: keyboard, mouse etc''']] '''PCI''' ⚲ Shell API : lspci -vv : column -t /proc/bus/pci/devices Main article: [[The_Linux_Kernel/PCI|PCI]] '''USB''' ⚲ Shell API : lsusb -v : ls /sys/bus/usb/ : cat /proc/bus/usb/devices ⚙️ Internals : {{The Linux Kernel/source|drivers/usb}} &ndash; USB subsystem 📖 References : {{The Linux Kernel/doc|USB|usb}} : [http://lwn.net/images/pdf/LDD3/ch13.pdf LDD3:USB Drivers] '''Other buses''' : {{The Linux Kernel/source|drivers/bus}} &ndash; bus driver implementations '''Buses for 🤖 embedded devices:''' : {{The Linux Kernel/include|linux/gpio/driver.h}} {{The Linux Kernel/include|linux/gpio.h}} {{The Linux Kernel/source|drivers/gpio}} {{The Linux Kernel/source|tools/gpio}} : {{The Linux Kernel/source|drivers/i2c}} &ndash; I2C bus framework, {{The Linux Kernel/doc|I2C|i2c}} '''SPI''' ⚲ API : {{The Linux Kernel/include|linux/spi/spi.h}} : {{The Linux Kernel/source|tools/spi}} &ndash; SPI user-space tools ⚙️ Internals : {{The Linux Kernel/source|drivers/spi}} &ndash; SPI bus framework : {{The Linux Kernel/id|spi_register_controller}} : {{The Linux Kernel/id|spi_controller_list}}🚧 📖 References : {{The Linux Kernel/doc|SPI|spi}} ==Hardware interfaces== Hardware interfaces are basic part of any operating, enabling communication between the processor and other HW components of a computer system: memory, peripheral devices and buses, various controllers. [[../Multitasking/CPU#Interrupts|Interrupts]] ===I/O ports and registers=== I/O ports and registers are electronic components in computer systems that enable communication between CPU and other electronic controllers and devices. ⚲ API {{The Linux Kernel/include|asm-generic/io.h}} &mdash; generic I/O port emulation. : {{The Linux Kernel/id|ioport_map}} : {{The Linux Kernel/id|ioread32}} / {{The Linux Kernel/id|iowrite32}} ... : {{The Linux Kernel/id|readl}}/ {{The Linux Kernel/id|writel}} ... : The {in,out}[bwl] macros are for emulating x86-style PCI/ISA IO space: : {{The Linux Kernel/id|inl}}/ {{The Linux Kernel/id|outl}} ... {{The Linux Kernel/include|linux/ioport.h}}, {{The Linux Kernel/source|kernel/resource.c}} &mdash; I/O and memory resource management. : {{The Linux Kernel/id|devm_request_mem_region}} :: {{The Linux Kernel/id|request_mem_region}} {{The Linux Kernel/source|arch/x86/include/asm/io.h}} &ndash; x86 I/O port and MMIO access Functions for memory mapped registers: {{The Linux Kernel/id|devm_ioremap}} ... : {{The Linux Kernel/id|ioremap}} ==== regmap ==== The regmap subsystem provides a standardized abstraction layer for register access in device drivers. It simplifies interactions with hardware registers across various bus types, such as I2C, SPI, and MMIO, by offering a consistent API. ⚲ API {{The Linux Kernel/include|linux/regmap.h}} &mdash; register map access API : the most frequently used functions: : {{The Linux Kernel/id|regmap_update_bits}} : {{The Linux Kernel/id|regmap_write}} : {{The Linux Kernel/id|regmap_read}} : {{The Linux Kernel/id|regmap_reg_range}} : {{The Linux Kernel/id|regmap_bulk_read}} : {{The Linux Kernel/id|devm_regmap_init_i2c}} : {{The Linux Kernel/id|regmap_set_bits}} : {{The Linux Kernel/id|regmap_field_write}} : {{The Linux Kernel/id|regmap_bulk_write}} : {{The Linux Kernel/id|regmap_clear_bits}} : {{The Linux Kernel/id|regmap_write_bits}} : {{The Linux Kernel/id|regmap_config}} : {{The Linux Kernel/id|regmap_read_poll_timeout}} : {{The Linux Kernel/id|devm_regmap_init_mmio}} ⚙️ Internals {{The Linux Kernel/source|drivers/base/regmap}} &ndash; register map abstraction layer ===Hardware Device Drivers=== Keywords: firmware, hotplug, clock, mux, pin ⚙️ Internals : {{The Linux Kernel/source|drivers/acpi}} &ndash; ACPI drivers : {{The Linux Kernel/source|drivers/base}} &ndash; driver model core : {{The Linux Kernel/source|drivers/sdio}} &ndash; {{w|Secure Digital#SDIO cards|Secure Digital Input Output}} : {{The Linux Kernel/source|drivers/virtio}} &ndash; virtio guest drivers : {{The Linux Kernel/source|drivers/hwmon}} &ndash; hardware monitoring : {{The Linux Kernel/source|drivers/thermal}} &ndash; thermal management : {{The Linux Kernel/source|drivers/pinctrl}} &ndash; pin control and multiplexing : {{The Linux Kernel/source|drivers/clk}} &ndash; clock framework 📖 References : {{The Linux Kernel/doc|Pin control subsystem|driver-api/pin-control.html}} : {{The Linux Kernel/doc|Linux Hardware Monitoring|hwmon}} : {{The Linux Kernel/doc|Firmware guide|firmware-guide}} : {{The Linux Kernel/doc|Devicetree|devicetree}} : https://hwmon.wiki.kernel.org/ : [http://lwn.net/images/pdf/LDD3/ch14.pdf LDD3:The Linux Device Model] : http://www.tldp.org/LDP/tlk/dd/drivers.html : http://www.xml.com/ldd/chapter/book/ : http://examples.oreilly.com/linuxdrive2/ === Live patching === {{w|Kpatch|Live patching}} (since 4.0) allows applying critical fixes to a running kernel without rebooting. ⚲ API: : {{The Linux Kernel/include|linux/livepatch.h}} : {{The Linux Kernel/id|klp_patch}} &ndash; patch structure : {{The Linux Kernel/id|klp_enable_patch}} ⚙️ Internals: : {{The Linux Kernel/source|kernel/livepatch}} &ndash; live patching core 📖 References: : {{The Linux Kernel/doc|Livepatch|livepatch}} === Booting and halting === ==== Kernel booting ==== This is loaded in two stages - in the first stage the kernel (as a compressed image file) is loaded into memory and decompressed, and a few fundamental functions such as essential hardware and basic memory management (memory paging) are set up. Control is then switched one final time to the main kernel start process calling {{The Linux Kernel/id|start_kernel}}, which then performs the majority of system setup (interrupts, the rest of memory management, device and driver initialization, etc.) before spawning separately, the idle process and scheduler, and the init process (which is executed in user space). '''Kernel loading stage''' The kernel as loaded is typically an image file, compressed into either zImage or bzImage formats with zlib. A routine at the head of it does a minimal amount of hardware setup, decompresses the image fully into high memory, and takes note of any RAM disk if configured. It then executes kernel startup via startup_64 (for x86_64 architecture). : {{The Linux Kernel/source|arch/x86/boot/compressed/vmlinux.lds.S}} - linker script defines entry {{The Linux Kernel/id|startup_64}} in : {{The Linux Kernel/source|arch/x86/boot/compressed/head_64.S}} - assembly of extractor : {{The Linux Kernel/id|extract_kernel}} - extractor in language C :: prints Decompressing Linux... done. Booting the kernel. '''Kernel startup stage''' The startup function for the kernel (also called the swapper or process 0) establishes memory management (paging tables and memory paging), detects the type of CPU and any additional functionality such as floating point capabilities, and then switches to non-architecture specific Linux kernel functionality via a call to {{The Linux Kernel/id|start_kernel}}. ↯ Startup call hierarchy: : {{The Linux Kernel/source|arch/x86/kernel/vmlinux.lds.S}} &ndash; linker script : {{The Linux Kernel/source|arch/x86/kernel/head_64.S}} &ndash; assembly of uncompressed startup code : {{The Linux Kernel/source|arch/x86/kernel/head64.c}} &ndash; platform dependent startup: :: {{The Linux Kernel/id|x86_64_start_kernel}} :: {{The Linux Kernel/id|x86_64_start_reservations}} : {{The Linux Kernel/source|init/main.c}} &ndash; main initialization code :: {{The Linux Kernel/id|start_kernel}} 200 SLOC ::: {{The Linux Kernel/id|mm_init}} :::: {{The Linux Kernel/id|mem_init}} :::: {{The Linux Kernel/id|vmalloc_init}} ::: {{The Linux Kernel/id|sched_init}} ::: {{The Linux Kernel/id|rcu_init}} &ndash; {{w|Read-copy-update}} ::: {{The Linux Kernel/id|rest_init}} :::: {{The Linux Kernel/id|kernel_init}} - deferred kernel thread #1 ::::: {{The Linux Kernel/id|kernel_init_freeable}} This and following functions are defined with attribute {{The Linux Kernel/id|__init}} :::::: {{The Linux Kernel/id|prepare_namespace}} ::::::: {{The Linux Kernel/id|initrd_load}} ::::::: {{The Linux Kernel/id|mount_root}} ::::: {{The Linux Kernel/id|run_init_process}} obviously runs the first process {{The Linux Kernel/man|1|init}} :::: {{The Linux Kernel/id|kthreadd}} &ndash; deferred kernel thread #2 :::: {{The Linux Kernel/id|cpu_startup_entry}} ::::: {{The Linux Kernel/id|do_idle}} 🛠️ Utilities : {{The Linux Kernel/man|8|dracut}} &ndash; generate initramfs images; dracut --list-modules shows available modules : {{The Linux Kernel/man|1|lsinitrd}} &ndash; list contents of an initramfs image {{The Linux Kernel/id|start_kernel}} executes a wide range of initialization functions. It sets up interrupt handling (IRQs), further configures memory, starts the {{The Linux Kernel/man|1|init}} process (the first user-space process), and then starts the idle task via {{The Linux Kernel/id|cpu_startup_entry}}. Notably, the kernel startup process also mounts the {{w|initial ramdisk}} (initrd) that was loaded previously as the temporary root file system during the boot phase. The initrd allows driver modules to be loaded directly from memory, without reliance upon other devices (e.g. a hard disk) and the drivers that are needed to access them (e.g. a SATA driver). This split of some drivers statically compiled into the kernel and other drivers loaded from initrd allows for a smaller kernel. The root file system is later switched via a call to {{The Linux Kernel/man|8|pivot_root}} / {{The Linux Kernel/man|2|pivot_root}} which unmounts the temporary root file system and replaces it with the use of the real one, once the latter is accessible. The memory used by the temporary root file system is then reclaimed. ⚙️ Internals : {{The Linux Kernel/source|arch/x86/Kconfig.debug}} &ndash; x86 debugging Kconfig options : {{The Linux Kernel/include|linux/smpboot.h}} : {{The Linux Kernel/source|kernel/smpboot.c}} &ndash; common SMP CPU bringup/teardown : {{The Linux Kernel/source|arch/x86/kernel/smpboot.c}} &ndash; x86 SMP booting : {{The Linux Kernel/include|linux/kallsyms.h}}, {{The Linux Kernel/source|kernel/kallsyms.c}} &ndash; the /proc/kallsyms kernel symbol table ===== ... ===== 📖 References : Article about [[../Booting|booting of the kernel]] : {{The Linux Kernel/doc|Initial RAM disk|admin-guide/initrd.html}} : [https://www.kernel.org/doc/Documentation/admin-guide/kernel-parameters.txt#:~:text=initcall_debug initcall_debug, boot argument] : {{w|Linux startup process}} : {{w|init}} : [http://lwn.net/Articles/632528/ Linux (U)EFI boot process] : {{The Linux Kernel/doc|The kernel’s command-line parameters|admin-guide/kernel-parameters.html}} : {{The Linux Kernel/doc|The EFI Boot Stub|admin-guide/efi-stub.html}} : {{The Linux Kernel/doc|Boot Configuration|admin-guide/bootconfig.html}} : {{The Linux Kernel/doc|Boot time memory management|core-api/boot-time-mm.html}} : [https://github.com/0xAX/linux-insides/blob/master/Booting/README.md Kernel booting process] : [https://github.com/0xAX/linux-insides/blob/master/Initialization/README.md Kernel initialization process] 📚 Further reading : {{The Linux Kernel/doc|Boot-time tracing|trace/boottime-trace.html}} : {{w|E820}} 💾 ''Historical'' : http://tldp.org/HOWTO/Linux-i386-Boot-Code-HOWTO/ : http://www.tldp.org/LDP/lki/lki-1.html : http://www.tldp.org/HOWTO/KernelAnalysis-HOWTO-4.html ==== Halting or rebooting ==== 🔧 TODO ⚲ API : {{The Linux Kernel/include|linux/reboot.h}} : {{The Linux Kernel/include|linux/stop_machine.h}} :: {{The Linux Kernel/id|print_stop_info}} :: {{The Linux Kernel/id|stop_machine}} ::: {{The Linux Kernel/id|stop_core_cpuslocked}} : {{The Linux Kernel/man|2|reboot}} ↪ {{The Linux Kernel/id|sys_reboot}} :: {{The Linux Kernel/id|machine_restart}} or :: {{The Linux Kernel/id|machine_halt}} or :: {{The Linux Kernel/id|machine_power_off}} : {{The Linux Kernel/man|2|kexec_load}} ↪ {{The Linux Kernel/source|kernel/kexec.c}} &ndash; load a new kernel for later execution ({{w|kdump (Linux)|kdump}}) : {{The Linux Kernel/id|reboot_mode}} : {{The Linux Kernel/include|linux/reboot-mode.h}} :: {{The Linux Kernel/id|reboot_mode_driver}} ::: {{The Linux Kernel/id|devm_reboot_mode_register}} ⚙️ Internals : {{The Linux Kernel/source|kernel/reboot.c}} &ndash; reboot, halt and power-off : {{The Linux Kernel/source|kernel/stop_machine.c}} &ndash; stop all CPUs for safe code patching :: {{The Linux Kernel/id|cpu_stopper}} :: {{The Linux Kernel/id|cpu_stop_init}} ::: {{The Linux Kernel/id|cpu_stopper_thread}} &ndash; "migration" tasks : {{The Linux Kernel/source|arch/x86/kernel/reboot.c}} &ndash; x86 reboot methods : [[../Softdog Driver/]] ==== Power management ==== Keyword: suspend, alarm, hibernation. ⚲ API : /sys/power/ : /sys/kernel/debug/wakeup_sources :: <big>⌨️</big> hands-on: :: sudo awk '{gsub("^ ","?")} NR>1 {if ($6) {print $1}}' /sys/kernel/debug/wakeup_sources : {{The Linux Kernel/include|linux/pm.h}} :: {{The Linux Kernel/include|linux|dev_pm_ops}} : {{The Linux Kernel/include|linux/pm_qos.h}} : {{The Linux Kernel/include|linux/pm_clock.h}} : {{The Linux Kernel/include|linux/pm_domain.h}} : {{The Linux Kernel/include|linux/pm_wakeirq.h}} : {{The Linux Kernel/include|linux/pm_wakeup.h}} :: {{The Linux Kernel/id|wakeup_source}} :: {{The Linux Kernel/id|wakeup_source_register}} : {{The Linux Kernel/include|linux/suspend.h}} :: {{The Linux Kernel/id|pm_suspend}} suspends the system : {{The Linux Kernel/include|linux/freezer.h}} &ndash; process freezer for suspend/hibernate : Suspend and wakeup depend on :: {{The Linux Kernel/man|2|timer_create}} and {{The Linux Kernel/man|2|timerfd_create}} with clock ids {{The Linux Kernel/id|CLOCK_REALTIME_ALARM}} or {{The Linux Kernel/id|CLOCK_BOOTTIME_ALARM}} will wake the system if it is suspended. :: {{The Linux Kernel/man|2|epoll_ctl}} with flag {{The Linux Kernel/id|EPOLLWAKEUP}} blocks suspend :: See also {{The Linux Kernel/man|7|capabilities}} {{The Linux Kernel/id|CAP_WAKE_ALARM}}, {{The Linux Kernel/id|CAP_BLOCK_SUSPEND}} ⚙️ Internals : {{The Linux Kernel/id|CONFIG_PM}} : {{The Linux Kernel/id|CONFIG_SUSPEND}} : {{The Linux Kernel/source|kernel/power}} &ndash; suspend, hibernate and PM core : {{The Linux Kernel/id|alarm_init}} : {{The Linux Kernel/source|kernel/time/alarmtimer.c}} &ndash; alarm timer for wakeup events : {{The Linux Kernel/source|drivers/base/power}}: {{The Linux Kernel/id|wakeup_sources}} 📖 References : {{The Linux Kernel/doc|PM administration|admin-guide/pm}} : {{The Linux Kernel/doc|CPU and Device PM|driver-api/pm}} : {{The Linux Kernel/doc|Power Management|power}} : {{The Linux Kernel/doc|sysfs power testing ABI|admin-guide/abi-testing.html#file-testing-sysfs-power}} : https://lwn.net/Kernel/Index/#Power_management : {{w|PowerTOP}} : [https://linux.die.net/man/1/cpupower cpupower] : [https://manpages.ubuntu.com/manpages/xenial/man8/tlp.8.html tlp] &ndash; apply laptop power management settings : {{w|ACPI}} &ndash; Advanced Configuration and Power Interface ===== Runtime PM ===== Keywords: runtime power management, devices power management opportunistic suspend, autosuspend, autosleep. ⚲ API : /sys/devices/.../power/: :: async autosuspend_delay_ms control runtime_active_kids runtime_active_time runtime_enabled runtime_status runtime_suspended_time runtime_usage : {{The Linux Kernel/include|linux/pm_runtime.h}} :: {{The Linux Kernel/id|pm_runtime_mark_last_busy}} :: {{The Linux Kernel/id|devm_pm_runtime_enable}} ::: {{The Linux Kernel/id|pm_runtime_enable}} :: {{The Linux Kernel/id|pm_runtime_disable}} :: {{The Linux Kernel/id|pm_runtime_get}} &ndash; asynchronous get :: {{The Linux Kernel/id|pm_runtime_get_sync}} :: {{The Linux Kernel/id|pm_runtime_resume_and_get}} &ndash; preferable synchronous get :: {{The Linux Kernel/id|pm_runtime_put}} :: {{The Linux Kernel/id|pm_runtime_put_noidle}} &ndash; just decrement usage counter :: {{The Linux Kernel/id|pm_runtime_put_sync}} :: {{The Linux Kernel/id|pm_runtime_put_autosuspend}} : {{The Linux Kernel/id|SET_RUNTIME_PM_OPS}} 👁 Example: {{The Linux Kernel/id|ac97_pm}} ⚙️ Internals : {{The Linux Kernel/id|CONFIG_PM_AUTOSLEEP}} === ... === 📖 References : {{The Linux Kernel/doc|Runtime Power Management Framework for I/O Devices|power/runtime_pm.html}} : [https://wiki.linuxfoundation.org/realtime/documentation/howto/applications/cpuidle CPU idle power saving methods for real-time workloads] : [https://www.kernel.org/doc/Documentation/ABI/testing/sysfs-devices-power Sysfs devices PM API] : [https://www.kernel.org/doc/Documentation/driver-api/usb/power-management.rst Power Management for USB] : [https://lwn.net/Kernel/Index/#Power_management-Opportunistic_suspend Opportunistic suspend] 📚 Further reading : https://deepwiki.com/torvalds/linux/5-hardware-drivers == Building and Updating == : [[../Updating/]] {{BookCat}} kqgeafl5a0oulzg11ab1t2vyqsyohyv The Linux Kernel/Multitasking 0 226982 4654513 4653393 2026-07-15T06:02:14Z Conan 3188 PTP 4654513 wikitext text/x-wiki <noinclude>{{DISPLAYTITLE:Multitasking functionality}}</noinclude> {| style="width: 25%; float: right; text-align:center;border-spacing: 0; margin:auto;" cellpadding="5pc" ! bgcolor="#ffc" |multitasking |- | bgcolor="#eeb" |[[#Execution|execution]] |- | bgcolor="#dda" |[[#Threads_or_tasks|threads or tasks]] |- | bgcolor="#cc9" |[[#Synchronization|synchronization]] |- | bgcolor="#bb8" |[[#Scheduler|Scheduler]] |- | bgcolor="#aa8" |[[#Interrupts|interrupts core]] |- style="" | bgcolor="#997" |[[#CPU_specific|CPU specific]] |} Linux kernel is a preemptive {{w|Computer multitasking|multitasking}} operating system. As a multitasking OS, it allows multiple processes to share processors (CPUs) and other system resources. Each CPU executes a single task at a time. However, multitasking allows each processor to switch between tasks that are being executed without having to wait for each task to finish. For that, the kernel can, at any time, temporarily interrupt a task being carried out by the processor, and replace it by another task that can be new or a previously suspended one. The operation involving the swapping of the running task is called ''{{w|context switch}}''. == Execution == ⚲ API ↪ ⚙️ implementations {{The Linux Kernel/man|2|execve}} ↪ {{The Linux Kernel/id|do_execveat_common}} runs an executable file in the context of current process, replacing the previous executable. This system call is used by family of functions of libc {{The Linux Kernel/man|3|exec}}. The {{w|Executable and Linkable Format|ELF}} binary format is loaded by {{The Linux Kernel/source|fs/binfmt_elf.c}}. {{The Linux Kernel/man|2|clone}}. Clone creates a child process that may share parts of its execution context with the parent. It is often used to implement threads (though programmers will typically use a higher-level interface such as {{The Linux Kernel/man|7|pthreads}}, implemented on top of clone). {{The Linux Kernel/man|2|wait}} ↪ {{The Linux Kernel/id|kernel_waitid}} suspends the execution of the calling process until one of its child processes terminates. Syscall {{The Linux Kernel/man|2|getpid}} ↪ {{The Linux Kernel/id|task_tgid_vnr}} returns PID of the current process which internally is called TGID - thread group id. A process can contain many threads. {{The Linux Kernel/man|2|gettid}} ↪ {{The Linux Kernel/id|task_pid_vnr}} returns thread id. Which internally is historically called PID. ⚠️ Warning: confusion. User space PID ≠ kernel space PID. {{The Linux Kernel/man|1|ps}} -AF lists current processes and thread as {{w|Light-weight process|LWP}}. For a single thread process all these IDs are equal. High-resolution delays: : {{The Linux Kernel/man|2|nanosleep}} ↪ {{The Linux Kernel/id|sys_nanosleep}} :: {{The Linux Kernel/id|hrtimer_nanosleep}} : {{The Linux Kernel/man|2|clock_nanosleep}} ↪ {{The Linux Kernel/id|sys_clock_nanosleep}} Wait for a signal: : {{The Linux Kernel/man|2|pause}} ↪ {{The Linux Kernel/id|sys_pause}} : {{The Linux Kernel/man|2|sigsuspend}} ↪ {{The Linux Kernel/id|sys_sigsuspend}} 🔨 [https://manpages.ubuntu.com/manpages/resolute/man1/stress-ng.1.html#Swapcontext stress-ng --context], [https://manpages.ubuntu.com/manpages/resolute/man1/stress-ng.1.html#Context --switch] See [[The Linux Kernel/Processes|Processes]] for process creation and termination. === Inter-process communication === Inter-process communication (IPC) refers specifically to the mechanisms an operating system provides to allow processes it manages to share data. Methods for achieving IPC are divided into categories which vary based on software requirements, such as performance and modularity requirements, and system circumstances. Linux inherited from Unix the following IPC mechanisms: Signals (⚲ API ↪ ⚙️ implementations): : {{The Linux Kernel/man|2|kill}} sends signal to a process : {{The Linux Kernel/man|2|tgkill}} ↪ {{The Linux Kernel/id|do_tkill}} sends a signal to a thread : {{The Linux Kernel/man|2|process_vm_readv}} ↪ {{The Linux Kernel/id|process_vm_rw}} - zero-copy data transfer between process address spaces : {{The Linux Kernel/man|2|sigaction}} ↪ {{The Linux Kernel/id|do_sigaction}} &ndash; examine and change a signal action : {{The Linux Kernel/man|2|sigprocmask}} &ndash; examine and change blocked signals : {{The Linux Kernel/man|2|sigpending}} ↪ {{The Linux Kernel/id|do_sigpending}} &ndash; examine pending signals : {{The Linux Kernel/man|2|sigsuspend}} &ndash; wait for a signal : {{The Linux Kernel/man|2|sigaltstack}} &ndash; set or get signal stack context : {{The Linux Kernel/man|2|sigtimedwait}} ↪ {{The Linux Kernel/id|do_sigtimedwait}} &ndash; synchronously wait for queued signals : {{The Linux Kernel/man|7|signal}} &ndash; overview of signals : {{The Linux Kernel/include|linux/sched/signal.h}} &ndash; signal-related task accessors : {{The Linux Kernel/source|kernel/signal.c}} &ndash; signal delivery and handling : 🔨 [https://manpages.ubuntu.com/manpages/resolute/man1/stress-ng.1.html#Signal~2 stress-ng --sigq] : [[../Storage#Zero-copy|Anonymous pipes]] and named pipes (FIFOs) {{The Linux Kernel/man|2|mknod}} ↪ {{The Linux Kernel/id|do_mknodat}} {{The Linux Kernel/id|S_IFIFO}} : {{w|Express Data Path}} {{The Linux Kernel/id|PF_XDP}} : {{w|Unix domain socket}} {{The Linux Kernel/id|PF_UNIX}} : Memory-mapped files {{The Linux Kernel/man|2|mmap}} ⤑ {{The Linux Kernel/id|ksys_mmap_pgoff}} : {{The Linux Kernel/man|2|eventfd}} ↪ {{The Linux Kernel/id|do_eventfd}} &ndash; event notification via file descriptor : {{The Linux Kernel/man|2|signalfd}} ↪ {{The Linux Kernel/id|do_signalfd4}} &ndash; receive signals via file descriptor : {{The Linux Kernel/man|2|timerfd_create}} &ndash; timer notification via file descriptor : Sys V IPC: :: Message queues: {{The Linux Kernel/man|2|msgget}}, {{The Linux Kernel/man|2|msgsnd}}, {{The Linux Kernel/man|2|msgrcv}} ↪ {{The Linux Kernel/source|ipc/msg.c}} :: Semaphores :: Shared memory: {{The Linux Kernel/man|2|shmget}}, {{The Linux Kernel/man|2|shmctl}}, {{The Linux Kernel/man|2|shmat}}, {{The Linux Kernel/man|2|shmdt}} ↪ {{The Linux Kernel/source|ipc/shm.c}} : POSIX message queues: :: {{The Linux Kernel/man|7|mq_overview}}, {{The Linux Kernel/man|3|mq_open}}, {{The Linux Kernel/man|3|mq_send}}, {{The Linux Kernel/man|3|mq_receive}} ↪ {{The Linux Kernel/source|ipc/mqueue.c}} 🔨 [https://manpages.ubuntu.com/manpages/resolute/man1/stress-ng.1.html#mq --mq] 📖 References : {{w|Inter-process communication}} : {{The Linux Kernel/man|7|sysvipc}} == Threads or tasks == In Linux kernel "thread" and "task" are almost synonyms. ⚲ API : {{The Linux Kernel/include|linux/sched.h}} - the main scheduler API :: {{The Linux Kernel/id|task_struct}} : {{The Linux Kernel/source|arch/x86/include/asm/current.h}} &ndash; x86 current task pointer ::{{Linux ident|current}} and {{The Linux Kernel/id|get_current}} () return current {{The Linux Kernel/id|task_struct}} : {{The Linux Kernel/include|uapi/linux/taskstats.h}} per-task statistics : {{The Linux Kernel/include|linux/thread_info.h}} :: {{The Linux Kernel/id|current_thread_info}}() returns {{The Linux Kernel/id|thread_info}} :{{The Linux Kernel/include|linux/sched/task.h}} - interface between the scheduler and various task lifetime (fork()/exit()) functionality : {{The Linux Kernel/include|linux/kthread.h}} - simple interface for creating and stopping kernel threads without mess. :: {{The Linux Kernel/id|kthread_run}} creates and wakes a thread ::: {{The Linux Kernel/id|kthread_create}} ⚙️ Internals : {{The Linux Kernel/id|kthread_run}} ↯ hierarchy: : {{The Linux Kernel/source|kernel/kthread.c}} &ndash; kernel thread creation and management :: {{The Linux Kernel/id|kthreadd}} &ndash; parent kernel thread and the creator of all other kernel threads. Dequeues {{The Linux Kernel/id|kthread_create_info}} from {{The Linux Kernel/id|kthread_create_list}}. ::: {{The Linux Kernel/id|create_kthread}} :::: {{The Linux Kernel/id|kernel_thread}} :::: {{The Linux Kernel/id|kthread}} &ndash; invokes {{The Linux Kernel/id|threadfn}} :: {{The Linux Kernel/id|__kthread_create_on_node}} &ndash; enqueues {{The Linux Kernel/id|kthread_create_info}} into {{The Linux Kernel/id|kthread_create_list}} : {{The Linux Kernel/source|kernel/fork.c}} &ndash; process creation and cloning :: {{The Linux Kernel/id|kernel_thread}} ::: {{The Linux Kernel/id|kernel_clone}} 🔨 [https://manpages.ubuntu.com/manpages/resolute/man1/stress-ng.1.html#Clone stress-ng --clone], [https://manpages.ubuntu.com/manpages/resolute/man1/stress-ng.1.html#f --fork], [https://manpages.ubuntu.com/manpages/resolute/man1/stress-ng.1.html#pthread --pthread] ==Scheduler== The ''{{w|Scheduling_(computing)#Linux|scheduler}}'' is the part of the operating system that decides which process runs at a certain point in time. It usually has the ability to pause a running process, move it to the back of the running queue and start a new process. Active processes are placed in an array called a ''{{w|run queue}}'', or ''runqueue'' - {{The Linux Kernel/id|rq}}. The run queue may contain priority values for each process, which will be used by the scheduler to determine which process to run next. To ensure each program has a fair share of resources, each one is run for some time period (quantum) before it is paused and placed back into the run queue. When a program is stopped to let another run, the program with the highest priority in the run queue is then allowed to execute. Processes are also removed from the run queue when they ask to ''sleep'', are waiting on a resource to become available, or have been terminated. Since version 6.6 the Linux kernel uses the {{w|Earliest eligible virtual deadline first scheduling}} (EEVDF) algorithm, which replaced the {{w|Completely Fair Scheduler}} (CFS). While much of the CFS infrastructure remains: {{The Linux Kernel/id|sched_entity}}, {{The Linux Kernel/id|cfs_rq}}, the red-black tree, load balancing, and {{The Linux Kernel/source|kernel/sched/fair.c}} &mdash; the task selection logic is fundamentally different. EEVDF is based on a classic scheduling algorithm originally designed for packet networks. The scheduler has a scheduling complexity of O(log N), where N is the number of tasks in the runqueue. Both picking and reinserting a task require O(log N) operations, because the run queue is implemented as a {{w|red–black tree}}. The runqueue ({{The Linux Kernel/id|cfs_rq}}) is implemented as a red-black tree representing a "timeline" of future task execution. The scheduler uses nanosecond granularity accounting and requires no heuristics or interactivity estimators. EEVDF improves sleeper fairness over CFS by tracking ''lag'' ({{The Linux Kernel/id|vlag}}) &mdash; the difference between the service a task was entitled to and the service it actually received. When a sleeping task wakes up, its lag determines eligibility, ensuring interactive tasks get prompt service without starving long-running tasks. The data structure used for the scheduling algorithm is a red-black tree in which the nodes are {{The Linux Kernel/id|sched_entity}} structures, embedded in {{The Linux Kernel/id|task_struct}}. With EEVDF, each task has a time slice ({{The Linux Kernel/id|sysctl_sched_base_slice}}, default 0.7ms) that determines its request length. EEVDF computes a virtual deadline for each task: vd_i = ve_i + r_i/w_i, where ve_i is the eligible time, r_i is the request size, and w_i is the weight (determined by nice value). The scheduler picks the eligible task with the earliest virtual deadline via {{The Linux Kernel/id|__pick_eevdf}}. The Linux kernel contains different scheduler classes (or policies). The EEVDF scheduler handles {{The Linux Kernel/id|SCHED_NORMAL}} (aka SCHED_OTHER). The kernel also contains two additional classes {{The Linux Kernel/id|SCHED_BATCH}} and {{The Linux Kernel/id|SCHED_IDLE}}, and another two real-time scheduling classes named {{The Linux Kernel/id|SCHED_FIFO}} (realtime first-in-first-out) and {{The Linux Kernel/id|SCHED_RR}} (realtime round-robin), with a third realtime scheduling policy known as {{The Linux Kernel/id|SCHED_DEADLINE}} that implements the {{w|Earliest deadline first scheduling|earliest deadline first algorithm (EDF)}} added later. Any realtime scheduler class takes precedence over any of the "normal" &mdash;i.e. non realtime&mdash; classes. The scheduler class is selected and configured through the {{The Linux Kernel/man|2|sched_setscheduler}} ↪ {{The Linux Kernel/id|do_sched_setscheduler}} system call. Properly balancing latency, throughput, and fairness in schedulers is an open problem.<ref name="malte" > Malte Skarupke. [https://probablydance.com/2019/12/30/measuring-mutexes-spinlocks-and-how-bad-the-linux-scheduler-really-is/ "Measuring Mutexes, Spinlocks and how Bad the Linux Scheduler Really is"]. </ref> ⚲ API : {{The Linux Kernel/man|1|renice}} &ndash; priority of running processes : {{The Linux Kernel/man|1|nice}} &ndash; run a program with modified scheduling priority : {{The Linux Kernel/man|1|chrt}} &ndash; manipulate the real-time attributes of a process :: {{The Linux Kernel/man|2|sched_getattr}} ↪ {{The Linux Kernel/id|sys_sched_getattr}} &ndash; get scheduling policy and attributes : {{The Linux Kernel/include|linux/sched.h}} &ndash; the main scheduler API :: {{The Linux Kernel/id|schedule}} : {{The Linux Kernel/man|2|getpriority}}, {{The Linux Kernel/man|2|setpriority}} : {{The Linux Kernel/man|2|sched_setscheduler}}, {{The Linux Kernel/man|2|sched_getscheduler}} : /sys/kernel/debug/sched/ &ndash; scheduler debugfs tuning directory :: features &ndash; toggle scheduler feature flags :: base_slice_ns &ndash; EEVDF base time slice (default 700000) :: migration_cost_ns &ndash; cost threshold for task migration between CPUs :: nr_migrate &ndash; max tasks to migrate per balancing pass :: debug &ndash; dump detailed scheduler state :: numa_balancing/ &ndash; NUMA balancing scan parameters ⚙️ Internals :{{The Linux Kernel/id|sched_init}} is called from {{The Linux Kernel/id|start_kernel}} : {{The Linux Kernel/id|__schedule}} is the main scheduler function. : {{The Linux Kernel/id|runqueues}}, {{The Linux Kernel/id|this_rq}} : {{The Linux Kernel/source|kernel/sched}} &ndash; scheduler subsystem : {{The Linux Kernel/source|kernel/sched/core.c}} &ndash; core scheduling logic : {{The Linux Kernel/source|kernel/sched/fair.c}} implements {{The Linux Kernel/id|SCHED_NORMAL}}, {{The Linux Kernel/id|SCHED_BATCH}}, {{The Linux Kernel/id|SCHED_IDLE}} :: {{The Linux Kernel/id|__pick_eevdf}} &ndash; core of EEVDF : {{The Linux Kernel/id|sched_setscheduler}}, {{The Linux Kernel/id|sched_getscheduler}} : {{The Linux Kernel/id|task_struct}}::{{The Linux Kernel/id|rt_priority}} and other members with less unique identifiers 🔨 [https://manpages.ubuntu.com/manpages/resolute/man1/stress-ng.1.html#schedpolicy stress-ng --schedpolicy] 🛠️ Utilities : {{The Linux Kernel/man|1|pidstat}} : {{The Linux Kernel/man|1|pcp-pidstat}} : {{The Linux Kernel/man|1|perf-sched}} : [https://opensource.googleblog.com/2019/10/understanding-scheduling-behavior-with.html Understanding Scheduling Behavior with SchedViz] 📖 References : {{The Linux Kernel/man|7|sched}} : {{The Linux Kernel/doc|Scheduling|scheduler}} :: {{The Linux Kernel/doc|EEVDF Scheduler|scheduler/sched-eevdf.html}} ::: [https://lwn.net/Kernel/Index/#Scheduler-EEVDF An EEVDF CPU scheduler for Linux LWN] : {{The Linux Kernel/doc|Delaying and scheduling routines|driver-api/basics.html#delaying-and-scheduling-routines}} : CFS :: {{The Linux Kernel/doc|Completely Fair Scheduler|scheduler/sched-design-CFS.html}} :: {{The Linux Kernel/doc|CFS Bandwidth Control|scheduler/sched-bwc.html}} :: [[The Linux Kernel/System/CGroup v2#CPU|CPU cgroup controller]] :: {{The Linux Kernel/doc|CPU cgroup interface files|admin-guide/cgroup-v2.html#cpu-interface-files}} :: [https://lwn.net/Kernel/Index/#Scheduler-Completely_fair_scheduler Completely fair scheduler LWN] :: [https://documentation.suse.com/sles/15-SP1/html/SLES-all/cha-tuning-taskscheduler.html Tuning the task scheduler] :: [https://home.robusta.dev/blog/stop-using-cpu-limits stop using CPU limits on Kubernetes] : {{The Linux Kernel/doc|Deadline Task Scheduler|scheduler/sched-deadline.html}} : {{The Linux Kernel/ltp|kernel|sched}} : {{The Linux Kernel/ltp|kernel/syscalls|sched_setparam}} : {{The Linux Kernel/ltp|kernel/syscalls|sched_getscheduler}} : {{The Linux Kernel/ltp|kernel/syscalls|sched_setscheduler}} 📚 Further reading about the scheduler : [https://github.com/iovisor/bpftrace/blob/master/docs/tutorial_one_liners.md#lesson-10-scheduler-tracing Scheduler tracing] : [https://github.com/iovisor/bcc/blob/master/README.md#cpu-and-scheduler-tools bcc/ebpf CPU and scheduler tools] === Preemption === Preemption refers to the ability of the system to interrupt a running task to switch to another task. This is essential for ensuring that high-priority tasks receive the necessary CPU time and for improving the system's responsiveness. In Linux, preemption models define how and when the kernel can preempt tasks. Different models offer varying trade-offs between system responsiveness and throughput. 📖 References : {{The Linux Kernel/doc|Proper Locking Under a Preemptible Kernel|locking/preempt-locking.html}} :: {{The Linux Kernel/id|preempt_enable}} &ndash; decrement the preempt counter :: {{The Linux Kernel/id|preempt_disable}} &ndash; increment the preempt counter :: {{The Linux Kernel/id|preempt_enable_no_resched}} &ndash; decrement, but do not immediately preempt :: {{The Linux Kernel/id|preempt_check_resched}} &ndash; if needed, reschedule :: {{The Linux Kernel/id|preempt_count}} &ndash; return the preempt counter : {{The Linux Kernel/source|kernel/Kconfig.preempt}} &ndash; preemption model configuration :: {{The Linux Kernel/id|CONFIG_PREEMPT_NONE}} &ndash; no forced preemption for servers :: {{The Linux Kernel/id|CONFIG_PREEMPT_VOLUNTARY}} &ndash; voluntary preemption for desktops :: {{The Linux Kernel/id|CONFIG_PREEMPT}} &ndash; preemptible except for critical sections for low-latency desktops :: {{The Linux Kernel/id|CONFIG_PREEMPT_RT}} &ndash; real-time preemption for [[Embedded_Systems/Linux#Real-time|highly responsive applications]] :: {{The Linux Kernel/id|CONFIG_PREEMPT_DYNAMIC}} &ndash; allows runtime switching of preemption model ::: /sys/kernel/debug/sched/preempt &ndash; shows and controls the active preemption model === sched_ext === Since version 6.12 the kernel supports {{The Linux Kernel/id|SCHED_EXT}} &mdash; an extensible scheduler class whose behavior is defined by a set of {{w|eBPF}} programs. Any scheduling algorithm can be implemented on top of sched_ext, loaded and unloaded dynamically at runtime. The system integrity is maintained no matter what the BPF scheduler does: the default scheduling behavior is restored on error or when a runnable task stalls. ⚙️ Internals : {{The Linux Kernel/id|CONFIG_SCHED_CLASS_EXT}} : {{The Linux Kernel/source|kernel/sched/ext.c}} &ndash; extensible BPF scheduler class : {{The Linux Kernel/id|sched_ext_ops}} &ndash; BPF scheduler operations : {{The Linux Kernel/id|sched_ext_entity}} &ndash; per-task sched_ext data, embedded in {{The Linux Kernel/id|task_struct}} 👁 Examples : {{The Linux Kernel/source|tools/sched_ext}} &ndash; in-tree example BPF schedulers 📖 References : {{The Linux Kernel/doc|Extensible Scheduler Class|scheduler/sched-ext.html}} : [https://github.com/sched-ext/scx sched-ext/scx] &ndash; production BPF schedulers : [https://lwn.net/Kernel/Index/#Scheduler-BPF Scheduler BPF LWN] === Energy Aware Scheduling === 🚀 advanced topic Since version 5.0, Energy Aware Scheduling (EAS) gives the scheduler the ability to predict the impact of its decisions on the energy consumed by CPUs. EAS relies on an Energy Model (EM) to select an energy efficient CPU for each task, with minimal impact on throughput. EAS operates only on heterogeneous CPU topologies (such as ARM {{w|big.LITTLE}}) where the potential for energy savings is highest. ⚲ API : /proc/sys/kernel/sched_energy_aware &ndash; enable or disable EAS : {{The Linux Kernel/include|linux/energy_model.h}} :: {{The Linux Kernel/id|em_perf_domain}} &ndash; performance domain descriptor :: {{The Linux Kernel/id|em_cpu_get}} &ndash; get the EM for a given CPU ⚙️ Internals : {{The Linux Kernel/id|CONFIG_ENERGY_MODEL}} : {{The Linux Kernel/id|find_energy_efficient_cpu}} &ndash; find most energy-efficient target CPU for a waking task : {{The Linux Kernel/source|kernel/power/energy_model.c}} &ndash; CPU energy model framework 📖 References : {{The Linux Kernel/doc|Energy Aware Scheduling|scheduler/sched-energy.html}} : {{The Linux Kernel/doc|Energy Model of devices|power/energy-model.html}} === Wait queues === A ''wait queue'' in the kernel is a data structure that allows one or more processes to wait (sleep) until something of interest happens. They are used throughout the kernel to wait for available memory, I/O completion, message arrival, and many other things. In the early days of Linux, a wait queue was a simple list of waiting processes, but various scalability problems (including the {{w|thundering herd problem}}) have led to the addition of a fair amount of complexity since then. ⚲ API {{The Linux Kernel/include|linux/wait.h}} {{The Linux Kernel/id|wait_queue_head}} consists of double linked list of {{The Linux Kernel/id|wait_queue_entry}} and a spinlock. Waiting for simple events: : Use one of two methods for {{The Linux Kernel/id|wait_queue_head}} initialization: :: {{The Linux Kernel/id|init_waitqueue_head}} initializes {{The Linux Kernel/id|wait_queue_head}} in function context :: {{The Linux Kernel/id|DECLARE_WAIT_QUEUE_HEAD}} - actually defines {{The Linux Kernel/id|wait_queue_head}} in global context : Wait alternatives: :: {{The Linux Kernel/id|wait_event_interruptible}} - preferable wait :: {{The Linux Kernel/id|wait_event_interruptible_timeout}} :: {{The Linux Kernel/id|wait_event}} - uninterruptible wait. Can cause deadlock ⚠ : {{The Linux Kernel/id|wake_up}} etc 👁 For example usage see references to unique {{The Linux Kernel/id|suspend_queue}}. Explicit use of add_wait_queue instead of simple wait_event for complex cases: : {{The Linux Kernel/id|DECLARE_WAITQUEUE}} actually defines wait_queue_entry with {{The Linux Kernel/id|default_wake_function}} : {{The Linux Kernel/id|add_wait_queue}} inserts process in the first position of a wait queue : {{The Linux Kernel/id|remove_wait_queue}} ⚙️ Internals : {{The Linux Kernel/id|___wait_event}} : {{The Linux Kernel/id|__add_wait_queue}} : {{The Linux Kernel/id|__wake_up_common}}, {{The Linux Kernel/id|try_to_wake_up}} : {{The Linux Kernel/source|kernel/sched/wait.c}} &ndash; wait queue implementation Simple wait queues &ndash; simplified version with raw spinlock, suitable for RT and restricted contexts: : {{The Linux Kernel/include|linux/swait.h}} :: {{The Linux Kernel/id|swait_queue_head}}, {{The Linux Kernel/id|swait_queue}} : {{The Linux Kernel/source|kernel/sched/swait.c}} &ndash; simple wait queue implementation 📖 References : {{The Linux Kernel/doc|Wait queues and Wake events|driver-api/basics.html#wait-queues-and-wake-events}} === Real-time === {{:The Linux Kernel/Multitasking/Real-time}} == Synchronization == Thread {{w|Synchronization (computer science)|synchronization}} is defined as a mechanism which ensures that two or more concurrent processes or threads do not simultaneously execute some particular program segment known as {{w|mutual exclusion}} (mutex). When one thread starts executing the critical section (serialized segment of the program) the other thread should wait until the first thread finishes. If proper synchronization techniques are not applied, it may cause a race condition where, the values of variables may be unpredictable and vary depending on the timings of context switches of the processes or threads. === User space synchronization === ==== POSIX Timers ==== ⚲ APIs : {{The Linux Kernel/man|2|timer_create}} – creates a POSIX timer : {{The Linux Kernel/man|2|timer_settime}} – starts or modifies a timer : {{The Linux Kernel/man|2|timer_gettime}} – retrieves the remaining time of a timer : {{The Linux Kernel/man|2|timer_delete}} – deletes a POSIX timer : {{The Linux Kernel/man|2|clock_nanosleep}} – suspends execution for a specified time ⚙️ Internals : {{The Linux Kernel/include|linux/posix-timers.h}} : {{The Linux Kernel/source|kernel/time/itimer.c}} &ndash; interval timer (setitimer/getitimer) : {{The Linux Kernel/source|kernel/time/posix-timers.c}} &ndash; POSIX clock and timer operations : {{The Linux Kernel/source|kernel/time/posix-cpu-timers.c}} &ndash; per-process/thread CPU timers :: {{The Linux Kernel/id|posix_cpu_timer_set}} – function setting up CPU timers ==== Futex ==== A {{The Linux Kernel/man|2|futex}} ↪ {{The Linux Kernel/id|do_futex}} (short for "Fast User space muTex") is a kernel system call that programmers can use to implement basic locking, or as a building block for higher-level locking abstractions such as semaphores and POSIX mutexes or condition variables. A futex consists of a kernel space ''wait queue'' that is attached to an aligned integer in user space. Multiple processes or threads operate on the integer entirely in user space (using atomic operations to avoid interfering with one another), and only resort to relatively expensive system calls to request operations on the wait queue (for example to wake up waiting processes, or to put the current process on the wait queue). A properly programmed futex-based lock will not use system calls except when the lock is contended; since most operations do not require arbitration between processes, this will not happen in most cases. The basic operations of futexes are based on only two central operations {{The Linux Kernel/id|futex_wait}} and {{The Linux Kernel/id|futex_wake}} though implementation has more operations for more specialized cases. : WAIT (''addr'', ''val'') checks if the value stored at the address ''addr'' is ''val'', and if it is puts the current thread to sleep. : WAKE (''addr'', ''val'') wakes up ''val'' number of threads waiting on the address ''addr''. ⚲ API : {{The Linux Kernel/include|uapi/linux/futex.h}} : {{The Linux Kernel/include|linux/futex.h}} ⚙️ Internals: {{The Linux Kernel/source|kernel/futex}} 🔨 [https://manpages.ubuntu.com/manpages/resolute/man1/stress-ng.1.html#futex stress-ng --futex] 📖 References : {{w|Futex}} : {{The Linux Kernel/man|7|futex}} : {{The Linux Kernel/doc|Futex API reference|kernel-hacking/locking.html#futex-api-reference}} : {{The Linux Kernel/ltp|kernel/syscalls|futex}} ==== File locking ==== ⚲ API: {{The Linux Kernel/man|2|flock}} ==== Semaphore ==== 💾 ''History: Semaphore is part of System V IPC {{The Linux Kernel/man|7|sysvipc}}'' ⚲ API : {{The Linux Kernel/man|2|semget}} : {{The Linux Kernel/man|2|semctl}} : {{The Linux Kernel/man|2|semop}} ⚙️ Internals: {{The Linux Kernel/source|ipc/sem.c}} 🔨 [https://manpages.ubuntu.com/manpages/resolute/man1/stress-ng.1.html#sem stress-ng --sem] === Kernel space synchronization === For kernel mode synchronization Linux provides three categories of locking primitives: sleeping, per CPU local locks and spinning locks. ==== Read-Copy-Update ==== Common mechanism to solve the readers–writers problem is the {{w|read-copy-update}} (''RCU'') algorithm. Read-copy-update implements a kind of mutual exclusion that is wait-free (non-blocking) for readers, allowing extremely low overhead. However, RCU updates can be expensive, as they must leave the old versions of the data structure in place to accommodate pre-existing readers. ⚲ The core API in {{The Linux Kernel/include|linux/rcupdate.h}} is quite small: : {{The Linux Kernel/id|rcu_read_lock}} marks an RCU-protected data structure so that it won't be reclaimed for the full duration of that critical section. : {{The Linux Kernel/id|rcu_read_unlock}} is used by a reader to inform the reclaimer that the reader is exiting an RCU read-side critical section. Note that RCU read-side critical sections may be nested and/or overlapping. : {{The Linux Kernel/id|synchronize_rcu}} blocks until all pre-existing RCU read-side critical sections on all CPUs have completed. Note that <code>synchronize_rcu</code> will ''not'' necessarily wait for any subsequent RCU read-side critical sections to complete. For example, consider the following sequence of events: {| class="wikitable" ! !CPU 0 !CPU 1 !CPU 2 |- |1. |rcu_read_lock() | | |- |2. | |enters synchronize_rcu() | |- |3. | | | rcu_read_lock() |- |4. |rcu_read_unlock() | | |- |5. | |exits synchronize_rcu() | |- |6. | | |rcu_read_unlock() |} [[File:Rcu api.jpg|thumb|upright=2|RCU API communications between the reader, updater, and reclaimer]] :Since <code>synchronize_rcu</code> is the API that must figure out when readers are done, its implementation is key to RCU. For RCU to be useful in all but the most read-intensive situations, <code>synchronize_rcu</code>'s overhead must also be quite small. :Alternatively, instead of blocking, synchronize_rcu may register a callback to be invoked after all ongoing RCU read-side critical sections have completed. This callback variant is called {{The Linux Kernel/id|call_rcu}} in the Linux kernel. : {{The Linux Kernel/id|rcu_assign_pointer}} - The updater uses this function to assign a new value to an RCU-protected pointer, in order to safely communicate the change in value from the updater to the reader. This function returns the new value, and also executes any {{w|Memory barrier}} instructions required for a given CPU architecture. Perhaps more importantly, it serves to document which pointers are protected by RCU. : {{The Linux Kernel/id|rcu_dereference}} - The reader uses this function to fetch an RCU-protected pointer, which returns a value that may then be safely dereferenced. It also executes any directives required by the compiler or the CPU, for example, a volatile cast for gcc, a memory_order_consume load for C/C++11 or the memory-barrier instruction required by the old DEC Alpha CPU. The value returned by <code>rcu_dereference</code> is valid only within the enclosing RCU read-side critical section. As with <code>rcu_assign_pointer</code>, an important function of <code>rcu_dereference</code> is to document which pointers are protected by RCU. The RCU infrastructure observes the time sequence of <code>rcu_read_lock</code>, <code>rcu_read_unlock</code>, <code>synchronize_rcu</code>, and <code>call_rcu</code> invocations in order to determine when (1) <code>synchronize_rcu</code> invocations may return to their callers and (2) <code>call_rcu</code> callbacks may be invoked. Efficient implementations of the RCU infrastructure make heavy use of batching in order to amortize their overhead over many uses of the corresponding APIs. ⚲ API : [https://www.kernel.org/doc/Documentation/admin-guide/kernel-parameters.txt#:~:text=rcu_nocbs%5B rcu_nocbs] &ndash; no-callback CPUs : {{The Linux Kernel/include|linux/rcupdate.h}} : {{The Linux Kernel/include|linux/rculist.h}} &ndash; RCU-protected linked list operations ⚙️ Internals : {{The Linux Kernel/source|kernel/rcu}} &ndash; read-copy-update implementation 📖 References : {{The Linux Kernel/doc|Avoiding Locks: Read Copy Update|kernel-hacking/locking.html?#avoiding-locks-read-copy-update}} : {{The Linux Kernel/doc|RCU concepts|RCU}} : [https://0xax.gitbooks.io/linux-insides/content/Initialization/linux-initialization-9.html RCU initialization] 📚 Further reading : [https://lpc.events/event/18/contributions/1906/attachments/1590/3302/LPC-2024-Vienna.pdf Reduce synchronize_rcu() latency] ==== Sleeping locks ==== ===== Mutexes ===== ⚲ API : {{The Linux Kernel/include|linux/mutex.h}} : {{The Linux Kernel/include|linux/completion.h}} : {{The Linux Kernel/id|mutex}} has owner and usage constraints, easier to debug than semaphore :: {{The Linux Kernel/id|rt_mutex}} blocking mutual exclusion locks with priority inheritance (PI) support :: {{The Linux Kernel/id|ww_mutex}} Wound/Wait mutexes: blocking mutual exclusion locks with deadlock avoidance : {{The Linux Kernel/id|rw_semaphore}} readers–writer semaphores : {{The Linux Kernel/id|percpu_rw_semaphore}} : {{The Linux Kernel/id|completion}} - use completion for synchronization task with ISR and task or two tasks. :: {{The Linux Kernel/id|wait_for_completion}} :: {{The Linux Kernel/id|complete}} 🔨 [https://manpages.ubuntu.com/manpages/resolute/man1/stress-ng.1.html#mutex stress-ng --mutex] 💾 ''Historical'' : {{The Linux Kernel/id|semaphore}} - use mutex instead semaphore if possible : {{The Linux Kernel/include|linux/semaphore.h}} : {{The Linux Kernel/include|linux/rwsem.h}} 📖 References : {{The Linux Kernel/doc|Completions - “wait for completion” barrier APIs|scheduler/completion.html}} : {{The Linux Kernel/doc|Mutex API reference|kernel-hacking/locking.html#mutex-api-reference}} : [http://lwn.net/Articles/23993/ LWN: completion events] ==== per CPU local lock ==== On normal preemptible kernel local_lock calls {{The Linux Kernel/id|preempt_disable}}. On RT preemptible kernel local_lock calls {{The Linux Kernel/id|migrate_disable}} and {{The Linux Kernel/id|spin_lock}}. Any changes applied to spinlock_t also apply to local_lock. ⚲ API : {{The Linux Kernel/include|linux/local_lock.h}} :: {{The Linux Kernel/id|local_lock}}, {{The Linux Kernel/id|preempt_disable}} :: {{The Linux Kernel/id|local_lock_irqsave}}, {{The Linux Kernel/id|local_irq_save}} :: etc 📖 References : {{The Linux Kernel/doc|local_lock|locking/locktypes.html#local-lock}} : {{The Linux Kernel/doc|PREEMPT_RT caveats: spinlock_t, rwlock_t, migrate_disable and local_lock|locking/locktypes.html#spinlock-t-and-rwlock-t}} : {{The Linux Kernel/doc|Proper locking under a preemptive kernel|locking/preempt-locking.html}} : [https://lwn.net/Articles/828477/ Local locks in the kernel] ==== Spinning locks ==== ===== {{w|Spinlock}}s ===== a ''spinlock'' is a lock which causes a thread trying to acquire it to simply wait in a loop ("spin") while repeatedly checking if the lock is available. Since the thread remains active but is not performing a useful task, the use of such a lock is a kind of busy waiting. Once acquired, spinlocks will usually be held until they are explicitly released, although in some implementations they may be automatically released if the thread being waited on (that which holds the lock) blocks, or "goes to sleep". Spinlocks are commonly used inside kernels because they are efficient if threads are likely to be blocked for only short periods. However, spinlocks become wasteful if held for longer durations, as they may prevent other threads from running and require rescheduling. 👁 For example {{The Linux Kernel/id|kobj_kset_join}} uses spinlock to protect assess to the linked list. Enabling and disabling of kernel preemption replaced spinlocks on uniprocessor systems (disabled {{The Linux Kernel/id|CONFIG_SMP}}). Most spinning locks becoming sleeping locks in the {{The Linux Kernel/id|CONFIG_PREEMPT_RT}} kernels. ⚲ API : {{The Linux Kernel/include|linux/spinlock.h}} :: {{The Linux Kernel/id|spinlock_t}} :: {{The Linux Kernel/id|raw_spinlock_t}} : {{The Linux Kernel/include|linux/bit_spinlock.h}} :: {{The Linux Kernel/id|bit_spin_lock}} 📖 References : [https://0xax.gitbooks.io/linux-insides/content/SyncPrim/linux-sync-1.html Introduction to spinlocks] : [https://0xax.gitbooks.io/linux-insides/content/SyncPrim/linux-sync-2.html Queued spinlocks] ===== {{w|Seqlock}}s ===== A ''seqlock'' (short for "sequential lock") is a special locking mechanism used in Linux for supporting fast writes of shared variables between two parallel operating system routines. It is a special solution to the readers–writers problem when the number of writers is small. It is a reader-writer consistent mechanism which avoids the problem of writer starvation. A {{The Linux Kernel/id|seqlock_t}} consists of storage for saving a sequence counter {{The Linux Kernel/id|seqcount_t}}/seqcount_spinlock_t in addition to a lock. The lock is to support synchronization between two writers and the counter is for indicating consistency in readers. In addition to updating the shared data, the writer increments the sequence counter, both after acquiring the lock and before releasing the lock. Readers read the sequence counter before and after reading the shared data. If the sequence counter is odd on either occasion, a writer had taken the lock while the data was being read and it may have changed. If the sequence counters are different, a writer has changed the data while it was being read. In either case readers simply retry (using a loop) until they read the same even sequence counter before and after. ⚲ API : {{The Linux Kernel/id|seqlock_t}} :: {{The Linux Kernel/id|DEFINE_SEQLOCK}}, {{The Linux Kernel/id|seqlock_init}}, {{The Linux Kernel/id|read_seqlock_excl}}, {{The Linux Kernel/id|write_seqlock}} : {{The Linux Kernel/id|seqcount_t}} :: {{The Linux Kernel/id|seqcount_init}}, {{The Linux Kernel/id|read_seqcount_begin}}, {{The Linux Kernel/id|read_seqcount_retry}}, {{The Linux Kernel/id|write_seqcount_begin}}, {{The Linux Kernel/id|write_seqcount_end}} : {{The Linux Kernel/include|linux/seqlock.h}} 👁 Example: {{The Linux Kernel/id|mount_lock}}, defined in {{The Linux Kernel/source|fs/namespace.c}} 📖 References : {{The Linux Kernel/doc|Sequence counters and sequential locks|locking/seqlock.html}} : [https://0xax.gitbooks.io/linux-insides/content/SyncPrim/linux-sync-6.html SeqLock] ==== Spinning or sleeping locks ==== :{| class="wikitable" ! !! normal !! on preempt RT |- | spinlock_t, || raw_spinlock_t || rt_mutex_base, rt_spin_lock, sleeping |- | rwlock_t || spinning || sleeping |- | local_lock || preempt_disable|| migrate_disable, rt_spin_lock, sleeping |} ==== Low level ==== The compiler might optimize away or reorder writes to variables leading to unexpected behavior when variables are accessed concurrently by multiple threads. ⚲ API : {{The Linux Kernel/include|asm-generic/rwonce.h}} &ndash; prevent the compiler from merging or refetching reads or writes. : {{The Linux Kernel/include|linux/compiler.h}} :: {{The Linux Kernel/id|barrier}} &ndash; prevents the compiler from reordering instructions around the barrier : {{The Linux Kernel/include|asm-generic/barrier.h}} &ndash; generic barrier definitions : {{The Linux Kernel/source|arch/x86/include/asm/barrier.h}} &ndash; force strict CPU ordering :: {{The Linux Kernel/id|mb}} &ndash; ensures that all memory operations before the barrier are completed before any memory operations after the barrier are started ⚙️ Internals : {{The Linux Kernel/doc|Atomics|driver-api/basics.html#atomics}} :: {{The Linux Kernel/include|linux/atomic.h}} &ndash; atomic operations wrapper :: {{The Linux Kernel/include|asm-generic/atomic.h}} :: {{The Linux Kernel/include|linux/atomic/atomic-instrumented.h}} ::: {{The Linux Kernel/id|atomic_dec_and_test}} ... 📚 Further reading : {{w|Volatile_(computer_programming)#In_C_and_C++|volatile}} &ndash; prevents the compiler from optimizations : {{w|Memory barrier}} &ndash; enforces an ordering constraint on memory operations 🔨 [https://manpages.ubuntu.com/manpages/resolute/man1/stress-ng.1.html#Lock stress-ng --lockbus] ==== ... ==== ⚙️ Locking internals : {{The Linux Kernel/include|linux/lockdep.h}} &ndash; runtime locking correctness validator : {{The Linux Kernel/include|linux/debug_locks.h}} : {{The Linux Kernel/source|lib/locking-selftest.c}} &ndash; locking correctness self-tests : {{The Linux Kernel/source|kernel/locking}} &ndash; locking primitives : {{The Linux Kernel/id|mutex_waiter}}, {{The Linux Kernel/id|timer_list}}, {{The Linux Kernel/id|wait_queue_head_t}} :: {{The Linux Kernel/source|kernel/locking/locktorture.c}} &ndash; module-based torture test facility for locking 📖 Locking references : {{The Linux Kernel/doc|locking|locking}} :: {{The Linux Kernel/doc|Lock types and their rules|locking/locktypes.html}} ::: 😴 {{The Linux Kernel/doc|sleeping locks|locking/locktypes.html#sleeping-locks}} :::: {{The Linux Kernel/id|mutex}}, {{The Linux Kernel/id|rt_mutex}}, {{The Linux Kernel/id|semaphore}}, {{The Linux Kernel/id|rw_semaphore}}, {{The Linux Kernel/id|ww_mutex}}, {{The Linux Kernel/id|percpu_rw_semaphore}} :::: on preempt RT: local_lock, spinlock_t, rwlock_t ::: 😵‍💫 {{The Linux Kernel/doc|spinning locks|locking/locktypes.html#spinning-locks}}: :::: raw_spinlock_t, bit spinlocks :::: on non preempt RT: spinlock_t, rwlock_t : {{The Linux Kernel/doc|Unreliable Guide To Locking|kernel-hacking/locking.html}} : [https://sysprog21.github.io/lkmpg/#synchronization LKMPG: Synchronization] : [https://0xax.gitbooks.io/linux-insides/content/SyncPrim/ Synchronization primitives] === Time === ⚲ UAPI : {{The Linux Kernel/include|uapi/linux/time.h}} :: {{The Linux Kernel/id|timespec}} &ndash; nanosecond resolution :: {{The Linux Kernel/id|timeval}} &ndash; microsecond resolution :: {{The Linux Kernel/id|timezone}} :: ... : {{The Linux Kernel/include|uapi/linux/time_types.h}} :: {{The Linux Kernel/id|__kernel_timespec}} &ndash; nanosecond resolution, used in syscalls :: ... ⚲ API : {{The Linux Kernel/include|linux/delay.h}} &ndash; busy-wait delay functions for timing control : {{The Linux Kernel/include|linux/sched/clock.h}} :: {{The Linux Kernel/id|sched_clock}} :: ... : {{The Linux Kernel/include|linux/time.h}} :: {{The Linux Kernel/id|tm}} :: {{The Linux Kernel/id|get_timespec64}} :: ... : {{The Linux Kernel/include|linux/ktime.h}} :: {{The Linux Kernel/id|ktime_t}} &ndash; nanosecond scalar representation for kernel time values :: {{The Linux Kernel/id|ktime_sub}} :: ... : {{The Linux Kernel/include|linux/timekeeping.h}} :: {{The Linux Kernel/id|ktime_get}}, {{The Linux Kernel/id|ktime_get_ns}} :: {{The Linux Kernel/id|ktime_get_real}} :: ... : {{The Linux Kernel/include|linux/time64.h}} :: {{The Linux Kernel/id|timespec64}} :: {{The Linux Kernel/id|time64_t}} :: {{The Linux Kernel/id|ns_to_timespec64}} :: {{The Linux Kernel/id|timespec64_sub}} :: {{The Linux Kernel/id|ktime_to_timespec64}} :: ... : {{The Linux Kernel/include|uapi/linux/rtc.h}} : {{The Linux Kernel/include|linux/jiffies.h}} ⚙️ Internals : {{The Linux Kernel/source|kernel/time}} &ndash; timekeeping, timers and clocks : {{The Linux Kernel/id|timekeeper}} &ndash; central timekeeping state :: {{The Linux Kernel/id|tkr_mono}} &ndash; monotonic clock, frequency corrected by NTP for accurate real-world seconds ::: {{The Linux Kernel/man|8|chronyd}} → {{The Linux Kernel/man|2|adjtimex}} ↪ {{The Linux Kernel/id|sys_adjtimex}} :: {{The Linux Kernel/id|tkr_raw}} &ndash; raw monotonic clock, no NTP correction, drifts with crystal error : {{The Linux Kernel/id|update_wall_time}} ← {{The Linux Kernel/id|tick_periodic}} → {{The Linux Kernel/id|timekeeping_advance}} (blocks readers with {{The Linux Kernel/id|write_seqcount_begin}}): :: {{The Linux Kernel/id|tk_clock_read}} &ndash; reads clocksource hardware :: {{The Linux Kernel/id|logarithmic_accumulation}} &ndash; accumulates ticks in doubling steps (efficient for NO_HZ) :: {{The Linux Kernel/id|timekeeping_adjust}} &ndash; corrects mult to steer toward NTP frequency :: {{The Linux Kernel/id|accumulate_nsecs_to_secs}} &ndash; rolls nanoseconds into seconds :: {{The Linux Kernel/id|timekeeping_update_from_shadow}} &ndash; publishes shadow timekeeper to live ::: {{The Linux Kernel/id|update_vsyscall}} &ndash; copies time data to [[../Memory#vDSO|vDSO]] page for userspace {{The Linux Kernel/man|2|clock_gettime}} without syscall ::: {{The Linux Kernel/id|update_fast_timekeeper}} &ndash; NMI-safe copy via {{The Linux Kernel/id|write_seqcount_latch_begin}} (two copies, {{The Linux Kernel/id|ktime_get_mono_fast_ns}} and other ktime_get*_fast readers spin on {{The Linux Kernel/id|read_seqcount_latch_retry}}) : {{The Linux Kernel/id|ktime_get}} and all ktime_get* readers spin on {{The Linux Kernel/id|read_seqcount_retry}} until consistent : {{The Linux Kernel/id|ktime_get}} = {{The Linux Kernel/id|tkr_mono}}.base + {{The Linux Kernel/id|timekeeping_get_ns}} :: {{The Linux Kernel/id|timekeeping_get_ns}} → {{The Linux Kernel/id|tk_clock_read}}, {{The Linux Kernel/id|timekeeping_cycles_to_ns}} &ndash; converts cycles to ns (delta only, added to base by caller) ::: {{The Linux Kernel/id|tk_clock_read}} → {{The Linux Kernel/id|arch_inlined_clocksource_read}} → {{The Linux Kernel/id|rdtsc_ordered}} &ndash; x86 {{w|Time_Stamp_Counter|TSC}} fast path via static key : {{The Linux Kernel/id|timekeeping_get_ns}} and {{The Linux Kernel/id|rdtsc_ordered}} are safe to trace timekeeping (no seqcount), unlike {{The Linux Kernel/id|ktime_get}} which would block on {{The Linux Kernel/id|read_seqcount_retry}} 🔨 [https://manpages.ubuntu.com/manpages/resolute/man1/stress-ng.1.html#Timer stress-ng --timer], [https://manpages.ubuntu.com/manpages/resolute/man1/stress-ng.1.html#High --hrtimers] ==== {{w|Precision Time Protocol}} ==== PTP provides sub-microsecond clock synchronization over a network using hardware timestamping. ⚲ API : /sys/class/ptp/ &ndash; PTP hardware clock devices : [https://man.archlinux.org/man/ptp4l.8 ptp4l] &ndash; PTP boundary/ordinary clock daemon : [https://man.archlinux.org/man/phc2sys.8 phc2sys] &ndash; synchronize system clock to PTP hardware clock : {{The Linux Kernel/include|uapi/linux/ptp_clock.h}} ⚙️ Internals : {{The Linux Kernel/source|drivers/ptp}} &ndash; PTP hardware clock drivers 📖 References : {{The Linux Kernel/doc|PTP hardware clock infrastructure for Linux|driver-api/ptp.html}} : {{The Linux Kernel/doc|ktime accessors|core-api/timekeeping.html}} : {{The Linux Kernel/doc|Clock sources, Clock events, sched_clock() and delay timers|timers/timekeeping.html}} : {{The Linux Kernel/doc|Time and timer routines|driver-api/basics.html#time-and-timer-routines}} : {{w|Year 2038 problem}} {{:The Linux Kernel/Multitasking/CPU}} {{BookCat}} o9asomkj8uuuihr91kl5to7rp7rlggk 4654534 4654513 2026-07-15T10:17:42Z Conan 3188 RHEL scheduling policy tuning reference 4654534 wikitext text/x-wiki <noinclude>{{DISPLAYTITLE:Multitasking functionality}}</noinclude> {| style="width: 25%; float: right; text-align:center;border-spacing: 0; margin:auto;" cellpadding="5pc" ! bgcolor="#ffc" |multitasking |- | bgcolor="#eeb" |[[#Execution|execution]] |- | bgcolor="#dda" |[[#Threads_or_tasks|threads or tasks]] |- | bgcolor="#cc9" |[[#Synchronization|synchronization]] |- | bgcolor="#bb8" |[[#Scheduler|Scheduler]] |- | bgcolor="#aa8" |[[#Interrupts|interrupts core]] |- style="" | bgcolor="#997" |[[#CPU_specific|CPU specific]] |} Linux kernel is a preemptive {{w|Computer multitasking|multitasking}} operating system. As a multitasking OS, it allows multiple processes to share processors (CPUs) and other system resources. Each CPU executes a single task at a time. However, multitasking allows each processor to switch between tasks that are being executed without having to wait for each task to finish. For that, the kernel can, at any time, temporarily interrupt a task being carried out by the processor, and replace it by another task that can be new or a previously suspended one. The operation involving the swapping of the running task is called ''{{w|context switch}}''. == Execution == ⚲ API ↪ ⚙️ implementations {{The Linux Kernel/man|2|execve}} ↪ {{The Linux Kernel/id|do_execveat_common}} runs an executable file in the context of current process, replacing the previous executable. This system call is used by family of functions of libc {{The Linux Kernel/man|3|exec}}. The {{w|Executable and Linkable Format|ELF}} binary format is loaded by {{The Linux Kernel/source|fs/binfmt_elf.c}}. {{The Linux Kernel/man|2|clone}}. Clone creates a child process that may share parts of its execution context with the parent. It is often used to implement threads (though programmers will typically use a higher-level interface such as {{The Linux Kernel/man|7|pthreads}}, implemented on top of clone). {{The Linux Kernel/man|2|wait}} ↪ {{The Linux Kernel/id|kernel_waitid}} suspends the execution of the calling process until one of its child processes terminates. Syscall {{The Linux Kernel/man|2|getpid}} ↪ {{The Linux Kernel/id|task_tgid_vnr}} returns PID of the current process which internally is called TGID - thread group id. A process can contain many threads. {{The Linux Kernel/man|2|gettid}} ↪ {{The Linux Kernel/id|task_pid_vnr}} returns thread id. Which internally is historically called PID. ⚠️ Warning: confusion. User space PID ≠ kernel space PID. {{The Linux Kernel/man|1|ps}} -AF lists current processes and thread as {{w|Light-weight process|LWP}}. For a single thread process all these IDs are equal. High-resolution delays: : {{The Linux Kernel/man|2|nanosleep}} ↪ {{The Linux Kernel/id|sys_nanosleep}} :: {{The Linux Kernel/id|hrtimer_nanosleep}} : {{The Linux Kernel/man|2|clock_nanosleep}} ↪ {{The Linux Kernel/id|sys_clock_nanosleep}} Wait for a signal: : {{The Linux Kernel/man|2|pause}} ↪ {{The Linux Kernel/id|sys_pause}} : {{The Linux Kernel/man|2|sigsuspend}} ↪ {{The Linux Kernel/id|sys_sigsuspend}} 🔨 [https://manpages.ubuntu.com/manpages/resolute/man1/stress-ng.1.html#Swapcontext stress-ng --context], [https://manpages.ubuntu.com/manpages/resolute/man1/stress-ng.1.html#Context --switch] See [[The Linux Kernel/Processes|Processes]] for process creation and termination. === Inter-process communication === Inter-process communication (IPC) refers specifically to the mechanisms an operating system provides to allow processes it manages to share data. Methods for achieving IPC are divided into categories which vary based on software requirements, such as performance and modularity requirements, and system circumstances. Linux inherited from Unix the following IPC mechanisms: Signals (⚲ API ↪ ⚙️ implementations): : {{The Linux Kernel/man|2|kill}} sends signal to a process : {{The Linux Kernel/man|2|tgkill}} ↪ {{The Linux Kernel/id|do_tkill}} sends a signal to a thread : {{The Linux Kernel/man|2|process_vm_readv}} ↪ {{The Linux Kernel/id|process_vm_rw}} - zero-copy data transfer between process address spaces : {{The Linux Kernel/man|2|sigaction}} ↪ {{The Linux Kernel/id|do_sigaction}} &ndash; examine and change a signal action : {{The Linux Kernel/man|2|sigprocmask}} &ndash; examine and change blocked signals : {{The Linux Kernel/man|2|sigpending}} ↪ {{The Linux Kernel/id|do_sigpending}} &ndash; examine pending signals : {{The Linux Kernel/man|2|sigsuspend}} &ndash; wait for a signal : {{The Linux Kernel/man|2|sigaltstack}} &ndash; set or get signal stack context : {{The Linux Kernel/man|2|sigtimedwait}} ↪ {{The Linux Kernel/id|do_sigtimedwait}} &ndash; synchronously wait for queued signals : {{The Linux Kernel/man|7|signal}} &ndash; overview of signals : {{The Linux Kernel/include|linux/sched/signal.h}} &ndash; signal-related task accessors : {{The Linux Kernel/source|kernel/signal.c}} &ndash; signal delivery and handling : 🔨 [https://manpages.ubuntu.com/manpages/resolute/man1/stress-ng.1.html#Signal~2 stress-ng --sigq] : [[../Storage#Zero-copy|Anonymous pipes]] and named pipes (FIFOs) {{The Linux Kernel/man|2|mknod}} ↪ {{The Linux Kernel/id|do_mknodat}} {{The Linux Kernel/id|S_IFIFO}} : {{w|Express Data Path}} {{The Linux Kernel/id|PF_XDP}} : {{w|Unix domain socket}} {{The Linux Kernel/id|PF_UNIX}} : Memory-mapped files {{The Linux Kernel/man|2|mmap}} ⤑ {{The Linux Kernel/id|ksys_mmap_pgoff}} : {{The Linux Kernel/man|2|eventfd}} ↪ {{The Linux Kernel/id|do_eventfd}} &ndash; event notification via file descriptor : {{The Linux Kernel/man|2|signalfd}} ↪ {{The Linux Kernel/id|do_signalfd4}} &ndash; receive signals via file descriptor : {{The Linux Kernel/man|2|timerfd_create}} &ndash; timer notification via file descriptor : Sys V IPC: :: Message queues: {{The Linux Kernel/man|2|msgget}}, {{The Linux Kernel/man|2|msgsnd}}, {{The Linux Kernel/man|2|msgrcv}} ↪ {{The Linux Kernel/source|ipc/msg.c}} :: Semaphores :: Shared memory: {{The Linux Kernel/man|2|shmget}}, {{The Linux Kernel/man|2|shmctl}}, {{The Linux Kernel/man|2|shmat}}, {{The Linux Kernel/man|2|shmdt}} ↪ {{The Linux Kernel/source|ipc/shm.c}} : POSIX message queues: :: {{The Linux Kernel/man|7|mq_overview}}, {{The Linux Kernel/man|3|mq_open}}, {{The Linux Kernel/man|3|mq_send}}, {{The Linux Kernel/man|3|mq_receive}} ↪ {{The Linux Kernel/source|ipc/mqueue.c}} 🔨 [https://manpages.ubuntu.com/manpages/resolute/man1/stress-ng.1.html#mq --mq] 📖 References : {{w|Inter-process communication}} : {{The Linux Kernel/man|7|sysvipc}} == Threads or tasks == In Linux kernel "thread" and "task" are almost synonyms. ⚲ API : {{The Linux Kernel/include|linux/sched.h}} - the main scheduler API :: {{The Linux Kernel/id|task_struct}} : {{The Linux Kernel/source|arch/x86/include/asm/current.h}} &ndash; x86 current task pointer ::{{Linux ident|current}} and {{The Linux Kernel/id|get_current}} () return current {{The Linux Kernel/id|task_struct}} : {{The Linux Kernel/include|uapi/linux/taskstats.h}} per-task statistics : {{The Linux Kernel/include|linux/thread_info.h}} :: {{The Linux Kernel/id|current_thread_info}}() returns {{The Linux Kernel/id|thread_info}} :{{The Linux Kernel/include|linux/sched/task.h}} - interface between the scheduler and various task lifetime (fork()/exit()) functionality : {{The Linux Kernel/include|linux/kthread.h}} - simple interface for creating and stopping kernel threads without mess. :: {{The Linux Kernel/id|kthread_run}} creates and wakes a thread ::: {{The Linux Kernel/id|kthread_create}} ⚙️ Internals : {{The Linux Kernel/id|kthread_run}} ↯ hierarchy: : {{The Linux Kernel/source|kernel/kthread.c}} &ndash; kernel thread creation and management :: {{The Linux Kernel/id|kthreadd}} &ndash; parent kernel thread and the creator of all other kernel threads. Dequeues {{The Linux Kernel/id|kthread_create_info}} from {{The Linux Kernel/id|kthread_create_list}}. ::: {{The Linux Kernel/id|create_kthread}} :::: {{The Linux Kernel/id|kernel_thread}} :::: {{The Linux Kernel/id|kthread}} &ndash; invokes {{The Linux Kernel/id|threadfn}} :: {{The Linux Kernel/id|__kthread_create_on_node}} &ndash; enqueues {{The Linux Kernel/id|kthread_create_info}} into {{The Linux Kernel/id|kthread_create_list}} : {{The Linux Kernel/source|kernel/fork.c}} &ndash; process creation and cloning :: {{The Linux Kernel/id|kernel_thread}} ::: {{The Linux Kernel/id|kernel_clone}} 🔨 [https://manpages.ubuntu.com/manpages/resolute/man1/stress-ng.1.html#Clone stress-ng --clone], [https://manpages.ubuntu.com/manpages/resolute/man1/stress-ng.1.html#f --fork], [https://manpages.ubuntu.com/manpages/resolute/man1/stress-ng.1.html#pthread --pthread] ==Scheduler== The ''{{w|Scheduling_(computing)#Linux|scheduler}}'' is the part of the operating system that decides which process runs at a certain point in time. It usually has the ability to pause a running process, move it to the back of the running queue and start a new process. Active processes are placed in an array called a ''{{w|run queue}}'', or ''runqueue'' - {{The Linux Kernel/id|rq}}. The run queue may contain priority values for each process, which will be used by the scheduler to determine which process to run next. To ensure each program has a fair share of resources, each one is run for some time period (quantum) before it is paused and placed back into the run queue. When a program is stopped to let another run, the program with the highest priority in the run queue is then allowed to execute. Processes are also removed from the run queue when they ask to ''sleep'', are waiting on a resource to become available, or have been terminated. Since version 6.6 the Linux kernel uses the {{w|Earliest eligible virtual deadline first scheduling}} (EEVDF) algorithm, which replaced the {{w|Completely Fair Scheduler}} (CFS). While much of the CFS infrastructure remains: {{The Linux Kernel/id|sched_entity}}, {{The Linux Kernel/id|cfs_rq}}, the red-black tree, load balancing, and {{The Linux Kernel/source|kernel/sched/fair.c}} &mdash; the task selection logic is fundamentally different. EEVDF is based on a classic scheduling algorithm originally designed for packet networks. The scheduler has a scheduling complexity of O(log N), where N is the number of tasks in the runqueue. Both picking and reinserting a task require O(log N) operations, because the run queue is implemented as a {{w|red–black tree}}. The runqueue ({{The Linux Kernel/id|cfs_rq}}) is implemented as a red-black tree representing a "timeline" of future task execution. The scheduler uses nanosecond granularity accounting and requires no heuristics or interactivity estimators. EEVDF improves sleeper fairness over CFS by tracking ''lag'' ({{The Linux Kernel/id|vlag}}) &mdash; the difference between the service a task was entitled to and the service it actually received. When a sleeping task wakes up, its lag determines eligibility, ensuring interactive tasks get prompt service without starving long-running tasks. The data structure used for the scheduling algorithm is a red-black tree in which the nodes are {{The Linux Kernel/id|sched_entity}} structures, embedded in {{The Linux Kernel/id|task_struct}}. With EEVDF, each task has a time slice ({{The Linux Kernel/id|sysctl_sched_base_slice}}, default 0.7ms) that determines its request length. EEVDF computes a virtual deadline for each task: vd_i = ve_i + r_i/w_i, where ve_i is the eligible time, r_i is the request size, and w_i is the weight (determined by nice value). The scheduler picks the eligible task with the earliest virtual deadline via {{The Linux Kernel/id|__pick_eevdf}}. The Linux kernel contains different scheduler classes (or policies). The EEVDF scheduler handles {{The Linux Kernel/id|SCHED_NORMAL}} (aka SCHED_OTHER). The kernel also contains two additional classes {{The Linux Kernel/id|SCHED_BATCH}} and {{The Linux Kernel/id|SCHED_IDLE}}, and another two real-time scheduling classes named {{The Linux Kernel/id|SCHED_FIFO}} (realtime first-in-first-out) and {{The Linux Kernel/id|SCHED_RR}} (realtime round-robin), with a third realtime scheduling policy known as {{The Linux Kernel/id|SCHED_DEADLINE}} that implements the {{w|Earliest deadline first scheduling|earliest deadline first algorithm (EDF)}} added later. Any realtime scheduler class takes precedence over any of the "normal" &mdash;i.e. non realtime&mdash; classes. The scheduler class is selected and configured through the {{The Linux Kernel/man|2|sched_setscheduler}} ↪ {{The Linux Kernel/id|do_sched_setscheduler}} system call. Properly balancing latency, throughput, and fairness in schedulers is an open problem.<ref name="malte" > Malte Skarupke. [https://probablydance.com/2019/12/30/measuring-mutexes-spinlocks-and-how-bad-the-linux-scheduler-really-is/ "Measuring Mutexes, Spinlocks and how Bad the Linux Scheduler Really is"]. </ref> ⚲ API : {{The Linux Kernel/man|1|renice}} &ndash; priority of running processes : {{The Linux Kernel/man|1|nice}} &ndash; run a program with modified scheduling priority : {{The Linux Kernel/man|1|chrt}} &ndash; manipulate the real-time attributes of a process :: {{The Linux Kernel/man|2|sched_getattr}} ↪ {{The Linux Kernel/id|sys_sched_getattr}} &ndash; get scheduling policy and attributes : {{The Linux Kernel/include|linux/sched.h}} &ndash; the main scheduler API :: {{The Linux Kernel/id|schedule}} : {{The Linux Kernel/man|2|getpriority}}, {{The Linux Kernel/man|2|setpriority}} : {{The Linux Kernel/man|2|sched_setscheduler}}, {{The Linux Kernel/man|2|sched_getscheduler}} : /sys/kernel/debug/sched/ &ndash; scheduler debugfs tuning directory :: features &ndash; toggle scheduler feature flags :: base_slice_ns &ndash; EEVDF base time slice (default 700000) :: migration_cost_ns &ndash; cost threshold for task migration between CPUs :: nr_migrate &ndash; max tasks to migrate per balancing pass :: debug &ndash; dump detailed scheduler state :: numa_balancing/ &ndash; NUMA balancing scan parameters ⚙️ Internals :{{The Linux Kernel/id|sched_init}} is called from {{The Linux Kernel/id|start_kernel}} : {{The Linux Kernel/id|__schedule}} is the main scheduler function. : {{The Linux Kernel/id|runqueues}}, {{The Linux Kernel/id|this_rq}} : {{The Linux Kernel/source|kernel/sched}} &ndash; scheduler subsystem : {{The Linux Kernel/source|kernel/sched/core.c}} &ndash; core scheduling logic : {{The Linux Kernel/source|kernel/sched/fair.c}} implements {{The Linux Kernel/id|SCHED_NORMAL}}, {{The Linux Kernel/id|SCHED_BATCH}}, {{The Linux Kernel/id|SCHED_IDLE}} :: {{The Linux Kernel/id|__pick_eevdf}} &ndash; core of EEVDF : {{The Linux Kernel/id|sched_setscheduler}}, {{The Linux Kernel/id|sched_getscheduler}} : {{The Linux Kernel/id|task_struct}}::{{The Linux Kernel/id|rt_priority}} and other members with less unique identifiers 🔨 [https://manpages.ubuntu.com/manpages/resolute/man1/stress-ng.1.html#schedpolicy stress-ng --schedpolicy] 🛠️ Utilities : {{The Linux Kernel/man|1|pidstat}} : {{The Linux Kernel/man|1|pcp-pidstat}} : {{The Linux Kernel/man|1|perf-sched}} : [https://opensource.googleblog.com/2019/10/understanding-scheduling-behavior-with.html Understanding Scheduling Behavior with SchedViz] 📖 References : {{The Linux Kernel/man|7|sched}} : {{The Linux Kernel/doc|Scheduling|scheduler}} :: {{The Linux Kernel/doc|EEVDF Scheduler|scheduler/sched-eevdf.html}} ::: [https://lwn.net/Kernel/Index/#Scheduler-EEVDF An EEVDF CPU scheduler for Linux LWN] : {{The Linux Kernel/doc|Delaying and scheduling routines|driver-api/basics.html#delaying-and-scheduling-routines}} : CFS :: {{The Linux Kernel/doc|Completely Fair Scheduler|scheduler/sched-design-CFS.html}} :: {{The Linux Kernel/doc|CFS Bandwidth Control|scheduler/sched-bwc.html}} :: [[The Linux Kernel/System/CGroup v2#CPU|CPU cgroup controller]] :: {{The Linux Kernel/doc|CPU cgroup interface files|admin-guide/cgroup-v2.html#cpu-interface-files}} :: [https://lwn.net/Kernel/Index/#Scheduler-Completely_fair_scheduler Completely fair scheduler LWN] :: [https://documentation.suse.com/sles/15-SP1/html/SLES-all/cha-tuning-taskscheduler.html Tuning the task scheduler] :: [https://home.robusta.dev/blog/stop-using-cpu-limits stop using CPU limits on Kubernetes] : {{The Linux Kernel/doc|Deadline Task Scheduler|scheduler/sched-deadline.html}} : {{The Linux Kernel/ltp|kernel|sched}} : {{The Linux Kernel/ltp|kernel/syscalls|sched_setparam}} : {{The Linux Kernel/ltp|kernel/syscalls|sched_getscheduler}} : {{The Linux Kernel/ltp|kernel/syscalls|sched_setscheduler}} 📚 Further reading about the scheduler : [https://docs.redhat.com/en/documentation/red_hat_enterprise_linux/latest/html/monitoring_and_managing_system_status_and_performance/tuning-scheduling-policy Tuning scheduling policy, RHEL] : [https://github.com/iovisor/bpftrace/blob/master/docs/tutorial_one_liners.md#lesson-10-scheduler-tracing Scheduler tracing] : [https://github.com/iovisor/bcc/blob/master/README.md#cpu-and-scheduler-tools bcc/ebpf CPU and scheduler tools] === Preemption === Preemption refers to the ability of the system to interrupt a running task to switch to another task. This is essential for ensuring that high-priority tasks receive the necessary CPU time and for improving the system's responsiveness. In Linux, preemption models define how and when the kernel can preempt tasks. Different models offer varying trade-offs between system responsiveness and throughput. 📖 References : {{The Linux Kernel/doc|Proper Locking Under a Preemptible Kernel|locking/preempt-locking.html}} :: {{The Linux Kernel/id|preempt_enable}} &ndash; decrement the preempt counter :: {{The Linux Kernel/id|preempt_disable}} &ndash; increment the preempt counter :: {{The Linux Kernel/id|preempt_enable_no_resched}} &ndash; decrement, but do not immediately preempt :: {{The Linux Kernel/id|preempt_check_resched}} &ndash; if needed, reschedule :: {{The Linux Kernel/id|preempt_count}} &ndash; return the preempt counter : {{The Linux Kernel/source|kernel/Kconfig.preempt}} &ndash; preemption model configuration :: {{The Linux Kernel/id|CONFIG_PREEMPT_NONE}} &ndash; no forced preemption for servers :: {{The Linux Kernel/id|CONFIG_PREEMPT_VOLUNTARY}} &ndash; voluntary preemption for desktops :: {{The Linux Kernel/id|CONFIG_PREEMPT}} &ndash; preemptible except for critical sections for low-latency desktops :: {{The Linux Kernel/id|CONFIG_PREEMPT_RT}} &ndash; real-time preemption for [[Embedded_Systems/Linux#Real-time|highly responsive applications]] :: {{The Linux Kernel/id|CONFIG_PREEMPT_DYNAMIC}} &ndash; allows runtime switching of preemption model ::: /sys/kernel/debug/sched/preempt &ndash; shows and controls the active preemption model === sched_ext === Since version 6.12 the kernel supports {{The Linux Kernel/id|SCHED_EXT}} &mdash; an extensible scheduler class whose behavior is defined by a set of {{w|eBPF}} programs. Any scheduling algorithm can be implemented on top of sched_ext, loaded and unloaded dynamically at runtime. The system integrity is maintained no matter what the BPF scheduler does: the default scheduling behavior is restored on error or when a runnable task stalls. ⚙️ Internals : {{The Linux Kernel/id|CONFIG_SCHED_CLASS_EXT}} : {{The Linux Kernel/source|kernel/sched/ext.c}} &ndash; extensible BPF scheduler class : {{The Linux Kernel/id|sched_ext_ops}} &ndash; BPF scheduler operations : {{The Linux Kernel/id|sched_ext_entity}} &ndash; per-task sched_ext data, embedded in {{The Linux Kernel/id|task_struct}} 👁 Examples : {{The Linux Kernel/source|tools/sched_ext}} &ndash; in-tree example BPF schedulers 📖 References : {{The Linux Kernel/doc|Extensible Scheduler Class|scheduler/sched-ext.html}} : [https://github.com/sched-ext/scx sched-ext/scx] &ndash; production BPF schedulers : [https://lwn.net/Kernel/Index/#Scheduler-BPF Scheduler BPF LWN] === Energy Aware Scheduling === 🚀 advanced topic Since version 5.0, Energy Aware Scheduling (EAS) gives the scheduler the ability to predict the impact of its decisions on the energy consumed by CPUs. EAS relies on an Energy Model (EM) to select an energy efficient CPU for each task, with minimal impact on throughput. EAS operates only on heterogeneous CPU topologies (such as ARM {{w|big.LITTLE}}) where the potential for energy savings is highest. ⚲ API : /proc/sys/kernel/sched_energy_aware &ndash; enable or disable EAS : {{The Linux Kernel/include|linux/energy_model.h}} :: {{The Linux Kernel/id|em_perf_domain}} &ndash; performance domain descriptor :: {{The Linux Kernel/id|em_cpu_get}} &ndash; get the EM for a given CPU ⚙️ Internals : {{The Linux Kernel/id|CONFIG_ENERGY_MODEL}} : {{The Linux Kernel/id|find_energy_efficient_cpu}} &ndash; find most energy-efficient target CPU for a waking task : {{The Linux Kernel/source|kernel/power/energy_model.c}} &ndash; CPU energy model framework 📖 References : {{The Linux Kernel/doc|Energy Aware Scheduling|scheduler/sched-energy.html}} : {{The Linux Kernel/doc|Energy Model of devices|power/energy-model.html}} === Wait queues === A ''wait queue'' in the kernel is a data structure that allows one or more processes to wait (sleep) until something of interest happens. They are used throughout the kernel to wait for available memory, I/O completion, message arrival, and many other things. In the early days of Linux, a wait queue was a simple list of waiting processes, but various scalability problems (including the {{w|thundering herd problem}}) have led to the addition of a fair amount of complexity since then. ⚲ API {{The Linux Kernel/include|linux/wait.h}} {{The Linux Kernel/id|wait_queue_head}} consists of double linked list of {{The Linux Kernel/id|wait_queue_entry}} and a spinlock. Waiting for simple events: : Use one of two methods for {{The Linux Kernel/id|wait_queue_head}} initialization: :: {{The Linux Kernel/id|init_waitqueue_head}} initializes {{The Linux Kernel/id|wait_queue_head}} in function context :: {{The Linux Kernel/id|DECLARE_WAIT_QUEUE_HEAD}} - actually defines {{The Linux Kernel/id|wait_queue_head}} in global context : Wait alternatives: :: {{The Linux Kernel/id|wait_event_interruptible}} - preferable wait :: {{The Linux Kernel/id|wait_event_interruptible_timeout}} :: {{The Linux Kernel/id|wait_event}} - uninterruptible wait. Can cause deadlock ⚠ : {{The Linux Kernel/id|wake_up}} etc 👁 For example usage see references to unique {{The Linux Kernel/id|suspend_queue}}. Explicit use of add_wait_queue instead of simple wait_event for complex cases: : {{The Linux Kernel/id|DECLARE_WAITQUEUE}} actually defines wait_queue_entry with {{The Linux Kernel/id|default_wake_function}} : {{The Linux Kernel/id|add_wait_queue}} inserts process in the first position of a wait queue : {{The Linux Kernel/id|remove_wait_queue}} ⚙️ Internals : {{The Linux Kernel/id|___wait_event}} : {{The Linux Kernel/id|__add_wait_queue}} : {{The Linux Kernel/id|__wake_up_common}}, {{The Linux Kernel/id|try_to_wake_up}} : {{The Linux Kernel/source|kernel/sched/wait.c}} &ndash; wait queue implementation Simple wait queues &ndash; simplified version with raw spinlock, suitable for RT and restricted contexts: : {{The Linux Kernel/include|linux/swait.h}} :: {{The Linux Kernel/id|swait_queue_head}}, {{The Linux Kernel/id|swait_queue}} : {{The Linux Kernel/source|kernel/sched/swait.c}} &ndash; simple wait queue implementation 📖 References : {{The Linux Kernel/doc|Wait queues and Wake events|driver-api/basics.html#wait-queues-and-wake-events}} === Real-time === {{:The Linux Kernel/Multitasking/Real-time}} == Synchronization == Thread {{w|Synchronization (computer science)|synchronization}} is defined as a mechanism which ensures that two or more concurrent processes or threads do not simultaneously execute some particular program segment known as {{w|mutual exclusion}} (mutex). When one thread starts executing the critical section (serialized segment of the program) the other thread should wait until the first thread finishes. If proper synchronization techniques are not applied, it may cause a race condition where, the values of variables may be unpredictable and vary depending on the timings of context switches of the processes or threads. === User space synchronization === ==== POSIX Timers ==== ⚲ APIs : {{The Linux Kernel/man|2|timer_create}} – creates a POSIX timer : {{The Linux Kernel/man|2|timer_settime}} – starts or modifies a timer : {{The Linux Kernel/man|2|timer_gettime}} – retrieves the remaining time of a timer : {{The Linux Kernel/man|2|timer_delete}} – deletes a POSIX timer : {{The Linux Kernel/man|2|clock_nanosleep}} – suspends execution for a specified time ⚙️ Internals : {{The Linux Kernel/include|linux/posix-timers.h}} : {{The Linux Kernel/source|kernel/time/itimer.c}} &ndash; interval timer (setitimer/getitimer) : {{The Linux Kernel/source|kernel/time/posix-timers.c}} &ndash; POSIX clock and timer operations : {{The Linux Kernel/source|kernel/time/posix-cpu-timers.c}} &ndash; per-process/thread CPU timers :: {{The Linux Kernel/id|posix_cpu_timer_set}} – function setting up CPU timers ==== Futex ==== A {{The Linux Kernel/man|2|futex}} ↪ {{The Linux Kernel/id|do_futex}} (short for "Fast User space muTex") is a kernel system call that programmers can use to implement basic locking, or as a building block for higher-level locking abstractions such as semaphores and POSIX mutexes or condition variables. A futex consists of a kernel space ''wait queue'' that is attached to an aligned integer in user space. Multiple processes or threads operate on the integer entirely in user space (using atomic operations to avoid interfering with one another), and only resort to relatively expensive system calls to request operations on the wait queue (for example to wake up waiting processes, or to put the current process on the wait queue). A properly programmed futex-based lock will not use system calls except when the lock is contended; since most operations do not require arbitration between processes, this will not happen in most cases. The basic operations of futexes are based on only two central operations {{The Linux Kernel/id|futex_wait}} and {{The Linux Kernel/id|futex_wake}} though implementation has more operations for more specialized cases. : WAIT (''addr'', ''val'') checks if the value stored at the address ''addr'' is ''val'', and if it is puts the current thread to sleep. : WAKE (''addr'', ''val'') wakes up ''val'' number of threads waiting on the address ''addr''. ⚲ API : {{The Linux Kernel/include|uapi/linux/futex.h}} : {{The Linux Kernel/include|linux/futex.h}} ⚙️ Internals: {{The Linux Kernel/source|kernel/futex}} 🔨 [https://manpages.ubuntu.com/manpages/resolute/man1/stress-ng.1.html#futex stress-ng --futex] 📖 References : {{w|Futex}} : {{The Linux Kernel/man|7|futex}} : {{The Linux Kernel/doc|Futex API reference|kernel-hacking/locking.html#futex-api-reference}} : {{The Linux Kernel/ltp|kernel/syscalls|futex}} ==== File locking ==== ⚲ API: {{The Linux Kernel/man|2|flock}} ==== Semaphore ==== 💾 ''History: Semaphore is part of System V IPC {{The Linux Kernel/man|7|sysvipc}}'' ⚲ API : {{The Linux Kernel/man|2|semget}} : {{The Linux Kernel/man|2|semctl}} : {{The Linux Kernel/man|2|semop}} ⚙️ Internals: {{The Linux Kernel/source|ipc/sem.c}} 🔨 [https://manpages.ubuntu.com/manpages/resolute/man1/stress-ng.1.html#sem stress-ng --sem] === Kernel space synchronization === For kernel mode synchronization Linux provides three categories of locking primitives: sleeping, per CPU local locks and spinning locks. ==== Read-Copy-Update ==== Common mechanism to solve the readers–writers problem is the {{w|read-copy-update}} (''RCU'') algorithm. Read-copy-update implements a kind of mutual exclusion that is wait-free (non-blocking) for readers, allowing extremely low overhead. However, RCU updates can be expensive, as they must leave the old versions of the data structure in place to accommodate pre-existing readers. ⚲ The core API in {{The Linux Kernel/include|linux/rcupdate.h}} is quite small: : {{The Linux Kernel/id|rcu_read_lock}} marks an RCU-protected data structure so that it won't be reclaimed for the full duration of that critical section. : {{The Linux Kernel/id|rcu_read_unlock}} is used by a reader to inform the reclaimer that the reader is exiting an RCU read-side critical section. Note that RCU read-side critical sections may be nested and/or overlapping. : {{The Linux Kernel/id|synchronize_rcu}} blocks until all pre-existing RCU read-side critical sections on all CPUs have completed. Note that <code>synchronize_rcu</code> will ''not'' necessarily wait for any subsequent RCU read-side critical sections to complete. For example, consider the following sequence of events: {| class="wikitable" ! !CPU 0 !CPU 1 !CPU 2 |- |1. |rcu_read_lock() | | |- |2. | |enters synchronize_rcu() | |- |3. | | | rcu_read_lock() |- |4. |rcu_read_unlock() | | |- |5. | |exits synchronize_rcu() | |- |6. | | |rcu_read_unlock() |} [[File:Rcu api.jpg|thumb|upright=2|RCU API communications between the reader, updater, and reclaimer]] :Since <code>synchronize_rcu</code> is the API that must figure out when readers are done, its implementation is key to RCU. For RCU to be useful in all but the most read-intensive situations, <code>synchronize_rcu</code>'s overhead must also be quite small. :Alternatively, instead of blocking, synchronize_rcu may register a callback to be invoked after all ongoing RCU read-side critical sections have completed. This callback variant is called {{The Linux Kernel/id|call_rcu}} in the Linux kernel. : {{The Linux Kernel/id|rcu_assign_pointer}} - The updater uses this function to assign a new value to an RCU-protected pointer, in order to safely communicate the change in value from the updater to the reader. This function returns the new value, and also executes any {{w|Memory barrier}} instructions required for a given CPU architecture. Perhaps more importantly, it serves to document which pointers are protected by RCU. : {{The Linux Kernel/id|rcu_dereference}} - The reader uses this function to fetch an RCU-protected pointer, which returns a value that may then be safely dereferenced. It also executes any directives required by the compiler or the CPU, for example, a volatile cast for gcc, a memory_order_consume load for C/C++11 or the memory-barrier instruction required by the old DEC Alpha CPU. The value returned by <code>rcu_dereference</code> is valid only within the enclosing RCU read-side critical section. As with <code>rcu_assign_pointer</code>, an important function of <code>rcu_dereference</code> is to document which pointers are protected by RCU. The RCU infrastructure observes the time sequence of <code>rcu_read_lock</code>, <code>rcu_read_unlock</code>, <code>synchronize_rcu</code>, and <code>call_rcu</code> invocations in order to determine when (1) <code>synchronize_rcu</code> invocations may return to their callers and (2) <code>call_rcu</code> callbacks may be invoked. Efficient implementations of the RCU infrastructure make heavy use of batching in order to amortize their overhead over many uses of the corresponding APIs. ⚲ API : [https://www.kernel.org/doc/Documentation/admin-guide/kernel-parameters.txt#:~:text=rcu_nocbs%5B rcu_nocbs] &ndash; no-callback CPUs : {{The Linux Kernel/include|linux/rcupdate.h}} : {{The Linux Kernel/include|linux/rculist.h}} &ndash; RCU-protected linked list operations ⚙️ Internals : {{The Linux Kernel/source|kernel/rcu}} &ndash; read-copy-update implementation 📖 References : {{The Linux Kernel/doc|Avoiding Locks: Read Copy Update|kernel-hacking/locking.html?#avoiding-locks-read-copy-update}} : {{The Linux Kernel/doc|RCU concepts|RCU}} : [https://0xax.gitbooks.io/linux-insides/content/Initialization/linux-initialization-9.html RCU initialization] 📚 Further reading : [https://lpc.events/event/18/contributions/1906/attachments/1590/3302/LPC-2024-Vienna.pdf Reduce synchronize_rcu() latency] ==== Sleeping locks ==== ===== Mutexes ===== ⚲ API : {{The Linux Kernel/include|linux/mutex.h}} : {{The Linux Kernel/include|linux/completion.h}} : {{The Linux Kernel/id|mutex}} has owner and usage constraints, easier to debug than semaphore :: {{The Linux Kernel/id|rt_mutex}} blocking mutual exclusion locks with priority inheritance (PI) support :: {{The Linux Kernel/id|ww_mutex}} Wound/Wait mutexes: blocking mutual exclusion locks with deadlock avoidance : {{The Linux Kernel/id|rw_semaphore}} readers–writer semaphores : {{The Linux Kernel/id|percpu_rw_semaphore}} : {{The Linux Kernel/id|completion}} - use completion for synchronization task with ISR and task or two tasks. :: {{The Linux Kernel/id|wait_for_completion}} :: {{The Linux Kernel/id|complete}} 🔨 [https://manpages.ubuntu.com/manpages/resolute/man1/stress-ng.1.html#mutex stress-ng --mutex] 💾 ''Historical'' : {{The Linux Kernel/id|semaphore}} - use mutex instead semaphore if possible : {{The Linux Kernel/include|linux/semaphore.h}} : {{The Linux Kernel/include|linux/rwsem.h}} 📖 References : {{The Linux Kernel/doc|Completions - “wait for completion” barrier APIs|scheduler/completion.html}} : {{The Linux Kernel/doc|Mutex API reference|kernel-hacking/locking.html#mutex-api-reference}} : [http://lwn.net/Articles/23993/ LWN: completion events] ==== per CPU local lock ==== On normal preemptible kernel local_lock calls {{The Linux Kernel/id|preempt_disable}}. On RT preemptible kernel local_lock calls {{The Linux Kernel/id|migrate_disable}} and {{The Linux Kernel/id|spin_lock}}. Any changes applied to spinlock_t also apply to local_lock. ⚲ API : {{The Linux Kernel/include|linux/local_lock.h}} :: {{The Linux Kernel/id|local_lock}}, {{The Linux Kernel/id|preempt_disable}} :: {{The Linux Kernel/id|local_lock_irqsave}}, {{The Linux Kernel/id|local_irq_save}} :: etc 📖 References : {{The Linux Kernel/doc|local_lock|locking/locktypes.html#local-lock}} : {{The Linux Kernel/doc|PREEMPT_RT caveats: spinlock_t, rwlock_t, migrate_disable and local_lock|locking/locktypes.html#spinlock-t-and-rwlock-t}} : {{The Linux Kernel/doc|Proper locking under a preemptive kernel|locking/preempt-locking.html}} : [https://lwn.net/Articles/828477/ Local locks in the kernel] ==== Spinning locks ==== ===== {{w|Spinlock}}s ===== a ''spinlock'' is a lock which causes a thread trying to acquire it to simply wait in a loop ("spin") while repeatedly checking if the lock is available. Since the thread remains active but is not performing a useful task, the use of such a lock is a kind of busy waiting. Once acquired, spinlocks will usually be held until they are explicitly released, although in some implementations they may be automatically released if the thread being waited on (that which holds the lock) blocks, or "goes to sleep". Spinlocks are commonly used inside kernels because they are efficient if threads are likely to be blocked for only short periods. However, spinlocks become wasteful if held for longer durations, as they may prevent other threads from running and require rescheduling. 👁 For example {{The Linux Kernel/id|kobj_kset_join}} uses spinlock to protect assess to the linked list. Enabling and disabling of kernel preemption replaced spinlocks on uniprocessor systems (disabled {{The Linux Kernel/id|CONFIG_SMP}}). Most spinning locks becoming sleeping locks in the {{The Linux Kernel/id|CONFIG_PREEMPT_RT}} kernels. ⚲ API : {{The Linux Kernel/include|linux/spinlock.h}} :: {{The Linux Kernel/id|spinlock_t}} :: {{The Linux Kernel/id|raw_spinlock_t}} : {{The Linux Kernel/include|linux/bit_spinlock.h}} :: {{The Linux Kernel/id|bit_spin_lock}} 📖 References : [https://0xax.gitbooks.io/linux-insides/content/SyncPrim/linux-sync-1.html Introduction to spinlocks] : [https://0xax.gitbooks.io/linux-insides/content/SyncPrim/linux-sync-2.html Queued spinlocks] ===== {{w|Seqlock}}s ===== A ''seqlock'' (short for "sequential lock") is a special locking mechanism used in Linux for supporting fast writes of shared variables between two parallel operating system routines. It is a special solution to the readers–writers problem when the number of writers is small. It is a reader-writer consistent mechanism which avoids the problem of writer starvation. A {{The Linux Kernel/id|seqlock_t}} consists of storage for saving a sequence counter {{The Linux Kernel/id|seqcount_t}}/seqcount_spinlock_t in addition to a lock. The lock is to support synchronization between two writers and the counter is for indicating consistency in readers. In addition to updating the shared data, the writer increments the sequence counter, both after acquiring the lock and before releasing the lock. Readers read the sequence counter before and after reading the shared data. If the sequence counter is odd on either occasion, a writer had taken the lock while the data was being read and it may have changed. If the sequence counters are different, a writer has changed the data while it was being read. In either case readers simply retry (using a loop) until they read the same even sequence counter before and after. ⚲ API : {{The Linux Kernel/id|seqlock_t}} :: {{The Linux Kernel/id|DEFINE_SEQLOCK}}, {{The Linux Kernel/id|seqlock_init}}, {{The Linux Kernel/id|read_seqlock_excl}}, {{The Linux Kernel/id|write_seqlock}} : {{The Linux Kernel/id|seqcount_t}} :: {{The Linux Kernel/id|seqcount_init}}, {{The Linux Kernel/id|read_seqcount_begin}}, {{The Linux Kernel/id|read_seqcount_retry}}, {{The Linux Kernel/id|write_seqcount_begin}}, {{The Linux Kernel/id|write_seqcount_end}} : {{The Linux Kernel/include|linux/seqlock.h}} 👁 Example: {{The Linux Kernel/id|mount_lock}}, defined in {{The Linux Kernel/source|fs/namespace.c}} 📖 References : {{The Linux Kernel/doc|Sequence counters and sequential locks|locking/seqlock.html}} : [https://0xax.gitbooks.io/linux-insides/content/SyncPrim/linux-sync-6.html SeqLock] ==== Spinning or sleeping locks ==== :{| class="wikitable" ! !! normal !! on preempt RT |- | spinlock_t, || raw_spinlock_t || rt_mutex_base, rt_spin_lock, sleeping |- | rwlock_t || spinning || sleeping |- | local_lock || preempt_disable|| migrate_disable, rt_spin_lock, sleeping |} ==== Low level ==== The compiler might optimize away or reorder writes to variables leading to unexpected behavior when variables are accessed concurrently by multiple threads. ⚲ API : {{The Linux Kernel/include|asm-generic/rwonce.h}} &ndash; prevent the compiler from merging or refetching reads or writes. : {{The Linux Kernel/include|linux/compiler.h}} :: {{The Linux Kernel/id|barrier}} &ndash; prevents the compiler from reordering instructions around the barrier : {{The Linux Kernel/include|asm-generic/barrier.h}} &ndash; generic barrier definitions : {{The Linux Kernel/source|arch/x86/include/asm/barrier.h}} &ndash; force strict CPU ordering :: {{The Linux Kernel/id|mb}} &ndash; ensures that all memory operations before the barrier are completed before any memory operations after the barrier are started ⚙️ Internals : {{The Linux Kernel/doc|Atomics|driver-api/basics.html#atomics}} :: {{The Linux Kernel/include|linux/atomic.h}} &ndash; atomic operations wrapper :: {{The Linux Kernel/include|asm-generic/atomic.h}} :: {{The Linux Kernel/include|linux/atomic/atomic-instrumented.h}} ::: {{The Linux Kernel/id|atomic_dec_and_test}} ... 📚 Further reading : {{w|Volatile_(computer_programming)#In_C_and_C++|volatile}} &ndash; prevents the compiler from optimizations : {{w|Memory barrier}} &ndash; enforces an ordering constraint on memory operations 🔨 [https://manpages.ubuntu.com/manpages/resolute/man1/stress-ng.1.html#Lock stress-ng --lockbus] ==== ... ==== ⚙️ Locking internals : {{The Linux Kernel/include|linux/lockdep.h}} &ndash; runtime locking correctness validator : {{The Linux Kernel/include|linux/debug_locks.h}} : {{The Linux Kernel/source|lib/locking-selftest.c}} &ndash; locking correctness self-tests : {{The Linux Kernel/source|kernel/locking}} &ndash; locking primitives : {{The Linux Kernel/id|mutex_waiter}}, {{The Linux Kernel/id|timer_list}}, {{The Linux Kernel/id|wait_queue_head_t}} :: {{The Linux Kernel/source|kernel/locking/locktorture.c}} &ndash; module-based torture test facility for locking 📖 Locking references : {{The Linux Kernel/doc|locking|locking}} :: {{The Linux Kernel/doc|Lock types and their rules|locking/locktypes.html}} ::: 😴 {{The Linux Kernel/doc|sleeping locks|locking/locktypes.html#sleeping-locks}} :::: {{The Linux Kernel/id|mutex}}, {{The Linux Kernel/id|rt_mutex}}, {{The Linux Kernel/id|semaphore}}, {{The Linux Kernel/id|rw_semaphore}}, {{The Linux Kernel/id|ww_mutex}}, {{The Linux Kernel/id|percpu_rw_semaphore}} :::: on preempt RT: local_lock, spinlock_t, rwlock_t ::: 😵‍💫 {{The Linux Kernel/doc|spinning locks|locking/locktypes.html#spinning-locks}}: :::: raw_spinlock_t, bit spinlocks :::: on non preempt RT: spinlock_t, rwlock_t : {{The Linux Kernel/doc|Unreliable Guide To Locking|kernel-hacking/locking.html}} : [https://sysprog21.github.io/lkmpg/#synchronization LKMPG: Synchronization] : [https://0xax.gitbooks.io/linux-insides/content/SyncPrim/ Synchronization primitives] === Time === ⚲ UAPI : {{The Linux Kernel/include|uapi/linux/time.h}} :: {{The Linux Kernel/id|timespec}} &ndash; nanosecond resolution :: {{The Linux Kernel/id|timeval}} &ndash; microsecond resolution :: {{The Linux Kernel/id|timezone}} :: ... : {{The Linux Kernel/include|uapi/linux/time_types.h}} :: {{The Linux Kernel/id|__kernel_timespec}} &ndash; nanosecond resolution, used in syscalls :: ... ⚲ API : {{The Linux Kernel/include|linux/delay.h}} &ndash; busy-wait delay functions for timing control : {{The Linux Kernel/include|linux/sched/clock.h}} :: {{The Linux Kernel/id|sched_clock}} :: ... : {{The Linux Kernel/include|linux/time.h}} :: {{The Linux Kernel/id|tm}} :: {{The Linux Kernel/id|get_timespec64}} :: ... : {{The Linux Kernel/include|linux/ktime.h}} :: {{The Linux Kernel/id|ktime_t}} &ndash; nanosecond scalar representation for kernel time values :: {{The Linux Kernel/id|ktime_sub}} :: ... : {{The Linux Kernel/include|linux/timekeeping.h}} :: {{The Linux Kernel/id|ktime_get}}, {{The Linux Kernel/id|ktime_get_ns}} :: {{The Linux Kernel/id|ktime_get_real}} :: ... : {{The Linux Kernel/include|linux/time64.h}} :: {{The Linux Kernel/id|timespec64}} :: {{The Linux Kernel/id|time64_t}} :: {{The Linux Kernel/id|ns_to_timespec64}} :: {{The Linux Kernel/id|timespec64_sub}} :: {{The Linux Kernel/id|ktime_to_timespec64}} :: ... : {{The Linux Kernel/include|uapi/linux/rtc.h}} : {{The Linux Kernel/include|linux/jiffies.h}} ⚙️ Internals : {{The Linux Kernel/source|kernel/time}} &ndash; timekeeping, timers and clocks : {{The Linux Kernel/id|timekeeper}} &ndash; central timekeeping state :: {{The Linux Kernel/id|tkr_mono}} &ndash; monotonic clock, frequency corrected by NTP for accurate real-world seconds ::: {{The Linux Kernel/man|8|chronyd}} → {{The Linux Kernel/man|2|adjtimex}} ↪ {{The Linux Kernel/id|sys_adjtimex}} :: {{The Linux Kernel/id|tkr_raw}} &ndash; raw monotonic clock, no NTP correction, drifts with crystal error : {{The Linux Kernel/id|update_wall_time}} ← {{The Linux Kernel/id|tick_periodic}} → {{The Linux Kernel/id|timekeeping_advance}} (blocks readers with {{The Linux Kernel/id|write_seqcount_begin}}): :: {{The Linux Kernel/id|tk_clock_read}} &ndash; reads clocksource hardware :: {{The Linux Kernel/id|logarithmic_accumulation}} &ndash; accumulates ticks in doubling steps (efficient for NO_HZ) :: {{The Linux Kernel/id|timekeeping_adjust}} &ndash; corrects mult to steer toward NTP frequency :: {{The Linux Kernel/id|accumulate_nsecs_to_secs}} &ndash; rolls nanoseconds into seconds :: {{The Linux Kernel/id|timekeeping_update_from_shadow}} &ndash; publishes shadow timekeeper to live ::: {{The Linux Kernel/id|update_vsyscall}} &ndash; copies time data to [[../Memory#vDSO|vDSO]] page for userspace {{The Linux Kernel/man|2|clock_gettime}} without syscall ::: {{The Linux Kernel/id|update_fast_timekeeper}} &ndash; NMI-safe copy via {{The Linux Kernel/id|write_seqcount_latch_begin}} (two copies, {{The Linux Kernel/id|ktime_get_mono_fast_ns}} and other ktime_get*_fast readers spin on {{The Linux Kernel/id|read_seqcount_latch_retry}}) : {{The Linux Kernel/id|ktime_get}} and all ktime_get* readers spin on {{The Linux Kernel/id|read_seqcount_retry}} until consistent : {{The Linux Kernel/id|ktime_get}} = {{The Linux Kernel/id|tkr_mono}}.base + {{The Linux Kernel/id|timekeeping_get_ns}} :: {{The Linux Kernel/id|timekeeping_get_ns}} → {{The Linux Kernel/id|tk_clock_read}}, {{The Linux Kernel/id|timekeeping_cycles_to_ns}} &ndash; converts cycles to ns (delta only, added to base by caller) ::: {{The Linux Kernel/id|tk_clock_read}} → {{The Linux Kernel/id|arch_inlined_clocksource_read}} → {{The Linux Kernel/id|rdtsc_ordered}} &ndash; x86 {{w|Time_Stamp_Counter|TSC}} fast path via static key : {{The Linux Kernel/id|timekeeping_get_ns}} and {{The Linux Kernel/id|rdtsc_ordered}} are safe to trace timekeeping (no seqcount), unlike {{The Linux Kernel/id|ktime_get}} which would block on {{The Linux Kernel/id|read_seqcount_retry}} 🔨 [https://manpages.ubuntu.com/manpages/resolute/man1/stress-ng.1.html#Timer stress-ng --timer], [https://manpages.ubuntu.com/manpages/resolute/man1/stress-ng.1.html#High --hrtimers] ==== {{w|Precision Time Protocol}} ==== PTP provides sub-microsecond clock synchronization over a network using hardware timestamping. ⚲ API : /sys/class/ptp/ &ndash; PTP hardware clock devices : [https://man.archlinux.org/man/ptp4l.8 ptp4l] &ndash; PTP boundary/ordinary clock daemon : [https://man.archlinux.org/man/phc2sys.8 phc2sys] &ndash; synchronize system clock to PTP hardware clock : {{The Linux Kernel/include|uapi/linux/ptp_clock.h}} ⚙️ Internals : {{The Linux Kernel/source|drivers/ptp}} &ndash; PTP hardware clock drivers 📖 References : {{The Linux Kernel/doc|PTP hardware clock infrastructure for Linux|driver-api/ptp.html}} : {{The Linux Kernel/doc|ktime accessors|core-api/timekeeping.html}} : {{The Linux Kernel/doc|Clock sources, Clock events, sched_clock() and delay timers|timers/timekeeping.html}} : {{The Linux Kernel/doc|Time and timer routines|driver-api/basics.html#time-and-timer-routines}} : {{w|Year 2038 problem}} {{:The Linux Kernel/Multitasking/CPU}} {{BookCat}} ph0il4bsw83phhpa242j7gra8dc8jq1 The Linux Kernel/Memory 0 226983 4654511 4642342 2026-07-15T06:02:11Z Conan 3188 +interfaces 4654511 wikitext text/x-wiki <noinclude>{{DISPLAYTITLE:Memory functionality}}</noinclude> {|style="width: 25%; float: right; text-align:center;border-spacing: 0; color:black; margin:auto;" cellpadding=5pc ! bgcolor="#bfd" |memory |- | bgcolor="#aed" |[[#Processes|Processes]] |- | bgcolor="#9dd" |[[#Virtual_memory|virtual memory]] |- | bgcolor="#aca" |[[#Memory_mapping|memory mapping]] |- | bgcolor="#acb" | [[#Swap|demand paging and swap]] |- | bgcolor="#8b9" |[[#Logical_memory|logical memory]] |- | bgcolor="#7a7" |[[#Page Allocator|Page Allocator]] |- | bgcolor="#686" |[[#Pages|pages]] |} The kernel has full access to the system's memory and allows processes to {{w|Process isolation|safely access}} this memory as they require it. Often the first step in doing this is {{w|Virtual address space|virtual addressing}}, usually achieved by paging and/or segmentation. Virtual addressing allows the kernel to make a given {{w|physical address}} appear to be another address, the virtual address. Virtual address spaces may be different for different processes; the memory that one process accesses at a particular (virtual) address may be different memory from what another process accesses at the same address. This allows every program to behave as if it is the only one (apart from the kernel) running and thus prevents applications from crashing each other. On many systems, a program's virtual address may refer to data which is not currently in memory. The layer of indirection provided by virtual addressing allows the operating system to use other data stores, like a hard drive, to store what would otherwise have to remain in main {{w|random-access memory}} (RAM). As a result, operating systems can allow programs to use more memory than the system has physically available. When a program needs data which is not currently in RAM, the {{w|Memory management unit|MMU}} {{w|Page fault|signals}} to the kernel that this has happened, and the kernel responds by writing the contents of an inactive memory block to disk (if necessary) and replacing it with the data requested by the program. The program can then be resumed from the point where it was stopped. This scheme is generally known as {{w|demand paging}}. Virtual addressing also allows creation of virtual partitions of memory in two disjointed areas, one being reserved for the kernel (kernel space) and the other for the applications (user space). The applications are not permitted by the processor to address kernel memory, thus preventing an application from damaging the running kernel. This fundamental partition of memory space has contributed much to the current designs of actual general-purpose kernels and is almost universal in such systems, Linux being one of them. ⚲ Shell interface : cat /proc/meminfo : {{The Linux Kernel/man|1|free}} : {{The Linux Kernel/man|8|vmstat}} : {{The Linux Kernel/man|1|lsmem}} &ndash; list memory ranges and their online state : /proc/pagetypeinfo &ndash; page allocator fragmentation info per zone and migrate type : /sys/kernel/mm/ksm/ &ndash; {{The Linux Kernel/doc|Kernel Same-page Merging|admin-guide/mm/ksm.html}} tunables (pages_shared, pages_sharing, run) : /sys/kernel/mm/lru_gen/enabled &ndash; {{The Linux Kernel/doc|Multi-Gen LRU|admin-guide/mm/multigen_lru.html}} (since 6.1) : [https://github.com/sosreport/sos/blob/main/sos/report/plugins/memory.py sos memory plugin] &ndash; diagnostics collection for memory subsystem {{:The Linux Kernel/Processes}} == Memory management API == : ⚲ {{The Linux Kernel/man|2|brk}} ↪ {{The Linux Kernel/id|sys_brk}}, {{The Linux Kernel/id|do_brk_flags}} dynamically changes data segment size of the calling process. The change is made by resetting the <u>program break</u> of the process, which determines the maximum space that can be allocated. The program break is the address of the first location beyond the current end of the data region, and determines the maximum space that can be allocated by the process. The amount of available space increases as the break value increases. The added available space is initialized to a value of zero. : ⚲ {{The Linux Kernel/man|2|mmap}} ↪ {{The Linux Kernel/id|ksys_mmap_pgoff}} maps files or devices into memory. It is a method of memory-mapped file I/O. It naturally implements demand paging, because file contents are not read from disk initially and do not use physical RAM at all. The actual reads from disk are performed in a "lazy" manner, after a specific location is accessed. After the memory is no longer needed it is important to {{The Linux Kernel/man|2|munmap}} the pointers to it. Protection information can be managed using {{The Linux Kernel/man|2|mprotect}} ↪ {{The Linux Kernel/id|do_mprotect_pkey}} and special treatment can be enforced using {{The Linux Kernel/man|2|madvise}} ↪ {{The Linux Kernel/id|do_madvise}}. In Linux, {{The Linux Kernel/man|2|mmap}} can create several types of mappings, such as ''anonymous mappings'', ''shared mappings'' and ''private mappings''. Using the <code>MAP_ANONYMOUS</code> flag <code>mmap()</code> can map a specific area of the process's virtual memory not backed by any file, whose contents are initialized to zero. These functions are typically called from a higher-level memory management library function such as C standard library {{The Linux Kernel/man|3|malloc}} or [[w:new and delete (C++)|C++ new operator]]. ⚲ API : {{The Linux Kernel/include|linux/uaccess.h}} &ndash; user-space memory access and validation helpers : {{The Linux Kernel/include|linux/mm.h}} &ndash; memory management declarations and page handling APIs : {{The Linux Kernel/include|linux/slab.h}} &ndash; memory allocation APIs for slab and kmalloc systems 💾 ''History: Two basic related to memory management system calls <code>brk</code> and <code>mmap</code> Linux inherits from Unix.'' ''BTW: On Linux, {{The Linux Kernel/man|2|sbrk}} is not a separate system call, but a C library function that also calls to {{The Linux Kernel/id|sys_brk}} and keeps some internal state to return the previous break value.'' 📚 References : {{The Linux Kernel/doc|Memory Management APIs|core-api/mm-api.html}} : {{The Linux Kernel/doc|x86_64 Memory Management|x86/x86_64/mm.html}} : {{w|sbrk}} : {{w|mmap}} : [https://0xax.gitbooks.io/linux-insides/content/MM/ Memory management] ⚙️ Internals: : '''{{The Linux Kernel/id|sys_brk}}''' ↯ call hierarchy: : {{The Linux Kernel/id|do_brk_flags}} :: {{The Linux Kernel/id|vm_area_alloc}} ::: {{The Linux Kernel/id|kmem_cache_alloc}} :::: {{The Linux Kernel/id|kmem_cache_alloc_lru}} 🔨 [https://manpages.ubuntu.com/manpages/resolute/man1/stress-ng.1.html#Brk stress-ng --brk], [https://manpages.ubuntu.com/manpages/resolute/man1/stress-ng.1.html#Big --bigheap], [https://manpages.ubuntu.com/manpages/resolute/man1/stress-ng.1.html#Memory~20 --vm], [https://manpages.ubuntu.com/manpages/resolute/man1/stress-ng.1.html#Memory~9 --mmap] == Virtual memory == 🔧 TODO: {{w|Virtual memory|Virtually contiguous memory}} on top of physical and [[#Swap|swapped]] memory pages. 🗝️ Acronyms: : VPFN - Virtual Page Frame Number : PFN - Physical Page Frame Number : pgd - Page Directory : pmd - Page Middle Directory : pud - Page Upper Directory : pte - {{w|Page table}} Entry : VMA - Virtual Memory Area, see {{The Linux Kernel/id|vm_area_struct}} : TLB - {{w|Translation Lookaside Buffer}} : MMU - {{w|Memory Management Unit}} ⚲ API: : {{The Linux Kernel/include|linux/vmalloc.h}} : {{The Linux Kernel/id|vmalloc}} {{The Linux Kernel/id|vfree}} : {{The Linux Kernel/include|linux/cleanup.h}} &ndash; scope-based cleanup helpers :: {{The Linux Kernel/id|scoped_guard}} : /proc/vmallocinfo ⚙️ Internals: : {{The Linux Kernel/id|vm_struct}} : {{The Linux Kernel/id|virt_to_page}} : {{The Linux Kernel/id|vmalloc_init}} : {{The Linux Kernel/id|find_vma}} : {{The Linux Kernel/source|mm/vmalloc.c}} &ndash; virtually contiguous memory allocator 📚 References : {{The Linux Kernel/doc|Virtually Contiguous Mappings|core-api/mm-api.html#virtually-contiguous-mappings}} : {{The Linux Kernel/doc|Page Tables|mm/page_tables.html}} : {{The Linux Kernel/doc|Scope-based Cleanup Helpers|core-api/cleanup.html}} == Data types == === Pointers and addresses === Kernel-specific address types, in addition to common C pointers. : <big>unsigned long</big> &ndash; used to store addresses that are not intended to be dereferenced by the user : {{The Linux Kernel/id|uintptr_t}} &ndash; to be used in ioctl : {{The Linux Kernel/id|phys_addr_t}} &ndash; physical address : {{The Linux Kernel/id|dma_addr_t}} &ndash; DMA address 📚 Further reading : {{The Linux Kernel/doc|(How to avoid) Botching up ioctls|process/botching-up-ioctls.html}} : [https://unix.org/whitepapers/64bit.html Data Size Neutrality and 64-bit Support] === Other types === ⚲ API : {{The Linux Kernel/include|linux/types.h}} &ndash; fixed-width and kernel-specific type definitions : {{The Linux Kernel/include|linux/string.h}} &ndash; standard string manipulation functions : bit operations :: {{The Linux Kernel/include|linux/bitfield.h}} &ndash; defining and extracting bitfield values :: {{The Linux Kernel/include|linux/bitops.h}} &ndash; atomic and non-atomic bit manipulation operations :: {{The Linux Kernel/include|linux/bitmap.h}} &ndash; bit arrays that consume one or more unsigned longs :: {{The Linux Kernel/include|linux/sbitmap.h}} &ndash; fast and scalable bitmaps : {{The Linux Kernel/include|linux/kref.h}} : {{The Linux Kernel/include|acpi/actypes.h}} &ndash; common data types for the entire ACPI subsystem :: {{The Linux Kernel/include|linux/list.h}} &ndash; circular doubly linked list implementation ::: {{The Linux Kernel/id|list_head}} &ndash; common double linked list ::: {{The Linux Kernel/id|list_add}} ... :: {{The Linux Kernel/include|linux/klist.h}} &ndash; some {{The Linux Kernel/id|klist_node}}->{{The Linux Kernel/id|kref}} helpers ::: {{The Linux Kernel/id|klist_add_tail}} ... : {{The Linux Kernel/include|linux/kobject.h}} : {{The Linux Kernel/include|linux/circ_buf.h}} : {{The Linux Kernel/include|linux/kfifo.h}} &ndash; generic kernel FIFO :: {{The Linux Kernel/id|kfifo_in}} ... : {{The Linux Kernel/include|linux/rbtree.h}} &ndash; Red-black trees :: {{The Linux Kernel/id|rb_node}} : {{The Linux Kernel/include|linux/scatterlist.h}} :: {{The Linux Kernel/id|scatterlist}} :: 👁 Example: {{The Linux Kernel/source|samples/kfifo/dma-example.c}} : {{The Linux Kernel/include|linux/idr.h}} &ndash; ID allocation : {{The Linux Kernel/include|linux/container_of.h}} 📖 References : {{The Linux Kernel/doc|List Management Functions|core-api/kernel-api.html#list-management-functions}} : {{The Linux Kernel/doc|FIFO Buffer|core-api/kernel-api.html#fifo-buffer}} : {{The Linux Kernel/doc|Data structures and low-level utilities|core-api#data-structures-and-low-level-utilities}} :: {{The Linux Kernel/doc|Everything you never wanted to know about kobjects, ksets, and ktypes|core-api/kobject.html}} :: {{The Linux Kernel/doc|Adding reference counters (krefs) to kernel objects|core-api/kref.html}} :: {{The Linux Kernel/doc|Generic Associative Array Implementation|core-api/assoc_array.html}} :: {{The Linux Kernel/doc|XArray|core-api/xarray.html}} :: {{The Linux Kernel/doc|ID Allocation|core-api/idr.html}} :: {{The Linux Kernel/doc|Circular Buffers|core-api/circular-buffers.html}} :: {{The Linux Kernel/doc|Red-black Trees (rbtree) in Linux|core-api/rbtree.html}} :: {{The Linux Kernel/doc|Generic radix trees/sparse arrays|core-api/generic-radix-tree.html}} :: {{The Linux Kernel/doc|Generic bitfield packing and unpacking functions|core-api/packing.html}} :: {{The Linux Kernel/doc|How to access I/O mapped memory from within device drivers|core-api/bus-virt-phys-mapping.html}} :: {{The Linux Kernel/doc|this_cpu operations|core-api/this_cpu_ops.html}} :: {{The Linux Kernel/doc|The errseq_t datatype|core-api/errseq.html}} 📚 Further reading : [https://0xax.gitbooks.io/linux-insides/content/DataStructures/ Data Structures in the Linux Kernel] : https://kernelnewbies.org/InternalKernelDataTypes == Memory mapping == 🔧 TODO ⚲ API: : {{The Linux Kernel/man|2|mmap}} ↪ {{The Linux Kernel/id|ksys_mmap_pgoff}} ↪ {{The Linux Kernel/id|do_mmap}} : {{The Linux Kernel/man|2|mprotect}} : {{The Linux Kernel/man|2|mmap2}} : {{The Linux Kernel/man|2|mincore}} : {{The Linux Kernel/man|2|mremap}} &ndash; remap virtual memory address : {{The Linux Kernel/man|2|msync}} &ndash; synchronize memory-mapped file with storage : {{The Linux Kernel/man|2|posix_fadvise}} &ndash; predeclare access pattern for file data : {{The Linux Kernel/include|linux/mm_types.h}} &ndash; {{The Linux Kernel/id|mm_struct}}, {{The Linux Kernel/id|vm_area_struct}} : {{The Linux Kernel/include|linux/mm.h}} : {{The Linux Kernel/id|remap_pfn_range}} : {{The Linux Kernel/id|SetPageReserved}}, {{The Linux Kernel/id|ClearPageReserved}} ⚙️ Internals: : {{The Linux Kernel/source|mm/mmap.c}} &ndash; memory mapping implementation : {{The Linux Kernel/source|mm/madvise.c}} &ndash; {{The Linux Kernel/man|2|madvise}} memory usage hints 🔨 [https://manpages.ubuntu.com/manpages/resolute/man1/stress-ng.1.html#madvise stress-ng --madvise] 📚 References: : {{w|mmap}} : {{The Linux Kernel/doc|Maple Tree|core-api/maple_tree.html}} : [https://linux-kernel-labs.github.io/refs/heads/master/labs/memory_mapping.html Memory mapping, linux-kernel-labs] === vDSO === {{w|VDSO}} (virtual Dynamic Shared Object) is a kernel-mapped page in every process that allows userspace to call certain system functions (clock_gettime, gettimeofday) without a syscall. The kernel updates the vDSO data page on every timekeeping tick via {{The Linux Kernel/id|update_vsyscall}}. ⚲ API : {{The Linux Kernel/man|7|vdso}} : {{The Linux Kernel/include|vdso/datapage.h}} &ndash; {{The Linux Kernel/id|vdso_data}} ⚙️ Internals : {{The Linux Kernel/source|kernel/time/vsyscall.c}} &ndash; vDSO time data updates : {{The Linux Kernel/source|arch/x86/entry/vdso}} &ndash; x86 vDSO implementation 📖 References : {{The Linux Kernel/doc|vDSO ABI|admin-guide/abi-stable.html#vdso}} == Swap == 🔧 TODO ⚲ API: : cat /proc/sys/vm/swappiness ↪ {{The Linux Kernel/id|vm_swappiness}} : {{The Linux Kernel/include|linux/swap.h}} : {{The Linux Kernel/man|2|swapon}} ↪ {{The Linux Kernel/id|sys_swapon}} : {{The Linux Kernel/man|2|swapoff}} : {{The Linux Kernel/man|2|mlock}} ↪ {{The Linux Kernel/id|do_mlock}} : {{The Linux Kernel/man|2|shmctl}} ↪ {{The Linux Kernel/id|shmctl_do_lock}} ⚙️ Internals: : {{The Linux Kernel/source|mm/swapfile.c}} &ndash; swap area management : {{The Linux Kernel/source|mm/vmscan.c}} &ndash; page reclaim and scanning : {{The Linux Kernel/source|mm/mlock.c}} &ndash; memory locking : {{The Linux Kernel/id|VM_LOCKED}} : {{The Linux Kernel/id|swap_info_struct}}, {{The Linux Kernel/id|si_swapinfo}}, {{The Linux Kernel/id|swap_info}} : {{The Linux Kernel/id|handle_pte_fault}} ↪ {{The Linux Kernel/id|do_swap_page}} : {{The Linux Kernel/id|wakeup_kswapd}} ↪ {{The Linux Kernel/id|kswapd}} : {{The Linux Kernel/source|mm/readahead.c}} &ndash; page readahead for sequential file access : {{The Linux Kernel/include|linux/zswap.h}}, {{The Linux Kernel/source|mm/zswap.c}} &ndash; compressed swap cache 🔨 [https://manpages.ubuntu.com/manpages/resolute/man1/stress-ng.1.html#mlock stress-ng --mlock] 📚 References: : {{w|Memory_paging#Linux|Memory paging}} : https://wiki.archlinux.org/title/swap == Logical memory == ⚲ {{The Linux Kernel/id|kmalloc}} is the normal method of allocating memory in the kernel for objects smaller than the page size. It is defined in {{The Linux Kernel/include|linux/slab.h}}. The first argument ''size'' is the size (in bytes) of the block of memory to be allocated. The second argument ''flags'' are the allocation flags or ''GFP flags'', a set of macros that the caller provides to control the type of requested memory. The most commonly used values for ''flags'' are GFP_KERNEL and GFP_ATOMIC, but there is more to be considered. Memory-allocation requests in the kernel are always qualified by a set of ''GFP flags'' ("GFP" initially came from "get free page") describing what can and cannot be done to satisfy the request. The most commonly used flags are GFP_ATOMIC and GFP_KERNEL, though they are actually built up from lower-level flags. The full set of flags is huge; they can be found in the {{The Linux Kernel/include|linux/gfp.h}} header file. ⚲ API: : ↯ {{w|RAII}} allocation functions hierarchy from {{The Linux Kernel/include|linux/device.h}}: :: {{The Linux Kernel/id|devm_kcalloc}} - zeroed array ::: {{The Linux Kernel/id|devm_kmalloc_array}} :::: {{The Linux Kernel/id|devm_kmalloc}} - common allocation :: {{The Linux Kernel/id|devm_kzalloc}} - zeroed allocation ::: {{The Linux Kernel/id|devm_kmalloc}} - common allocation : Classic direct API: :: {{The Linux Kernel/include|linux/slab.h}} :: {{The Linux Kernel/id|kmalloc}}, {{The Linux Kernel/id|kfree}} === Slab allocation === {{w|Slab allocation}} is a memory management algorithm intended for the efficient memory allocation of kernel objects. It eliminates fragmentation caused by allocations and deallocations. The technique is used to retain allocated memory that contains a data object of a certain type for reuse upon subsequent allocations of objects of the same type. ''' Basics ''' ''This section is about the SLUB allocator implementation'' A slab can be thought of as an array of objects of certain type or with the same size, spanning through one or more contiguous pages of memory; for example, the slab named "task_struct" holds objects of <code>struct task_struct</code> type, used by the scheduling subsystem. Other slabs store objects used by other subsystems, and there is also slabs for dynamic allocations inside the kernel, such as the "kmalloc-64" slab that holds up to 64-byte chunks requested via kmalloc() calls. In a slab, each object can be allocated and freed separately. The primary motivation for slab allocation is that the initialization and destruction of kernel data objects can actually outweigh the cost of allocating memory for them. As object creation and deletion are widely employed by the kernel, overhead costs of initialization can result in significant performance drops. The notion of object caching was therefore introduced in order to avoid the invocation of functions used to initialize object state. With slab allocation, memory chunks suitable to fit data objects of certain type or size are preallocated. The slab allocator keeps track of these chunks, known as caches {{The Linux Kernel/id|kmalloc_caches}}, so that when a request to allocate memory for a data object of a certain type is received, it can instantly satisfy the request with an already allocated slot via {{The Linux Kernel/id|slab_alloc_node}}. Deallocation of the object with {{The Linux Kernel/id|kfree}} does not free up the memory, but only opens a slot which is returned to the slab allocator's free list. The next call to allocate memory of the same size will return the now unused memory slot. See {{The Linux Kernel/id|slab_alloc_node}}/{{The Linux Kernel/id|__slab_alloc_node}}/{{The Linux Kernel/id|___slab_alloc}}. This process eliminates the need to search for suitable memory space and greatly alleviates memory fragmentation. In this context, a slab is one or more contiguous pages in the memory containing pre-allocated memory chunks. Slab allocation provides a kind of front-end to the zoned buddy allocator for those sections of the kernel that require more flexible memory allocation than the standard 4KB page size. ⚲ Interface: : sudo cat /proc/slabinfo : {{The Linux Kernel/include|linux/slab.h}} : {{The Linux Kernel/id|kmem_cache_alloc}}, {{The Linux Kernel/id|kmem_cache_free}} : {{The Linux Kernel/man|1|slabtop}} ⚙️ Internals: : {{The Linux Kernel/source|mm/slab_common.c}} &ndash; slab allocator common code : {{The Linux Kernel/id|mm_init}} is called from {{The Linux Kernel/id|start_kernel}} :: {{The Linux Kernel/id|kmem_cache_init}} ::: {{The Linux Kernel/id|create_kmalloc_caches}} : {{The Linux Kernel/id|kasan_slab_alloc}} ''' SLUB allocator ''' &ndash; default Unqueued allocator {{w|SLUB (software)|SLUB}} is the iteration of the original SLAB allocator that replaced it and became the Linux default allocator since 2.6.23. ⚙️ Internals: {{The Linux Kernel/source|mm/slub.c}} 📚 References: : {{The Linux Kernel/id|CONFIG_SLUB}} 💾 ''Historical: SLOB (Simple List Of Blocks) allocator for embedded devices was removed in kernel 6.4.'' ''SLAB allocator, the original slab allocation implementation based on Jeff Bonwick's 1994 paper, was removed in kernel 6.8.'' ''SLUB is now the only slab allocator in the kernel.'' <hr> ''' Per-CPU allocator ''' : {{The Linux Kernel/include|linux/percpu.h}}, {{The Linux Kernel/source|mm/percpu.c}} &ndash; per-CPU memory areas, used by slab and counters 📚 References for Slab allocation: : {{The Linux Kernel/doc|KASAN - KernelAddressSANitizer|dev-tools/kasan.html}} - dynamic memory safety error detector designed to find out-of-bound and use-after-free bugs : [https://www.youtube.com/watch?v=h0VMLXavx30 <nowiki>Video "SL[AUO]B: Kernel memory allocator design and philosophy"</nowiki>] Christopher Lameter (Linux.conf.au 2015 conference) [http://lca2015.linux.org.au/slides/167/slaballocators-auckland-2015.pdf Slides] === Page Allocator === The page allocator (or "zoned buddy allocator") is a low-level allocator that deals with physical memory. It delivers physical pages (usually with a size of 4096 bytes) of free memory to high-level memory consumers such as the slab allocators and <code>kmalloc()</code>. As the ultimate source of memory in the system, the page allocator must ensure that memory is always available, since a failure providing memory to a critical kernel subsystem can lead to a general system failure or a kernel panic. The page allocator divides physical memory into "zones", each of which corresponds to {{The Linux Kernel/id|zone_type}} with specific characteristics. ZONE_DMA contains memory at the bottom of the address range for use by severely challenged devices, for example, while {{The Linux Kernel/id|ZONE_NORMAL}} may contain most memory on the system. 32-bit systems have a ZONE_HIGHMEM for memory that is not directly mapped into the kernel's address space. Depending on the characteristics of any given allocation request, the page allocator will search the available zones in a specific priority order. For the curious, <code>/proc/zoneinfo</code> gives a lot of information about the zones in use on any given system. Within a zone, memory is grouped into ''page blocks'', each of which can be marked with a ''migration type'' - {{The Linux Kernel/id|migratetype}} describing how the block should be allocated. ⚲ API: : cat /proc/buddyinfo : {{The Linux Kernel/include|linux/gfp.h}} : {{The Linux Kernel/include|linux/mmzone.h}} : {{The Linux Kernel/id|devm_get_free_pages}} - {{w|RAII}} function :: {{The Linux Kernel/id|__get_free_pages}} : {{The Linux Kernel/id|alloc_page}} :: {{The Linux Kernel/id|alloc_pages}} : {{The Linux Kernel/id|alloc_pages_node}} ⚙️ Internals: : {{The Linux Kernel/id|build_all_zonelists}} is called from {{The Linux Kernel/id|start_kernel}}, ↯ call hierarchy: :: {{The Linux Kernel/id|build_all_zonelists_init}} ::: {{The Linux Kernel/id|__build_all_zonelists}} :::: {{The Linux Kernel/id|build_zonelists}} : {{The Linux Kernel/id|__alloc_pages}} - the 'heart' of the zoned buddy allocator : struct {{The Linux Kernel/id|zone}} :: {{The Linux Kernel/id|free_area}} : {{The Linux Kernel/source|mm/mmzone.c}} &ndash; memory zone helpers : {{The Linux Kernel/source|mm/page_alloc.c}} &ndash; buddy page allocator 📚 References: : {{The Linux Kernel/doc|Get Free Page flags|core-api/memory-allocation.html}} : {{w|Buddy memory allocation}} : {{w|Page replacement algorithm}} === OOM killer === The {{w|Out of memory|Out-Of-Memory}} killer is invoked when the kernel cannot satisfy a memory allocation and all reclaim attempts have failed. It selects a process to kill based on a badness score to free memory and keep the system running. ⚲ API: : /proc/$pid/oom_score &ndash; current badness score : /proc/$pid/oom_score_adj &ndash; adjust score (-1000 to 1000) : /proc/$pid/oom_adj &ndash; deprecated, use oom_score_adj : /proc/sys/vm/panic_on_oom ⚙️ Internals: : {{The Linux Kernel/source|mm/oom_kill.c}} &ndash; out-of-memory killer : {{The Linux Kernel/id|out_of_memory}} &ndash; main entry point : {{The Linux Kernel/id|oom_badness}} &ndash; calculates badness score : {{The Linux Kernel/id|oom_kill_process}} 📚 References: : {{The Linux Kernel/doc|OOM|admin-guide/sysctl/vm.html}} 🔨 [https://manpages.ubuntu.com/manpages/resolute/man1/stress-ng.1.html#Large stress-ng --oom-pipe] === Memory cgroup controller === The memory cgroup controller limits and accounts memory usage per group of processes. It can set hard and soft limits, trigger per-cgroup OOM, and track swap usage. ⚲ API: : memory.max &ndash; hard memory limit : memory.high &ndash; throttling threshold : memory.current &ndash; current usage : memory.swap.max &ndash; swap limit : See [[../System/CGroup v2#Memory|CGroup v2 Memory controller]] for full interface ⚙️ Internals: : {{The Linux Kernel/source|mm/memcontrol.c}} &ndash; memory cgroup controller : {{The Linux Kernel/id|mem_cgroup}} &ndash; main structure : {{The Linux Kernel/id|mem_cgroup_charge}} : {{The Linux Kernel/id|mem_cgroup_oom}} 📚 References: : {{The Linux Kernel/doc|Memory Resource Controller|admin-guide/cgroup-v2.html#memory}} === tmpfs/shmem === {{The Linux Kernel/include|linux/shmem_fs.h}}, {{The Linux Kernel/source|mm/shmem.c}} &ndash; {{w|tmpfs}} virtual memory filesystem, also backs POSIX shared memory and {{The Linux Kernel/man|2|memfd_create}}. === KSM === {{The Linux Kernel/include|linux/ksm.h}}, {{The Linux Kernel/source|mm/ksm.c}} &ndash; Kernel Same-page Merging, deduplicates identical anonymous pages, used by {{w|Kernel-based Virtual Machine|KVM}}. {{The Linux Kernel/doc|KSM|admin-guide/mm/ksm.html}} === userfaultfd === {{The Linux Kernel/man|2|userfaultfd}} ↪ {{The Linux Kernel/source|mm/userfaultfd.c}} &ndash; handles page faults in user space, used for VM live migration. {{The Linux Kernel/doc|Userfaultfd|admin-guide/mm/userfaultfd.html}} 🔨 [https://manpages.ubuntu.com/manpages/resolute/man1/stress-ng.1.html#userfaultfd stress-ng --userfaultfd] === DAMON === Data Access MONitor (since 5.15) provides kernel-level data access pattern monitoring. It can be used for memory management optimization and profiling. ⚲ API: : /sys/kernel/mm/damon/ : {{The Linux Kernel/include|linux/damon.h}} ⚙️ Internals: : {{The Linux Kernel/source|mm/damon}} &ndash; DAMON core and operation schemes 📖 References: : {{The Linux Kernel/doc|DAMON|mm/damon}} <hr> 📚 References for logical memory: : {{The Linux Kernel/doc|Memory Allocation Guide|core-api/memory-allocation.html}} : {{The Linux Kernel/doc|Selecting memory allocator|core-api/memory-allocation.html#selecting-memory-allocator}} == Physical memory == === Memory Layout === A 32-bit processor can address a maximum of 4GB of memory. Linux kernels split the 4GB address space between user processes and the kernel; under the most common configuration, the first 3GB of the 32-bit range are given over to user space, and the kernel gets the final 1GB starting at 0xc0000000. Sharing the address space gives a number of performance benefits; in particular, the hardware's address translation buffer can be shared between the kernel and user space. In '''x86-64''' - {{The Linux Kernel/id|CONFIG_X86_64}} with 4-level page tables ({{The Linux Kernel/id|CONFIG_X86_5LEVEL}}=n), only the least significant 48&nbsp;bits of a virtual memory address would actually be used in address translation (page table lookup). The remainder bits 48 through 63 of any virtual address must be copies of bit 47, or the processor will raise an exception. Addresses complying with this rule are referred to as "canonical form." Canonical form addresses run from 0 through 00007FFF'FFFFFFFF, and from FFFF8000'00000000 through FFFFFFFF'FFFFFFFF, for a total of 256&nbsp;TB of usable {{w|virtual address space}}. This is still approximately 64,000 times the virtual address space on 32-bit machines. Linux takes the higher-addressed half of the address space for itself (kernel space) and leaves the lower-addressed half for user space. The "canonical address" design has, in effect, two memory halves: the lower half starts at 00000000'00000000 and "grows upwards" as more virtual address bits become available, while the higher half is "docked" to the top of the address space and grows downwards. {| class="wikitable sortable" |+ !Start addr !class=unsortable|Offset !End addr !class=unsortable|Size !class=unsortable|VM area description |- | <code><small>0000'</small>'''8'''<small>000'0000'0000</small></code> | +128 TB | <code><small>ffff'7fff'ffff'ffff</small></code> | | ... huge, almost 64 bits wide hole of non-canonical virtual memory addresses up to the -128 TB starting offset of kernel mappings. |- | <code><small>0000'0000'0000'0000</small></code> |0 | <code><small>0000'7fff'ffff'ffff</small></code> |128&nbsp;TB=2<sup>47</sup> |user-space virtual memory, different per mm |- | <code><small>ffff'ffff'ffe0'0000</small></code> | -2 MB | <code><small>ffff'ffff'ffff'ffff</small></code> | 2 MB=2<sup>21</sup> |... unused hole |- | <code><small>ffff'ffff'ff60'0000</small></code> | -10 MB | <code><small>ffff'ffff'ff60'0fff</small></code> | 4 kB=2<sup>12</sup> | {{The Linux Kernel/id|VSYSCALL_ADDR}} - legacy vsyscall ABI |- | <code><small>ffff'ffff'8000'0000</small></code> | -2 GB | <code><small>ffff'ffff'9fff'ffff</small></code> | 512&nbsp;MB=2<sup>29</sup> | kernel text mapping, mapped to physical address 0 |- | | | | | |- | <code><small>ffff'8880'0000'0000</small></code> | -119.5&nbsp;TB | <code><small>ffff'c87f'ffff'ffff</small></code> | 64&nbsp;TB | {{The Linux Kernel/id|page_offset_base}} = {{The Linux Kernel/id|__PAGE_OFFSET_BASE_L4}} - direct mapping of all physical memory |- | | | | | |- | <code><small>ffff'8000'0000'0000</small></code> | -128 TB | <code><small>ffff'87ff'ffff'ffff</small></code> | 8&nbsp;TB | ... guard hole, also reserved for hypervisor |} [[File:Linux_Virtual_Memory_Layout_64bit.svg|border|center|x86-64 memory layout]] ⚲ API: : {{The Linux Kernel/man|8|setarch}} --addr-no-randomize cat /proc/self/maps ⚙️ Internals: : {{The Linux Kernel/source|arch/x86/include/asm/page_64_types.h}} &ndash; x86-64 page type definitions : {{The Linux Kernel/source|arch/x86/mm/init_64.c}} &ndash; x86-64 memory initialization 📚 References: : {{The Linux Kernel/doc|X86_64 memory map|x86/x86_64/mm.html}} : {{w|Address_space_layout_randomization#Linux|Address space layout randomization}} === Pages === In Linux, different architectures have different page sizes. The original &mdash;for x86 architecture&mdash; and still most commonly used page size is 4096 bytes (4 KB). The page size (in bytes) of the current architecture is defined by the <code>PAGE_SIZE</code> macro included in {{The Linux Kernel/source|arch/x86/include/asm/page_types.h}} header file. User space programs can get this value using the {{The Linux Kernel/man|2|getpagesize}} library function. Another related macro is <code>PAGE_SHIFT</code>, that contains the number of bits to shift an address to get its page number &mdash;12 bits for 4K pages. One of the most fundamental kernel data structures relating memory-management is <code>struct page</code>. The kernel keeps track of the status of every page of physical memory present in the system using variables of this type. There are millions of pages in a modern system, and therefore there are millions of these structures in memory. The full definition of <code>struct page</code> can be found in {{The Linux Kernel/include|linux/mm_types.h}}. ⚙️ Internals: : {{The Linux Kernel/source|mm/memory.c}} &ndash; page fault handling and page table operations ({{The Linux Kernel/id|handle_mm_fault}}) : {{The Linux Kernel/include|linux/rmap.h}}, {{The Linux Kernel/source|mm/rmap.c}} &ndash; reverse mapping, virtual-to-physical tracking for page reclaim : {{The Linux Kernel/include|linux/compaction.h}}, {{The Linux Kernel/source|mm/compaction.c}} &ndash; memory compaction, reduces fragmentation : {{The Linux Kernel/include|linux/memblock.h}}, {{The Linux Kernel/source|mm/memblock.c}} &ndash; early boot memory allocator, before buddy is available : {{The Linux Kernel/include|linux/highmem.h}} &ndash; page content access and manipulation : {{The Linux Kernel/include|asm-generic/tlb.h}}, {{The Linux Kernel/source|mm/mmu_gather.c}} &ndash; TLB flush and page table teardown batching : [https://0xax.gitbooks.io/linux-insides/content/Theory/linux-theory-1.html Pages] === NUMA === In {{w|Non-uniform memory access}} systems, physical memory is divided into nodes, each local to a group of CPUs. Accessing local memory is faster than remote memory, so the kernel tries to allocate memory from the node closest to the requesting CPU. Each node contains its own set of zones (DMA, Normal, etc.). ⚲ API: : {{The Linux Kernel/man|8|numactl}} &ndash; controls NUMA policy for processes or shared memory : {{The Linux Kernel/man|8|numastat}} &ndash; per-node memory statistics (hits, misses, foreign allocations) : /sys/devices/system/node/node*/meminfo &ndash; per-node memory info : /sys/devices/system/node/node*/cpulist &ndash; CPUs belonging to each node : /sys/devices/system/node/node*/distance &ndash; inter-node distances : {{The Linux Kernel/man|2|set_mempolicy}} &ndash; set default NUMA memory policy : {{The Linux Kernel/man|2|mbind}} &ndash; set NUMA memory policy for a memory range : {{The Linux Kernel/man|2|get_mempolicy}} : {{The Linux Kernel/man|2|migrate_pages}} : {{The Linux Kernel/man|2|move_pages}} : cat /proc/buddyinfo : /sys/devices/system/node/ : {{The Linux Kernel/include|linux/topology.h}} &ndash; {{The Linux Kernel/id|cpu_to_node}}, {{The Linux Kernel/id|numa_node_id}} : {{The Linux Kernel/include|linux/mempolicy.h}} ⚙️ Internals: : {{The Linux Kernel/id|CONFIG_NUMA}} : {{The Linux Kernel/id|pglist_data}} (pg_data_t) &ndash; per-node memory descriptor, contains zones @ {{The Linux Kernel/include|linux/mmzone.h}} : {{The Linux Kernel/id|numa_node_id}} &ndash; returns NUMA node of current CPU : {{The Linux Kernel/source|mm/numa.c}} &ndash; NUMA node data allocation during boot : {{The Linux Kernel/source|mm/mempolicy.c}} &ndash; NUMA memory allocation policies : {{The Linux Kernel/source|mm/migrate.c}} &ndash; page migration between nodes : {{The Linux Kernel/source|mm/memory-tiers.c}} &ndash; memory tiering (DRAM, PMEM, HBM) : {{The Linux Kernel/source|mm/numa_memblks.c}} &ndash; memory block and distance setup 📚 References: : {{The Linux Kernel/doc|NUMA Memory Policy|admin-guide/mm/numa_memory_policy.html}} : {{w|Non-uniform memory access}} : See also [[../Multitasking/CPU#SMP|SMP section]] for NUMA topology and CPU aspects 🔨 [https://manpages.ubuntu.com/manpages/resolute/man1/stress-ng.1.html#numa stress-ng --numa] === Huge pages === {{w|Huge pages}} use larger page sizes (2 MB or 1 GB on x86-64) to reduce TLB misses and page table overhead for memory-intensive workloads. ==== HugeTLB ==== HugeTLB provides explicitly allocated persistent huge pages, reserved at boot or runtime. ⚲ API: : cat /proc/meminfo | grep Huge : cat /proc/sys/vm/nr_hugepages : {{The Linux Kernel/man|2|mmap}} with MAP_HUGETLB : mount -t hugetlbfs nodev /dev/hugepages : {{The Linux Kernel/include|linux/hugetlb.h}} ⚙️ Internals: : {{The Linux Kernel/source|mm/hugetlb.c}} &ndash; HugeTLB huge page allocator : {{The Linux Kernel/id|hugetlb_init}} : {{The Linux Kernel/id|hugetlb_fault}} 📚 References: : {{The Linux Kernel/doc|HugeTLB Pages|admin-guide/mm/hugetlbpage.html}} ==== Transparent Huge Pages ==== THP automatically promotes regular pages to huge pages without application changes (since 2.6.38). ⚲ API: : cat /sys/kernel/mm/transparent_hugepage/enabled : {{The Linux Kernel/man|2|madvise}} with MADV_HUGEPAGE : {{The Linux Kernel/include|linux/huge_mm.h}} ⚙️ Internals: : {{The Linux Kernel/source|mm/huge_memory.c}} &ndash; transparent huge page support : {{The Linux Kernel/id|khugepaged}} &ndash; daemon that collapses pages into huge pages : {{The Linux Kernel/source|mm/khugepaged.c}} &ndash; THP collapse daemon 📚 References: : {{The Linux Kernel/doc|Transparent Hugepage Support|admin-guide/mm/transhuge.html}} : {{The Linux Kernel/doc|Concepts overview|admin-guide/mm/concepts.html}} === TLB === {{w|Translation lookaside buffer}} is a hardware cache of virtual-to-physical address translations. The kernel must flush TLB entries when page table mappings change. On SMP, this requires {{w|Inter-processor interrupt|IPI}}s to other CPUs (TLB shootdowns), which can impact real-time latency on isolated CPUs. ⚲ API : {{The Linux Kernel/include|asm-generic/tlb.h}} &ndash; generic TLB flush batching : {{The Linux Kernel/id|flush_tlb_all}} &ndash; flush entire TLB on all CPUs via IPI (TLB shootdown) :: {{The Linux Kernel/id|__flush_tlb_all}} &ndash; local CPU only, no IPI, calls {{The Linux Kernel/id|__flush_tlb_global}} : {{The Linux Kernel/id|flush_tlb_mm}} &ndash; flush TLB for a specific address space : {{The Linux Kernel/id|flush_tlb_page}} &ndash; flush single page from TLB : {{The Linux Kernel/id|flush_tlb_range}} &ndash; flush a range of user pages for a VMA : {{The Linux Kernel/id|flush_tlb_kernel_range}} &ndash; flush kernel mappings on all CPUs : /sys/kernel/debug/tracing/events/tlb/tlb_flush/ ⚙️ Internals : {{The Linux Kernel/source|arch/x86/mm/tlb.c}} &ndash; x86 TLB flush implementation : {{The Linux Kernel/source|mm/mmu_gather.c}} &ndash; TLB flush batching 📖 References : {{The Linux Kernel/doc|TLB|arch/x86/tlb.html}} : {{The Linux Kernel/doc|Cache and TLB Flushing Under Linux|core-api/cachetlb.html}} === CMA === The Contiguous Memory Allocator (CMA) reserves a region of memory at boot for large physically contiguous allocations needed by DMA devices, GPUs and multimedia hardware (since 3.5). Unused CMA memory is available to the page allocator for movable pages. ⚲ API: : cat /proc/meminfo | grep Cma : {{The Linux Kernel/include|linux/cma.h}} : {{The Linux Kernel/id|dma_alloc_contiguous}} : {{The Linux Kernel/id|CONFIG_CMA}} ⚙️ Internals: : {{The Linux Kernel/source|mm/cma.c}} &ndash; contiguous memory allocator core : {{The Linux Kernel/source|kernel/dma/contiguous.c}} &ndash; DMA-CMA integration : {{The Linux Kernel/source|mm/cma_debug.c}} &ndash; debugfs interface : {{The Linux Kernel/id|cma_alloc}} : {{The Linux Kernel/id|cma_release}} 📚 References: : {{The Linux Kernel/doc|Contiguous Memory Allocator|mm/cma.html}} === DMA === ⚲ API: : {{The Linux Kernel/id|dma_addr_t}} - bus address : {{The Linux Kernel/include|linux/dma-mapping.h}} : {{The Linux Kernel/id|dma_alloc_coherent}} : {{The Linux Kernel/id|dma_alloc_pages}} {{The Linux Kernel/id|pin_user_pages}} : {{The Linux Kernel/id|dma_map_single}} {{The Linux Kernel/id|dma_data_direction}} : {{The Linux Kernel/id|dma_map_sg}} {{The Linux Kernel/id|scatterlist}} : {{The Linux Kernel/id|dma_set_mask}} {{The Linux Kernel/id|dma_set_coherent_mask}} {{The Linux Kernel/id|dma_set_mask_and_coherent}} : {{The Linux Kernel/id|dma_sync_single_for_cpu}} {{The Linux Kernel/id|dma_sync_single_for_device}} : {{The Linux Kernel/include|linux/gfp.h}} : {{The Linux Kernel/include|linux/dmapool.h}} : {{The Linux Kernel/id|dma_pool_create}} : DMA-able memory: {{The Linux Kernel/id|__get_free_page}} {{The Linux Kernel/id|kmalloc}} {{The Linux Kernel/id|kmem_cache_alloc}} : {{The Linux Kernel/id|get_user_pages}} pins user pages in memory, 👁 Examples: : {{The Linux Kernel/source|samples/kfifo/dma-example.c}} : {{The Linux Kernel/id|e1000_alloc_rx_buffers}}, {{The Linux Kernel/id|e1000_alloc_ring_dma}} ⚙️ Internals: : {{The Linux Kernel/source|kernel/dma}} &ndash; DMA subsystem core : {{The Linux Kernel/source|mm/dmapool.c}} &ndash; small DMA-coherent allocations : {{The Linux Kernel/source|mm/gup.c}} &ndash; get/pin user pages : {{The Linux Kernel/source|kernel/dma/mapping.c}} &ndash; arch-independent DMA mapping 📚 References: : {{The Linux Kernel/doc|Dynamic DMA mapping Guide|core-api/dma-api-howto.html}} : {{The Linux Kernel/doc|Dynamic DMA mapping using the generic device|core-api/dma-api.html}} : {{The Linux Kernel/doc|pin_user_pages() and related calls|core-api/pin_user_pages.html}} : [https://lwn.net/Articles/787636/ LWM: get_user_pages, pinned pages, and DAX] : [https://sysprog21.github.io/lkmpg/#dma-and-mmap LKMPG: DMA and mmap] 💾 ''Historical:'' : [http://lwn.net/images/pdf/LDD3/ch15.pdf LDD3:Memory Mapping and DMA] : http://www.xml.com/ldd/chapter/book/ch13.html mmap and DMA : SAC &ndash; Single Address Cycle, 32-bit DMA addressing (up to 4 GB) : DAC &ndash; Dual Address Cycle, 64-bit DMA addressing ==== DMAEngine ==== : {{The Linux Kernel/include|linux/dmaengine.h}} : {{The Linux Kernel/source|drivers/dma}} &ndash; DMA engine drivers : {{The Linux Kernel/doc|driver-api/dmaengine}} : https://bootlin.com/pub/conferences/2015/elc/ripard-dmaengine/ == ... == 📚 References for the article: : {{The Linux Kernel/doc|Linux Memory Management Documentation|mm/}} : [https://www.ryadel.com/en/linux-memory-management-mechanism-analysis-kernel/ Analysis of Linux Memory Management Mechanism] : [https://0xax.gitbooks.io/linux-insides/content/MM/ Memory management] : http://linux-mm.org/LinuxMM : http://www.tldp.org/HOWTO/KernelAnalysis-HOWTO-7.html : [https://lwn.net/Kernel/Index/#Memory_management Memory management, lwn] {{BookCat}} 5m0x95x7j0xhay31tl10ecefq2do1jv 4654526 4654511 2026-07-15T07:54:27Z Conan 3188 *Shell interfaces 4654526 wikitext text/x-wiki <noinclude>{{DISPLAYTITLE:Memory functionality}}</noinclude> {|style="width: 25%; float: right; text-align:center;border-spacing: 0; color:black; margin:auto;" cellpadding=5pc ! bgcolor="#bfd" |memory |- | bgcolor="#aed" |[[#Processes|Processes]] |- | bgcolor="#9dd" |[[#Virtual_memory|virtual memory]] |- | bgcolor="#aca" |[[#Memory_mapping|memory mapping]] |- | bgcolor="#acb" | [[#Swap|demand paging and swap]] |- | bgcolor="#8b9" |[[#Logical_memory|logical memory]] |- | bgcolor="#7a7" |[[#Page Allocator|Page Allocator]] |- | bgcolor="#686" |[[#Pages|pages]] |} The kernel has full access to the system's memory and allows processes to {{w|Process isolation|safely access}} this memory as they require it. Often the first step in doing this is {{w|Virtual address space|virtual addressing}}, usually achieved by paging and/or segmentation. Virtual addressing allows the kernel to make a given {{w|physical address}} appear to be another address, the virtual address. Virtual address spaces may be different for different processes; the memory that one process accesses at a particular (virtual) address may be different memory from what another process accesses at the same address. This allows every program to behave as if it is the only one (apart from the kernel) running and thus prevents applications from crashing each other. On many systems, a program's virtual address may refer to data which is not currently in memory. The layer of indirection provided by virtual addressing allows the operating system to use other data stores, like a hard drive, to store what would otherwise have to remain in main {{w|random-access memory}} (RAM). As a result, operating systems can allow programs to use more memory than the system has physically available. When a program needs data which is not currently in RAM, the {{w|Memory management unit|MMU}} {{w|Page fault|signals}} to the kernel that this has happened, and the kernel responds by writing the contents of an inactive memory block to disk (if necessary) and replacing it with the data requested by the program. The program can then be resumed from the point where it was stopped. This scheme is generally known as {{w|demand paging}}. Virtual addressing also allows creation of virtual partitions of memory in two disjointed areas, one being reserved for the kernel (kernel space) and the other for the applications (user space). The applications are not permitted by the processor to address kernel memory, thus preventing an application from damaging the running kernel. This fundamental partition of memory space has contributed much to the current designs of actual general-purpose kernels and is almost universal in such systems, Linux being one of them. ⚲ Shell interfaces : cat /proc/meminfo : {{The Linux Kernel/man|1|free}} : {{The Linux Kernel/man|8|vmstat}} : {{The Linux Kernel/man|1|lsmem}} &ndash; list memory ranges and their online state : /proc/pagetypeinfo &ndash; page allocator fragmentation info per zone and migrate type : /sys/kernel/mm/ksm/ &ndash; {{The Linux Kernel/doc|Kernel Same-page Merging|admin-guide/mm/ksm.html}} tunables (pages_shared, pages_sharing, run) : /sys/kernel/mm/lru_gen/enabled &ndash; {{The Linux Kernel/doc|Multi-Gen LRU|admin-guide/mm/multigen_lru.html}} (since 6.1) : [https://github.com/sosreport/sos/blob/main/sos/report/plugins/memory.py sos memory plugin] &ndash; diagnostics collection for memory subsystem {{:The Linux Kernel/Processes}} == Memory management API == : ⚲ {{The Linux Kernel/man|2|brk}} ↪ {{The Linux Kernel/id|sys_brk}}, {{The Linux Kernel/id|do_brk_flags}} dynamically changes data segment size of the calling process. The change is made by resetting the <u>program break</u> of the process, which determines the maximum space that can be allocated. The program break is the address of the first location beyond the current end of the data region, and determines the maximum space that can be allocated by the process. The amount of available space increases as the break value increases. The added available space is initialized to a value of zero. : ⚲ {{The Linux Kernel/man|2|mmap}} ↪ {{The Linux Kernel/id|ksys_mmap_pgoff}} maps files or devices into memory. It is a method of memory-mapped file I/O. It naturally implements demand paging, because file contents are not read from disk initially and do not use physical RAM at all. The actual reads from disk are performed in a "lazy" manner, after a specific location is accessed. After the memory is no longer needed it is important to {{The Linux Kernel/man|2|munmap}} the pointers to it. Protection information can be managed using {{The Linux Kernel/man|2|mprotect}} ↪ {{The Linux Kernel/id|do_mprotect_pkey}} and special treatment can be enforced using {{The Linux Kernel/man|2|madvise}} ↪ {{The Linux Kernel/id|do_madvise}}. In Linux, {{The Linux Kernel/man|2|mmap}} can create several types of mappings, such as ''anonymous mappings'', ''shared mappings'' and ''private mappings''. Using the <code>MAP_ANONYMOUS</code> flag <code>mmap()</code> can map a specific area of the process's virtual memory not backed by any file, whose contents are initialized to zero. These functions are typically called from a higher-level memory management library function such as C standard library {{The Linux Kernel/man|3|malloc}} or [[w:new and delete (C++)|C++ new operator]]. ⚲ API : {{The Linux Kernel/include|linux/uaccess.h}} &ndash; user-space memory access and validation helpers : {{The Linux Kernel/include|linux/mm.h}} &ndash; memory management declarations and page handling APIs : {{The Linux Kernel/include|linux/slab.h}} &ndash; memory allocation APIs for slab and kmalloc systems 💾 ''History: Two basic related to memory management system calls <code>brk</code> and <code>mmap</code> Linux inherits from Unix.'' ''BTW: On Linux, {{The Linux Kernel/man|2|sbrk}} is not a separate system call, but a C library function that also calls to {{The Linux Kernel/id|sys_brk}} and keeps some internal state to return the previous break value.'' 📚 References : {{The Linux Kernel/doc|Memory Management APIs|core-api/mm-api.html}} : {{The Linux Kernel/doc|x86_64 Memory Management|x86/x86_64/mm.html}} : {{w|sbrk}} : {{w|mmap}} : [https://0xax.gitbooks.io/linux-insides/content/MM/ Memory management] ⚙️ Internals: : '''{{The Linux Kernel/id|sys_brk}}''' ↯ call hierarchy: : {{The Linux Kernel/id|do_brk_flags}} :: {{The Linux Kernel/id|vm_area_alloc}} ::: {{The Linux Kernel/id|kmem_cache_alloc}} :::: {{The Linux Kernel/id|kmem_cache_alloc_lru}} 🔨 [https://manpages.ubuntu.com/manpages/resolute/man1/stress-ng.1.html#Brk stress-ng --brk], [https://manpages.ubuntu.com/manpages/resolute/man1/stress-ng.1.html#Big --bigheap], [https://manpages.ubuntu.com/manpages/resolute/man1/stress-ng.1.html#Memory~20 --vm], [https://manpages.ubuntu.com/manpages/resolute/man1/stress-ng.1.html#Memory~9 --mmap] == Virtual memory == 🔧 TODO: {{w|Virtual memory|Virtually contiguous memory}} on top of physical and [[#Swap|swapped]] memory pages. 🗝️ Acronyms: : VPFN - Virtual Page Frame Number : PFN - Physical Page Frame Number : pgd - Page Directory : pmd - Page Middle Directory : pud - Page Upper Directory : pte - {{w|Page table}} Entry : VMA - Virtual Memory Area, see {{The Linux Kernel/id|vm_area_struct}} : TLB - {{w|Translation Lookaside Buffer}} : MMU - {{w|Memory Management Unit}} ⚲ API: : {{The Linux Kernel/include|linux/vmalloc.h}} : {{The Linux Kernel/id|vmalloc}} {{The Linux Kernel/id|vfree}} : {{The Linux Kernel/include|linux/cleanup.h}} &ndash; scope-based cleanup helpers :: {{The Linux Kernel/id|scoped_guard}} : /proc/vmallocinfo ⚙️ Internals: : {{The Linux Kernel/id|vm_struct}} : {{The Linux Kernel/id|virt_to_page}} : {{The Linux Kernel/id|vmalloc_init}} : {{The Linux Kernel/id|find_vma}} : {{The Linux Kernel/source|mm/vmalloc.c}} &ndash; virtually contiguous memory allocator 📚 References : {{The Linux Kernel/doc|Virtually Contiguous Mappings|core-api/mm-api.html#virtually-contiguous-mappings}} : {{The Linux Kernel/doc|Page Tables|mm/page_tables.html}} : {{The Linux Kernel/doc|Scope-based Cleanup Helpers|core-api/cleanup.html}} == Data types == === Pointers and addresses === Kernel-specific address types, in addition to common C pointers. : <big>unsigned long</big> &ndash; used to store addresses that are not intended to be dereferenced by the user : {{The Linux Kernel/id|uintptr_t}} &ndash; to be used in ioctl : {{The Linux Kernel/id|phys_addr_t}} &ndash; physical address : {{The Linux Kernel/id|dma_addr_t}} &ndash; DMA address 📚 Further reading : {{The Linux Kernel/doc|(How to avoid) Botching up ioctls|process/botching-up-ioctls.html}} : [https://unix.org/whitepapers/64bit.html Data Size Neutrality and 64-bit Support] === Other types === ⚲ API : {{The Linux Kernel/include|linux/types.h}} &ndash; fixed-width and kernel-specific type definitions : {{The Linux Kernel/include|linux/string.h}} &ndash; standard string manipulation functions : bit operations :: {{The Linux Kernel/include|linux/bitfield.h}} &ndash; defining and extracting bitfield values :: {{The Linux Kernel/include|linux/bitops.h}} &ndash; atomic and non-atomic bit manipulation operations :: {{The Linux Kernel/include|linux/bitmap.h}} &ndash; bit arrays that consume one or more unsigned longs :: {{The Linux Kernel/include|linux/sbitmap.h}} &ndash; fast and scalable bitmaps : {{The Linux Kernel/include|linux/kref.h}} : {{The Linux Kernel/include|acpi/actypes.h}} &ndash; common data types for the entire ACPI subsystem :: {{The Linux Kernel/include|linux/list.h}} &ndash; circular doubly linked list implementation ::: {{The Linux Kernel/id|list_head}} &ndash; common double linked list ::: {{The Linux Kernel/id|list_add}} ... :: {{The Linux Kernel/include|linux/klist.h}} &ndash; some {{The Linux Kernel/id|klist_node}}->{{The Linux Kernel/id|kref}} helpers ::: {{The Linux Kernel/id|klist_add_tail}} ... : {{The Linux Kernel/include|linux/kobject.h}} : {{The Linux Kernel/include|linux/circ_buf.h}} : {{The Linux Kernel/include|linux/kfifo.h}} &ndash; generic kernel FIFO :: {{The Linux Kernel/id|kfifo_in}} ... : {{The Linux Kernel/include|linux/rbtree.h}} &ndash; Red-black trees :: {{The Linux Kernel/id|rb_node}} : {{The Linux Kernel/include|linux/scatterlist.h}} :: {{The Linux Kernel/id|scatterlist}} :: 👁 Example: {{The Linux Kernel/source|samples/kfifo/dma-example.c}} : {{The Linux Kernel/include|linux/idr.h}} &ndash; ID allocation : {{The Linux Kernel/include|linux/container_of.h}} 📖 References : {{The Linux Kernel/doc|List Management Functions|core-api/kernel-api.html#list-management-functions}} : {{The Linux Kernel/doc|FIFO Buffer|core-api/kernel-api.html#fifo-buffer}} : {{The Linux Kernel/doc|Data structures and low-level utilities|core-api#data-structures-and-low-level-utilities}} :: {{The Linux Kernel/doc|Everything you never wanted to know about kobjects, ksets, and ktypes|core-api/kobject.html}} :: {{The Linux Kernel/doc|Adding reference counters (krefs) to kernel objects|core-api/kref.html}} :: {{The Linux Kernel/doc|Generic Associative Array Implementation|core-api/assoc_array.html}} :: {{The Linux Kernel/doc|XArray|core-api/xarray.html}} :: {{The Linux Kernel/doc|ID Allocation|core-api/idr.html}} :: {{The Linux Kernel/doc|Circular Buffers|core-api/circular-buffers.html}} :: {{The Linux Kernel/doc|Red-black Trees (rbtree) in Linux|core-api/rbtree.html}} :: {{The Linux Kernel/doc|Generic radix trees/sparse arrays|core-api/generic-radix-tree.html}} :: {{The Linux Kernel/doc|Generic bitfield packing and unpacking functions|core-api/packing.html}} :: {{The Linux Kernel/doc|How to access I/O mapped memory from within device drivers|core-api/bus-virt-phys-mapping.html}} :: {{The Linux Kernel/doc|this_cpu operations|core-api/this_cpu_ops.html}} :: {{The Linux Kernel/doc|The errseq_t datatype|core-api/errseq.html}} 📚 Further reading : [https://0xax.gitbooks.io/linux-insides/content/DataStructures/ Data Structures in the Linux Kernel] : https://kernelnewbies.org/InternalKernelDataTypes == Memory mapping == 🔧 TODO ⚲ API: : {{The Linux Kernel/man|2|mmap}} ↪ {{The Linux Kernel/id|ksys_mmap_pgoff}} ↪ {{The Linux Kernel/id|do_mmap}} : {{The Linux Kernel/man|2|mprotect}} : {{The Linux Kernel/man|2|mmap2}} : {{The Linux Kernel/man|2|mincore}} : {{The Linux Kernel/man|2|mremap}} &ndash; remap virtual memory address : {{The Linux Kernel/man|2|msync}} &ndash; synchronize memory-mapped file with storage : {{The Linux Kernel/man|2|posix_fadvise}} &ndash; predeclare access pattern for file data : {{The Linux Kernel/include|linux/mm_types.h}} &ndash; {{The Linux Kernel/id|mm_struct}}, {{The Linux Kernel/id|vm_area_struct}} : {{The Linux Kernel/include|linux/mm.h}} : {{The Linux Kernel/id|remap_pfn_range}} : {{The Linux Kernel/id|SetPageReserved}}, {{The Linux Kernel/id|ClearPageReserved}} ⚙️ Internals: : {{The Linux Kernel/source|mm/mmap.c}} &ndash; memory mapping implementation : {{The Linux Kernel/source|mm/madvise.c}} &ndash; {{The Linux Kernel/man|2|madvise}} memory usage hints 🔨 [https://manpages.ubuntu.com/manpages/resolute/man1/stress-ng.1.html#madvise stress-ng --madvise] 📚 References: : {{w|mmap}} : {{The Linux Kernel/doc|Maple Tree|core-api/maple_tree.html}} : [https://linux-kernel-labs.github.io/refs/heads/master/labs/memory_mapping.html Memory mapping, linux-kernel-labs] === vDSO === {{w|VDSO}} (virtual Dynamic Shared Object) is a kernel-mapped page in every process that allows userspace to call certain system functions (clock_gettime, gettimeofday) without a syscall. The kernel updates the vDSO data page on every timekeeping tick via {{The Linux Kernel/id|update_vsyscall}}. ⚲ API : {{The Linux Kernel/man|7|vdso}} : {{The Linux Kernel/include|vdso/datapage.h}} &ndash; {{The Linux Kernel/id|vdso_data}} ⚙️ Internals : {{The Linux Kernel/source|kernel/time/vsyscall.c}} &ndash; vDSO time data updates : {{The Linux Kernel/source|arch/x86/entry/vdso}} &ndash; x86 vDSO implementation 📖 References : {{The Linux Kernel/doc|vDSO ABI|admin-guide/abi-stable.html#vdso}} == Swap == 🔧 TODO ⚲ API: : cat /proc/sys/vm/swappiness ↪ {{The Linux Kernel/id|vm_swappiness}} : {{The Linux Kernel/include|linux/swap.h}} : {{The Linux Kernel/man|2|swapon}} ↪ {{The Linux Kernel/id|sys_swapon}} : {{The Linux Kernel/man|2|swapoff}} : {{The Linux Kernel/man|2|mlock}} ↪ {{The Linux Kernel/id|do_mlock}} : {{The Linux Kernel/man|2|shmctl}} ↪ {{The Linux Kernel/id|shmctl_do_lock}} ⚙️ Internals: : {{The Linux Kernel/source|mm/swapfile.c}} &ndash; swap area management : {{The Linux Kernel/source|mm/vmscan.c}} &ndash; page reclaim and scanning : {{The Linux Kernel/source|mm/mlock.c}} &ndash; memory locking : {{The Linux Kernel/id|VM_LOCKED}} : {{The Linux Kernel/id|swap_info_struct}}, {{The Linux Kernel/id|si_swapinfo}}, {{The Linux Kernel/id|swap_info}} : {{The Linux Kernel/id|handle_pte_fault}} ↪ {{The Linux Kernel/id|do_swap_page}} : {{The Linux Kernel/id|wakeup_kswapd}} ↪ {{The Linux Kernel/id|kswapd}} : {{The Linux Kernel/source|mm/readahead.c}} &ndash; page readahead for sequential file access : {{The Linux Kernel/include|linux/zswap.h}}, {{The Linux Kernel/source|mm/zswap.c}} &ndash; compressed swap cache 🔨 [https://manpages.ubuntu.com/manpages/resolute/man1/stress-ng.1.html#mlock stress-ng --mlock] 📚 References: : {{w|Memory_paging#Linux|Memory paging}} : https://wiki.archlinux.org/title/swap == Logical memory == ⚲ {{The Linux Kernel/id|kmalloc}} is the normal method of allocating memory in the kernel for objects smaller than the page size. It is defined in {{The Linux Kernel/include|linux/slab.h}}. The first argument ''size'' is the size (in bytes) of the block of memory to be allocated. The second argument ''flags'' are the allocation flags or ''GFP flags'', a set of macros that the caller provides to control the type of requested memory. The most commonly used values for ''flags'' are GFP_KERNEL and GFP_ATOMIC, but there is more to be considered. Memory-allocation requests in the kernel are always qualified by a set of ''GFP flags'' ("GFP" initially came from "get free page") describing what can and cannot be done to satisfy the request. The most commonly used flags are GFP_ATOMIC and GFP_KERNEL, though they are actually built up from lower-level flags. The full set of flags is huge; they can be found in the {{The Linux Kernel/include|linux/gfp.h}} header file. ⚲ API: : ↯ {{w|RAII}} allocation functions hierarchy from {{The Linux Kernel/include|linux/device.h}}: :: {{The Linux Kernel/id|devm_kcalloc}} - zeroed array ::: {{The Linux Kernel/id|devm_kmalloc_array}} :::: {{The Linux Kernel/id|devm_kmalloc}} - common allocation :: {{The Linux Kernel/id|devm_kzalloc}} - zeroed allocation ::: {{The Linux Kernel/id|devm_kmalloc}} - common allocation : Classic direct API: :: {{The Linux Kernel/include|linux/slab.h}} :: {{The Linux Kernel/id|kmalloc}}, {{The Linux Kernel/id|kfree}} === Slab allocation === {{w|Slab allocation}} is a memory management algorithm intended for the efficient memory allocation of kernel objects. It eliminates fragmentation caused by allocations and deallocations. The technique is used to retain allocated memory that contains a data object of a certain type for reuse upon subsequent allocations of objects of the same type. ''' Basics ''' ''This section is about the SLUB allocator implementation'' A slab can be thought of as an array of objects of certain type or with the same size, spanning through one or more contiguous pages of memory; for example, the slab named "task_struct" holds objects of <code>struct task_struct</code> type, used by the scheduling subsystem. Other slabs store objects used by other subsystems, and there is also slabs for dynamic allocations inside the kernel, such as the "kmalloc-64" slab that holds up to 64-byte chunks requested via kmalloc() calls. In a slab, each object can be allocated and freed separately. The primary motivation for slab allocation is that the initialization and destruction of kernel data objects can actually outweigh the cost of allocating memory for them. As object creation and deletion are widely employed by the kernel, overhead costs of initialization can result in significant performance drops. The notion of object caching was therefore introduced in order to avoid the invocation of functions used to initialize object state. With slab allocation, memory chunks suitable to fit data objects of certain type or size are preallocated. The slab allocator keeps track of these chunks, known as caches {{The Linux Kernel/id|kmalloc_caches}}, so that when a request to allocate memory for a data object of a certain type is received, it can instantly satisfy the request with an already allocated slot via {{The Linux Kernel/id|slab_alloc_node}}. Deallocation of the object with {{The Linux Kernel/id|kfree}} does not free up the memory, but only opens a slot which is returned to the slab allocator's free list. The next call to allocate memory of the same size will return the now unused memory slot. See {{The Linux Kernel/id|slab_alloc_node}}/{{The Linux Kernel/id|__slab_alloc_node}}/{{The Linux Kernel/id|___slab_alloc}}. This process eliminates the need to search for suitable memory space and greatly alleviates memory fragmentation. In this context, a slab is one or more contiguous pages in the memory containing pre-allocated memory chunks. Slab allocation provides a kind of front-end to the zoned buddy allocator for those sections of the kernel that require more flexible memory allocation than the standard 4KB page size. ⚲ Interface: : sudo cat /proc/slabinfo : {{The Linux Kernel/include|linux/slab.h}} : {{The Linux Kernel/id|kmem_cache_alloc}}, {{The Linux Kernel/id|kmem_cache_free}} : {{The Linux Kernel/man|1|slabtop}} ⚙️ Internals: : {{The Linux Kernel/source|mm/slab_common.c}} &ndash; slab allocator common code : {{The Linux Kernel/id|mm_init}} is called from {{The Linux Kernel/id|start_kernel}} :: {{The Linux Kernel/id|kmem_cache_init}} ::: {{The Linux Kernel/id|create_kmalloc_caches}} : {{The Linux Kernel/id|kasan_slab_alloc}} ''' SLUB allocator ''' &ndash; default Unqueued allocator {{w|SLUB (software)|SLUB}} is the iteration of the original SLAB allocator that replaced it and became the Linux default allocator since 2.6.23. ⚙️ Internals: {{The Linux Kernel/source|mm/slub.c}} 📚 References: : {{The Linux Kernel/id|CONFIG_SLUB}} 💾 ''Historical: SLOB (Simple List Of Blocks) allocator for embedded devices was removed in kernel 6.4.'' ''SLAB allocator, the original slab allocation implementation based on Jeff Bonwick's 1994 paper, was removed in kernel 6.8.'' ''SLUB is now the only slab allocator in the kernel.'' <hr> ''' Per-CPU allocator ''' : {{The Linux Kernel/include|linux/percpu.h}}, {{The Linux Kernel/source|mm/percpu.c}} &ndash; per-CPU memory areas, used by slab and counters 📚 References for Slab allocation: : {{The Linux Kernel/doc|KASAN - KernelAddressSANitizer|dev-tools/kasan.html}} - dynamic memory safety error detector designed to find out-of-bound and use-after-free bugs : [https://www.youtube.com/watch?v=h0VMLXavx30 <nowiki>Video "SL[AUO]B: Kernel memory allocator design and philosophy"</nowiki>] Christopher Lameter (Linux.conf.au 2015 conference) [http://lca2015.linux.org.au/slides/167/slaballocators-auckland-2015.pdf Slides] === Page Allocator === The page allocator (or "zoned buddy allocator") is a low-level allocator that deals with physical memory. It delivers physical pages (usually with a size of 4096 bytes) of free memory to high-level memory consumers such as the slab allocators and <code>kmalloc()</code>. As the ultimate source of memory in the system, the page allocator must ensure that memory is always available, since a failure providing memory to a critical kernel subsystem can lead to a general system failure or a kernel panic. The page allocator divides physical memory into "zones", each of which corresponds to {{The Linux Kernel/id|zone_type}} with specific characteristics. ZONE_DMA contains memory at the bottom of the address range for use by severely challenged devices, for example, while {{The Linux Kernel/id|ZONE_NORMAL}} may contain most memory on the system. 32-bit systems have a ZONE_HIGHMEM for memory that is not directly mapped into the kernel's address space. Depending on the characteristics of any given allocation request, the page allocator will search the available zones in a specific priority order. For the curious, <code>/proc/zoneinfo</code> gives a lot of information about the zones in use on any given system. Within a zone, memory is grouped into ''page blocks'', each of which can be marked with a ''migration type'' - {{The Linux Kernel/id|migratetype}} describing how the block should be allocated. ⚲ API: : cat /proc/buddyinfo : {{The Linux Kernel/include|linux/gfp.h}} : {{The Linux Kernel/include|linux/mmzone.h}} : {{The Linux Kernel/id|devm_get_free_pages}} - {{w|RAII}} function :: {{The Linux Kernel/id|__get_free_pages}} : {{The Linux Kernel/id|alloc_page}} :: {{The Linux Kernel/id|alloc_pages}} : {{The Linux Kernel/id|alloc_pages_node}} ⚙️ Internals: : {{The Linux Kernel/id|build_all_zonelists}} is called from {{The Linux Kernel/id|start_kernel}}, ↯ call hierarchy: :: {{The Linux Kernel/id|build_all_zonelists_init}} ::: {{The Linux Kernel/id|__build_all_zonelists}} :::: {{The Linux Kernel/id|build_zonelists}} : {{The Linux Kernel/id|__alloc_pages}} - the 'heart' of the zoned buddy allocator : struct {{The Linux Kernel/id|zone}} :: {{The Linux Kernel/id|free_area}} : {{The Linux Kernel/source|mm/mmzone.c}} &ndash; memory zone helpers : {{The Linux Kernel/source|mm/page_alloc.c}} &ndash; buddy page allocator 📚 References: : {{The Linux Kernel/doc|Get Free Page flags|core-api/memory-allocation.html}} : {{w|Buddy memory allocation}} : {{w|Page replacement algorithm}} === OOM killer === The {{w|Out of memory|Out-Of-Memory}} killer is invoked when the kernel cannot satisfy a memory allocation and all reclaim attempts have failed. It selects a process to kill based on a badness score to free memory and keep the system running. ⚲ API: : /proc/$pid/oom_score &ndash; current badness score : /proc/$pid/oom_score_adj &ndash; adjust score (-1000 to 1000) : /proc/$pid/oom_adj &ndash; deprecated, use oom_score_adj : /proc/sys/vm/panic_on_oom ⚙️ Internals: : {{The Linux Kernel/source|mm/oom_kill.c}} &ndash; out-of-memory killer : {{The Linux Kernel/id|out_of_memory}} &ndash; main entry point : {{The Linux Kernel/id|oom_badness}} &ndash; calculates badness score : {{The Linux Kernel/id|oom_kill_process}} 📚 References: : {{The Linux Kernel/doc|OOM|admin-guide/sysctl/vm.html}} 🔨 [https://manpages.ubuntu.com/manpages/resolute/man1/stress-ng.1.html#Large stress-ng --oom-pipe] === Memory cgroup controller === The memory cgroup controller limits and accounts memory usage per group of processes. It can set hard and soft limits, trigger per-cgroup OOM, and track swap usage. ⚲ API: : memory.max &ndash; hard memory limit : memory.high &ndash; throttling threshold : memory.current &ndash; current usage : memory.swap.max &ndash; swap limit : See [[../System/CGroup v2#Memory|CGroup v2 Memory controller]] for full interface ⚙️ Internals: : {{The Linux Kernel/source|mm/memcontrol.c}} &ndash; memory cgroup controller : {{The Linux Kernel/id|mem_cgroup}} &ndash; main structure : {{The Linux Kernel/id|mem_cgroup_charge}} : {{The Linux Kernel/id|mem_cgroup_oom}} 📚 References: : {{The Linux Kernel/doc|Memory Resource Controller|admin-guide/cgroup-v2.html#memory}} === tmpfs/shmem === {{The Linux Kernel/include|linux/shmem_fs.h}}, {{The Linux Kernel/source|mm/shmem.c}} &ndash; {{w|tmpfs}} virtual memory filesystem, also backs POSIX shared memory and {{The Linux Kernel/man|2|memfd_create}}. === KSM === {{The Linux Kernel/include|linux/ksm.h}}, {{The Linux Kernel/source|mm/ksm.c}} &ndash; Kernel Same-page Merging, deduplicates identical anonymous pages, used by {{w|Kernel-based Virtual Machine|KVM}}. {{The Linux Kernel/doc|KSM|admin-guide/mm/ksm.html}} === userfaultfd === {{The Linux Kernel/man|2|userfaultfd}} ↪ {{The Linux Kernel/source|mm/userfaultfd.c}} &ndash; handles page faults in user space, used for VM live migration. {{The Linux Kernel/doc|Userfaultfd|admin-guide/mm/userfaultfd.html}} 🔨 [https://manpages.ubuntu.com/manpages/resolute/man1/stress-ng.1.html#userfaultfd stress-ng --userfaultfd] === DAMON === Data Access MONitor (since 5.15) provides kernel-level data access pattern monitoring. It can be used for memory management optimization and profiling. ⚲ API: : /sys/kernel/mm/damon/ : {{The Linux Kernel/include|linux/damon.h}} ⚙️ Internals: : {{The Linux Kernel/source|mm/damon}} &ndash; DAMON core and operation schemes 📖 References: : {{The Linux Kernel/doc|DAMON|mm/damon}} <hr> 📚 References for logical memory: : {{The Linux Kernel/doc|Memory Allocation Guide|core-api/memory-allocation.html}} : {{The Linux Kernel/doc|Selecting memory allocator|core-api/memory-allocation.html#selecting-memory-allocator}} == Physical memory == === Memory Layout === A 32-bit processor can address a maximum of 4GB of memory. Linux kernels split the 4GB address space between user processes and the kernel; under the most common configuration, the first 3GB of the 32-bit range are given over to user space, and the kernel gets the final 1GB starting at 0xc0000000. Sharing the address space gives a number of performance benefits; in particular, the hardware's address translation buffer can be shared between the kernel and user space. In '''x86-64''' - {{The Linux Kernel/id|CONFIG_X86_64}} with 4-level page tables ({{The Linux Kernel/id|CONFIG_X86_5LEVEL}}=n), only the least significant 48&nbsp;bits of a virtual memory address would actually be used in address translation (page table lookup). The remainder bits 48 through 63 of any virtual address must be copies of bit 47, or the processor will raise an exception. Addresses complying with this rule are referred to as "canonical form." Canonical form addresses run from 0 through 00007FFF'FFFFFFFF, and from FFFF8000'00000000 through FFFFFFFF'FFFFFFFF, for a total of 256&nbsp;TB of usable {{w|virtual address space}}. This is still approximately 64,000 times the virtual address space on 32-bit machines. Linux takes the higher-addressed half of the address space for itself (kernel space) and leaves the lower-addressed half for user space. The "canonical address" design has, in effect, two memory halves: the lower half starts at 00000000'00000000 and "grows upwards" as more virtual address bits become available, while the higher half is "docked" to the top of the address space and grows downwards. {| class="wikitable sortable" |+ !Start addr !class=unsortable|Offset !End addr !class=unsortable|Size !class=unsortable|VM area description |- | <code><small>0000'</small>'''8'''<small>000'0000'0000</small></code> | +128 TB | <code><small>ffff'7fff'ffff'ffff</small></code> | | ... huge, almost 64 bits wide hole of non-canonical virtual memory addresses up to the -128 TB starting offset of kernel mappings. |- | <code><small>0000'0000'0000'0000</small></code> |0 | <code><small>0000'7fff'ffff'ffff</small></code> |128&nbsp;TB=2<sup>47</sup> |user-space virtual memory, different per mm |- | <code><small>ffff'ffff'ffe0'0000</small></code> | -2 MB | <code><small>ffff'ffff'ffff'ffff</small></code> | 2 MB=2<sup>21</sup> |... unused hole |- | <code><small>ffff'ffff'ff60'0000</small></code> | -10 MB | <code><small>ffff'ffff'ff60'0fff</small></code> | 4 kB=2<sup>12</sup> | {{The Linux Kernel/id|VSYSCALL_ADDR}} - legacy vsyscall ABI |- | <code><small>ffff'ffff'8000'0000</small></code> | -2 GB | <code><small>ffff'ffff'9fff'ffff</small></code> | 512&nbsp;MB=2<sup>29</sup> | kernel text mapping, mapped to physical address 0 |- | | | | | |- | <code><small>ffff'8880'0000'0000</small></code> | -119.5&nbsp;TB | <code><small>ffff'c87f'ffff'ffff</small></code> | 64&nbsp;TB | {{The Linux Kernel/id|page_offset_base}} = {{The Linux Kernel/id|__PAGE_OFFSET_BASE_L4}} - direct mapping of all physical memory |- | | | | | |- | <code><small>ffff'8000'0000'0000</small></code> | -128 TB | <code><small>ffff'87ff'ffff'ffff</small></code> | 8&nbsp;TB | ... guard hole, also reserved for hypervisor |} [[File:Linux_Virtual_Memory_Layout_64bit.svg|border|center|x86-64 memory layout]] ⚲ API: : {{The Linux Kernel/man|8|setarch}} --addr-no-randomize cat /proc/self/maps ⚙️ Internals: : {{The Linux Kernel/source|arch/x86/include/asm/page_64_types.h}} &ndash; x86-64 page type definitions : {{The Linux Kernel/source|arch/x86/mm/init_64.c}} &ndash; x86-64 memory initialization 📚 References: : {{The Linux Kernel/doc|X86_64 memory map|x86/x86_64/mm.html}} : {{w|Address_space_layout_randomization#Linux|Address space layout randomization}} === Pages === In Linux, different architectures have different page sizes. The original &mdash;for x86 architecture&mdash; and still most commonly used page size is 4096 bytes (4 KB). The page size (in bytes) of the current architecture is defined by the <code>PAGE_SIZE</code> macro included in {{The Linux Kernel/source|arch/x86/include/asm/page_types.h}} header file. User space programs can get this value using the {{The Linux Kernel/man|2|getpagesize}} library function. Another related macro is <code>PAGE_SHIFT</code>, that contains the number of bits to shift an address to get its page number &mdash;12 bits for 4K pages. One of the most fundamental kernel data structures relating memory-management is <code>struct page</code>. The kernel keeps track of the status of every page of physical memory present in the system using variables of this type. There are millions of pages in a modern system, and therefore there are millions of these structures in memory. The full definition of <code>struct page</code> can be found in {{The Linux Kernel/include|linux/mm_types.h}}. ⚙️ Internals: : {{The Linux Kernel/source|mm/memory.c}} &ndash; page fault handling and page table operations ({{The Linux Kernel/id|handle_mm_fault}}) : {{The Linux Kernel/include|linux/rmap.h}}, {{The Linux Kernel/source|mm/rmap.c}} &ndash; reverse mapping, virtual-to-physical tracking for page reclaim : {{The Linux Kernel/include|linux/compaction.h}}, {{The Linux Kernel/source|mm/compaction.c}} &ndash; memory compaction, reduces fragmentation : {{The Linux Kernel/include|linux/memblock.h}}, {{The Linux Kernel/source|mm/memblock.c}} &ndash; early boot memory allocator, before buddy is available : {{The Linux Kernel/include|linux/highmem.h}} &ndash; page content access and manipulation : {{The Linux Kernel/include|asm-generic/tlb.h}}, {{The Linux Kernel/source|mm/mmu_gather.c}} &ndash; TLB flush and page table teardown batching : [https://0xax.gitbooks.io/linux-insides/content/Theory/linux-theory-1.html Pages] === NUMA === In {{w|Non-uniform memory access}} systems, physical memory is divided into nodes, each local to a group of CPUs. Accessing local memory is faster than remote memory, so the kernel tries to allocate memory from the node closest to the requesting CPU. Each node contains its own set of zones (DMA, Normal, etc.). ⚲ API: : {{The Linux Kernel/man|8|numactl}} &ndash; controls NUMA policy for processes or shared memory : {{The Linux Kernel/man|8|numastat}} &ndash; per-node memory statistics (hits, misses, foreign allocations) : /sys/devices/system/node/node*/meminfo &ndash; per-node memory info : /sys/devices/system/node/node*/cpulist &ndash; CPUs belonging to each node : /sys/devices/system/node/node*/distance &ndash; inter-node distances : {{The Linux Kernel/man|2|set_mempolicy}} &ndash; set default NUMA memory policy : {{The Linux Kernel/man|2|mbind}} &ndash; set NUMA memory policy for a memory range : {{The Linux Kernel/man|2|get_mempolicy}} : {{The Linux Kernel/man|2|migrate_pages}} : {{The Linux Kernel/man|2|move_pages}} : cat /proc/buddyinfo : /sys/devices/system/node/ : {{The Linux Kernel/include|linux/topology.h}} &ndash; {{The Linux Kernel/id|cpu_to_node}}, {{The Linux Kernel/id|numa_node_id}} : {{The Linux Kernel/include|linux/mempolicy.h}} ⚙️ Internals: : {{The Linux Kernel/id|CONFIG_NUMA}} : {{The Linux Kernel/id|pglist_data}} (pg_data_t) &ndash; per-node memory descriptor, contains zones @ {{The Linux Kernel/include|linux/mmzone.h}} : {{The Linux Kernel/id|numa_node_id}} &ndash; returns NUMA node of current CPU : {{The Linux Kernel/source|mm/numa.c}} &ndash; NUMA node data allocation during boot : {{The Linux Kernel/source|mm/mempolicy.c}} &ndash; NUMA memory allocation policies : {{The Linux Kernel/source|mm/migrate.c}} &ndash; page migration between nodes : {{The Linux Kernel/source|mm/memory-tiers.c}} &ndash; memory tiering (DRAM, PMEM, HBM) : {{The Linux Kernel/source|mm/numa_memblks.c}} &ndash; memory block and distance setup 📚 References: : {{The Linux Kernel/doc|NUMA Memory Policy|admin-guide/mm/numa_memory_policy.html}} : {{w|Non-uniform memory access}} : See also [[../Multitasking/CPU#SMP|SMP section]] for NUMA topology and CPU aspects 🔨 [https://manpages.ubuntu.com/manpages/resolute/man1/stress-ng.1.html#numa stress-ng --numa] === Huge pages === {{w|Huge pages}} use larger page sizes (2 MB or 1 GB on x86-64) to reduce TLB misses and page table overhead for memory-intensive workloads. ==== HugeTLB ==== HugeTLB provides explicitly allocated persistent huge pages, reserved at boot or runtime. ⚲ API: : cat /proc/meminfo | grep Huge : cat /proc/sys/vm/nr_hugepages : {{The Linux Kernel/man|2|mmap}} with MAP_HUGETLB : mount -t hugetlbfs nodev /dev/hugepages : {{The Linux Kernel/include|linux/hugetlb.h}} ⚙️ Internals: : {{The Linux Kernel/source|mm/hugetlb.c}} &ndash; HugeTLB huge page allocator : {{The Linux Kernel/id|hugetlb_init}} : {{The Linux Kernel/id|hugetlb_fault}} 📚 References: : {{The Linux Kernel/doc|HugeTLB Pages|admin-guide/mm/hugetlbpage.html}} ==== Transparent Huge Pages ==== THP automatically promotes regular pages to huge pages without application changes (since 2.6.38). ⚲ API: : cat /sys/kernel/mm/transparent_hugepage/enabled : {{The Linux Kernel/man|2|madvise}} with MADV_HUGEPAGE : {{The Linux Kernel/include|linux/huge_mm.h}} ⚙️ Internals: : {{The Linux Kernel/source|mm/huge_memory.c}} &ndash; transparent huge page support : {{The Linux Kernel/id|khugepaged}} &ndash; daemon that collapses pages into huge pages : {{The Linux Kernel/source|mm/khugepaged.c}} &ndash; THP collapse daemon 📚 References: : {{The Linux Kernel/doc|Transparent Hugepage Support|admin-guide/mm/transhuge.html}} : {{The Linux Kernel/doc|Concepts overview|admin-guide/mm/concepts.html}} === TLB === {{w|Translation lookaside buffer}} is a hardware cache of virtual-to-physical address translations. The kernel must flush TLB entries when page table mappings change. On SMP, this requires {{w|Inter-processor interrupt|IPI}}s to other CPUs (TLB shootdowns), which can impact real-time latency on isolated CPUs. ⚲ API : {{The Linux Kernel/include|asm-generic/tlb.h}} &ndash; generic TLB flush batching : {{The Linux Kernel/id|flush_tlb_all}} &ndash; flush entire TLB on all CPUs via IPI (TLB shootdown) :: {{The Linux Kernel/id|__flush_tlb_all}} &ndash; local CPU only, no IPI, calls {{The Linux Kernel/id|__flush_tlb_global}} : {{The Linux Kernel/id|flush_tlb_mm}} &ndash; flush TLB for a specific address space : {{The Linux Kernel/id|flush_tlb_page}} &ndash; flush single page from TLB : {{The Linux Kernel/id|flush_tlb_range}} &ndash; flush a range of user pages for a VMA : {{The Linux Kernel/id|flush_tlb_kernel_range}} &ndash; flush kernel mappings on all CPUs : /sys/kernel/debug/tracing/events/tlb/tlb_flush/ ⚙️ Internals : {{The Linux Kernel/source|arch/x86/mm/tlb.c}} &ndash; x86 TLB flush implementation : {{The Linux Kernel/source|mm/mmu_gather.c}} &ndash; TLB flush batching 📖 References : {{The Linux Kernel/doc|TLB|arch/x86/tlb.html}} : {{The Linux Kernel/doc|Cache and TLB Flushing Under Linux|core-api/cachetlb.html}} === CMA === The Contiguous Memory Allocator (CMA) reserves a region of memory at boot for large physically contiguous allocations needed by DMA devices, GPUs and multimedia hardware (since 3.5). Unused CMA memory is available to the page allocator for movable pages. ⚲ API: : cat /proc/meminfo | grep Cma : {{The Linux Kernel/include|linux/cma.h}} : {{The Linux Kernel/id|dma_alloc_contiguous}} : {{The Linux Kernel/id|CONFIG_CMA}} ⚙️ Internals: : {{The Linux Kernel/source|mm/cma.c}} &ndash; contiguous memory allocator core : {{The Linux Kernel/source|kernel/dma/contiguous.c}} &ndash; DMA-CMA integration : {{The Linux Kernel/source|mm/cma_debug.c}} &ndash; debugfs interface : {{The Linux Kernel/id|cma_alloc}} : {{The Linux Kernel/id|cma_release}} 📚 References: : {{The Linux Kernel/doc|Contiguous Memory Allocator|mm/cma.html}} === DMA === ⚲ API: : {{The Linux Kernel/id|dma_addr_t}} - bus address : {{The Linux Kernel/include|linux/dma-mapping.h}} : {{The Linux Kernel/id|dma_alloc_coherent}} : {{The Linux Kernel/id|dma_alloc_pages}} {{The Linux Kernel/id|pin_user_pages}} : {{The Linux Kernel/id|dma_map_single}} {{The Linux Kernel/id|dma_data_direction}} : {{The Linux Kernel/id|dma_map_sg}} {{The Linux Kernel/id|scatterlist}} : {{The Linux Kernel/id|dma_set_mask}} {{The Linux Kernel/id|dma_set_coherent_mask}} {{The Linux Kernel/id|dma_set_mask_and_coherent}} : {{The Linux Kernel/id|dma_sync_single_for_cpu}} {{The Linux Kernel/id|dma_sync_single_for_device}} : {{The Linux Kernel/include|linux/gfp.h}} : {{The Linux Kernel/include|linux/dmapool.h}} : {{The Linux Kernel/id|dma_pool_create}} : DMA-able memory: {{The Linux Kernel/id|__get_free_page}} {{The Linux Kernel/id|kmalloc}} {{The Linux Kernel/id|kmem_cache_alloc}} : {{The Linux Kernel/id|get_user_pages}} pins user pages in memory, 👁 Examples: : {{The Linux Kernel/source|samples/kfifo/dma-example.c}} : {{The Linux Kernel/id|e1000_alloc_rx_buffers}}, {{The Linux Kernel/id|e1000_alloc_ring_dma}} ⚙️ Internals: : {{The Linux Kernel/source|kernel/dma}} &ndash; DMA subsystem core : {{The Linux Kernel/source|mm/dmapool.c}} &ndash; small DMA-coherent allocations : {{The Linux Kernel/source|mm/gup.c}} &ndash; get/pin user pages : {{The Linux Kernel/source|kernel/dma/mapping.c}} &ndash; arch-independent DMA mapping 📚 References: : {{The Linux Kernel/doc|Dynamic DMA mapping Guide|core-api/dma-api-howto.html}} : {{The Linux Kernel/doc|Dynamic DMA mapping using the generic device|core-api/dma-api.html}} : {{The Linux Kernel/doc|pin_user_pages() and related calls|core-api/pin_user_pages.html}} : [https://lwn.net/Articles/787636/ LWM: get_user_pages, pinned pages, and DAX] : [https://sysprog21.github.io/lkmpg/#dma-and-mmap LKMPG: DMA and mmap] 💾 ''Historical:'' : [http://lwn.net/images/pdf/LDD3/ch15.pdf LDD3:Memory Mapping and DMA] : http://www.xml.com/ldd/chapter/book/ch13.html mmap and DMA : SAC &ndash; Single Address Cycle, 32-bit DMA addressing (up to 4 GB) : DAC &ndash; Dual Address Cycle, 64-bit DMA addressing ==== DMAEngine ==== : {{The Linux Kernel/include|linux/dmaengine.h}} : {{The Linux Kernel/source|drivers/dma}} &ndash; DMA engine drivers : {{The Linux Kernel/doc|driver-api/dmaengine}} : https://bootlin.com/pub/conferences/2015/elc/ripard-dmaengine/ == ... == 📚 References for the article: : {{The Linux Kernel/doc|Linux Memory Management Documentation|mm/}} : [https://www.ryadel.com/en/linux-memory-management-mechanism-analysis-kernel/ Analysis of Linux Memory Management Mechanism] : [https://0xax.gitbooks.io/linux-insides/content/MM/ Memory management] : http://linux-mm.org/LinuxMM : http://www.tldp.org/HOWTO/KernelAnalysis-HOWTO-7.html : [https://lwn.net/Kernel/Index/#Memory_management Memory management, lwn] {{BookCat}} oc9by7jv86py7veerqhnbzaax3va55d 4654533 4654526 2026-07-15T10:17:40Z Conan 3188 RHEL memory optimization reference 4654533 wikitext text/x-wiki <noinclude>{{DISPLAYTITLE:Memory functionality}}</noinclude> {|style="width: 25%; float: right; text-align:center;border-spacing: 0; color:black; margin:auto;" cellpadding=5pc ! bgcolor="#bfd" |memory |- | bgcolor="#aed" |[[#Processes|Processes]] |- | bgcolor="#9dd" |[[#Virtual_memory|virtual memory]] |- | bgcolor="#aca" |[[#Memory_mapping|memory mapping]] |- | bgcolor="#acb" | [[#Swap|demand paging and swap]] |- | bgcolor="#8b9" |[[#Logical_memory|logical memory]] |- | bgcolor="#7a7" |[[#Page Allocator|Page Allocator]] |- | bgcolor="#686" |[[#Pages|pages]] |} The kernel has full access to the system's memory and allows processes to {{w|Process isolation|safely access}} this memory as they require it. Often the first step in doing this is {{w|Virtual address space|virtual addressing}}, usually achieved by paging and/or segmentation. Virtual addressing allows the kernel to make a given {{w|physical address}} appear to be another address, the virtual address. Virtual address spaces may be different for different processes; the memory that one process accesses at a particular (virtual) address may be different memory from what another process accesses at the same address. This allows every program to behave as if it is the only one (apart from the kernel) running and thus prevents applications from crashing each other. On many systems, a program's virtual address may refer to data which is not currently in memory. The layer of indirection provided by virtual addressing allows the operating system to use other data stores, like a hard drive, to store what would otherwise have to remain in main {{w|random-access memory}} (RAM). As a result, operating systems can allow programs to use more memory than the system has physically available. When a program needs data which is not currently in RAM, the {{w|Memory management unit|MMU}} {{w|Page fault|signals}} to the kernel that this has happened, and the kernel responds by writing the contents of an inactive memory block to disk (if necessary) and replacing it with the data requested by the program. The program can then be resumed from the point where it was stopped. This scheme is generally known as {{w|demand paging}}. Virtual addressing also allows creation of virtual partitions of memory in two disjointed areas, one being reserved for the kernel (kernel space) and the other for the applications (user space). The applications are not permitted by the processor to address kernel memory, thus preventing an application from damaging the running kernel. This fundamental partition of memory space has contributed much to the current designs of actual general-purpose kernels and is almost universal in such systems, Linux being one of them. ⚲ Shell interfaces : cat /proc/meminfo : {{The Linux Kernel/man|1|free}} : {{The Linux Kernel/man|8|vmstat}} : {{The Linux Kernel/man|1|lsmem}} &ndash; list memory ranges and their online state : /proc/pagetypeinfo &ndash; page allocator fragmentation info per zone and migrate type : /sys/kernel/mm/ksm/ &ndash; {{The Linux Kernel/doc|Kernel Same-page Merging|admin-guide/mm/ksm.html}} tunables (pages_shared, pages_sharing, run) : /sys/kernel/mm/lru_gen/enabled &ndash; {{The Linux Kernel/doc|Multi-Gen LRU|admin-guide/mm/multigen_lru.html}} (since 6.1) : [https://github.com/sosreport/sos/blob/main/sos/report/plugins/memory.py sos memory plugin] &ndash; diagnostics collection for memory subsystem : [https://docs.redhat.com/en/documentation/red_hat_enterprise_linux/latest/html/monitoring_and_managing_system_status_and_performance/configuring-an-operating-system-to-optimize-memory-access Optimizing memory access, RHEL] {{:The Linux Kernel/Processes}} == Memory management API == : ⚲ {{The Linux Kernel/man|2|brk}} ↪ {{The Linux Kernel/id|sys_brk}}, {{The Linux Kernel/id|do_brk_flags}} dynamically changes data segment size of the calling process. The change is made by resetting the <u>program break</u> of the process, which determines the maximum space that can be allocated. The program break is the address of the first location beyond the current end of the data region, and determines the maximum space that can be allocated by the process. The amount of available space increases as the break value increases. The added available space is initialized to a value of zero. : ⚲ {{The Linux Kernel/man|2|mmap}} ↪ {{The Linux Kernel/id|ksys_mmap_pgoff}} maps files or devices into memory. It is a method of memory-mapped file I/O. It naturally implements demand paging, because file contents are not read from disk initially and do not use physical RAM at all. The actual reads from disk are performed in a "lazy" manner, after a specific location is accessed. After the memory is no longer needed it is important to {{The Linux Kernel/man|2|munmap}} the pointers to it. Protection information can be managed using {{The Linux Kernel/man|2|mprotect}} ↪ {{The Linux Kernel/id|do_mprotect_pkey}} and special treatment can be enforced using {{The Linux Kernel/man|2|madvise}} ↪ {{The Linux Kernel/id|do_madvise}}. In Linux, {{The Linux Kernel/man|2|mmap}} can create several types of mappings, such as ''anonymous mappings'', ''shared mappings'' and ''private mappings''. Using the <code>MAP_ANONYMOUS</code> flag <code>mmap()</code> can map a specific area of the process's virtual memory not backed by any file, whose contents are initialized to zero. These functions are typically called from a higher-level memory management library function such as C standard library {{The Linux Kernel/man|3|malloc}} or [[w:new and delete (C++)|C++ new operator]]. ⚲ API : {{The Linux Kernel/include|linux/uaccess.h}} &ndash; user-space memory access and validation helpers : {{The Linux Kernel/include|linux/mm.h}} &ndash; memory management declarations and page handling APIs : {{The Linux Kernel/include|linux/slab.h}} &ndash; memory allocation APIs for slab and kmalloc systems 💾 ''History: Two basic related to memory management system calls <code>brk</code> and <code>mmap</code> Linux inherits from Unix.'' ''BTW: On Linux, {{The Linux Kernel/man|2|sbrk}} is not a separate system call, but a C library function that also calls to {{The Linux Kernel/id|sys_brk}} and keeps some internal state to return the previous break value.'' 📚 References : {{The Linux Kernel/doc|Memory Management APIs|core-api/mm-api.html}} : {{The Linux Kernel/doc|x86_64 Memory Management|x86/x86_64/mm.html}} : {{w|sbrk}} : {{w|mmap}} : [https://0xax.gitbooks.io/linux-insides/content/MM/ Memory management] ⚙️ Internals: : '''{{The Linux Kernel/id|sys_brk}}''' ↯ call hierarchy: : {{The Linux Kernel/id|do_brk_flags}} :: {{The Linux Kernel/id|vm_area_alloc}} ::: {{The Linux Kernel/id|kmem_cache_alloc}} :::: {{The Linux Kernel/id|kmem_cache_alloc_lru}} 🔨 [https://manpages.ubuntu.com/manpages/resolute/man1/stress-ng.1.html#Brk stress-ng --brk], [https://manpages.ubuntu.com/manpages/resolute/man1/stress-ng.1.html#Big --bigheap], [https://manpages.ubuntu.com/manpages/resolute/man1/stress-ng.1.html#Memory~20 --vm], [https://manpages.ubuntu.com/manpages/resolute/man1/stress-ng.1.html#Memory~9 --mmap] == Virtual memory == 🔧 TODO: {{w|Virtual memory|Virtually contiguous memory}} on top of physical and [[#Swap|swapped]] memory pages. 🗝️ Acronyms: : VPFN - Virtual Page Frame Number : PFN - Physical Page Frame Number : pgd - Page Directory : pmd - Page Middle Directory : pud - Page Upper Directory : pte - {{w|Page table}} Entry : VMA - Virtual Memory Area, see {{The Linux Kernel/id|vm_area_struct}} : TLB - {{w|Translation Lookaside Buffer}} : MMU - {{w|Memory Management Unit}} ⚲ API: : {{The Linux Kernel/include|linux/vmalloc.h}} : {{The Linux Kernel/id|vmalloc}} {{The Linux Kernel/id|vfree}} : {{The Linux Kernel/include|linux/cleanup.h}} &ndash; scope-based cleanup helpers :: {{The Linux Kernel/id|scoped_guard}} : /proc/vmallocinfo ⚙️ Internals: : {{The Linux Kernel/id|vm_struct}} : {{The Linux Kernel/id|virt_to_page}} : {{The Linux Kernel/id|vmalloc_init}} : {{The Linux Kernel/id|find_vma}} : {{The Linux Kernel/source|mm/vmalloc.c}} &ndash; virtually contiguous memory allocator 📚 References : {{The Linux Kernel/doc|Virtually Contiguous Mappings|core-api/mm-api.html#virtually-contiguous-mappings}} : {{The Linux Kernel/doc|Page Tables|mm/page_tables.html}} : {{The Linux Kernel/doc|Scope-based Cleanup Helpers|core-api/cleanup.html}} == Data types == === Pointers and addresses === Kernel-specific address types, in addition to common C pointers. : <big>unsigned long</big> &ndash; used to store addresses that are not intended to be dereferenced by the user : {{The Linux Kernel/id|uintptr_t}} &ndash; to be used in ioctl : {{The Linux Kernel/id|phys_addr_t}} &ndash; physical address : {{The Linux Kernel/id|dma_addr_t}} &ndash; DMA address 📚 Further reading : {{The Linux Kernel/doc|(How to avoid) Botching up ioctls|process/botching-up-ioctls.html}} : [https://unix.org/whitepapers/64bit.html Data Size Neutrality and 64-bit Support] === Other types === ⚲ API : {{The Linux Kernel/include|linux/types.h}} &ndash; fixed-width and kernel-specific type definitions : {{The Linux Kernel/include|linux/string.h}} &ndash; standard string manipulation functions : bit operations :: {{The Linux Kernel/include|linux/bitfield.h}} &ndash; defining and extracting bitfield values :: {{The Linux Kernel/include|linux/bitops.h}} &ndash; atomic and non-atomic bit manipulation operations :: {{The Linux Kernel/include|linux/bitmap.h}} &ndash; bit arrays that consume one or more unsigned longs :: {{The Linux Kernel/include|linux/sbitmap.h}} &ndash; fast and scalable bitmaps : {{The Linux Kernel/include|linux/kref.h}} : {{The Linux Kernel/include|acpi/actypes.h}} &ndash; common data types for the entire ACPI subsystem :: {{The Linux Kernel/include|linux/list.h}} &ndash; circular doubly linked list implementation ::: {{The Linux Kernel/id|list_head}} &ndash; common double linked list ::: {{The Linux Kernel/id|list_add}} ... :: {{The Linux Kernel/include|linux/klist.h}} &ndash; some {{The Linux Kernel/id|klist_node}}->{{The Linux Kernel/id|kref}} helpers ::: {{The Linux Kernel/id|klist_add_tail}} ... : {{The Linux Kernel/include|linux/kobject.h}} : {{The Linux Kernel/include|linux/circ_buf.h}} : {{The Linux Kernel/include|linux/kfifo.h}} &ndash; generic kernel FIFO :: {{The Linux Kernel/id|kfifo_in}} ... : {{The Linux Kernel/include|linux/rbtree.h}} &ndash; Red-black trees :: {{The Linux Kernel/id|rb_node}} : {{The Linux Kernel/include|linux/scatterlist.h}} :: {{The Linux Kernel/id|scatterlist}} :: 👁 Example: {{The Linux Kernel/source|samples/kfifo/dma-example.c}} : {{The Linux Kernel/include|linux/idr.h}} &ndash; ID allocation : {{The Linux Kernel/include|linux/container_of.h}} 📖 References : {{The Linux Kernel/doc|List Management Functions|core-api/kernel-api.html#list-management-functions}} : {{The Linux Kernel/doc|FIFO Buffer|core-api/kernel-api.html#fifo-buffer}} : {{The Linux Kernel/doc|Data structures and low-level utilities|core-api#data-structures-and-low-level-utilities}} :: {{The Linux Kernel/doc|Everything you never wanted to know about kobjects, ksets, and ktypes|core-api/kobject.html}} :: {{The Linux Kernel/doc|Adding reference counters (krefs) to kernel objects|core-api/kref.html}} :: {{The Linux Kernel/doc|Generic Associative Array Implementation|core-api/assoc_array.html}} :: {{The Linux Kernel/doc|XArray|core-api/xarray.html}} :: {{The Linux Kernel/doc|ID Allocation|core-api/idr.html}} :: {{The Linux Kernel/doc|Circular Buffers|core-api/circular-buffers.html}} :: {{The Linux Kernel/doc|Red-black Trees (rbtree) in Linux|core-api/rbtree.html}} :: {{The Linux Kernel/doc|Generic radix trees/sparse arrays|core-api/generic-radix-tree.html}} :: {{The Linux Kernel/doc|Generic bitfield packing and unpacking functions|core-api/packing.html}} :: {{The Linux Kernel/doc|How to access I/O mapped memory from within device drivers|core-api/bus-virt-phys-mapping.html}} :: {{The Linux Kernel/doc|this_cpu operations|core-api/this_cpu_ops.html}} :: {{The Linux Kernel/doc|The errseq_t datatype|core-api/errseq.html}} 📚 Further reading : [https://0xax.gitbooks.io/linux-insides/content/DataStructures/ Data Structures in the Linux Kernel] : https://kernelnewbies.org/InternalKernelDataTypes == Memory mapping == 🔧 TODO ⚲ API: : {{The Linux Kernel/man|2|mmap}} ↪ {{The Linux Kernel/id|ksys_mmap_pgoff}} ↪ {{The Linux Kernel/id|do_mmap}} : {{The Linux Kernel/man|2|mprotect}} : {{The Linux Kernel/man|2|mmap2}} : {{The Linux Kernel/man|2|mincore}} : {{The Linux Kernel/man|2|mremap}} &ndash; remap virtual memory address : {{The Linux Kernel/man|2|msync}} &ndash; synchronize memory-mapped file with storage : {{The Linux Kernel/man|2|posix_fadvise}} &ndash; predeclare access pattern for file data : {{The Linux Kernel/include|linux/mm_types.h}} &ndash; {{The Linux Kernel/id|mm_struct}}, {{The Linux Kernel/id|vm_area_struct}} : {{The Linux Kernel/include|linux/mm.h}} : {{The Linux Kernel/id|remap_pfn_range}} : {{The Linux Kernel/id|SetPageReserved}}, {{The Linux Kernel/id|ClearPageReserved}} ⚙️ Internals: : {{The Linux Kernel/source|mm/mmap.c}} &ndash; memory mapping implementation : {{The Linux Kernel/source|mm/madvise.c}} &ndash; {{The Linux Kernel/man|2|madvise}} memory usage hints 🔨 [https://manpages.ubuntu.com/manpages/resolute/man1/stress-ng.1.html#madvise stress-ng --madvise] 📚 References: : {{w|mmap}} : {{The Linux Kernel/doc|Maple Tree|core-api/maple_tree.html}} : [https://linux-kernel-labs.github.io/refs/heads/master/labs/memory_mapping.html Memory mapping, linux-kernel-labs] === vDSO === {{w|VDSO}} (virtual Dynamic Shared Object) is a kernel-mapped page in every process that allows userspace to call certain system functions (clock_gettime, gettimeofday) without a syscall. The kernel updates the vDSO data page on every timekeeping tick via {{The Linux Kernel/id|update_vsyscall}}. ⚲ API : {{The Linux Kernel/man|7|vdso}} : {{The Linux Kernel/include|vdso/datapage.h}} &ndash; {{The Linux Kernel/id|vdso_data}} ⚙️ Internals : {{The Linux Kernel/source|kernel/time/vsyscall.c}} &ndash; vDSO time data updates : {{The Linux Kernel/source|arch/x86/entry/vdso}} &ndash; x86 vDSO implementation 📖 References : {{The Linux Kernel/doc|vDSO ABI|admin-guide/abi-stable.html#vdso}} == Swap == 🔧 TODO ⚲ API: : cat /proc/sys/vm/swappiness ↪ {{The Linux Kernel/id|vm_swappiness}} : {{The Linux Kernel/include|linux/swap.h}} : {{The Linux Kernel/man|2|swapon}} ↪ {{The Linux Kernel/id|sys_swapon}} : {{The Linux Kernel/man|2|swapoff}} : {{The Linux Kernel/man|2|mlock}} ↪ {{The Linux Kernel/id|do_mlock}} : {{The Linux Kernel/man|2|shmctl}} ↪ {{The Linux Kernel/id|shmctl_do_lock}} ⚙️ Internals: : {{The Linux Kernel/source|mm/swapfile.c}} &ndash; swap area management : {{The Linux Kernel/source|mm/vmscan.c}} &ndash; page reclaim and scanning : {{The Linux Kernel/source|mm/mlock.c}} &ndash; memory locking : {{The Linux Kernel/id|VM_LOCKED}} : {{The Linux Kernel/id|swap_info_struct}}, {{The Linux Kernel/id|si_swapinfo}}, {{The Linux Kernel/id|swap_info}} : {{The Linux Kernel/id|handle_pte_fault}} ↪ {{The Linux Kernel/id|do_swap_page}} : {{The Linux Kernel/id|wakeup_kswapd}} ↪ {{The Linux Kernel/id|kswapd}} : {{The Linux Kernel/source|mm/readahead.c}} &ndash; page readahead for sequential file access : {{The Linux Kernel/include|linux/zswap.h}}, {{The Linux Kernel/source|mm/zswap.c}} &ndash; compressed swap cache 🔨 [https://manpages.ubuntu.com/manpages/resolute/man1/stress-ng.1.html#mlock stress-ng --mlock] 📚 References: : {{w|Memory_paging#Linux|Memory paging}} : https://wiki.archlinux.org/title/swap == Logical memory == ⚲ {{The Linux Kernel/id|kmalloc}} is the normal method of allocating memory in the kernel for objects smaller than the page size. It is defined in {{The Linux Kernel/include|linux/slab.h}}. The first argument ''size'' is the size (in bytes) of the block of memory to be allocated. The second argument ''flags'' are the allocation flags or ''GFP flags'', a set of macros that the caller provides to control the type of requested memory. The most commonly used values for ''flags'' are GFP_KERNEL and GFP_ATOMIC, but there is more to be considered. Memory-allocation requests in the kernel are always qualified by a set of ''GFP flags'' ("GFP" initially came from "get free page") describing what can and cannot be done to satisfy the request. The most commonly used flags are GFP_ATOMIC and GFP_KERNEL, though they are actually built up from lower-level flags. The full set of flags is huge; they can be found in the {{The Linux Kernel/include|linux/gfp.h}} header file. ⚲ API: : ↯ {{w|RAII}} allocation functions hierarchy from {{The Linux Kernel/include|linux/device.h}}: :: {{The Linux Kernel/id|devm_kcalloc}} - zeroed array ::: {{The Linux Kernel/id|devm_kmalloc_array}} :::: {{The Linux Kernel/id|devm_kmalloc}} - common allocation :: {{The Linux Kernel/id|devm_kzalloc}} - zeroed allocation ::: {{The Linux Kernel/id|devm_kmalloc}} - common allocation : Classic direct API: :: {{The Linux Kernel/include|linux/slab.h}} :: {{The Linux Kernel/id|kmalloc}}, {{The Linux Kernel/id|kfree}} === Slab allocation === {{w|Slab allocation}} is a memory management algorithm intended for the efficient memory allocation of kernel objects. It eliminates fragmentation caused by allocations and deallocations. The technique is used to retain allocated memory that contains a data object of a certain type for reuse upon subsequent allocations of objects of the same type. ''' Basics ''' ''This section is about the SLUB allocator implementation'' A slab can be thought of as an array of objects of certain type or with the same size, spanning through one or more contiguous pages of memory; for example, the slab named "task_struct" holds objects of <code>struct task_struct</code> type, used by the scheduling subsystem. Other slabs store objects used by other subsystems, and there is also slabs for dynamic allocations inside the kernel, such as the "kmalloc-64" slab that holds up to 64-byte chunks requested via kmalloc() calls. In a slab, each object can be allocated and freed separately. The primary motivation for slab allocation is that the initialization and destruction of kernel data objects can actually outweigh the cost of allocating memory for them. As object creation and deletion are widely employed by the kernel, overhead costs of initialization can result in significant performance drops. The notion of object caching was therefore introduced in order to avoid the invocation of functions used to initialize object state. With slab allocation, memory chunks suitable to fit data objects of certain type or size are preallocated. The slab allocator keeps track of these chunks, known as caches {{The Linux Kernel/id|kmalloc_caches}}, so that when a request to allocate memory for a data object of a certain type is received, it can instantly satisfy the request with an already allocated slot via {{The Linux Kernel/id|slab_alloc_node}}. Deallocation of the object with {{The Linux Kernel/id|kfree}} does not free up the memory, but only opens a slot which is returned to the slab allocator's free list. The next call to allocate memory of the same size will return the now unused memory slot. See {{The Linux Kernel/id|slab_alloc_node}}/{{The Linux Kernel/id|__slab_alloc_node}}/{{The Linux Kernel/id|___slab_alloc}}. This process eliminates the need to search for suitable memory space and greatly alleviates memory fragmentation. In this context, a slab is one or more contiguous pages in the memory containing pre-allocated memory chunks. Slab allocation provides a kind of front-end to the zoned buddy allocator for those sections of the kernel that require more flexible memory allocation than the standard 4KB page size. ⚲ Interface: : sudo cat /proc/slabinfo : {{The Linux Kernel/include|linux/slab.h}} : {{The Linux Kernel/id|kmem_cache_alloc}}, {{The Linux Kernel/id|kmem_cache_free}} : {{The Linux Kernel/man|1|slabtop}} ⚙️ Internals: : {{The Linux Kernel/source|mm/slab_common.c}} &ndash; slab allocator common code : {{The Linux Kernel/id|mm_init}} is called from {{The Linux Kernel/id|start_kernel}} :: {{The Linux Kernel/id|kmem_cache_init}} ::: {{The Linux Kernel/id|create_kmalloc_caches}} : {{The Linux Kernel/id|kasan_slab_alloc}} ''' SLUB allocator ''' &ndash; default Unqueued allocator {{w|SLUB (software)|SLUB}} is the iteration of the original SLAB allocator that replaced it and became the Linux default allocator since 2.6.23. ⚙️ Internals: {{The Linux Kernel/source|mm/slub.c}} 📚 References: : {{The Linux Kernel/id|CONFIG_SLUB}} 💾 ''Historical: SLOB (Simple List Of Blocks) allocator for embedded devices was removed in kernel 6.4.'' ''SLAB allocator, the original slab allocation implementation based on Jeff Bonwick's 1994 paper, was removed in kernel 6.8.'' ''SLUB is now the only slab allocator in the kernel.'' <hr> ''' Per-CPU allocator ''' : {{The Linux Kernel/include|linux/percpu.h}}, {{The Linux Kernel/source|mm/percpu.c}} &ndash; per-CPU memory areas, used by slab and counters 📚 References for Slab allocation: : {{The Linux Kernel/doc|KASAN - KernelAddressSANitizer|dev-tools/kasan.html}} - dynamic memory safety error detector designed to find out-of-bound and use-after-free bugs : [https://www.youtube.com/watch?v=h0VMLXavx30 <nowiki>Video "SL[AUO]B: Kernel memory allocator design and philosophy"</nowiki>] Christopher Lameter (Linux.conf.au 2015 conference) [http://lca2015.linux.org.au/slides/167/slaballocators-auckland-2015.pdf Slides] === Page Allocator === The page allocator (or "zoned buddy allocator") is a low-level allocator that deals with physical memory. It delivers physical pages (usually with a size of 4096 bytes) of free memory to high-level memory consumers such as the slab allocators and <code>kmalloc()</code>. As the ultimate source of memory in the system, the page allocator must ensure that memory is always available, since a failure providing memory to a critical kernel subsystem can lead to a general system failure or a kernel panic. The page allocator divides physical memory into "zones", each of which corresponds to {{The Linux Kernel/id|zone_type}} with specific characteristics. ZONE_DMA contains memory at the bottom of the address range for use by severely challenged devices, for example, while {{The Linux Kernel/id|ZONE_NORMAL}} may contain most memory on the system. 32-bit systems have a ZONE_HIGHMEM for memory that is not directly mapped into the kernel's address space. Depending on the characteristics of any given allocation request, the page allocator will search the available zones in a specific priority order. For the curious, <code>/proc/zoneinfo</code> gives a lot of information about the zones in use on any given system. Within a zone, memory is grouped into ''page blocks'', each of which can be marked with a ''migration type'' - {{The Linux Kernel/id|migratetype}} describing how the block should be allocated. ⚲ API: : cat /proc/buddyinfo : {{The Linux Kernel/include|linux/gfp.h}} : {{The Linux Kernel/include|linux/mmzone.h}} : {{The Linux Kernel/id|devm_get_free_pages}} - {{w|RAII}} function :: {{The Linux Kernel/id|__get_free_pages}} : {{The Linux Kernel/id|alloc_page}} :: {{The Linux Kernel/id|alloc_pages}} : {{The Linux Kernel/id|alloc_pages_node}} ⚙️ Internals: : {{The Linux Kernel/id|build_all_zonelists}} is called from {{The Linux Kernel/id|start_kernel}}, ↯ call hierarchy: :: {{The Linux Kernel/id|build_all_zonelists_init}} ::: {{The Linux Kernel/id|__build_all_zonelists}} :::: {{The Linux Kernel/id|build_zonelists}} : {{The Linux Kernel/id|__alloc_pages}} - the 'heart' of the zoned buddy allocator : struct {{The Linux Kernel/id|zone}} :: {{The Linux Kernel/id|free_area}} : {{The Linux Kernel/source|mm/mmzone.c}} &ndash; memory zone helpers : {{The Linux Kernel/source|mm/page_alloc.c}} &ndash; buddy page allocator 📚 References: : {{The Linux Kernel/doc|Get Free Page flags|core-api/memory-allocation.html}} : {{w|Buddy memory allocation}} : {{w|Page replacement algorithm}} === OOM killer === The {{w|Out of memory|Out-Of-Memory}} killer is invoked when the kernel cannot satisfy a memory allocation and all reclaim attempts have failed. It selects a process to kill based on a badness score to free memory and keep the system running. ⚲ API: : /proc/$pid/oom_score &ndash; current badness score : /proc/$pid/oom_score_adj &ndash; adjust score (-1000 to 1000) : /proc/$pid/oom_adj &ndash; deprecated, use oom_score_adj : /proc/sys/vm/panic_on_oom ⚙️ Internals: : {{The Linux Kernel/source|mm/oom_kill.c}} &ndash; out-of-memory killer : {{The Linux Kernel/id|out_of_memory}} &ndash; main entry point : {{The Linux Kernel/id|oom_badness}} &ndash; calculates badness score : {{The Linux Kernel/id|oom_kill_process}} 📚 References: : {{The Linux Kernel/doc|OOM|admin-guide/sysctl/vm.html}} 🔨 [https://manpages.ubuntu.com/manpages/resolute/man1/stress-ng.1.html#Large stress-ng --oom-pipe] === Memory cgroup controller === The memory cgroup controller limits and accounts memory usage per group of processes. It can set hard and soft limits, trigger per-cgroup OOM, and track swap usage. ⚲ API: : memory.max &ndash; hard memory limit : memory.high &ndash; throttling threshold : memory.current &ndash; current usage : memory.swap.max &ndash; swap limit : See [[../System/CGroup v2#Memory|CGroup v2 Memory controller]] for full interface ⚙️ Internals: : {{The Linux Kernel/source|mm/memcontrol.c}} &ndash; memory cgroup controller : {{The Linux Kernel/id|mem_cgroup}} &ndash; main structure : {{The Linux Kernel/id|mem_cgroup_charge}} : {{The Linux Kernel/id|mem_cgroup_oom}} 📚 References: : {{The Linux Kernel/doc|Memory Resource Controller|admin-guide/cgroup-v2.html#memory}} === tmpfs/shmem === {{The Linux Kernel/include|linux/shmem_fs.h}}, {{The Linux Kernel/source|mm/shmem.c}} &ndash; {{w|tmpfs}} virtual memory filesystem, also backs POSIX shared memory and {{The Linux Kernel/man|2|memfd_create}}. === KSM === {{The Linux Kernel/include|linux/ksm.h}}, {{The Linux Kernel/source|mm/ksm.c}} &ndash; Kernel Same-page Merging, deduplicates identical anonymous pages, used by {{w|Kernel-based Virtual Machine|KVM}}. {{The Linux Kernel/doc|KSM|admin-guide/mm/ksm.html}} === userfaultfd === {{The Linux Kernel/man|2|userfaultfd}} ↪ {{The Linux Kernel/source|mm/userfaultfd.c}} &ndash; handles page faults in user space, used for VM live migration. {{The Linux Kernel/doc|Userfaultfd|admin-guide/mm/userfaultfd.html}} 🔨 [https://manpages.ubuntu.com/manpages/resolute/man1/stress-ng.1.html#userfaultfd stress-ng --userfaultfd] === DAMON === Data Access MONitor (since 5.15) provides kernel-level data access pattern monitoring. It can be used for memory management optimization and profiling. ⚲ API: : /sys/kernel/mm/damon/ : {{The Linux Kernel/include|linux/damon.h}} ⚙️ Internals: : {{The Linux Kernel/source|mm/damon}} &ndash; DAMON core and operation schemes 📖 References: : {{The Linux Kernel/doc|DAMON|mm/damon}} <hr> 📚 References for logical memory: : {{The Linux Kernel/doc|Memory Allocation Guide|core-api/memory-allocation.html}} : {{The Linux Kernel/doc|Selecting memory allocator|core-api/memory-allocation.html#selecting-memory-allocator}} == Physical memory == === Memory Layout === A 32-bit processor can address a maximum of 4GB of memory. Linux kernels split the 4GB address space between user processes and the kernel; under the most common configuration, the first 3GB of the 32-bit range are given over to user space, and the kernel gets the final 1GB starting at 0xc0000000. Sharing the address space gives a number of performance benefits; in particular, the hardware's address translation buffer can be shared between the kernel and user space. In '''x86-64''' - {{The Linux Kernel/id|CONFIG_X86_64}} with 4-level page tables ({{The Linux Kernel/id|CONFIG_X86_5LEVEL}}=n), only the least significant 48&nbsp;bits of a virtual memory address would actually be used in address translation (page table lookup). The remainder bits 48 through 63 of any virtual address must be copies of bit 47, or the processor will raise an exception. Addresses complying with this rule are referred to as "canonical form." Canonical form addresses run from 0 through 00007FFF'FFFFFFFF, and from FFFF8000'00000000 through FFFFFFFF'FFFFFFFF, for a total of 256&nbsp;TB of usable {{w|virtual address space}}. This is still approximately 64,000 times the virtual address space on 32-bit machines. Linux takes the higher-addressed half of the address space for itself (kernel space) and leaves the lower-addressed half for user space. The "canonical address" design has, in effect, two memory halves: the lower half starts at 00000000'00000000 and "grows upwards" as more virtual address bits become available, while the higher half is "docked" to the top of the address space and grows downwards. {| class="wikitable sortable" |+ !Start addr !class=unsortable|Offset !End addr !class=unsortable|Size !class=unsortable|VM area description |- | <code><small>0000'</small>'''8'''<small>000'0000'0000</small></code> | +128 TB | <code><small>ffff'7fff'ffff'ffff</small></code> | | ... huge, almost 64 bits wide hole of non-canonical virtual memory addresses up to the -128 TB starting offset of kernel mappings. |- | <code><small>0000'0000'0000'0000</small></code> |0 | <code><small>0000'7fff'ffff'ffff</small></code> |128&nbsp;TB=2<sup>47</sup> |user-space virtual memory, different per mm |- | <code><small>ffff'ffff'ffe0'0000</small></code> | -2 MB | <code><small>ffff'ffff'ffff'ffff</small></code> | 2 MB=2<sup>21</sup> |... unused hole |- | <code><small>ffff'ffff'ff60'0000</small></code> | -10 MB | <code><small>ffff'ffff'ff60'0fff</small></code> | 4 kB=2<sup>12</sup> | {{The Linux Kernel/id|VSYSCALL_ADDR}} - legacy vsyscall ABI |- | <code><small>ffff'ffff'8000'0000</small></code> | -2 GB | <code><small>ffff'ffff'9fff'ffff</small></code> | 512&nbsp;MB=2<sup>29</sup> | kernel text mapping, mapped to physical address 0 |- | | | | | |- | <code><small>ffff'8880'0000'0000</small></code> | -119.5&nbsp;TB | <code><small>ffff'c87f'ffff'ffff</small></code> | 64&nbsp;TB | {{The Linux Kernel/id|page_offset_base}} = {{The Linux Kernel/id|__PAGE_OFFSET_BASE_L4}} - direct mapping of all physical memory |- | | | | | |- | <code><small>ffff'8000'0000'0000</small></code> | -128 TB | <code><small>ffff'87ff'ffff'ffff</small></code> | 8&nbsp;TB | ... guard hole, also reserved for hypervisor |} [[File:Linux_Virtual_Memory_Layout_64bit.svg|border|center|x86-64 memory layout]] ⚲ API: : {{The Linux Kernel/man|8|setarch}} --addr-no-randomize cat /proc/self/maps ⚙️ Internals: : {{The Linux Kernel/source|arch/x86/include/asm/page_64_types.h}} &ndash; x86-64 page type definitions : {{The Linux Kernel/source|arch/x86/mm/init_64.c}} &ndash; x86-64 memory initialization 📚 References: : {{The Linux Kernel/doc|X86_64 memory map|x86/x86_64/mm.html}} : {{w|Address_space_layout_randomization#Linux|Address space layout randomization}} === Pages === In Linux, different architectures have different page sizes. The original &mdash;for x86 architecture&mdash; and still most commonly used page size is 4096 bytes (4 KB). The page size (in bytes) of the current architecture is defined by the <code>PAGE_SIZE</code> macro included in {{The Linux Kernel/source|arch/x86/include/asm/page_types.h}} header file. User space programs can get this value using the {{The Linux Kernel/man|2|getpagesize}} library function. Another related macro is <code>PAGE_SHIFT</code>, that contains the number of bits to shift an address to get its page number &mdash;12 bits for 4K pages. One of the most fundamental kernel data structures relating memory-management is <code>struct page</code>. The kernel keeps track of the status of every page of physical memory present in the system using variables of this type. There are millions of pages in a modern system, and therefore there are millions of these structures in memory. The full definition of <code>struct page</code> can be found in {{The Linux Kernel/include|linux/mm_types.h}}. ⚙️ Internals: : {{The Linux Kernel/source|mm/memory.c}} &ndash; page fault handling and page table operations ({{The Linux Kernel/id|handle_mm_fault}}) : {{The Linux Kernel/include|linux/rmap.h}}, {{The Linux Kernel/source|mm/rmap.c}} &ndash; reverse mapping, virtual-to-physical tracking for page reclaim : {{The Linux Kernel/include|linux/compaction.h}}, {{The Linux Kernel/source|mm/compaction.c}} &ndash; memory compaction, reduces fragmentation : {{The Linux Kernel/include|linux/memblock.h}}, {{The Linux Kernel/source|mm/memblock.c}} &ndash; early boot memory allocator, before buddy is available : {{The Linux Kernel/include|linux/highmem.h}} &ndash; page content access and manipulation : {{The Linux Kernel/include|asm-generic/tlb.h}}, {{The Linux Kernel/source|mm/mmu_gather.c}} &ndash; TLB flush and page table teardown batching : [https://0xax.gitbooks.io/linux-insides/content/Theory/linux-theory-1.html Pages] === NUMA === In {{w|Non-uniform memory access}} systems, physical memory is divided into nodes, each local to a group of CPUs. Accessing local memory is faster than remote memory, so the kernel tries to allocate memory from the node closest to the requesting CPU. Each node contains its own set of zones (DMA, Normal, etc.). ⚲ API: : {{The Linux Kernel/man|8|numactl}} &ndash; controls NUMA policy for processes or shared memory : {{The Linux Kernel/man|8|numastat}} &ndash; per-node memory statistics (hits, misses, foreign allocations) : /sys/devices/system/node/node*/meminfo &ndash; per-node memory info : /sys/devices/system/node/node*/cpulist &ndash; CPUs belonging to each node : /sys/devices/system/node/node*/distance &ndash; inter-node distances : {{The Linux Kernel/man|2|set_mempolicy}} &ndash; set default NUMA memory policy : {{The Linux Kernel/man|2|mbind}} &ndash; set NUMA memory policy for a memory range : {{The Linux Kernel/man|2|get_mempolicy}} : {{The Linux Kernel/man|2|migrate_pages}} : {{The Linux Kernel/man|2|move_pages}} : cat /proc/buddyinfo : /sys/devices/system/node/ : {{The Linux Kernel/include|linux/topology.h}} &ndash; {{The Linux Kernel/id|cpu_to_node}}, {{The Linux Kernel/id|numa_node_id}} : {{The Linux Kernel/include|linux/mempolicy.h}} ⚙️ Internals: : {{The Linux Kernel/id|CONFIG_NUMA}} : {{The Linux Kernel/id|pglist_data}} (pg_data_t) &ndash; per-node memory descriptor, contains zones @ {{The Linux Kernel/include|linux/mmzone.h}} : {{The Linux Kernel/id|numa_node_id}} &ndash; returns NUMA node of current CPU : {{The Linux Kernel/source|mm/numa.c}} &ndash; NUMA node data allocation during boot : {{The Linux Kernel/source|mm/mempolicy.c}} &ndash; NUMA memory allocation policies : {{The Linux Kernel/source|mm/migrate.c}} &ndash; page migration between nodes : {{The Linux Kernel/source|mm/memory-tiers.c}} &ndash; memory tiering (DRAM, PMEM, HBM) : {{The Linux Kernel/source|mm/numa_memblks.c}} &ndash; memory block and distance setup 📚 References: : {{The Linux Kernel/doc|NUMA Memory Policy|admin-guide/mm/numa_memory_policy.html}} : {{w|Non-uniform memory access}} : See also [[../Multitasking/CPU#SMP|SMP section]] for NUMA topology and CPU aspects 🔨 [https://manpages.ubuntu.com/manpages/resolute/man1/stress-ng.1.html#numa stress-ng --numa] === Huge pages === {{w|Huge pages}} use larger page sizes (2 MB or 1 GB on x86-64) to reduce TLB misses and page table overhead for memory-intensive workloads. ==== HugeTLB ==== HugeTLB provides explicitly allocated persistent huge pages, reserved at boot or runtime. ⚲ API: : cat /proc/meminfo | grep Huge : cat /proc/sys/vm/nr_hugepages : {{The Linux Kernel/man|2|mmap}} with MAP_HUGETLB : mount -t hugetlbfs nodev /dev/hugepages : {{The Linux Kernel/include|linux/hugetlb.h}} ⚙️ Internals: : {{The Linux Kernel/source|mm/hugetlb.c}} &ndash; HugeTLB huge page allocator : {{The Linux Kernel/id|hugetlb_init}} : {{The Linux Kernel/id|hugetlb_fault}} 📚 References: : {{The Linux Kernel/doc|HugeTLB Pages|admin-guide/mm/hugetlbpage.html}} ==== Transparent Huge Pages ==== THP automatically promotes regular pages to huge pages without application changes (since 2.6.38). ⚲ API: : cat /sys/kernel/mm/transparent_hugepage/enabled : {{The Linux Kernel/man|2|madvise}} with MADV_HUGEPAGE : {{The Linux Kernel/include|linux/huge_mm.h}} ⚙️ Internals: : {{The Linux Kernel/source|mm/huge_memory.c}} &ndash; transparent huge page support : {{The Linux Kernel/id|khugepaged}} &ndash; daemon that collapses pages into huge pages : {{The Linux Kernel/source|mm/khugepaged.c}} &ndash; THP collapse daemon 📚 References: : {{The Linux Kernel/doc|Transparent Hugepage Support|admin-guide/mm/transhuge.html}} : {{The Linux Kernel/doc|Concepts overview|admin-guide/mm/concepts.html}} === TLB === {{w|Translation lookaside buffer}} is a hardware cache of virtual-to-physical address translations. The kernel must flush TLB entries when page table mappings change. On SMP, this requires {{w|Inter-processor interrupt|IPI}}s to other CPUs (TLB shootdowns), which can impact real-time latency on isolated CPUs. ⚲ API : {{The Linux Kernel/include|asm-generic/tlb.h}} &ndash; generic TLB flush batching : {{The Linux Kernel/id|flush_tlb_all}} &ndash; flush entire TLB on all CPUs via IPI (TLB shootdown) :: {{The Linux Kernel/id|__flush_tlb_all}} &ndash; local CPU only, no IPI, calls {{The Linux Kernel/id|__flush_tlb_global}} : {{The Linux Kernel/id|flush_tlb_mm}} &ndash; flush TLB for a specific address space : {{The Linux Kernel/id|flush_tlb_page}} &ndash; flush single page from TLB : {{The Linux Kernel/id|flush_tlb_range}} &ndash; flush a range of user pages for a VMA : {{The Linux Kernel/id|flush_tlb_kernel_range}} &ndash; flush kernel mappings on all CPUs : /sys/kernel/debug/tracing/events/tlb/tlb_flush/ ⚙️ Internals : {{The Linux Kernel/source|arch/x86/mm/tlb.c}} &ndash; x86 TLB flush implementation : {{The Linux Kernel/source|mm/mmu_gather.c}} &ndash; TLB flush batching 📖 References : {{The Linux Kernel/doc|TLB|arch/x86/tlb.html}} : {{The Linux Kernel/doc|Cache and TLB Flushing Under Linux|core-api/cachetlb.html}} === CMA === The Contiguous Memory Allocator (CMA) reserves a region of memory at boot for large physically contiguous allocations needed by DMA devices, GPUs and multimedia hardware (since 3.5). Unused CMA memory is available to the page allocator for movable pages. ⚲ API: : cat /proc/meminfo | grep Cma : {{The Linux Kernel/include|linux/cma.h}} : {{The Linux Kernel/id|dma_alloc_contiguous}} : {{The Linux Kernel/id|CONFIG_CMA}} ⚙️ Internals: : {{The Linux Kernel/source|mm/cma.c}} &ndash; contiguous memory allocator core : {{The Linux Kernel/source|kernel/dma/contiguous.c}} &ndash; DMA-CMA integration : {{The Linux Kernel/source|mm/cma_debug.c}} &ndash; debugfs interface : {{The Linux Kernel/id|cma_alloc}} : {{The Linux Kernel/id|cma_release}} 📚 References: : {{The Linux Kernel/doc|Contiguous Memory Allocator|mm/cma.html}} === DMA === ⚲ API: : {{The Linux Kernel/id|dma_addr_t}} - bus address : {{The Linux Kernel/include|linux/dma-mapping.h}} : {{The Linux Kernel/id|dma_alloc_coherent}} : {{The Linux Kernel/id|dma_alloc_pages}} {{The Linux Kernel/id|pin_user_pages}} : {{The Linux Kernel/id|dma_map_single}} {{The Linux Kernel/id|dma_data_direction}} : {{The Linux Kernel/id|dma_map_sg}} {{The Linux Kernel/id|scatterlist}} : {{The Linux Kernel/id|dma_set_mask}} {{The Linux Kernel/id|dma_set_coherent_mask}} {{The Linux Kernel/id|dma_set_mask_and_coherent}} : {{The Linux Kernel/id|dma_sync_single_for_cpu}} {{The Linux Kernel/id|dma_sync_single_for_device}} : {{The Linux Kernel/include|linux/gfp.h}} : {{The Linux Kernel/include|linux/dmapool.h}} : {{The Linux Kernel/id|dma_pool_create}} : DMA-able memory: {{The Linux Kernel/id|__get_free_page}} {{The Linux Kernel/id|kmalloc}} {{The Linux Kernel/id|kmem_cache_alloc}} : {{The Linux Kernel/id|get_user_pages}} pins user pages in memory, 👁 Examples: : {{The Linux Kernel/source|samples/kfifo/dma-example.c}} : {{The Linux Kernel/id|e1000_alloc_rx_buffers}}, {{The Linux Kernel/id|e1000_alloc_ring_dma}} ⚙️ Internals: : {{The Linux Kernel/source|kernel/dma}} &ndash; DMA subsystem core : {{The Linux Kernel/source|mm/dmapool.c}} &ndash; small DMA-coherent allocations : {{The Linux Kernel/source|mm/gup.c}} &ndash; get/pin user pages : {{The Linux Kernel/source|kernel/dma/mapping.c}} &ndash; arch-independent DMA mapping 📚 References: : {{The Linux Kernel/doc|Dynamic DMA mapping Guide|core-api/dma-api-howto.html}} : {{The Linux Kernel/doc|Dynamic DMA mapping using the generic device|core-api/dma-api.html}} : {{The Linux Kernel/doc|pin_user_pages() and related calls|core-api/pin_user_pages.html}} : [https://lwn.net/Articles/787636/ LWM: get_user_pages, pinned pages, and DAX] : [https://sysprog21.github.io/lkmpg/#dma-and-mmap LKMPG: DMA and mmap] 💾 ''Historical:'' : [http://lwn.net/images/pdf/LDD3/ch15.pdf LDD3:Memory Mapping and DMA] : http://www.xml.com/ldd/chapter/book/ch13.html mmap and DMA : SAC &ndash; Single Address Cycle, 32-bit DMA addressing (up to 4 GB) : DAC &ndash; Dual Address Cycle, 64-bit DMA addressing ==== DMAEngine ==== : {{The Linux Kernel/include|linux/dmaengine.h}} : {{The Linux Kernel/source|drivers/dma}} &ndash; DMA engine drivers : {{The Linux Kernel/doc|driver-api/dmaengine}} : https://bootlin.com/pub/conferences/2015/elc/ripard-dmaengine/ == ... == 📚 References for the article: : {{The Linux Kernel/doc|Linux Memory Management Documentation|mm/}} : [https://www.ryadel.com/en/linux-memory-management-mechanism-analysis-kernel/ Analysis of Linux Memory Management Mechanism] : [https://0xax.gitbooks.io/linux-insides/content/MM/ Memory management] : http://linux-mm.org/LinuxMM : http://www.tldp.org/HOWTO/KernelAnalysis-HOWTO-7.html : [https://lwn.net/Kernel/Index/#Memory_management Memory management, lwn] {{BookCat}} j562qoja71cxmgnjc36x2j5opweg5u6 4654540 4654533 2026-07-15T10:17:51Z Conan 3188 RHEL RT OOM management reference 4654540 wikitext text/x-wiki <noinclude>{{DISPLAYTITLE:Memory functionality}}</noinclude> {|style="width: 25%; float: right; text-align:center;border-spacing: 0; color:black; margin:auto;" cellpadding=5pc ! bgcolor="#bfd" |memory |- | bgcolor="#aed" |[[#Processes|Processes]] |- | bgcolor="#9dd" |[[#Virtual_memory|virtual memory]] |- | bgcolor="#aca" |[[#Memory_mapping|memory mapping]] |- | bgcolor="#acb" | [[#Swap|demand paging and swap]] |- | bgcolor="#8b9" |[[#Logical_memory|logical memory]] |- | bgcolor="#7a7" |[[#Page Allocator|Page Allocator]] |- | bgcolor="#686" |[[#Pages|pages]] |} The kernel has full access to the system's memory and allows processes to {{w|Process isolation|safely access}} this memory as they require it. Often the first step in doing this is {{w|Virtual address space|virtual addressing}}, usually achieved by paging and/or segmentation. Virtual addressing allows the kernel to make a given {{w|physical address}} appear to be another address, the virtual address. Virtual address spaces may be different for different processes; the memory that one process accesses at a particular (virtual) address may be different memory from what another process accesses at the same address. This allows every program to behave as if it is the only one (apart from the kernel) running and thus prevents applications from crashing each other. On many systems, a program's virtual address may refer to data which is not currently in memory. The layer of indirection provided by virtual addressing allows the operating system to use other data stores, like a hard drive, to store what would otherwise have to remain in main {{w|random-access memory}} (RAM). As a result, operating systems can allow programs to use more memory than the system has physically available. When a program needs data which is not currently in RAM, the {{w|Memory management unit|MMU}} {{w|Page fault|signals}} to the kernel that this has happened, and the kernel responds by writing the contents of an inactive memory block to disk (if necessary) and replacing it with the data requested by the program. The program can then be resumed from the point where it was stopped. This scheme is generally known as {{w|demand paging}}. Virtual addressing also allows creation of virtual partitions of memory in two disjointed areas, one being reserved for the kernel (kernel space) and the other for the applications (user space). The applications are not permitted by the processor to address kernel memory, thus preventing an application from damaging the running kernel. This fundamental partition of memory space has contributed much to the current designs of actual general-purpose kernels and is almost universal in such systems, Linux being one of them. ⚲ Shell interfaces : cat /proc/meminfo : {{The Linux Kernel/man|1|free}} : {{The Linux Kernel/man|8|vmstat}} : {{The Linux Kernel/man|1|lsmem}} &ndash; list memory ranges and their online state : /proc/pagetypeinfo &ndash; page allocator fragmentation info per zone and migrate type : /sys/kernel/mm/ksm/ &ndash; {{The Linux Kernel/doc|Kernel Same-page Merging|admin-guide/mm/ksm.html}} tunables (pages_shared, pages_sharing, run) : /sys/kernel/mm/lru_gen/enabled &ndash; {{The Linux Kernel/doc|Multi-Gen LRU|admin-guide/mm/multigen_lru.html}} (since 6.1) : [https://github.com/sosreport/sos/blob/main/sos/report/plugins/memory.py sos memory plugin] &ndash; diagnostics collection for memory subsystem : [https://docs.redhat.com/en/documentation/red_hat_enterprise_linux/latest/html/monitoring_and_managing_system_status_and_performance/configuring-an-operating-system-to-optimize-memory-access Optimizing memory access, RHEL] {{:The Linux Kernel/Processes}} == Memory management API == : ⚲ {{The Linux Kernel/man|2|brk}} ↪ {{The Linux Kernel/id|sys_brk}}, {{The Linux Kernel/id|do_brk_flags}} dynamically changes data segment size of the calling process. The change is made by resetting the <u>program break</u> of the process, which determines the maximum space that can be allocated. The program break is the address of the first location beyond the current end of the data region, and determines the maximum space that can be allocated by the process. The amount of available space increases as the break value increases. The added available space is initialized to a value of zero. : ⚲ {{The Linux Kernel/man|2|mmap}} ↪ {{The Linux Kernel/id|ksys_mmap_pgoff}} maps files or devices into memory. It is a method of memory-mapped file I/O. It naturally implements demand paging, because file contents are not read from disk initially and do not use physical RAM at all. The actual reads from disk are performed in a "lazy" manner, after a specific location is accessed. After the memory is no longer needed it is important to {{The Linux Kernel/man|2|munmap}} the pointers to it. Protection information can be managed using {{The Linux Kernel/man|2|mprotect}} ↪ {{The Linux Kernel/id|do_mprotect_pkey}} and special treatment can be enforced using {{The Linux Kernel/man|2|madvise}} ↪ {{The Linux Kernel/id|do_madvise}}. In Linux, {{The Linux Kernel/man|2|mmap}} can create several types of mappings, such as ''anonymous mappings'', ''shared mappings'' and ''private mappings''. Using the <code>MAP_ANONYMOUS</code> flag <code>mmap()</code> can map a specific area of the process's virtual memory not backed by any file, whose contents are initialized to zero. These functions are typically called from a higher-level memory management library function such as C standard library {{The Linux Kernel/man|3|malloc}} or [[w:new and delete (C++)|C++ new operator]]. ⚲ API : {{The Linux Kernel/include|linux/uaccess.h}} &ndash; user-space memory access and validation helpers : {{The Linux Kernel/include|linux/mm.h}} &ndash; memory management declarations and page handling APIs : {{The Linux Kernel/include|linux/slab.h}} &ndash; memory allocation APIs for slab and kmalloc systems 💾 ''History: Two basic related to memory management system calls <code>brk</code> and <code>mmap</code> Linux inherits from Unix.'' ''BTW: On Linux, {{The Linux Kernel/man|2|sbrk}} is not a separate system call, but a C library function that also calls to {{The Linux Kernel/id|sys_brk}} and keeps some internal state to return the previous break value.'' 📚 References : {{The Linux Kernel/doc|Memory Management APIs|core-api/mm-api.html}} : {{The Linux Kernel/doc|x86_64 Memory Management|x86/x86_64/mm.html}} : {{w|sbrk}} : {{w|mmap}} : [https://0xax.gitbooks.io/linux-insides/content/MM/ Memory management] ⚙️ Internals: : '''{{The Linux Kernel/id|sys_brk}}''' ↯ call hierarchy: : {{The Linux Kernel/id|do_brk_flags}} :: {{The Linux Kernel/id|vm_area_alloc}} ::: {{The Linux Kernel/id|kmem_cache_alloc}} :::: {{The Linux Kernel/id|kmem_cache_alloc_lru}} 🔨 [https://manpages.ubuntu.com/manpages/resolute/man1/stress-ng.1.html#Brk stress-ng --brk], [https://manpages.ubuntu.com/manpages/resolute/man1/stress-ng.1.html#Big --bigheap], [https://manpages.ubuntu.com/manpages/resolute/man1/stress-ng.1.html#Memory~20 --vm], [https://manpages.ubuntu.com/manpages/resolute/man1/stress-ng.1.html#Memory~9 --mmap] == Virtual memory == 🔧 TODO: {{w|Virtual memory|Virtually contiguous memory}} on top of physical and [[#Swap|swapped]] memory pages. 🗝️ Acronyms: : VPFN - Virtual Page Frame Number : PFN - Physical Page Frame Number : pgd - Page Directory : pmd - Page Middle Directory : pud - Page Upper Directory : pte - {{w|Page table}} Entry : VMA - Virtual Memory Area, see {{The Linux Kernel/id|vm_area_struct}} : TLB - {{w|Translation Lookaside Buffer}} : MMU - {{w|Memory Management Unit}} ⚲ API: : {{The Linux Kernel/include|linux/vmalloc.h}} : {{The Linux Kernel/id|vmalloc}} {{The Linux Kernel/id|vfree}} : {{The Linux Kernel/include|linux/cleanup.h}} &ndash; scope-based cleanup helpers :: {{The Linux Kernel/id|scoped_guard}} : /proc/vmallocinfo ⚙️ Internals: : {{The Linux Kernel/id|vm_struct}} : {{The Linux Kernel/id|virt_to_page}} : {{The Linux Kernel/id|vmalloc_init}} : {{The Linux Kernel/id|find_vma}} : {{The Linux Kernel/source|mm/vmalloc.c}} &ndash; virtually contiguous memory allocator 📚 References : {{The Linux Kernel/doc|Virtually Contiguous Mappings|core-api/mm-api.html#virtually-contiguous-mappings}} : {{The Linux Kernel/doc|Page Tables|mm/page_tables.html}} : {{The Linux Kernel/doc|Scope-based Cleanup Helpers|core-api/cleanup.html}} == Data types == === Pointers and addresses === Kernel-specific address types, in addition to common C pointers. : <big>unsigned long</big> &ndash; used to store addresses that are not intended to be dereferenced by the user : {{The Linux Kernel/id|uintptr_t}} &ndash; to be used in ioctl : {{The Linux Kernel/id|phys_addr_t}} &ndash; physical address : {{The Linux Kernel/id|dma_addr_t}} &ndash; DMA address 📚 Further reading : {{The Linux Kernel/doc|(How to avoid) Botching up ioctls|process/botching-up-ioctls.html}} : [https://unix.org/whitepapers/64bit.html Data Size Neutrality and 64-bit Support] === Other types === ⚲ API : {{The Linux Kernel/include|linux/types.h}} &ndash; fixed-width and kernel-specific type definitions : {{The Linux Kernel/include|linux/string.h}} &ndash; standard string manipulation functions : bit operations :: {{The Linux Kernel/include|linux/bitfield.h}} &ndash; defining and extracting bitfield values :: {{The Linux Kernel/include|linux/bitops.h}} &ndash; atomic and non-atomic bit manipulation operations :: {{The Linux Kernel/include|linux/bitmap.h}} &ndash; bit arrays that consume one or more unsigned longs :: {{The Linux Kernel/include|linux/sbitmap.h}} &ndash; fast and scalable bitmaps : {{The Linux Kernel/include|linux/kref.h}} : {{The Linux Kernel/include|acpi/actypes.h}} &ndash; common data types for the entire ACPI subsystem :: {{The Linux Kernel/include|linux/list.h}} &ndash; circular doubly linked list implementation ::: {{The Linux Kernel/id|list_head}} &ndash; common double linked list ::: {{The Linux Kernel/id|list_add}} ... :: {{The Linux Kernel/include|linux/klist.h}} &ndash; some {{The Linux Kernel/id|klist_node}}->{{The Linux Kernel/id|kref}} helpers ::: {{The Linux Kernel/id|klist_add_tail}} ... : {{The Linux Kernel/include|linux/kobject.h}} : {{The Linux Kernel/include|linux/circ_buf.h}} : {{The Linux Kernel/include|linux/kfifo.h}} &ndash; generic kernel FIFO :: {{The Linux Kernel/id|kfifo_in}} ... : {{The Linux Kernel/include|linux/rbtree.h}} &ndash; Red-black trees :: {{The Linux Kernel/id|rb_node}} : {{The Linux Kernel/include|linux/scatterlist.h}} :: {{The Linux Kernel/id|scatterlist}} :: 👁 Example: {{The Linux Kernel/source|samples/kfifo/dma-example.c}} : {{The Linux Kernel/include|linux/idr.h}} &ndash; ID allocation : {{The Linux Kernel/include|linux/container_of.h}} 📖 References : {{The Linux Kernel/doc|List Management Functions|core-api/kernel-api.html#list-management-functions}} : {{The Linux Kernel/doc|FIFO Buffer|core-api/kernel-api.html#fifo-buffer}} : {{The Linux Kernel/doc|Data structures and low-level utilities|core-api#data-structures-and-low-level-utilities}} :: {{The Linux Kernel/doc|Everything you never wanted to know about kobjects, ksets, and ktypes|core-api/kobject.html}} :: {{The Linux Kernel/doc|Adding reference counters (krefs) to kernel objects|core-api/kref.html}} :: {{The Linux Kernel/doc|Generic Associative Array Implementation|core-api/assoc_array.html}} :: {{The Linux Kernel/doc|XArray|core-api/xarray.html}} :: {{The Linux Kernel/doc|ID Allocation|core-api/idr.html}} :: {{The Linux Kernel/doc|Circular Buffers|core-api/circular-buffers.html}} :: {{The Linux Kernel/doc|Red-black Trees (rbtree) in Linux|core-api/rbtree.html}} :: {{The Linux Kernel/doc|Generic radix trees/sparse arrays|core-api/generic-radix-tree.html}} :: {{The Linux Kernel/doc|Generic bitfield packing and unpacking functions|core-api/packing.html}} :: {{The Linux Kernel/doc|How to access I/O mapped memory from within device drivers|core-api/bus-virt-phys-mapping.html}} :: {{The Linux Kernel/doc|this_cpu operations|core-api/this_cpu_ops.html}} :: {{The Linux Kernel/doc|The errseq_t datatype|core-api/errseq.html}} 📚 Further reading : [https://0xax.gitbooks.io/linux-insides/content/DataStructures/ Data Structures in the Linux Kernel] : https://kernelnewbies.org/InternalKernelDataTypes == Memory mapping == 🔧 TODO ⚲ API: : {{The Linux Kernel/man|2|mmap}} ↪ {{The Linux Kernel/id|ksys_mmap_pgoff}} ↪ {{The Linux Kernel/id|do_mmap}} : {{The Linux Kernel/man|2|mprotect}} : {{The Linux Kernel/man|2|mmap2}} : {{The Linux Kernel/man|2|mincore}} : {{The Linux Kernel/man|2|mremap}} &ndash; remap virtual memory address : {{The Linux Kernel/man|2|msync}} &ndash; synchronize memory-mapped file with storage : {{The Linux Kernel/man|2|posix_fadvise}} &ndash; predeclare access pattern for file data : {{The Linux Kernel/include|linux/mm_types.h}} &ndash; {{The Linux Kernel/id|mm_struct}}, {{The Linux Kernel/id|vm_area_struct}} : {{The Linux Kernel/include|linux/mm.h}} : {{The Linux Kernel/id|remap_pfn_range}} : {{The Linux Kernel/id|SetPageReserved}}, {{The Linux Kernel/id|ClearPageReserved}} ⚙️ Internals: : {{The Linux Kernel/source|mm/mmap.c}} &ndash; memory mapping implementation : {{The Linux Kernel/source|mm/madvise.c}} &ndash; {{The Linux Kernel/man|2|madvise}} memory usage hints 🔨 [https://manpages.ubuntu.com/manpages/resolute/man1/stress-ng.1.html#madvise stress-ng --madvise] 📚 References: : {{w|mmap}} : {{The Linux Kernel/doc|Maple Tree|core-api/maple_tree.html}} : [https://linux-kernel-labs.github.io/refs/heads/master/labs/memory_mapping.html Memory mapping, linux-kernel-labs] === vDSO === {{w|VDSO}} (virtual Dynamic Shared Object) is a kernel-mapped page in every process that allows userspace to call certain system functions (clock_gettime, gettimeofday) without a syscall. The kernel updates the vDSO data page on every timekeeping tick via {{The Linux Kernel/id|update_vsyscall}}. ⚲ API : {{The Linux Kernel/man|7|vdso}} : {{The Linux Kernel/include|vdso/datapage.h}} &ndash; {{The Linux Kernel/id|vdso_data}} ⚙️ Internals : {{The Linux Kernel/source|kernel/time/vsyscall.c}} &ndash; vDSO time data updates : {{The Linux Kernel/source|arch/x86/entry/vdso}} &ndash; x86 vDSO implementation 📖 References : {{The Linux Kernel/doc|vDSO ABI|admin-guide/abi-stable.html#vdso}} == Swap == 🔧 TODO ⚲ API: : cat /proc/sys/vm/swappiness ↪ {{The Linux Kernel/id|vm_swappiness}} : {{The Linux Kernel/include|linux/swap.h}} : {{The Linux Kernel/man|2|swapon}} ↪ {{The Linux Kernel/id|sys_swapon}} : {{The Linux Kernel/man|2|swapoff}} : {{The Linux Kernel/man|2|mlock}} ↪ {{The Linux Kernel/id|do_mlock}} : {{The Linux Kernel/man|2|shmctl}} ↪ {{The Linux Kernel/id|shmctl_do_lock}} ⚙️ Internals: : {{The Linux Kernel/source|mm/swapfile.c}} &ndash; swap area management : {{The Linux Kernel/source|mm/vmscan.c}} &ndash; page reclaim and scanning : {{The Linux Kernel/source|mm/mlock.c}} &ndash; memory locking : {{The Linux Kernel/id|VM_LOCKED}} : {{The Linux Kernel/id|swap_info_struct}}, {{The Linux Kernel/id|si_swapinfo}}, {{The Linux Kernel/id|swap_info}} : {{The Linux Kernel/id|handle_pte_fault}} ↪ {{The Linux Kernel/id|do_swap_page}} : {{The Linux Kernel/id|wakeup_kswapd}} ↪ {{The Linux Kernel/id|kswapd}} : {{The Linux Kernel/source|mm/readahead.c}} &ndash; page readahead for sequential file access : {{The Linux Kernel/include|linux/zswap.h}}, {{The Linux Kernel/source|mm/zswap.c}} &ndash; compressed swap cache 🔨 [https://manpages.ubuntu.com/manpages/resolute/man1/stress-ng.1.html#mlock stress-ng --mlock] 📚 References: : {{w|Memory_paging#Linux|Memory paging}} : https://wiki.archlinux.org/title/swap == Logical memory == ⚲ {{The Linux Kernel/id|kmalloc}} is the normal method of allocating memory in the kernel for objects smaller than the page size. It is defined in {{The Linux Kernel/include|linux/slab.h}}. The first argument ''size'' is the size (in bytes) of the block of memory to be allocated. The second argument ''flags'' are the allocation flags or ''GFP flags'', a set of macros that the caller provides to control the type of requested memory. The most commonly used values for ''flags'' are GFP_KERNEL and GFP_ATOMIC, but there is more to be considered. Memory-allocation requests in the kernel are always qualified by a set of ''GFP flags'' ("GFP" initially came from "get free page") describing what can and cannot be done to satisfy the request. The most commonly used flags are GFP_ATOMIC and GFP_KERNEL, though they are actually built up from lower-level flags. The full set of flags is huge; they can be found in the {{The Linux Kernel/include|linux/gfp.h}} header file. ⚲ API: : ↯ {{w|RAII}} allocation functions hierarchy from {{The Linux Kernel/include|linux/device.h}}: :: {{The Linux Kernel/id|devm_kcalloc}} - zeroed array ::: {{The Linux Kernel/id|devm_kmalloc_array}} :::: {{The Linux Kernel/id|devm_kmalloc}} - common allocation :: {{The Linux Kernel/id|devm_kzalloc}} - zeroed allocation ::: {{The Linux Kernel/id|devm_kmalloc}} - common allocation : Classic direct API: :: {{The Linux Kernel/include|linux/slab.h}} :: {{The Linux Kernel/id|kmalloc}}, {{The Linux Kernel/id|kfree}} === Slab allocation === {{w|Slab allocation}} is a memory management algorithm intended for the efficient memory allocation of kernel objects. It eliminates fragmentation caused by allocations and deallocations. The technique is used to retain allocated memory that contains a data object of a certain type for reuse upon subsequent allocations of objects of the same type. ''' Basics ''' ''This section is about the SLUB allocator implementation'' A slab can be thought of as an array of objects of certain type or with the same size, spanning through one or more contiguous pages of memory; for example, the slab named "task_struct" holds objects of <code>struct task_struct</code> type, used by the scheduling subsystem. Other slabs store objects used by other subsystems, and there is also slabs for dynamic allocations inside the kernel, such as the "kmalloc-64" slab that holds up to 64-byte chunks requested via kmalloc() calls. In a slab, each object can be allocated and freed separately. The primary motivation for slab allocation is that the initialization and destruction of kernel data objects can actually outweigh the cost of allocating memory for them. As object creation and deletion are widely employed by the kernel, overhead costs of initialization can result in significant performance drops. The notion of object caching was therefore introduced in order to avoid the invocation of functions used to initialize object state. With slab allocation, memory chunks suitable to fit data objects of certain type or size are preallocated. The slab allocator keeps track of these chunks, known as caches {{The Linux Kernel/id|kmalloc_caches}}, so that when a request to allocate memory for a data object of a certain type is received, it can instantly satisfy the request with an already allocated slot via {{The Linux Kernel/id|slab_alloc_node}}. Deallocation of the object with {{The Linux Kernel/id|kfree}} does not free up the memory, but only opens a slot which is returned to the slab allocator's free list. The next call to allocate memory of the same size will return the now unused memory slot. See {{The Linux Kernel/id|slab_alloc_node}}/{{The Linux Kernel/id|__slab_alloc_node}}/{{The Linux Kernel/id|___slab_alloc}}. This process eliminates the need to search for suitable memory space and greatly alleviates memory fragmentation. In this context, a slab is one or more contiguous pages in the memory containing pre-allocated memory chunks. Slab allocation provides a kind of front-end to the zoned buddy allocator for those sections of the kernel that require more flexible memory allocation than the standard 4KB page size. ⚲ Interface: : sudo cat /proc/slabinfo : {{The Linux Kernel/include|linux/slab.h}} : {{The Linux Kernel/id|kmem_cache_alloc}}, {{The Linux Kernel/id|kmem_cache_free}} : {{The Linux Kernel/man|1|slabtop}} ⚙️ Internals: : {{The Linux Kernel/source|mm/slab_common.c}} &ndash; slab allocator common code : {{The Linux Kernel/id|mm_init}} is called from {{The Linux Kernel/id|start_kernel}} :: {{The Linux Kernel/id|kmem_cache_init}} ::: {{The Linux Kernel/id|create_kmalloc_caches}} : {{The Linux Kernel/id|kasan_slab_alloc}} ''' SLUB allocator ''' &ndash; default Unqueued allocator {{w|SLUB (software)|SLUB}} is the iteration of the original SLAB allocator that replaced it and became the Linux default allocator since 2.6.23. ⚙️ Internals: {{The Linux Kernel/source|mm/slub.c}} 📚 References: : {{The Linux Kernel/id|CONFIG_SLUB}} 💾 ''Historical: SLOB (Simple List Of Blocks) allocator for embedded devices was removed in kernel 6.4.'' ''SLAB allocator, the original slab allocation implementation based on Jeff Bonwick's 1994 paper, was removed in kernel 6.8.'' ''SLUB is now the only slab allocator in the kernel.'' <hr> ''' Per-CPU allocator ''' : {{The Linux Kernel/include|linux/percpu.h}}, {{The Linux Kernel/source|mm/percpu.c}} &ndash; per-CPU memory areas, used by slab and counters 📚 References for Slab allocation: : {{The Linux Kernel/doc|KASAN - KernelAddressSANitizer|dev-tools/kasan.html}} - dynamic memory safety error detector designed to find out-of-bound and use-after-free bugs : [https://www.youtube.com/watch?v=h0VMLXavx30 <nowiki>Video "SL[AUO]B: Kernel memory allocator design and philosophy"</nowiki>] Christopher Lameter (Linux.conf.au 2015 conference) [http://lca2015.linux.org.au/slides/167/slaballocators-auckland-2015.pdf Slides] === Page Allocator === The page allocator (or "zoned buddy allocator") is a low-level allocator that deals with physical memory. It delivers physical pages (usually with a size of 4096 bytes) of free memory to high-level memory consumers such as the slab allocators and <code>kmalloc()</code>. As the ultimate source of memory in the system, the page allocator must ensure that memory is always available, since a failure providing memory to a critical kernel subsystem can lead to a general system failure or a kernel panic. The page allocator divides physical memory into "zones", each of which corresponds to {{The Linux Kernel/id|zone_type}} with specific characteristics. ZONE_DMA contains memory at the bottom of the address range for use by severely challenged devices, for example, while {{The Linux Kernel/id|ZONE_NORMAL}} may contain most memory on the system. 32-bit systems have a ZONE_HIGHMEM for memory that is not directly mapped into the kernel's address space. Depending on the characteristics of any given allocation request, the page allocator will search the available zones in a specific priority order. For the curious, <code>/proc/zoneinfo</code> gives a lot of information about the zones in use on any given system. Within a zone, memory is grouped into ''page blocks'', each of which can be marked with a ''migration type'' - {{The Linux Kernel/id|migratetype}} describing how the block should be allocated. ⚲ API: : cat /proc/buddyinfo : {{The Linux Kernel/include|linux/gfp.h}} : {{The Linux Kernel/include|linux/mmzone.h}} : {{The Linux Kernel/id|devm_get_free_pages}} - {{w|RAII}} function :: {{The Linux Kernel/id|__get_free_pages}} : {{The Linux Kernel/id|alloc_page}} :: {{The Linux Kernel/id|alloc_pages}} : {{The Linux Kernel/id|alloc_pages_node}} ⚙️ Internals: : {{The Linux Kernel/id|build_all_zonelists}} is called from {{The Linux Kernel/id|start_kernel}}, ↯ call hierarchy: :: {{The Linux Kernel/id|build_all_zonelists_init}} ::: {{The Linux Kernel/id|__build_all_zonelists}} :::: {{The Linux Kernel/id|build_zonelists}} : {{The Linux Kernel/id|__alloc_pages}} - the 'heart' of the zoned buddy allocator : struct {{The Linux Kernel/id|zone}} :: {{The Linux Kernel/id|free_area}} : {{The Linux Kernel/source|mm/mmzone.c}} &ndash; memory zone helpers : {{The Linux Kernel/source|mm/page_alloc.c}} &ndash; buddy page allocator 📚 References: : {{The Linux Kernel/doc|Get Free Page flags|core-api/memory-allocation.html}} : {{w|Buddy memory allocation}} : {{w|Page replacement algorithm}} === OOM killer === The {{w|Out of memory|Out-Of-Memory}} killer is invoked when the kernel cannot satisfy a memory allocation and all reclaim attempts have failed. It selects a process to kill based on a badness score to free memory and keep the system running. ⚲ API: : /proc/$pid/oom_score &ndash; current badness score : /proc/$pid/oom_score_adj &ndash; adjust score (-1000 to 1000) : /proc/$pid/oom_adj &ndash; deprecated, use oom_score_adj : /proc/sys/vm/panic_on_oom ⚙️ Internals: : {{The Linux Kernel/source|mm/oom_kill.c}} &ndash; out-of-memory killer : {{The Linux Kernel/id|out_of_memory}} &ndash; main entry point : {{The Linux Kernel/id|oom_badness}} &ndash; calculates badness score : {{The Linux Kernel/id|oom_kill_process}} 📚 References: : {{The Linux Kernel/doc|OOM|admin-guide/sysctl/vm.html}} : [https://docs.redhat.com/en/documentation/red_hat_enterprise_linux_for_real_time/latest/html/optimizing_rhel_for_real_time_for_low_latency_operation/managing-out-of-memory-states Managing OOM states for RT, RHEL] 🔨 [https://manpages.ubuntu.com/manpages/resolute/man1/stress-ng.1.html#Large stress-ng --oom-pipe] === Memory cgroup controller === The memory cgroup controller limits and accounts memory usage per group of processes. It can set hard and soft limits, trigger per-cgroup OOM, and track swap usage. ⚲ API: : memory.max &ndash; hard memory limit : memory.high &ndash; throttling threshold : memory.current &ndash; current usage : memory.swap.max &ndash; swap limit : See [[../System/CGroup v2#Memory|CGroup v2 Memory controller]] for full interface ⚙️ Internals: : {{The Linux Kernel/source|mm/memcontrol.c}} &ndash; memory cgroup controller : {{The Linux Kernel/id|mem_cgroup}} &ndash; main structure : {{The Linux Kernel/id|mem_cgroup_charge}} : {{The Linux Kernel/id|mem_cgroup_oom}} 📚 References: : {{The Linux Kernel/doc|Memory Resource Controller|admin-guide/cgroup-v2.html#memory}} === tmpfs/shmem === {{The Linux Kernel/include|linux/shmem_fs.h}}, {{The Linux Kernel/source|mm/shmem.c}} &ndash; {{w|tmpfs}} virtual memory filesystem, also backs POSIX shared memory and {{The Linux Kernel/man|2|memfd_create}}. === KSM === {{The Linux Kernel/include|linux/ksm.h}}, {{The Linux Kernel/source|mm/ksm.c}} &ndash; Kernel Same-page Merging, deduplicates identical anonymous pages, used by {{w|Kernel-based Virtual Machine|KVM}}. {{The Linux Kernel/doc|KSM|admin-guide/mm/ksm.html}} === userfaultfd === {{The Linux Kernel/man|2|userfaultfd}} ↪ {{The Linux Kernel/source|mm/userfaultfd.c}} &ndash; handles page faults in user space, used for VM live migration. {{The Linux Kernel/doc|Userfaultfd|admin-guide/mm/userfaultfd.html}} 🔨 [https://manpages.ubuntu.com/manpages/resolute/man1/stress-ng.1.html#userfaultfd stress-ng --userfaultfd] === DAMON === Data Access MONitor (since 5.15) provides kernel-level data access pattern monitoring. It can be used for memory management optimization and profiling. ⚲ API: : /sys/kernel/mm/damon/ : {{The Linux Kernel/include|linux/damon.h}} ⚙️ Internals: : {{The Linux Kernel/source|mm/damon}} &ndash; DAMON core and operation schemes 📖 References: : {{The Linux Kernel/doc|DAMON|mm/damon}} <hr> 📚 References for logical memory: : {{The Linux Kernel/doc|Memory Allocation Guide|core-api/memory-allocation.html}} : {{The Linux Kernel/doc|Selecting memory allocator|core-api/memory-allocation.html#selecting-memory-allocator}} == Physical memory == === Memory Layout === A 32-bit processor can address a maximum of 4GB of memory. Linux kernels split the 4GB address space between user processes and the kernel; under the most common configuration, the first 3GB of the 32-bit range are given over to user space, and the kernel gets the final 1GB starting at 0xc0000000. Sharing the address space gives a number of performance benefits; in particular, the hardware's address translation buffer can be shared between the kernel and user space. In '''x86-64''' - {{The Linux Kernel/id|CONFIG_X86_64}} with 4-level page tables ({{The Linux Kernel/id|CONFIG_X86_5LEVEL}}=n), only the least significant 48&nbsp;bits of a virtual memory address would actually be used in address translation (page table lookup). The remainder bits 48 through 63 of any virtual address must be copies of bit 47, or the processor will raise an exception. Addresses complying with this rule are referred to as "canonical form." Canonical form addresses run from 0 through 00007FFF'FFFFFFFF, and from FFFF8000'00000000 through FFFFFFFF'FFFFFFFF, for a total of 256&nbsp;TB of usable {{w|virtual address space}}. This is still approximately 64,000 times the virtual address space on 32-bit machines. Linux takes the higher-addressed half of the address space for itself (kernel space) and leaves the lower-addressed half for user space. The "canonical address" design has, in effect, two memory halves: the lower half starts at 00000000'00000000 and "grows upwards" as more virtual address bits become available, while the higher half is "docked" to the top of the address space and grows downwards. {| class="wikitable sortable" |+ !Start addr !class=unsortable|Offset !End addr !class=unsortable|Size !class=unsortable|VM area description |- | <code><small>0000'</small>'''8'''<small>000'0000'0000</small></code> | +128 TB | <code><small>ffff'7fff'ffff'ffff</small></code> | | ... huge, almost 64 bits wide hole of non-canonical virtual memory addresses up to the -128 TB starting offset of kernel mappings. |- | <code><small>0000'0000'0000'0000</small></code> |0 | <code><small>0000'7fff'ffff'ffff</small></code> |128&nbsp;TB=2<sup>47</sup> |user-space virtual memory, different per mm |- | <code><small>ffff'ffff'ffe0'0000</small></code> | -2 MB | <code><small>ffff'ffff'ffff'ffff</small></code> | 2 MB=2<sup>21</sup> |... unused hole |- | <code><small>ffff'ffff'ff60'0000</small></code> | -10 MB | <code><small>ffff'ffff'ff60'0fff</small></code> | 4 kB=2<sup>12</sup> | {{The Linux Kernel/id|VSYSCALL_ADDR}} - legacy vsyscall ABI |- | <code><small>ffff'ffff'8000'0000</small></code> | -2 GB | <code><small>ffff'ffff'9fff'ffff</small></code> | 512&nbsp;MB=2<sup>29</sup> | kernel text mapping, mapped to physical address 0 |- | | | | | |- | <code><small>ffff'8880'0000'0000</small></code> | -119.5&nbsp;TB | <code><small>ffff'c87f'ffff'ffff</small></code> | 64&nbsp;TB | {{The Linux Kernel/id|page_offset_base}} = {{The Linux Kernel/id|__PAGE_OFFSET_BASE_L4}} - direct mapping of all physical memory |- | | | | | |- | <code><small>ffff'8000'0000'0000</small></code> | -128 TB | <code><small>ffff'87ff'ffff'ffff</small></code> | 8&nbsp;TB | ... guard hole, also reserved for hypervisor |} [[File:Linux_Virtual_Memory_Layout_64bit.svg|border|center|x86-64 memory layout]] ⚲ API: : {{The Linux Kernel/man|8|setarch}} --addr-no-randomize cat /proc/self/maps ⚙️ Internals: : {{The Linux Kernel/source|arch/x86/include/asm/page_64_types.h}} &ndash; x86-64 page type definitions : {{The Linux Kernel/source|arch/x86/mm/init_64.c}} &ndash; x86-64 memory initialization 📚 References: : {{The Linux Kernel/doc|X86_64 memory map|x86/x86_64/mm.html}} : {{w|Address_space_layout_randomization#Linux|Address space layout randomization}} === Pages === In Linux, different architectures have different page sizes. The original &mdash;for x86 architecture&mdash; and still most commonly used page size is 4096 bytes (4 KB). The page size (in bytes) of the current architecture is defined by the <code>PAGE_SIZE</code> macro included in {{The Linux Kernel/source|arch/x86/include/asm/page_types.h}} header file. User space programs can get this value using the {{The Linux Kernel/man|2|getpagesize}} library function. Another related macro is <code>PAGE_SHIFT</code>, that contains the number of bits to shift an address to get its page number &mdash;12 bits for 4K pages. One of the most fundamental kernel data structures relating memory-management is <code>struct page</code>. The kernel keeps track of the status of every page of physical memory present in the system using variables of this type. There are millions of pages in a modern system, and therefore there are millions of these structures in memory. The full definition of <code>struct page</code> can be found in {{The Linux Kernel/include|linux/mm_types.h}}. ⚙️ Internals: : {{The Linux Kernel/source|mm/memory.c}} &ndash; page fault handling and page table operations ({{The Linux Kernel/id|handle_mm_fault}}) : {{The Linux Kernel/include|linux/rmap.h}}, {{The Linux Kernel/source|mm/rmap.c}} &ndash; reverse mapping, virtual-to-physical tracking for page reclaim : {{The Linux Kernel/include|linux/compaction.h}}, {{The Linux Kernel/source|mm/compaction.c}} &ndash; memory compaction, reduces fragmentation : {{The Linux Kernel/include|linux/memblock.h}}, {{The Linux Kernel/source|mm/memblock.c}} &ndash; early boot memory allocator, before buddy is available : {{The Linux Kernel/include|linux/highmem.h}} &ndash; page content access and manipulation : {{The Linux Kernel/include|asm-generic/tlb.h}}, {{The Linux Kernel/source|mm/mmu_gather.c}} &ndash; TLB flush and page table teardown batching : [https://0xax.gitbooks.io/linux-insides/content/Theory/linux-theory-1.html Pages] === NUMA === In {{w|Non-uniform memory access}} systems, physical memory is divided into nodes, each local to a group of CPUs. Accessing local memory is faster than remote memory, so the kernel tries to allocate memory from the node closest to the requesting CPU. Each node contains its own set of zones (DMA, Normal, etc.). ⚲ API: : {{The Linux Kernel/man|8|numactl}} &ndash; controls NUMA policy for processes or shared memory : {{The Linux Kernel/man|8|numastat}} &ndash; per-node memory statistics (hits, misses, foreign allocations) : /sys/devices/system/node/node*/meminfo &ndash; per-node memory info : /sys/devices/system/node/node*/cpulist &ndash; CPUs belonging to each node : /sys/devices/system/node/node*/distance &ndash; inter-node distances : {{The Linux Kernel/man|2|set_mempolicy}} &ndash; set default NUMA memory policy : {{The Linux Kernel/man|2|mbind}} &ndash; set NUMA memory policy for a memory range : {{The Linux Kernel/man|2|get_mempolicy}} : {{The Linux Kernel/man|2|migrate_pages}} : {{The Linux Kernel/man|2|move_pages}} : cat /proc/buddyinfo : /sys/devices/system/node/ : {{The Linux Kernel/include|linux/topology.h}} &ndash; {{The Linux Kernel/id|cpu_to_node}}, {{The Linux Kernel/id|numa_node_id}} : {{The Linux Kernel/include|linux/mempolicy.h}} ⚙️ Internals: : {{The Linux Kernel/id|CONFIG_NUMA}} : {{The Linux Kernel/id|pglist_data}} (pg_data_t) &ndash; per-node memory descriptor, contains zones @ {{The Linux Kernel/include|linux/mmzone.h}} : {{The Linux Kernel/id|numa_node_id}} &ndash; returns NUMA node of current CPU : {{The Linux Kernel/source|mm/numa.c}} &ndash; NUMA node data allocation during boot : {{The Linux Kernel/source|mm/mempolicy.c}} &ndash; NUMA memory allocation policies : {{The Linux Kernel/source|mm/migrate.c}} &ndash; page migration between nodes : {{The Linux Kernel/source|mm/memory-tiers.c}} &ndash; memory tiering (DRAM, PMEM, HBM) : {{The Linux Kernel/source|mm/numa_memblks.c}} &ndash; memory block and distance setup 📚 References: : {{The Linux Kernel/doc|NUMA Memory Policy|admin-guide/mm/numa_memory_policy.html}} : {{w|Non-uniform memory access}} : See also [[../Multitasking/CPU#SMP|SMP section]] for NUMA topology and CPU aspects 🔨 [https://manpages.ubuntu.com/manpages/resolute/man1/stress-ng.1.html#numa stress-ng --numa] === Huge pages === {{w|Huge pages}} use larger page sizes (2 MB or 1 GB on x86-64) to reduce TLB misses and page table overhead for memory-intensive workloads. ==== HugeTLB ==== HugeTLB provides explicitly allocated persistent huge pages, reserved at boot or runtime. ⚲ API: : cat /proc/meminfo | grep Huge : cat /proc/sys/vm/nr_hugepages : {{The Linux Kernel/man|2|mmap}} with MAP_HUGETLB : mount -t hugetlbfs nodev /dev/hugepages : {{The Linux Kernel/include|linux/hugetlb.h}} ⚙️ Internals: : {{The Linux Kernel/source|mm/hugetlb.c}} &ndash; HugeTLB huge page allocator : {{The Linux Kernel/id|hugetlb_init}} : {{The Linux Kernel/id|hugetlb_fault}} 📚 References: : {{The Linux Kernel/doc|HugeTLB Pages|admin-guide/mm/hugetlbpage.html}} ==== Transparent Huge Pages ==== THP automatically promotes regular pages to huge pages without application changes (since 2.6.38). ⚲ API: : cat /sys/kernel/mm/transparent_hugepage/enabled : {{The Linux Kernel/man|2|madvise}} with MADV_HUGEPAGE : {{The Linux Kernel/include|linux/huge_mm.h}} ⚙️ Internals: : {{The Linux Kernel/source|mm/huge_memory.c}} &ndash; transparent huge page support : {{The Linux Kernel/id|khugepaged}} &ndash; daemon that collapses pages into huge pages : {{The Linux Kernel/source|mm/khugepaged.c}} &ndash; THP collapse daemon 📚 References: : {{The Linux Kernel/doc|Transparent Hugepage Support|admin-guide/mm/transhuge.html}} : {{The Linux Kernel/doc|Concepts overview|admin-guide/mm/concepts.html}} === TLB === {{w|Translation lookaside buffer}} is a hardware cache of virtual-to-physical address translations. The kernel must flush TLB entries when page table mappings change. On SMP, this requires {{w|Inter-processor interrupt|IPI}}s to other CPUs (TLB shootdowns), which can impact real-time latency on isolated CPUs. ⚲ API : {{The Linux Kernel/include|asm-generic/tlb.h}} &ndash; generic TLB flush batching : {{The Linux Kernel/id|flush_tlb_all}} &ndash; flush entire TLB on all CPUs via IPI (TLB shootdown) :: {{The Linux Kernel/id|__flush_tlb_all}} &ndash; local CPU only, no IPI, calls {{The Linux Kernel/id|__flush_tlb_global}} : {{The Linux Kernel/id|flush_tlb_mm}} &ndash; flush TLB for a specific address space : {{The Linux Kernel/id|flush_tlb_page}} &ndash; flush single page from TLB : {{The Linux Kernel/id|flush_tlb_range}} &ndash; flush a range of user pages for a VMA : {{The Linux Kernel/id|flush_tlb_kernel_range}} &ndash; flush kernel mappings on all CPUs : /sys/kernel/debug/tracing/events/tlb/tlb_flush/ ⚙️ Internals : {{The Linux Kernel/source|arch/x86/mm/tlb.c}} &ndash; x86 TLB flush implementation : {{The Linux Kernel/source|mm/mmu_gather.c}} &ndash; TLB flush batching 📖 References : {{The Linux Kernel/doc|TLB|arch/x86/tlb.html}} : {{The Linux Kernel/doc|Cache and TLB Flushing Under Linux|core-api/cachetlb.html}} === CMA === The Contiguous Memory Allocator (CMA) reserves a region of memory at boot for large physically contiguous allocations needed by DMA devices, GPUs and multimedia hardware (since 3.5). Unused CMA memory is available to the page allocator for movable pages. ⚲ API: : cat /proc/meminfo | grep Cma : {{The Linux Kernel/include|linux/cma.h}} : {{The Linux Kernel/id|dma_alloc_contiguous}} : {{The Linux Kernel/id|CONFIG_CMA}} ⚙️ Internals: : {{The Linux Kernel/source|mm/cma.c}} &ndash; contiguous memory allocator core : {{The Linux Kernel/source|kernel/dma/contiguous.c}} &ndash; DMA-CMA integration : {{The Linux Kernel/source|mm/cma_debug.c}} &ndash; debugfs interface : {{The Linux Kernel/id|cma_alloc}} : {{The Linux Kernel/id|cma_release}} 📚 References: : {{The Linux Kernel/doc|Contiguous Memory Allocator|mm/cma.html}} === DMA === ⚲ API: : {{The Linux Kernel/id|dma_addr_t}} - bus address : {{The Linux Kernel/include|linux/dma-mapping.h}} : {{The Linux Kernel/id|dma_alloc_coherent}} : {{The Linux Kernel/id|dma_alloc_pages}} {{The Linux Kernel/id|pin_user_pages}} : {{The Linux Kernel/id|dma_map_single}} {{The Linux Kernel/id|dma_data_direction}} : {{The Linux Kernel/id|dma_map_sg}} {{The Linux Kernel/id|scatterlist}} : {{The Linux Kernel/id|dma_set_mask}} {{The Linux Kernel/id|dma_set_coherent_mask}} {{The Linux Kernel/id|dma_set_mask_and_coherent}} : {{The Linux Kernel/id|dma_sync_single_for_cpu}} {{The Linux Kernel/id|dma_sync_single_for_device}} : {{The Linux Kernel/include|linux/gfp.h}} : {{The Linux Kernel/include|linux/dmapool.h}} : {{The Linux Kernel/id|dma_pool_create}} : DMA-able memory: {{The Linux Kernel/id|__get_free_page}} {{The Linux Kernel/id|kmalloc}} {{The Linux Kernel/id|kmem_cache_alloc}} : {{The Linux Kernel/id|get_user_pages}} pins user pages in memory, 👁 Examples: : {{The Linux Kernel/source|samples/kfifo/dma-example.c}} : {{The Linux Kernel/id|e1000_alloc_rx_buffers}}, {{The Linux Kernel/id|e1000_alloc_ring_dma}} ⚙️ Internals: : {{The Linux Kernel/source|kernel/dma}} &ndash; DMA subsystem core : {{The Linux Kernel/source|mm/dmapool.c}} &ndash; small DMA-coherent allocations : {{The Linux Kernel/source|mm/gup.c}} &ndash; get/pin user pages : {{The Linux Kernel/source|kernel/dma/mapping.c}} &ndash; arch-independent DMA mapping 📚 References: : {{The Linux Kernel/doc|Dynamic DMA mapping Guide|core-api/dma-api-howto.html}} : {{The Linux Kernel/doc|Dynamic DMA mapping using the generic device|core-api/dma-api.html}} : {{The Linux Kernel/doc|pin_user_pages() and related calls|core-api/pin_user_pages.html}} : [https://lwn.net/Articles/787636/ LWM: get_user_pages, pinned pages, and DAX] : [https://sysprog21.github.io/lkmpg/#dma-and-mmap LKMPG: DMA and mmap] 💾 ''Historical:'' : [http://lwn.net/images/pdf/LDD3/ch15.pdf LDD3:Memory Mapping and DMA] : http://www.xml.com/ldd/chapter/book/ch13.html mmap and DMA : SAC &ndash; Single Address Cycle, 32-bit DMA addressing (up to 4 GB) : DAC &ndash; Dual Address Cycle, 64-bit DMA addressing ==== DMAEngine ==== : {{The Linux Kernel/include|linux/dmaengine.h}} : {{The Linux Kernel/source|drivers/dma}} &ndash; DMA engine drivers : {{The Linux Kernel/doc|driver-api/dmaengine}} : https://bootlin.com/pub/conferences/2015/elc/ripard-dmaengine/ == ... == 📚 References for the article: : {{The Linux Kernel/doc|Linux Memory Management Documentation|mm/}} : [https://www.ryadel.com/en/linux-memory-management-mechanism-analysis-kernel/ Analysis of Linux Memory Management Mechanism] : [https://0xax.gitbooks.io/linux-insides/content/MM/ Memory management] : http://linux-mm.org/LinuxMM : http://www.tldp.org/HOWTO/KernelAnalysis-HOWTO-7.html : [https://lwn.net/Kernel/Index/#Memory_management Memory management, lwn] {{BookCat}} ri4esyyiuz45bfvlnhc3gtdzd2of4rn The Linux Kernel/Storage 0 226984 4654521 4641715 2026-07-15T07:54:19Z Conan 3188 Block device layer Shell interfaces 4654521 wikitext text/x-wiki {{DISPLAYTITLE:Storage functionality}} {|style="width: 25%; float: right; text-align:center;border-spacing: 0; color:black; margin:auto;" cellpadding=5pc ! bgcolor=#cef | storage |-style="" | bgcolor=#aef | [[#Files_and_directories|files & directories access]] |-style="" | bgcolor=#8df | [[#Virtual File System|Virtual File System]] |-style="" | bgcolor=#8ce |[[#Page_cache|page cache]] |-style="" | bgcolor=#7ac |[[#Logical file systems|logical file systems]] |-style="" | bgcolor=#69a |[[#Block_device_layer|block devices]] |-style="" | bgcolor=#689 |[[#Storage_drivers|storage drivers]] |} Storage functionality provides access to various storage devices via files and directories of files. Most of the storage is persistent as flash memory, SSD and legacy hard disks. Another kind of storage is temporary. The ''file system'' provides an abstraction to organize the information into separate pieces of data (called ''files'') identified by a unique name. Each file system type defines their own structures and logic rules used to manage these groups of information and their names. Linux supports a plethora of different file system types, local and remote, native and from other operating systems. To accommodate such disparity the kernel defines a common top layer, the ''virtual file system'' (VFS) layer. [[File:The Linux Storage Stack Diagram.svg|Summary of the Linux kernel's storage stack|right|800x800px]] == Files and directories == Four basic files access system calls: : {{The Linux Kernel/man|2|open}} ↪ {{The Linux Kernel/id|do_sys_open}} - opens a file by name and returns a {{w|file descriptor}} (<big>fd</big>). Below functions operates on a fd. : {{The Linux Kernel/man|2|close}} ↪ {{The Linux Kernel/id|close_fd}} : {{The Linux Kernel/man|2|read}} ↪ {{The Linux Kernel/id|ksys_read}} : {{The Linux Kernel/man|2|write}} ↪ {{The Linux Kernel/id|ksys_write}} File in Linux and UNIX is not only physical file on persistent storage. File interface is used to access pipes, sockets and other pseudo-files. Other file operations: : {{The Linux Kernel/man|2|lseek}} &ndash; reposition read/write file offset : {{The Linux Kernel/man|2|dup}} &ndash; duplicate a file descriptor : {{The Linux Kernel/man|2|fcntl}} &ndash; manipulate file descriptor : {{The Linux Kernel/man|2|truncate}}, {{The Linux Kernel/man|2|ftruncate}} &ndash; truncate a file : {{The Linux Kernel/man|2|fallocate}} &ndash; preallocate file space : {{The Linux Kernel/man|2|readahead}} ↪ {{The Linux Kernel/source|mm/readahead.c}} &ndash; prefetch file data into page cache 🔨 [https://manpages.ubuntu.com/manpages/resolute/man1/stress-ng.1.html#:~:text=%2D%2Dopen stress-ng --open], [https://manpages.ubuntu.com/manpages/resolute/man1/stress-ng.1.html#:~:text=%2D%2Dclose --close], [https://manpages.ubuntu.com/manpages/resolute/man1/stress-ng.1.html#:~:text=%2D%2Dfallocate --fallocate] Directory operations: : {{The Linux Kernel/man|2|mkdir}}, {{The Linux Kernel/man|2|rmdir}} &ndash; create/remove directory : {{The Linux Kernel/man|2|getcwd}} ↪ {{The Linux Kernel/id|sys_getcwd}} &ndash; get current working directory : {{The Linux Kernel/man|2|chdir}} ↪ {{The Linux Kernel/id|sys_chdir}} &ndash; change working directory : {{The Linux Kernel/man|3|readdir}} ⇾ {{The Linux Kernel/man|2|getdents}} : {{The Linux Kernel/man|7|path_resolution}} 🔨 [https://manpages.ubuntu.com/manpages/resolute/man1/stress-ng.1.html#:~:text=%2D%2Ddentry stress-ng --dentry], [https://manpages.ubuntu.com/manpages/resolute/man1/stress-ng.1.html#:~:text=%2D%2Ddir --dir] Name operations: : {{The Linux Kernel/man|2|rename}} &ndash; rename a file or directory : {{The Linux Kernel/man|2|unlink}} &ndash; delete a name from the filesystem : {{The Linux Kernel/man|2|readlink}}, {{The Linux Kernel/man|2|symlink}}, {{The Linux Kernel/man|2|link}} ⚙️ Files and directories internals : {{The Linux Kernel/include|linux/fs.h}} : {{The Linux Kernel/source|fs/open.c}} &ndash; open, close and related file operations : {{The Linux Kernel/include|linux/namei.h}}, {{The Linux Kernel/source|fs/namei.c}} &ndash; pathname lookup and resolution : {{The Linux Kernel/source|fs/read_write.c}} &ndash; read, write and lseek operations : {{The Linux Kernel/include|linux/xattr.h}}, {{The Linux Kernel/source|fs/xattr.c}} &ndash; extended attributes : {{The Linux Kernel/source|fs/notify}} &ndash; filesystem event notification :: {{The Linux Kernel/man|2|inotify_init}}, {{The Linux Kernel/man|2|inotify_add_watch}}, {{The Linux Kernel/man|2|inotify_rm_watch}} &ndash; {{The Linux Kernel/man|7|inotify}} :: {{The Linux Kernel/man|2|fanotify_init}}, {{The Linux Kernel/man|2|fanotify_mark}} &ndash; {{The Linux Kernel/man|7|fanotify}} 🔨 [https://manpages.ubuntu.com/manpages/resolute/man1/stress-ng.1.html#:~:text=%2D%2Dinotify stress-ng --inotify] 📚 Files and directories references : [https://www.gnu.org/software/libc/manual/html_node/I_002fO-Overview.html Input/Output, The GNU C Library] : [https://tldp.org/LDP/lki/lki-3.html VFS in Linux Kernel 2.4 Internals] : {{w|Unix file types}} === File locks === File locks are mechanisms that allow processes to coordinate access to shared files. These locks help prevent conflicts when multiple processes or threads attempt to access the same file simultaneously. ⚲ API : {{The Linux Kernel/man|8|lslocks}} &ndash; list local system locks : {{The Linux Kernel/man|3|lockf}} &ndash; apply, test or remove a POSIX lock on an open file : {{The Linux Kernel/man|2|flock}} &ndash; apply or remove an advisory BSD lock on an open file : {{The Linux Kernel/man|2|fcntl}} &ndash; manipulate file descriptor :: {{The Linux Kernel/id|F_SETLK}} &ndash; advisory record lock :: {{The Linux Kernel/id|F_OFD_SETLK}} &ndash; Open File Description Lock :: {{The Linux Kernel/id|flock}} &ndash; lock parameters : ⚠️ Avoid mixing flock and fcntl locks on the same file as they don’t interact with each other. ⚙️ Internals : {{The Linux Kernel/include|linux/filelock.h}} : {{The Linux Kernel/source|fs/locks.c}} &ndash; POSIX and flock file locking : {{The Linux Kernel/include|trace/events/filelock.h}} 🔨 [https://manpages.ubuntu.com/manpages/resolute/man1/stress-ng.1.html#:~:text=%2D%2Dflock stress-ng --flock] 💾 ''Historical: [https://elixir.bootlin.com/linux/v5.14/K/ident/CONFIG_MANDATORY_FILE_LOCKING Mandatory locking] feature is no longer supported at all in Linux 5.15 and above because the implementation is unreliable.'' === Asynchronous I/O === 🚀 advanced features '''AIO''' : https://lwn.net/Kernel/Index/#Asynchronous_IO : {{The Linux Kernel/man|2|io_submit}} {{The Linux Kernel/man|2|io_setup}} {{The Linux Kernel/man|2|io_cancel}} {{The Linux Kernel/man|2|io_destroy}} {{The Linux Kernel/man|2|io_getevents}} : {{The Linux Kernel/include|uapi/linux/aio_abi.h}} : {{The Linux Kernel/source|fs/aio.c}} &ndash; async I/O implementation : {{The Linux Kernel/ltp|kernel|io/aio}} 🔨 [https://manpages.ubuntu.com/manpages/resolute/man1/stress-ng.1.html#:~:text=%2D%2Daio stress-ng --aio] '''{{w|io_uring}}''' 🌱 ''New since release 5.1 in May 2019'' : https://blogs.oracle.com/linux/an-introduction-to-the-io_uring-asynchronous-io-framework : https://thenewstack.io/how-io_uring-and-ebpf-will-revolutionize-programming-in-linux/ : {{The Linux Kernel/id|io_uring_enter}} {{The Linux Kernel/id|io_uring_setup}} {{The Linux Kernel/id|io_uring_register}} : {{The Linux Kernel/include|linux/io_uring.h}} : {{The Linux Kernel/include|uapi/linux/io_uring.h}} : {{The Linux Kernel/source|io_uring}} : https://lwn.net/Kernel/Index/#io_uring :: [https://lwn.net/Articles/779472/ io_uring, SCM_RIGHTS, and reference-count cycles] :: [https://lwn.net/Articles/810414/ The rapid growth of io_uring] :: [https://lwn.net/Articles/815491/ Automatic buffer selection for io_uring] :: [https://lwn.net/Articles/826053/ Operations restrictions for io_uring] :: [https://lwn.net/Articles/779472/ io_uring, SCM_RIGHTS, and reference-count cycles] :: [https://lwn.net/Articles/803070/ Redesigned workqueues for io_uring] : {{The Linux Kernel/ltp|kernel/syscalls|io_uring}} 🔨 [https://manpages.ubuntu.com/manpages/resolute/man1/stress-ng.1.html#:~:text=%2D%2Dio%2During stress-ng --io-uring] === {{w|Asynchronous_I/O#Forms|Non-blocking I/O}} === Allow non-blocking access to multiple file descriptors. '''Efficient event polling {{w|epoll}}''' ⚲ API: : {{The Linux Kernel/include|uapi/linux/eventpoll.h}} : {{The Linux Kernel/man|7|epoll}} : {{The Linux Kernel/man|2|epoll_create}} ↪ {{The Linux Kernel/id|do_epoll_create}} : {{The Linux Kernel/man|2|epoll_ctl}} ↪ {{The Linux Kernel/id|do_epoll_ctl}} : {{The Linux Kernel/man|2|epoll_wait}} ↪ {{The Linux Kernel/id|do_epoll_wait}} ⚙️ Internals: : {{The Linux Kernel/source|fs/eventpoll.c}} &ndash; efficient event polling (epoll) '''{{w|Select (Unix)|select}} and {{w|poll (Unix)|poll}}''' 💾 ''Historical: Select and poll system calls are derived from UNIX'' ⚲ API: : {{The Linux Kernel/man|2|poll}} ↪ {{The Linux Kernel/id|do_sys_poll}} : {{The Linux Kernel/man|2|select}} ↪ {{The Linux Kernel/id|kern_select}} ⚙️ Internals: : {{The Linux Kernel/source|fs/select.c}} &ndash; select and poll implementation === Vectored I/O === 🚀 advanced feature {{w|Vectored I/O}}, also known as scatter/gather I/O, is a method of input and output by which a single procedure call sequentially reads data from multiple buffers and writes it to a single data stream, or reads data from a data stream and writes it to multiple buffers, as defined in a vector of buffers. Scatter/gather refers to the process of gathering data from, or scattering data into, the given set of buffers. Vectored I/O can operate synchronously or asynchronously. The main reasons for using vectored I/O are efficiency and convenience. ⚲ API: : {{The Linux Kernel/include|uapi/linux/uio.h}} : {{The Linux Kernel/include|linux/uio.h}} : {{The Linux Kernel/id|iovec}} : {{The Linux Kernel/man|2|readv}} ↪ {{The Linux Kernel/id|do_readv}} : {{The Linux Kernel/man|2|writev}} ↪ {{The Linux Kernel/id|do_writev}} ⚙️ Internals: : {{The Linux Kernel/id|iov_iter}} : {{The Linux Kernel/id|do_readv}} ↯ call hierarchy: :: {{The Linux Kernel/id|vfs_readv}} ::: {{The Linux Kernel/id|import_iovec}} ::: {{The Linux Kernel/id|ext4_file_read_iter}} : {{The Linux Kernel/source|lib/iov_iter.c}} &ndash; I/O vector iterator operations === ... === 📖 References : [https://www.gnu.org/software/libc/manual/html_node/Scatter_002dGather.html Fast Scatter-Gather I/O, The GNU C Library] : https://lwn.net/Kernel/Index/#Vectored_IO : https://lwn.net/Kernel/Index/#Scattergather_chaining 📚 Further reading : https://deepwiki.com/torvalds/linux/4-filesystems == Virtual File System == The {{w|virtual file system}} (VFS) is an abstract layer on top of a concrete logical file system. The purpose of a VFS is to allow client applications to access different types of logical file systems in a uniform way. A VFS can, for example, be used to access local and [[../Networking#Network_storage|network storage]] devices transparently without the client application noticing the difference. It can be used to bridge the differences in Windows, classic Mac OS/macOS and Unix filesystems, so that applications can access files on local file systems of those types without having to know what type of file system they are accessing. A VFS specifies an interface (or a "contract") between the kernel and a logical file system. Therefore, it is easy to add support for new file system types to the kernel simply by fulfilling the contract. 🔧 TODO: {{The Linux Kernel/id|vfsmount}}, {{The Linux Kernel/id|vfs_create}}, {{The Linux Kernel/id|vfs_read}}, {{The Linux Kernel/id|vfs_write}} ⚙️ Internals: : {{The Linux Kernel/source|fs/inode.c}} &ndash; inode allocation and management : {{The Linux Kernel/include|linux/dcache.h}}, {{The Linux Kernel/source|fs/dcache.c}} &ndash; dentry cache, pathname-to-inode lookup : {{The Linux Kernel/source|fs/super.c}} &ndash; superblock operations, filesystem mount/unmount : {{The Linux Kernel/include|linux/file.h}}, {{The Linux Kernel/source|fs/file.c}} &ndash; file table, fd allocation : {{The Linux Kernel/include|linux/mount.h}} &ndash; filesystem mount structures : {{The Linux Kernel/include|linux/fs_context.h}} &ndash; filesystem mount context (replaces old mount API) : {{The Linux Kernel/source|fs/readdir.c}} &ndash; directory listing (getdents) 📚 VFS References : {{The Linux Kernel/doc|VFS|filesystems/#core-vfs-documentation}} : [https://tldp.org/LDP/lki/lki-3.html VFS in Linux Kernel 2.4 Internals] == Logical file systems == A {{w|file system}} (or ''filesystem'') is used to control how data is stored and retrieved. Without a file system, information placed in a storage area would be one large body of data with no way to tell where one piece of information stops and the next begins. By separating the data into individual pieces, and giving each piece a name, the information is easily separated and identified. Each group of data is called a "file". The structure and logic rules used to manage the groups of information and their names is called a "file system". There are many different kinds of file systems. Each one has different structure and logic, properties of speed, flexibility, security, size and more. Some file systems have been designed to be used for specific applications. For example, the ISO 9660 file system is designed specifically for optical discs. File systems can be used on many different kinds of storage devices. Each storage device uses a different kind of media. The most common storage device in use today is a {{w|SSD}}. Other media that was used are hard disk, magnetic tape and optical disc. In some cases, the computer's main memory (RAM) is used to create a temporary file system for short-term use. Raw storage is called a block device. Linux supports many different file systems, but common choices for the system disk on a block device include the ext* family (such as {{w|ext2}}, {{w|ext3}} and {{w|ext4}}), {{w|XFS}}, {{w|ReiserFS}} and {{w|btrfs}}. For raw Flash without a {{w|flash translation layer}} (FTL) or {{w|Memory Technology Device}} (MTD), there is {{w|UBIFS}}, {{w|JFFS2}}, and {{w|YAFFS}}, among others. {{w|SquashFS}} is a common compressed read-only file system. NFS and other network FS are described further in paragraph [[../Networking#Network_storage|Network storage]]. ⚲ Shell interfaces: : cat /proc/filesystems : ls /sys/fs/ : {{The Linux Kernel/man|8|mount}} : {{The Linux Kernel/man|8|umount}} : {{The Linux Kernel/man|8|findmnt}} : {{The Linux Kernel/man|1|mountpoint}} : {{The Linux Kernel/man|1|df}} Infrastructure ⚲ API function {{The Linux Kernel/id|register_filesystem}} registers structs {{The Linux Kernel/id|file_system_type}} and stores them in linked list ⚙️ {{The Linux Kernel/id|file_systems}}. Function {{The Linux Kernel/id|ext4_init_fs}} registers {{The Linux Kernel/id|ext4_fs_type}}. Operation of ''file system opening'' is called mounting: {{The Linux Kernel/id|ext4_get_tree}} ⚙️ Internals: : {{The Linux Kernel/source|fs/namespace.c}} &ndash; mount and namespace operations :: {{The Linux Kernel/man|2|mount}} ::: {{The Linux Kernel/id|do_mount}} : {{The Linux Kernel/include|linux/buffer_head.h}} :: {{The Linux Kernel/id|super_block}} :: {{The Linux Kernel/id|sb_bread}} : {{The Linux Kernel/source|fs}} &ndash; filesystem implementations :: {{The Linux Kernel/source|fs/ext4/ext4.h}} &ndash; ext4 on-disk format and internal structures ::: {{The Linux Kernel/id|ext4_sb_bread}} Other notable filesystems: : {{w|FUSE (filesystem)|FUSE}} &ndash; {{The Linux Kernel/source|fs/fuse}} &ndash; filesystem in userspace : {{w|OverlayFS}} &ndash; {{The Linux Kernel/source|fs/overlayfs}} &ndash; union mount filesystem, used by containers : {{w|Btrfs}} &ndash; {{The Linux Kernel/source|fs/btrfs}} : {{w|XFS}} &ndash; {{The Linux Kernel/source|fs/xfs}} 📚 References: : {{The Linux Kernel/doc|filesystems|filesystems/#filesystems}} == Page cache == A page cache or disk cache is a transparent cache for the memory pages originating from a secondary storage device such as a hard disk drive. The operating system keeps a page cache in otherwise unused portions of the main memory, resulting in quicker access to the contents of cached pages and overall performance improvements. The page cache is implemented by the kernel, and is mostly transparent to applications. Usually, all physical memory not directly allocated to applications is used by the operating system for the page cache. Since the memory would otherwise be idle and is easily reclaimed when applications request it, there is generally no associated performance penalty and the operating system might even report such memory as "free" or "available". The page cache also aids in writing to a disk. Pages in the main memory that have been modified during writing data to disk are marked as "dirty" and have to be flushed to disk before they can be freed. When a file write occurs, the page backing the particular block is looked up. If it is already found in the page cache, the write is done to that page in the main memory. Otherwise, when the write perfectly falls on page size boundaries, the page is not even read from disk, but allocated and immediately marked dirty. Otherwise, the page(s) are fetched from disk and requested modifications are done. Not all cached pages can be written to as program code is often mapped as read-only or copy-on-write; in the latter case, modifications to code will only be visible to the process itself and will not be written to disk. ⚲ API: : {{The Linux Kernel/man|2|fsync}} ↪ {{The Linux Kernel/id|do_fsync}} : {{The Linux Kernel/man|2|sync_file_range}} ↪ {{The Linux Kernel/id|ksys_sync_file_range}} : {{The Linux Kernel/man|2|syncfs}} ↪ {{The Linux Kernel/id|sync_filesystem}} : {{The Linux Kernel/man|2|sync}} ↪ {{The Linux Kernel/id|ksys_sync}} &ndash; flush all filesystem caches to disk ⚙️ Internals: : {{The Linux Kernel/include|linux/pagemap.h}}, {{The Linux Kernel/source|mm/filemap.c}} &ndash; page cache core, read/write/mmap paths : {{The Linux Kernel/include|linux/buffer_head.h}}, {{The Linux Kernel/source|fs/buffer.c}} &ndash; buffer heads, block-level page cache interface : {{The Linux Kernel/include|linux/writeback.h}}, {{The Linux Kernel/source|mm/page-writeback.c}} &ndash; dirty page writeback throttling : {{The Linux Kernel/id|address_space}} &ndash; per-inode page cache, defined in {{The Linux Kernel/include|linux/fs.h}} : {{The Linux Kernel/include|linux/backing-dev.h}} &ndash; backing device info, writeback bandwidth : {{The Linux Kernel/id|wb_workfn}}, {{The Linux Kernel/id|do_writepages}} 📚 References : {{w|Page cache}} More : [https://lwn.net/Articles/717953/ The future of DAX ] - direct access bypassing the cache : [https://tldp.org/LDP/lki/lki-4.html Linux Page Cache in Linux Kernel 2.4 Internals] == Zero-copy == 🚀 advanced features Writing data to storage and reading are very resource consuming operations. Copying memory is time and CPU consuming operation too. Set of methods to avoid copying operations is called {{w|zero-copy}}. The goal of zero-copy methods is a fast and efficient data transfer within the system. The first and simplest method is {{w|Pipeline (Unix)|Pipeline}}, invoked by operator "|" in shells. Instead of writing data into temporary file and reading, the data is passed efficiently via a pipe bypassing a storage. The second method is {{w|Tee_(command)|tee}}. ⚲ Syscalls: : {{The Linux Kernel/man|2|pipe2}} : {{The Linux Kernel/man|2|tee}}, {{The Linux Kernel/man|1|tee}} : {{The Linux Kernel/man|2|sendfile}} : {{The Linux Kernel/man|2|copy_file_range}} : {{The Linux Kernel/man|2|splice}} : {{The Linux Kernel/man|2|vmsplice}} ⚲ API and ⚙️ Internals: : '''{{The Linux Kernel/man|2|pipe2}}''' ↪ {{The Linux Kernel/id|do_pipe2}} - creates pipe :: uses {{The Linux Kernel/id|pipe_fs_type}}, {{The Linux Kernel/id|pipefifo_fops}} : '''{{The Linux Kernel/man|2|tee}}''' ↪ {{The Linux Kernel/id|do_tee}} - duplicates pipe content :: calls {{The Linux Kernel/id|link_pipe}} : '''{{The Linux Kernel/man|2|sendfile}}''' ↪ {{The Linux Kernel/id|do_sendfile}} - transfers data between file descriptors, the output can be a socket. Used in [[../Networking#Network_storage|network storage]] and servers. :: Calls: {{The Linux Kernel/id|do_splice_direct}}, {{The Linux Kernel/id|splice_direct_to_actor}} : '''{{The Linux Kernel/man|2|copy_file_range}}''' ↪ {{The Linux Kernel/id|vfs_copy_file_range}} - transfers data between files :: calls custom {{The Linux Kernel/id|remap_file_range}} like {{The Linux Kernel/id|nfs42_remap_file_range}} :: or custom {{The Linux Kernel/id|copy_file_range}} like {{The Linux Kernel/id|fuse_copy_file_range}} :: or {{The Linux Kernel/id|do_splice_direct}} : '''{{The Linux Kernel/man|2|splice}}''' ↪ {{The Linux Kernel/id|do_splice}} - splices data to/from a pipe. :: There are three cases regarding which end being a pipe: :# {{The Linux Kernel/id|do_splice_from}} - pipe → file :#: Calls custom {{The Linux Kernel/id|splice_write}} or {{The Linux Kernel/id|iter_file_splice_write}} :# {{The Linux Kernel/id|do_splice_read}} - file → pipe :#: Calls custom {{The Linux Kernel/id|splice_read}} or {{The Linux Kernel/id|copy_splice_read}} :# {{The Linux Kernel/id|splice_pipe_to_pipe}} - both are pipes : '''{{The Linux Kernel/man|2|vmsplice}}''' ↪ :: {{The Linux Kernel/id|vmsplice_to_pipe}} &ndash; splices user pages to a pipe :: {{The Linux Kernel/id|vmsplice_to_user}} &ndash; splices a pipe to user pages ⚲ API : {{The Linux Kernel/include|linux/splice.h}} ⚙️ Internals: : {{The Linux Kernel/source|fs/pipe.c}} &ndash; pipe and FIFO implementation : {{The Linux Kernel/source|fs/splice.c}} &ndash; splice data transfer between file descriptors 🔨 [https://manpages.ubuntu.com/manpages/resolute/man1/stress-ng.1.html#:~:text=%2D%2Dsplice stress-ng --splice], [https://manpages.ubuntu.com/manpages/resolute/man1/stress-ng.1.html#:~:text=%2D%2Dsendfile --sendfile] 🔧 TODO: {{The Linux Kernel/id|zerocopy_sg_from_iter}} builds a zerocopy skb datagram from an iov_iter. Used in {{The Linux Kernel/id|tap_get_user}} and {{The Linux Kernel/id|tun_get_user}}. {{The Linux Kernel/id|skb_zerocopy}} {{The Linux Kernel/id|skb_zerocopy_iter_dgram}} 📚 References : {{The Linux Kernel/man|7|pipe}} : {{The Linux Kernel/man|7|fifo}} : {{The Linux Kernel/doc|splice and pipes|filesystems/splice.html}} :: {{The Linux Kernel/doc|Pipes API|filesystems/splice.html#pipes-api}} : {{w|splice (system call)}} : LTP: {{The Linux Kernel/ltp|kernel/syscalls|pipe}}, {{The Linux Kernel/ltp|kernel/syscalls|pipe2}}, {{The Linux Kernel/ltp|kernel/syscalls|tee}}, {{The Linux Kernel/ltp|kernel/syscalls|sendfile}}, {{The Linux Kernel/ltp|kernel/syscalls|copy_file_range}}, {{The Linux Kernel/ltp|kernel/syscalls|splice}}, {{The Linux Kernel/ltp|kernel/syscalls|vmsplice}} == Block device layer == The block device layer in Linux provides an abstraction for accessing storage devices, such as SSDs and USB drives, by presenting them as a series of fixed-size blocks. It sits between the hardware and the file system, allowing applications and file systems to perform read and write operations efficiently without needing to know the specifics of the underlying hardware. Key components include block drivers, the I/O scheduler, and buffer management, which work together to handle requests, optimize access patterns, and ensure data integrity. This layer supports essential features like caching, partition management, and queueing mechanisms to balance performance and reliability. ⚲ Shell interfaces: : {{The Linux Kernel/man|8|blkid}} &ndash; locate/print block device attributes (UUID, TYPE, LABEL) : {{The Linux Kernel/man|8|lsblk}} &ndash; list block devices in a tree with size, type, mountpoint : {{The Linux Kernel/man|8|blockdev}} --report &ndash; read-ahead, sector size, read-only state per device : /proc/partitions &ndash; major, minor, blocks, name of each block device : /proc/diskstats &ndash; I/O statistics per disk and partition : /sys/block/$dev/queue/scheduler &ndash; active and available I/O schedulers : [https://github.com/sosreport/sos/blob/main/sos/report/plugins/block.py sos block plugin] &ndash; diagnostics collection for block devices ⚲ Interfaces: : {{The Linux Kernel/include|linux/blk_types.h}} :: {{The Linux Kernel/id|bio}} &ndash; main unit of I/O for the block layer and lower layers :: {{The Linux Kernel/id|req_op}} &ndash; operations common to the bio and request structures : {{The Linux Kernel/include|linux/bio.h}} : {{The Linux Kernel/id|block_device}} :: {{The Linux Kernel/id|block_size}} : {{The Linux Kernel/id|blk_alloc_disk}} allocates {{The Linux Kernel/id|gendisk}} : {{The Linux Kernel/id|add_disk}} :: {{The Linux Kernel/id|device_add_disk}} : {{The Linux Kernel/id|block_device_operations}} : {{The Linux Kernel/include|linux/blkdev.h}} :: {{The Linux Kernel/id|gendisk}} ::: {{The Linux Kernel/id|dev_to_disk}}, {{The Linux Kernel/id|disk_to_dev}} :: {{The Linux Kernel/id|block_class}} &ndash; block devices Driver Model class :: {{The Linux Kernel/id|register_blkdev}} :: {{The Linux Kernel/id|request}} :: {{The Linux Kernel/id|request_queue}} ⚙️ Internals. : {{The Linux Kernel/source|block}} &ndash; block layer core : {{The Linux Kernel/source|fs/iomap}} &ndash; modern filesystem I/O mapping layer (used by xfs, ext4, btrfs) : {{The Linux Kernel/id|block_class}} 👁 Examples: : {{The Linux Kernel/source|drivers/block/brd.c}} - small RAM backed block device driver : {{The Linux Kernel/source|drivers/block/null_blk}} &ndash; null block test device 🔨 [https://manpages.ubuntu.com/manpages/resolute/man1/stress-ng.1.html#:~:text=%2D%2Dhdd stress-ng --hdd], [https://manpages.ubuntu.com/manpages/resolute/man1/stress-ng.1.html#:~:text=%2D%2Diomix --iomix], [https://manpages.ubuntu.com/manpages/resolute/man1/stress-ng.1.html#:~:text=%2D%2Dseek --seek] === Device mapper === The ''device mapper'' is a framework provided by the kernel for mapping physical block devices onto higher-level "virtual block devices". It forms the foundation of LVM2, software RAIDs and dm-crypt disk encryption, and offers additional features such as file system snapshots. Device mapper works by passing data from a virtual block device, which is provided by the device mapper itself, to another block device. Data can be also modified in transition, which is performed, for example, in the case of device mapper providing disk encryption. User space applications that need to create new mapped devices talk to the device mapper via the <code>libdevmapper.so</code> shared library, which in turn issues ioctls to the <code>/dev/mapper/control</code> device node. Functions provided by the device mapper include linear, striped and error ''mappings,'' as well as crypt and multipath ''targets.'' For example, two disks may be concatenated into one logical volume with a pair of ''linear'' mappings, one for each disk. As another example, ''crypt'' target encrypts the data passing through the specified device, by using the Linux kernel's Crypto API. The following mapping targets are available: : ''cache'' - allows the creation of hybrid volumes, by using solid-state drives (SSDs) as caches for hard disk drives (HDDs) : ''crypt'' - provides data encryption, by using the Linux kernel's Crypto API : ''delay'' - delays reads and/or writes to different devices (used for testing) : ''era'' - behaves in a way similar to the linear target, while it keeps track of blocks that were written to within a user-defined period of time : ''error'' - simulates I/O errors for all mapped blocks (used for testing) : ''flakey'' - simulates periodic unreliable behaviour (used for testing) : ''linear'' - maps a continuous range of blocks onto another block device : ''mirror'' - maps a mirrored logical device, while providing data redundancy : ''multipath'' - supports the mapping of multipathed devices, through usage of their path groups : ''raid'' - offers an interface to the Linux kernel's software RAID driver (md) : ''snapshot'' and ''snapshot-origin'' - used for creation of LVM snapshots, as part of the underlining copy-on-write scheme : ''striped'' - strips the data across physical devices, with the number of stripes and the striping chunk size as parameters : ''zero'' - an equivalent of <code>/dev/zero</code>, all reads return blocks of zeros, and writes are discarded 📚 References : {{w|Device mapper}} : {{The Linux Kernel/doc|Device mapper|admin-guide/device-mapper}} : {{The Linux Kernel/include|linux/device-mapper.h}} : {{The Linux Kernel/source|drivers/md}} &ndash; device mapper and software RAID : https://lwn.net/Kernel/Index/#Device_mapper === Multi-Queue Block IO Queueing === The blk-mq API enhances IO performance by leveraging multiple queues for parallel processing, addressing bottlenecks from traditional single-queue designs. It uses software queues for scheduling, merging, and reordering requests, and hardware queues to interface directly with devices. If hardware resources are limited, requests are temporarily queued for later dispatch. ⚲ Interfaces: : /sys/devices/.../mq/ : {{The Linux Kernel/include|linux/blk-mq.h}} :: Structures: ::: {{The Linux Kernel/id|blk_mq_hw_ctx}} &ndash; hardware dispatch queue context ::: {{The Linux Kernel/id|blk_mq_tag_set}} &ndash; shared between request queues :::: {{The Linux Kernel/id|blk_mq_ops}} :::: {{The Linux Kernel/id|blk_mq_tags}} :::: {{The Linux Kernel/id|blk_mq_queue_map}} &ndash; map software queues to hardware queues ::: {{The Linux Kernel/id|request}} 👁️ Example : {{The Linux Kernel/source|drivers/block/null_blk}} &ndash; multi-queue aware block test driver ⚙️ Internals : /sys/kernel/debug/block/*/hctx* : {{The Linux Kernel/source|block/blk-mq.h}} &ndash; blk-mq internal definitions :: {{The Linux Kernel/id|blk_mq_ctx}} &ndash; software staging queue context : {{The Linux Kernel/source|block/blk-mq.c}} &ndash; block multi-queue core code : {{The Linux Kernel/source|block/blk-mq-tag.c}} &ndash; tag allocation using scalable bitmaps : ... 📖 References : {{The Linux Kernel/doc|Multi-Queue Block IO Queueing Mechanism (blk-mq)|block/blk-mq.html}} === I/O scheduler === I/O scheduling (or disk scheduling) is the method chosen by the kernel to decide in which order the block I/O operations will be submitted to the storage volumes. I/O scheduling usually has to work with hard disk drives that have long access times for requests placed far away from the current position of the disk head (this operation is called a seek). To minimize the effect this has on system performance, most I/O schedulers implement a variant of the elevator algorithm that reorders the incoming randomly ordered requests so the associated data would be accessed with minimal arm/head movement. The particular I/O scheduler used with certain block device can be switched at run time by modifying the corresponding <code>/sys/block/<block_device>/queue/scheduler</code> file in the sysfs filesystem. Some I/O schedulers also have tunable parameters that can be set through files in <code>/sys/block/<block_device>/queue/iosched/</code>. ⚲ Interfaces: : {{The Linux Kernel/man|1|ionice}} &ndash; set or get process I/O scheduling class and priority :: {{The Linux Kernel/man|2|ioprio_get}}, ioprio_set : {{The Linux Kernel/include|linux/elevator.h}} : Function {{The Linux Kernel/id|elv_register}} registers struct {{The Linux Kernel/id|elevator_type}}. : {{The Linux Kernel/id|elevator_queue}} ⚙️ Internals: : {{The Linux Kernel/source|block/ioprio.c}} &ndash; I/O priority system call : {{The Linux Kernel/source|block/elevator.c}} &ndash; I/O scheduler framework : {{The Linux Kernel/source|block/Kconfig.iosched}} &ndash; I/O scheduler Kconfig options : {{The Linux Kernel/source|block/bfq-iosched.c}} &ndash; Budget Fair Queueing scheduler : {{The Linux Kernel/source|block/kyber-iosched.c}} &ndash; Kyber multiqueue scheduler : {{The Linux Kernel/source|block/mq-deadline.c}} &ndash; deadline multiqueue scheduler : {{The Linux Kernel/include|trace/events/block.h}} 📖 References: : {{w|I/O scheduling}} : {{w|Elevator algorithm}} : {{The Linux Kernel/doc|Switching Scheduler|block/switching-sched.html}} : {{The Linux Kernel/doc|BFQ - Budget Fair Queueing|block/bfq-iosched.html}} : {{The Linux Kernel/doc|Deadline IO scheduler tunables|deadline-iosched.html}} : https://www.cloudbees.com/blog/linux-io-scheduler-tuning/ : https://wiki.ubuntu.com/Kernel/Reference/IOSchedulers === ... === 📖 References : {{The Linux Kernel/doc|Block devices|block}} :: {{The Linux Kernel/doc|Switching Scheduler|block/switching-sched.html}} ::: {{The Linux Kernel/doc|BFQ - Budget Fair Queueing|block/bfq-iosched.html}} ::: {{The Linux Kernel/doc|Deadline IO scheduler tunables|block/deadline-iosched.html}} ::: {{The Linux Kernel/doc|Kyber I/O scheduler tunables|block/kyber-iosched.html}} :: {{The Linux Kernel/doc|Multi-Queue Block IO Queueing Mechanism (blk-mq)|block/blk-mq.html}} 📚 Further reading : /sys/kernel/debug/block/*/ : https://lwn.net/Kernel/Index/#Block_layer : [https://lore.kernel.org/linux-block/ block devices ML] : [https://sysprog21.github.io/lkmpg/#block-drivers LKMPG: Block Drivers] : [http://lwn.net/images/pdf/LDD3/ch16.pdf LDD3:Block Drivers] : [http://www.xml.com/ldd/chapter/book/ch12.html LDD1:Loading Block Drivers] : [https://www.oreilly.com/library/view/understanding-the-linux/0596005652/ch14.html ULK3 Chapter 14. Block Device Drivers] : [https://sg.danny.cz/sg/The Linux SCSI Generic (sg) Driver] :: [https://sg.danny.cz/sg/scsi_debug.html Scsi_debug adapter driver for Linux] :: https://github.com/doug-gilbert/sg3_utils == {{w|Computer data storage|Storage}} drivers == 🔧 TODO ⚙️ Internals : {{The Linux Kernel/source|drivers/nvmem}} &ndash; {{w|Non-volatile memory}} : {{The Linux Kernel/source|drivers/sdio}} &ndash; {{w|Secure Digital#SDIO cards|Secure Digital Input Output}} : {{The Linux Kernel/source|drivers/scsi}} &ndash; {{w|SCSI|Small Computer System Interface}}, {{The Linux Kernel/doc|SCSI|scsi}} : {{The Linux Kernel/source|drivers/virtio}} &ndash; virtio guest drivers : {{The Linux Kernel/source|drivers/mtd}} &ndash; {{w|Memory Technology Device}} for 🤖 embedded devices === NVMe === {{w|NVM Express}} drivers provide accesses a computer's {{w|non-volatile storage}}. Local storage is attached via {{w|PCIe|PCI Express}} bus. PCI NVMe device driver entry point is {{The Linux Kernel/id|nvme_init}}. Remote storage driver is called target and local {{w|Proxy_pattern|proxy}} driver is called host. {{w|Switched fabric|Fabrics}} connect remote targets with local host. A fabric can be based on {{w|Remote direct memory access|RDMA}}, {{w|Transmission Control Protocol|TCP}} or {{w|Fibre Channel}} protocols. 📖 References: : {{The Linux Kernel/doc|NVMe|nvme}} ⚲ API: : [https://github.com/linux-nvme/nvme-cli nvme-cli] : {{The Linux Kernel/include|uapi/linux/nvme_ioctl.h}} : {{The Linux Kernel/include|linux/nvme.h}} ⚙️ '''Internals:''' : {{The Linux Kernel/source|drivers/nvme}} &ndash; NVMe drivers '''Host''' {{The Linux Kernel/source|drivers/nvme/host}}: ⚲ Interfaces: : {{The Linux Kernel/source|drivers/nvme/host/nvme.h}} &ndash; NVMe host common definitions :: {{The Linux Kernel/id|nvme_init_ctrl}} initializes a NVMe controller structures {{The Linux Kernel/id|nvme_ctrl}} with operations {{The Linux Kernel/id|nvme_ctrl_ops}} ::: a subroutine of {{The Linux Kernel/id|nvme_scan_work}} adds a new disk with {{The Linux Kernel/id|device_add_disk}} : {{The Linux Kernel/id|nvme_init}} - local PCI nvme module init :: {{The Linux Kernel/id|nvme_probe}} ::: {{The Linux Kernel/id|nvme_init_ctrl}} ... ::: {{The Linux Kernel/id|nvme_pci_ctrl_ops}} : {{The Linux Kernel/id|nvme_core_init}} - module init '''Fabrics''' ⚲ interfaces: : {{The Linux Kernel/source|drivers/nvme/host/fabrics.h}} &ndash; NVMe over Fabrics host common definitions :: {{The Linux Kernel/id|nvmf_register_transport}} registers {{The Linux Kernel/id|nvmf_transport_ops}} : {{The Linux Kernel/id|nvmf_init}} - fabrics module init ⚙️ internals: : {{The Linux Kernel/id|nvmf_init}} - fabrics module init :: {{The Linux Kernel/id|nvmf_misc}} ::: {{The Linux Kernel/id|nvmf_dev_fops}} :::: {{The Linux Kernel/id|nvmf_dev_write}} ::::: {{The Linux Kernel/id|nvmf_create_ctrl}} binds {{The Linux Kernel/id|nvmf_transport_ops}} '''Target''' {{The Linux Kernel/source|drivers/nvme/target}}: ⚲ Interfaces: {{The Linux Kernel/source|drivers/nvme/target/nvmet.h}} : {{The Linux Kernel/id|nvmet_register_transport}} registers {{The Linux Kernel/id|nvmet_fabrics_ops}} : {{The Linux Kernel/id|nvmet_init}} - module init : {{The Linux Kernel/id|fcloop_init}} - loopback test module init which can be useful to test NVMe-FC transport interfaces. {| class="wikitable" |- ! ! colspan="3" |NVMe over {{w|Switched fabric|Fabrics}} |- !<div style='text-align:left'>Layers</div> !{{w|Transmission Control Protocol|TCP}} ![[../Networking#RDMA|RDMA]] !{{w|Fibre Channel}} |- !<div style='text-align:left'>Host modules</div> |{{The Linux Kernel/id|nvme_tcp_init_module}} |{{The Linux Kernel/id|nvme_rdma_init_module}} |{{The Linux Kernel/id|nvme_fc_init_module}} |- !<div style='text-align:left'>Fabrics protocols</div> |{{The Linux Kernel/include|linux/nvme-tcp.h}} |{{The Linux Kernel/include|linux/nvme-rdma.h}} |{{The Linux Kernel/include|linux/nvme-fc.h}} {{The Linux Kernel/include|linux/nvme-fc-driver.h}} |- !<div style='text-align:left'>Target modules</div> |{{The Linux Kernel/id|nvmet_tcp_init}} |{{The Linux Kernel/id|nvmet_rdma_init}} |{{The Linux Kernel/id|nvmet_fc_init_module}} |} 👁 Example: {{The Linux Kernel/id|nvme_loop_init_module}} nvme loopback : {{The Linux Kernel/id|nvme_loop_transport}} - fabrics operations :: {{The Linux Kernel/id|nvme_loop_create_ctrl}} ::: {{The Linux Kernel/id|nvme_loop_create_io_queues}} : {{The Linux Kernel/id|nvme_loop_ops}} - target operation :: {{The Linux Kernel/id|nvme_loop_add_port}} :: {{The Linux Kernel/id|nvme_loop_queue_response}} == ... == 🚀 Advanced : {{The Linux Kernel/man|1|pidstat}} &ndash; reports task statistics : /proc/self/io &ndash; I/O statistics for the process (see {{The Linux Kernel/man|5|proc}}) 💾 Historical storage drivers : {{The Linux Kernel/source|drivers/ata}} - {{w|Parallel ATA}} 📖 Further reading about storage : [https://github.com/iovisor/bcc/blob/master/README.md#storage-and-filesystems-tools bcc/ebpf storage and filesystems tools] {{BookCat}} i5osaru6ud5vmj7dwgygted8hz30cqm 4654522 4654521 2026-07-15T07:54:21Z Conan 3188 driver Shell interfaces 4654522 wikitext text/x-wiki {{DISPLAYTITLE:Storage functionality}} {|style="width: 25%; float: right; text-align:center;border-spacing: 0; color:black; margin:auto;" cellpadding=5pc ! bgcolor=#cef | storage |-style="" | bgcolor=#aef | [[#Files_and_directories|files & directories access]] |-style="" | bgcolor=#8df | [[#Virtual File System|Virtual File System]] |-style="" | bgcolor=#8ce |[[#Page_cache|page cache]] |-style="" | bgcolor=#7ac |[[#Logical file systems|logical file systems]] |-style="" | bgcolor=#69a |[[#Block_device_layer|block devices]] |-style="" | bgcolor=#689 |[[#Storage_drivers|storage drivers]] |} Storage functionality provides access to various storage devices via files and directories of files. Most of the storage is persistent as flash memory, SSD and legacy hard disks. Another kind of storage is temporary. The ''file system'' provides an abstraction to organize the information into separate pieces of data (called ''files'') identified by a unique name. Each file system type defines their own structures and logic rules used to manage these groups of information and their names. Linux supports a plethora of different file system types, local and remote, native and from other operating systems. To accommodate such disparity the kernel defines a common top layer, the ''virtual file system'' (VFS) layer. [[File:The Linux Storage Stack Diagram.svg|Summary of the Linux kernel's storage stack|right|800x800px]] == Files and directories == Four basic files access system calls: : {{The Linux Kernel/man|2|open}} ↪ {{The Linux Kernel/id|do_sys_open}} - opens a file by name and returns a {{w|file descriptor}} (<big>fd</big>). Below functions operates on a fd. : {{The Linux Kernel/man|2|close}} ↪ {{The Linux Kernel/id|close_fd}} : {{The Linux Kernel/man|2|read}} ↪ {{The Linux Kernel/id|ksys_read}} : {{The Linux Kernel/man|2|write}} ↪ {{The Linux Kernel/id|ksys_write}} File in Linux and UNIX is not only physical file on persistent storage. File interface is used to access pipes, sockets and other pseudo-files. Other file operations: : {{The Linux Kernel/man|2|lseek}} &ndash; reposition read/write file offset : {{The Linux Kernel/man|2|dup}} &ndash; duplicate a file descriptor : {{The Linux Kernel/man|2|fcntl}} &ndash; manipulate file descriptor : {{The Linux Kernel/man|2|truncate}}, {{The Linux Kernel/man|2|ftruncate}} &ndash; truncate a file : {{The Linux Kernel/man|2|fallocate}} &ndash; preallocate file space : {{The Linux Kernel/man|2|readahead}} ↪ {{The Linux Kernel/source|mm/readahead.c}} &ndash; prefetch file data into page cache 🔨 [https://manpages.ubuntu.com/manpages/resolute/man1/stress-ng.1.html#:~:text=%2D%2Dopen stress-ng --open], [https://manpages.ubuntu.com/manpages/resolute/man1/stress-ng.1.html#:~:text=%2D%2Dclose --close], [https://manpages.ubuntu.com/manpages/resolute/man1/stress-ng.1.html#:~:text=%2D%2Dfallocate --fallocate] Directory operations: : {{The Linux Kernel/man|2|mkdir}}, {{The Linux Kernel/man|2|rmdir}} &ndash; create/remove directory : {{The Linux Kernel/man|2|getcwd}} ↪ {{The Linux Kernel/id|sys_getcwd}} &ndash; get current working directory : {{The Linux Kernel/man|2|chdir}} ↪ {{The Linux Kernel/id|sys_chdir}} &ndash; change working directory : {{The Linux Kernel/man|3|readdir}} ⇾ {{The Linux Kernel/man|2|getdents}} : {{The Linux Kernel/man|7|path_resolution}} 🔨 [https://manpages.ubuntu.com/manpages/resolute/man1/stress-ng.1.html#:~:text=%2D%2Ddentry stress-ng --dentry], [https://manpages.ubuntu.com/manpages/resolute/man1/stress-ng.1.html#:~:text=%2D%2Ddir --dir] Name operations: : {{The Linux Kernel/man|2|rename}} &ndash; rename a file or directory : {{The Linux Kernel/man|2|unlink}} &ndash; delete a name from the filesystem : {{The Linux Kernel/man|2|readlink}}, {{The Linux Kernel/man|2|symlink}}, {{The Linux Kernel/man|2|link}} ⚙️ Files and directories internals : {{The Linux Kernel/include|linux/fs.h}} : {{The Linux Kernel/source|fs/open.c}} &ndash; open, close and related file operations : {{The Linux Kernel/include|linux/namei.h}}, {{The Linux Kernel/source|fs/namei.c}} &ndash; pathname lookup and resolution : {{The Linux Kernel/source|fs/read_write.c}} &ndash; read, write and lseek operations : {{The Linux Kernel/include|linux/xattr.h}}, {{The Linux Kernel/source|fs/xattr.c}} &ndash; extended attributes : {{The Linux Kernel/source|fs/notify}} &ndash; filesystem event notification :: {{The Linux Kernel/man|2|inotify_init}}, {{The Linux Kernel/man|2|inotify_add_watch}}, {{The Linux Kernel/man|2|inotify_rm_watch}} &ndash; {{The Linux Kernel/man|7|inotify}} :: {{The Linux Kernel/man|2|fanotify_init}}, {{The Linux Kernel/man|2|fanotify_mark}} &ndash; {{The Linux Kernel/man|7|fanotify}} 🔨 [https://manpages.ubuntu.com/manpages/resolute/man1/stress-ng.1.html#:~:text=%2D%2Dinotify stress-ng --inotify] 📚 Files and directories references : [https://www.gnu.org/software/libc/manual/html_node/I_002fO-Overview.html Input/Output, The GNU C Library] : [https://tldp.org/LDP/lki/lki-3.html VFS in Linux Kernel 2.4 Internals] : {{w|Unix file types}} === File locks === File locks are mechanisms that allow processes to coordinate access to shared files. These locks help prevent conflicts when multiple processes or threads attempt to access the same file simultaneously. ⚲ API : {{The Linux Kernel/man|8|lslocks}} &ndash; list local system locks : {{The Linux Kernel/man|3|lockf}} &ndash; apply, test or remove a POSIX lock on an open file : {{The Linux Kernel/man|2|flock}} &ndash; apply or remove an advisory BSD lock on an open file : {{The Linux Kernel/man|2|fcntl}} &ndash; manipulate file descriptor :: {{The Linux Kernel/id|F_SETLK}} &ndash; advisory record lock :: {{The Linux Kernel/id|F_OFD_SETLK}} &ndash; Open File Description Lock :: {{The Linux Kernel/id|flock}} &ndash; lock parameters : ⚠️ Avoid mixing flock and fcntl locks on the same file as they don’t interact with each other. ⚙️ Internals : {{The Linux Kernel/include|linux/filelock.h}} : {{The Linux Kernel/source|fs/locks.c}} &ndash; POSIX and flock file locking : {{The Linux Kernel/include|trace/events/filelock.h}} 🔨 [https://manpages.ubuntu.com/manpages/resolute/man1/stress-ng.1.html#:~:text=%2D%2Dflock stress-ng --flock] 💾 ''Historical: [https://elixir.bootlin.com/linux/v5.14/K/ident/CONFIG_MANDATORY_FILE_LOCKING Mandatory locking] feature is no longer supported at all in Linux 5.15 and above because the implementation is unreliable.'' === Asynchronous I/O === 🚀 advanced features '''AIO''' : https://lwn.net/Kernel/Index/#Asynchronous_IO : {{The Linux Kernel/man|2|io_submit}} {{The Linux Kernel/man|2|io_setup}} {{The Linux Kernel/man|2|io_cancel}} {{The Linux Kernel/man|2|io_destroy}} {{The Linux Kernel/man|2|io_getevents}} : {{The Linux Kernel/include|uapi/linux/aio_abi.h}} : {{The Linux Kernel/source|fs/aio.c}} &ndash; async I/O implementation : {{The Linux Kernel/ltp|kernel|io/aio}} 🔨 [https://manpages.ubuntu.com/manpages/resolute/man1/stress-ng.1.html#:~:text=%2D%2Daio stress-ng --aio] '''{{w|io_uring}}''' 🌱 ''New since release 5.1 in May 2019'' : https://blogs.oracle.com/linux/an-introduction-to-the-io_uring-asynchronous-io-framework : https://thenewstack.io/how-io_uring-and-ebpf-will-revolutionize-programming-in-linux/ : {{The Linux Kernel/id|io_uring_enter}} {{The Linux Kernel/id|io_uring_setup}} {{The Linux Kernel/id|io_uring_register}} : {{The Linux Kernel/include|linux/io_uring.h}} : {{The Linux Kernel/include|uapi/linux/io_uring.h}} : {{The Linux Kernel/source|io_uring}} : https://lwn.net/Kernel/Index/#io_uring :: [https://lwn.net/Articles/779472/ io_uring, SCM_RIGHTS, and reference-count cycles] :: [https://lwn.net/Articles/810414/ The rapid growth of io_uring] :: [https://lwn.net/Articles/815491/ Automatic buffer selection for io_uring] :: [https://lwn.net/Articles/826053/ Operations restrictions for io_uring] :: [https://lwn.net/Articles/779472/ io_uring, SCM_RIGHTS, and reference-count cycles] :: [https://lwn.net/Articles/803070/ Redesigned workqueues for io_uring] : {{The Linux Kernel/ltp|kernel/syscalls|io_uring}} 🔨 [https://manpages.ubuntu.com/manpages/resolute/man1/stress-ng.1.html#:~:text=%2D%2Dio%2During stress-ng --io-uring] === {{w|Asynchronous_I/O#Forms|Non-blocking I/O}} === Allow non-blocking access to multiple file descriptors. '''Efficient event polling {{w|epoll}}''' ⚲ API: : {{The Linux Kernel/include|uapi/linux/eventpoll.h}} : {{The Linux Kernel/man|7|epoll}} : {{The Linux Kernel/man|2|epoll_create}} ↪ {{The Linux Kernel/id|do_epoll_create}} : {{The Linux Kernel/man|2|epoll_ctl}} ↪ {{The Linux Kernel/id|do_epoll_ctl}} : {{The Linux Kernel/man|2|epoll_wait}} ↪ {{The Linux Kernel/id|do_epoll_wait}} ⚙️ Internals: : {{The Linux Kernel/source|fs/eventpoll.c}} &ndash; efficient event polling (epoll) '''{{w|Select (Unix)|select}} and {{w|poll (Unix)|poll}}''' 💾 ''Historical: Select and poll system calls are derived from UNIX'' ⚲ API: : {{The Linux Kernel/man|2|poll}} ↪ {{The Linux Kernel/id|do_sys_poll}} : {{The Linux Kernel/man|2|select}} ↪ {{The Linux Kernel/id|kern_select}} ⚙️ Internals: : {{The Linux Kernel/source|fs/select.c}} &ndash; select and poll implementation === Vectored I/O === 🚀 advanced feature {{w|Vectored I/O}}, also known as scatter/gather I/O, is a method of input and output by which a single procedure call sequentially reads data from multiple buffers and writes it to a single data stream, or reads data from a data stream and writes it to multiple buffers, as defined in a vector of buffers. Scatter/gather refers to the process of gathering data from, or scattering data into, the given set of buffers. Vectored I/O can operate synchronously or asynchronously. The main reasons for using vectored I/O are efficiency and convenience. ⚲ API: : {{The Linux Kernel/include|uapi/linux/uio.h}} : {{The Linux Kernel/include|linux/uio.h}} : {{The Linux Kernel/id|iovec}} : {{The Linux Kernel/man|2|readv}} ↪ {{The Linux Kernel/id|do_readv}} : {{The Linux Kernel/man|2|writev}} ↪ {{The Linux Kernel/id|do_writev}} ⚙️ Internals: : {{The Linux Kernel/id|iov_iter}} : {{The Linux Kernel/id|do_readv}} ↯ call hierarchy: :: {{The Linux Kernel/id|vfs_readv}} ::: {{The Linux Kernel/id|import_iovec}} ::: {{The Linux Kernel/id|ext4_file_read_iter}} : {{The Linux Kernel/source|lib/iov_iter.c}} &ndash; I/O vector iterator operations === ... === 📖 References : [https://www.gnu.org/software/libc/manual/html_node/Scatter_002dGather.html Fast Scatter-Gather I/O, The GNU C Library] : https://lwn.net/Kernel/Index/#Vectored_IO : https://lwn.net/Kernel/Index/#Scattergather_chaining 📚 Further reading : https://deepwiki.com/torvalds/linux/4-filesystems == Virtual File System == The {{w|virtual file system}} (VFS) is an abstract layer on top of a concrete logical file system. The purpose of a VFS is to allow client applications to access different types of logical file systems in a uniform way. A VFS can, for example, be used to access local and [[../Networking#Network_storage|network storage]] devices transparently without the client application noticing the difference. It can be used to bridge the differences in Windows, classic Mac OS/macOS and Unix filesystems, so that applications can access files on local file systems of those types without having to know what type of file system they are accessing. A VFS specifies an interface (or a "contract") between the kernel and a logical file system. Therefore, it is easy to add support for new file system types to the kernel simply by fulfilling the contract. 🔧 TODO: {{The Linux Kernel/id|vfsmount}}, {{The Linux Kernel/id|vfs_create}}, {{The Linux Kernel/id|vfs_read}}, {{The Linux Kernel/id|vfs_write}} ⚙️ Internals: : {{The Linux Kernel/source|fs/inode.c}} &ndash; inode allocation and management : {{The Linux Kernel/include|linux/dcache.h}}, {{The Linux Kernel/source|fs/dcache.c}} &ndash; dentry cache, pathname-to-inode lookup : {{The Linux Kernel/source|fs/super.c}} &ndash; superblock operations, filesystem mount/unmount : {{The Linux Kernel/include|linux/file.h}}, {{The Linux Kernel/source|fs/file.c}} &ndash; file table, fd allocation : {{The Linux Kernel/include|linux/mount.h}} &ndash; filesystem mount structures : {{The Linux Kernel/include|linux/fs_context.h}} &ndash; filesystem mount context (replaces old mount API) : {{The Linux Kernel/source|fs/readdir.c}} &ndash; directory listing (getdents) 📚 VFS References : {{The Linux Kernel/doc|VFS|filesystems/#core-vfs-documentation}} : [https://tldp.org/LDP/lki/lki-3.html VFS in Linux Kernel 2.4 Internals] == Logical file systems == A {{w|file system}} (or ''filesystem'') is used to control how data is stored and retrieved. Without a file system, information placed in a storage area would be one large body of data with no way to tell where one piece of information stops and the next begins. By separating the data into individual pieces, and giving each piece a name, the information is easily separated and identified. Each group of data is called a "file". The structure and logic rules used to manage the groups of information and their names is called a "file system". There are many different kinds of file systems. Each one has different structure and logic, properties of speed, flexibility, security, size and more. Some file systems have been designed to be used for specific applications. For example, the ISO 9660 file system is designed specifically for optical discs. File systems can be used on many different kinds of storage devices. Each storage device uses a different kind of media. The most common storage device in use today is a {{w|SSD}}. Other media that was used are hard disk, magnetic tape and optical disc. In some cases, the computer's main memory (RAM) is used to create a temporary file system for short-term use. Raw storage is called a block device. Linux supports many different file systems, but common choices for the system disk on a block device include the ext* family (such as {{w|ext2}}, {{w|ext3}} and {{w|ext4}}), {{w|XFS}}, {{w|ReiserFS}} and {{w|btrfs}}. For raw Flash without a {{w|flash translation layer}} (FTL) or {{w|Memory Technology Device}} (MTD), there is {{w|UBIFS}}, {{w|JFFS2}}, and {{w|YAFFS}}, among others. {{w|SquashFS}} is a common compressed read-only file system. NFS and other network FS are described further in paragraph [[../Networking#Network_storage|Network storage]]. ⚲ Shell interfaces: : cat /proc/filesystems : ls /sys/fs/ : {{The Linux Kernel/man|8|mount}} : {{The Linux Kernel/man|8|umount}} : {{The Linux Kernel/man|8|findmnt}} : {{The Linux Kernel/man|1|mountpoint}} : {{The Linux Kernel/man|1|df}} Infrastructure ⚲ API function {{The Linux Kernel/id|register_filesystem}} registers structs {{The Linux Kernel/id|file_system_type}} and stores them in linked list ⚙️ {{The Linux Kernel/id|file_systems}}. Function {{The Linux Kernel/id|ext4_init_fs}} registers {{The Linux Kernel/id|ext4_fs_type}}. Operation of ''file system opening'' is called mounting: {{The Linux Kernel/id|ext4_get_tree}} ⚙️ Internals: : {{The Linux Kernel/source|fs/namespace.c}} &ndash; mount and namespace operations :: {{The Linux Kernel/man|2|mount}} ::: {{The Linux Kernel/id|do_mount}} : {{The Linux Kernel/include|linux/buffer_head.h}} :: {{The Linux Kernel/id|super_block}} :: {{The Linux Kernel/id|sb_bread}} : {{The Linux Kernel/source|fs}} &ndash; filesystem implementations :: {{The Linux Kernel/source|fs/ext4/ext4.h}} &ndash; ext4 on-disk format and internal structures ::: {{The Linux Kernel/id|ext4_sb_bread}} Other notable filesystems: : {{w|FUSE (filesystem)|FUSE}} &ndash; {{The Linux Kernel/source|fs/fuse}} &ndash; filesystem in userspace : {{w|OverlayFS}} &ndash; {{The Linux Kernel/source|fs/overlayfs}} &ndash; union mount filesystem, used by containers : {{w|Btrfs}} &ndash; {{The Linux Kernel/source|fs/btrfs}} : {{w|XFS}} &ndash; {{The Linux Kernel/source|fs/xfs}} 📚 References: : {{The Linux Kernel/doc|filesystems|filesystems/#filesystems}} == Page cache == A page cache or disk cache is a transparent cache for the memory pages originating from a secondary storage device such as a hard disk drive. The operating system keeps a page cache in otherwise unused portions of the main memory, resulting in quicker access to the contents of cached pages and overall performance improvements. The page cache is implemented by the kernel, and is mostly transparent to applications. Usually, all physical memory not directly allocated to applications is used by the operating system for the page cache. Since the memory would otherwise be idle and is easily reclaimed when applications request it, there is generally no associated performance penalty and the operating system might even report such memory as "free" or "available". The page cache also aids in writing to a disk. Pages in the main memory that have been modified during writing data to disk are marked as "dirty" and have to be flushed to disk before they can be freed. When a file write occurs, the page backing the particular block is looked up. If it is already found in the page cache, the write is done to that page in the main memory. Otherwise, when the write perfectly falls on page size boundaries, the page is not even read from disk, but allocated and immediately marked dirty. Otherwise, the page(s) are fetched from disk and requested modifications are done. Not all cached pages can be written to as program code is often mapped as read-only or copy-on-write; in the latter case, modifications to code will only be visible to the process itself and will not be written to disk. ⚲ API: : {{The Linux Kernel/man|2|fsync}} ↪ {{The Linux Kernel/id|do_fsync}} : {{The Linux Kernel/man|2|sync_file_range}} ↪ {{The Linux Kernel/id|ksys_sync_file_range}} : {{The Linux Kernel/man|2|syncfs}} ↪ {{The Linux Kernel/id|sync_filesystem}} : {{The Linux Kernel/man|2|sync}} ↪ {{The Linux Kernel/id|ksys_sync}} &ndash; flush all filesystem caches to disk ⚙️ Internals: : {{The Linux Kernel/include|linux/pagemap.h}}, {{The Linux Kernel/source|mm/filemap.c}} &ndash; page cache core, read/write/mmap paths : {{The Linux Kernel/include|linux/buffer_head.h}}, {{The Linux Kernel/source|fs/buffer.c}} &ndash; buffer heads, block-level page cache interface : {{The Linux Kernel/include|linux/writeback.h}}, {{The Linux Kernel/source|mm/page-writeback.c}} &ndash; dirty page writeback throttling : {{The Linux Kernel/id|address_space}} &ndash; per-inode page cache, defined in {{The Linux Kernel/include|linux/fs.h}} : {{The Linux Kernel/include|linux/backing-dev.h}} &ndash; backing device info, writeback bandwidth : {{The Linux Kernel/id|wb_workfn}}, {{The Linux Kernel/id|do_writepages}} 📚 References : {{w|Page cache}} More : [https://lwn.net/Articles/717953/ The future of DAX ] - direct access bypassing the cache : [https://tldp.org/LDP/lki/lki-4.html Linux Page Cache in Linux Kernel 2.4 Internals] == Zero-copy == 🚀 advanced features Writing data to storage and reading are very resource consuming operations. Copying memory is time and CPU consuming operation too. Set of methods to avoid copying operations is called {{w|zero-copy}}. The goal of zero-copy methods is a fast and efficient data transfer within the system. The first and simplest method is {{w|Pipeline (Unix)|Pipeline}}, invoked by operator "|" in shells. Instead of writing data into temporary file and reading, the data is passed efficiently via a pipe bypassing a storage. The second method is {{w|Tee_(command)|tee}}. ⚲ Syscalls: : {{The Linux Kernel/man|2|pipe2}} : {{The Linux Kernel/man|2|tee}}, {{The Linux Kernel/man|1|tee}} : {{The Linux Kernel/man|2|sendfile}} : {{The Linux Kernel/man|2|copy_file_range}} : {{The Linux Kernel/man|2|splice}} : {{The Linux Kernel/man|2|vmsplice}} ⚲ API and ⚙️ Internals: : '''{{The Linux Kernel/man|2|pipe2}}''' ↪ {{The Linux Kernel/id|do_pipe2}} - creates pipe :: uses {{The Linux Kernel/id|pipe_fs_type}}, {{The Linux Kernel/id|pipefifo_fops}} : '''{{The Linux Kernel/man|2|tee}}''' ↪ {{The Linux Kernel/id|do_tee}} - duplicates pipe content :: calls {{The Linux Kernel/id|link_pipe}} : '''{{The Linux Kernel/man|2|sendfile}}''' ↪ {{The Linux Kernel/id|do_sendfile}} - transfers data between file descriptors, the output can be a socket. Used in [[../Networking#Network_storage|network storage]] and servers. :: Calls: {{The Linux Kernel/id|do_splice_direct}}, {{The Linux Kernel/id|splice_direct_to_actor}} : '''{{The Linux Kernel/man|2|copy_file_range}}''' ↪ {{The Linux Kernel/id|vfs_copy_file_range}} - transfers data between files :: calls custom {{The Linux Kernel/id|remap_file_range}} like {{The Linux Kernel/id|nfs42_remap_file_range}} :: or custom {{The Linux Kernel/id|copy_file_range}} like {{The Linux Kernel/id|fuse_copy_file_range}} :: or {{The Linux Kernel/id|do_splice_direct}} : '''{{The Linux Kernel/man|2|splice}}''' ↪ {{The Linux Kernel/id|do_splice}} - splices data to/from a pipe. :: There are three cases regarding which end being a pipe: :# {{The Linux Kernel/id|do_splice_from}} - pipe → file :#: Calls custom {{The Linux Kernel/id|splice_write}} or {{The Linux Kernel/id|iter_file_splice_write}} :# {{The Linux Kernel/id|do_splice_read}} - file → pipe :#: Calls custom {{The Linux Kernel/id|splice_read}} or {{The Linux Kernel/id|copy_splice_read}} :# {{The Linux Kernel/id|splice_pipe_to_pipe}} - both are pipes : '''{{The Linux Kernel/man|2|vmsplice}}''' ↪ :: {{The Linux Kernel/id|vmsplice_to_pipe}} &ndash; splices user pages to a pipe :: {{The Linux Kernel/id|vmsplice_to_user}} &ndash; splices a pipe to user pages ⚲ API : {{The Linux Kernel/include|linux/splice.h}} ⚙️ Internals: : {{The Linux Kernel/source|fs/pipe.c}} &ndash; pipe and FIFO implementation : {{The Linux Kernel/source|fs/splice.c}} &ndash; splice data transfer between file descriptors 🔨 [https://manpages.ubuntu.com/manpages/resolute/man1/stress-ng.1.html#:~:text=%2D%2Dsplice stress-ng --splice], [https://manpages.ubuntu.com/manpages/resolute/man1/stress-ng.1.html#:~:text=%2D%2Dsendfile --sendfile] 🔧 TODO: {{The Linux Kernel/id|zerocopy_sg_from_iter}} builds a zerocopy skb datagram from an iov_iter. Used in {{The Linux Kernel/id|tap_get_user}} and {{The Linux Kernel/id|tun_get_user}}. {{The Linux Kernel/id|skb_zerocopy}} {{The Linux Kernel/id|skb_zerocopy_iter_dgram}} 📚 References : {{The Linux Kernel/man|7|pipe}} : {{The Linux Kernel/man|7|fifo}} : {{The Linux Kernel/doc|splice and pipes|filesystems/splice.html}} :: {{The Linux Kernel/doc|Pipes API|filesystems/splice.html#pipes-api}} : {{w|splice (system call)}} : LTP: {{The Linux Kernel/ltp|kernel/syscalls|pipe}}, {{The Linux Kernel/ltp|kernel/syscalls|pipe2}}, {{The Linux Kernel/ltp|kernel/syscalls|tee}}, {{The Linux Kernel/ltp|kernel/syscalls|sendfile}}, {{The Linux Kernel/ltp|kernel/syscalls|copy_file_range}}, {{The Linux Kernel/ltp|kernel/syscalls|splice}}, {{The Linux Kernel/ltp|kernel/syscalls|vmsplice}} == Block device layer == The block device layer in Linux provides an abstraction for accessing storage devices, such as SSDs and USB drives, by presenting them as a series of fixed-size blocks. It sits between the hardware and the file system, allowing applications and file systems to perform read and write operations efficiently without needing to know the specifics of the underlying hardware. Key components include block drivers, the I/O scheduler, and buffer management, which work together to handle requests, optimize access patterns, and ensure data integrity. This layer supports essential features like caching, partition management, and queueing mechanisms to balance performance and reliability. ⚲ Shell interfaces: : {{The Linux Kernel/man|8|blkid}} &ndash; locate/print block device attributes (UUID, TYPE, LABEL) : {{The Linux Kernel/man|8|lsblk}} &ndash; list block devices in a tree with size, type, mountpoint : {{The Linux Kernel/man|8|blockdev}} --report &ndash; read-ahead, sector size, read-only state per device : /proc/partitions &ndash; major, minor, blocks, name of each block device : /proc/diskstats &ndash; I/O statistics per disk and partition : /sys/block/$dev/queue/scheduler &ndash; active and available I/O schedulers : [https://github.com/sosreport/sos/blob/main/sos/report/plugins/block.py sos block plugin] &ndash; diagnostics collection for block devices ⚲ Interfaces: : {{The Linux Kernel/include|linux/blk_types.h}} :: {{The Linux Kernel/id|bio}} &ndash; main unit of I/O for the block layer and lower layers :: {{The Linux Kernel/id|req_op}} &ndash; operations common to the bio and request structures : {{The Linux Kernel/include|linux/bio.h}} : {{The Linux Kernel/id|block_device}} :: {{The Linux Kernel/id|block_size}} : {{The Linux Kernel/id|blk_alloc_disk}} allocates {{The Linux Kernel/id|gendisk}} : {{The Linux Kernel/id|add_disk}} :: {{The Linux Kernel/id|device_add_disk}} : {{The Linux Kernel/id|block_device_operations}} : {{The Linux Kernel/include|linux/blkdev.h}} :: {{The Linux Kernel/id|gendisk}} ::: {{The Linux Kernel/id|dev_to_disk}}, {{The Linux Kernel/id|disk_to_dev}} :: {{The Linux Kernel/id|block_class}} &ndash; block devices Driver Model class :: {{The Linux Kernel/id|register_blkdev}} :: {{The Linux Kernel/id|request}} :: {{The Linux Kernel/id|request_queue}} ⚙️ Internals. : {{The Linux Kernel/source|block}} &ndash; block layer core : {{The Linux Kernel/source|fs/iomap}} &ndash; modern filesystem I/O mapping layer (used by xfs, ext4, btrfs) : {{The Linux Kernel/id|block_class}} 👁 Examples: : {{The Linux Kernel/source|drivers/block/brd.c}} - small RAM backed block device driver : {{The Linux Kernel/source|drivers/block/null_blk}} &ndash; null block test device 🔨 [https://manpages.ubuntu.com/manpages/resolute/man1/stress-ng.1.html#:~:text=%2D%2Dhdd stress-ng --hdd], [https://manpages.ubuntu.com/manpages/resolute/man1/stress-ng.1.html#:~:text=%2D%2Diomix --iomix], [https://manpages.ubuntu.com/manpages/resolute/man1/stress-ng.1.html#:~:text=%2D%2Dseek --seek] === Device mapper === The ''device mapper'' is a framework provided by the kernel for mapping physical block devices onto higher-level "virtual block devices". It forms the foundation of LVM2, software RAIDs and dm-crypt disk encryption, and offers additional features such as file system snapshots. Device mapper works by passing data from a virtual block device, which is provided by the device mapper itself, to another block device. Data can be also modified in transition, which is performed, for example, in the case of device mapper providing disk encryption. User space applications that need to create new mapped devices talk to the device mapper via the <code>libdevmapper.so</code> shared library, which in turn issues ioctls to the <code>/dev/mapper/control</code> device node. Functions provided by the device mapper include linear, striped and error ''mappings,'' as well as crypt and multipath ''targets.'' For example, two disks may be concatenated into one logical volume with a pair of ''linear'' mappings, one for each disk. As another example, ''crypt'' target encrypts the data passing through the specified device, by using the Linux kernel's Crypto API. The following mapping targets are available: : ''cache'' - allows the creation of hybrid volumes, by using solid-state drives (SSDs) as caches for hard disk drives (HDDs) : ''crypt'' - provides data encryption, by using the Linux kernel's Crypto API : ''delay'' - delays reads and/or writes to different devices (used for testing) : ''era'' - behaves in a way similar to the linear target, while it keeps track of blocks that were written to within a user-defined period of time : ''error'' - simulates I/O errors for all mapped blocks (used for testing) : ''flakey'' - simulates periodic unreliable behaviour (used for testing) : ''linear'' - maps a continuous range of blocks onto another block device : ''mirror'' - maps a mirrored logical device, while providing data redundancy : ''multipath'' - supports the mapping of multipathed devices, through usage of their path groups : ''raid'' - offers an interface to the Linux kernel's software RAID driver (md) : ''snapshot'' and ''snapshot-origin'' - used for creation of LVM snapshots, as part of the underlining copy-on-write scheme : ''striped'' - strips the data across physical devices, with the number of stripes and the striping chunk size as parameters : ''zero'' - an equivalent of <code>/dev/zero</code>, all reads return blocks of zeros, and writes are discarded 📚 References : {{w|Device mapper}} : {{The Linux Kernel/doc|Device mapper|admin-guide/device-mapper}} : {{The Linux Kernel/include|linux/device-mapper.h}} : {{The Linux Kernel/source|drivers/md}} &ndash; device mapper and software RAID : https://lwn.net/Kernel/Index/#Device_mapper === Multi-Queue Block IO Queueing === The blk-mq API enhances IO performance by leveraging multiple queues for parallel processing, addressing bottlenecks from traditional single-queue designs. It uses software queues for scheduling, merging, and reordering requests, and hardware queues to interface directly with devices. If hardware resources are limited, requests are temporarily queued for later dispatch. ⚲ Interfaces: : /sys/devices/.../mq/ : {{The Linux Kernel/include|linux/blk-mq.h}} :: Structures: ::: {{The Linux Kernel/id|blk_mq_hw_ctx}} &ndash; hardware dispatch queue context ::: {{The Linux Kernel/id|blk_mq_tag_set}} &ndash; shared between request queues :::: {{The Linux Kernel/id|blk_mq_ops}} :::: {{The Linux Kernel/id|blk_mq_tags}} :::: {{The Linux Kernel/id|blk_mq_queue_map}} &ndash; map software queues to hardware queues ::: {{The Linux Kernel/id|request}} 👁️ Example : {{The Linux Kernel/source|drivers/block/null_blk}} &ndash; multi-queue aware block test driver ⚙️ Internals : /sys/kernel/debug/block/*/hctx* : {{The Linux Kernel/source|block/blk-mq.h}} &ndash; blk-mq internal definitions :: {{The Linux Kernel/id|blk_mq_ctx}} &ndash; software staging queue context : {{The Linux Kernel/source|block/blk-mq.c}} &ndash; block multi-queue core code : {{The Linux Kernel/source|block/blk-mq-tag.c}} &ndash; tag allocation using scalable bitmaps : ... 📖 References : {{The Linux Kernel/doc|Multi-Queue Block IO Queueing Mechanism (blk-mq)|block/blk-mq.html}} === I/O scheduler === I/O scheduling (or disk scheduling) is the method chosen by the kernel to decide in which order the block I/O operations will be submitted to the storage volumes. I/O scheduling usually has to work with hard disk drives that have long access times for requests placed far away from the current position of the disk head (this operation is called a seek). To minimize the effect this has on system performance, most I/O schedulers implement a variant of the elevator algorithm that reorders the incoming randomly ordered requests so the associated data would be accessed with minimal arm/head movement. The particular I/O scheduler used with certain block device can be switched at run time by modifying the corresponding <code>/sys/block/<block_device>/queue/scheduler</code> file in the sysfs filesystem. Some I/O schedulers also have tunable parameters that can be set through files in <code>/sys/block/<block_device>/queue/iosched/</code>. ⚲ Interfaces: : {{The Linux Kernel/man|1|ionice}} &ndash; set or get process I/O scheduling class and priority :: {{The Linux Kernel/man|2|ioprio_get}}, ioprio_set : {{The Linux Kernel/include|linux/elevator.h}} : Function {{The Linux Kernel/id|elv_register}} registers struct {{The Linux Kernel/id|elevator_type}}. : {{The Linux Kernel/id|elevator_queue}} ⚙️ Internals: : {{The Linux Kernel/source|block/ioprio.c}} &ndash; I/O priority system call : {{The Linux Kernel/source|block/elevator.c}} &ndash; I/O scheduler framework : {{The Linux Kernel/source|block/Kconfig.iosched}} &ndash; I/O scheduler Kconfig options : {{The Linux Kernel/source|block/bfq-iosched.c}} &ndash; Budget Fair Queueing scheduler : {{The Linux Kernel/source|block/kyber-iosched.c}} &ndash; Kyber multiqueue scheduler : {{The Linux Kernel/source|block/mq-deadline.c}} &ndash; deadline multiqueue scheduler : {{The Linux Kernel/include|trace/events/block.h}} 📖 References: : {{w|I/O scheduling}} : {{w|Elevator algorithm}} : {{The Linux Kernel/doc|Switching Scheduler|block/switching-sched.html}} : {{The Linux Kernel/doc|BFQ - Budget Fair Queueing|block/bfq-iosched.html}} : {{The Linux Kernel/doc|Deadline IO scheduler tunables|deadline-iosched.html}} : https://www.cloudbees.com/blog/linux-io-scheduler-tuning/ : https://wiki.ubuntu.com/Kernel/Reference/IOSchedulers === ... === 📖 References : {{The Linux Kernel/doc|Block devices|block}} :: {{The Linux Kernel/doc|Switching Scheduler|block/switching-sched.html}} ::: {{The Linux Kernel/doc|BFQ - Budget Fair Queueing|block/bfq-iosched.html}} ::: {{The Linux Kernel/doc|Deadline IO scheduler tunables|block/deadline-iosched.html}} ::: {{The Linux Kernel/doc|Kyber I/O scheduler tunables|block/kyber-iosched.html}} :: {{The Linux Kernel/doc|Multi-Queue Block IO Queueing Mechanism (blk-mq)|block/blk-mq.html}} 📚 Further reading : /sys/kernel/debug/block/*/ : https://lwn.net/Kernel/Index/#Block_layer : [https://lore.kernel.org/linux-block/ block devices ML] : [https://sysprog21.github.io/lkmpg/#block-drivers LKMPG: Block Drivers] : [http://lwn.net/images/pdf/LDD3/ch16.pdf LDD3:Block Drivers] : [http://www.xml.com/ldd/chapter/book/ch12.html LDD1:Loading Block Drivers] : [https://www.oreilly.com/library/view/understanding-the-linux/0596005652/ch14.html ULK3 Chapter 14. Block Device Drivers] : [https://sg.danny.cz/sg/The Linux SCSI Generic (sg) Driver] :: [https://sg.danny.cz/sg/scsi_debug.html Scsi_debug adapter driver for Linux] :: https://github.com/doug-gilbert/sg3_utils == {{w|Computer data storage|Storage}} drivers == 🔧 TODO ⚲ Shell interfaces: : [https://man.archlinux.org/man/lsscsi.8 lsscsi] &ndash; list SCSI devices and hosts : [https://sg.danny.cz/sg/sg3_utils.html sg_inq] &ndash; SCSI INQUIRY, device identification : /sys/class/scsi_host/, /sys/class/scsi_disk/ &ndash; SCSI sysfs attributes : /proc/scsi/ &ndash; SCSI subsystem info : [https://github.com/sosreport/sos/blob/main/sos/report/plugins/scsi.py sos scsi plugin], [https://github.com/sosreport/sos/blob/main/sos/report/plugins/nvme.py nvme plugin] &ndash; diagnostics collection ⚙️ Internals : {{The Linux Kernel/source|drivers/nvmem}} &ndash; {{w|Non-volatile memory}} : {{The Linux Kernel/source|drivers/sdio}} &ndash; {{w|Secure Digital#SDIO cards|Secure Digital Input Output}} : {{The Linux Kernel/source|drivers/scsi}} &ndash; {{w|SCSI|Small Computer System Interface}}, {{The Linux Kernel/doc|SCSI|scsi}} : {{The Linux Kernel/source|drivers/virtio}} &ndash; virtio guest drivers : {{The Linux Kernel/source|drivers/mtd}} &ndash; {{w|Memory Technology Device}} for 🤖 embedded devices === NVMe === {{w|NVM Express}} drivers provide accesses a computer's {{w|non-volatile storage}}. Local storage is attached via {{w|PCIe|PCI Express}} bus. PCI NVMe device driver entry point is {{The Linux Kernel/id|nvme_init}}. Remote storage driver is called target and local {{w|Proxy_pattern|proxy}} driver is called host. {{w|Switched fabric|Fabrics}} connect remote targets with local host. A fabric can be based on {{w|Remote direct memory access|RDMA}}, {{w|Transmission Control Protocol|TCP}} or {{w|Fibre Channel}} protocols. 📖 References: : {{The Linux Kernel/doc|NVMe|nvme}} ⚲ API: : [https://github.com/linux-nvme/nvme-cli nvme-cli] : {{The Linux Kernel/include|uapi/linux/nvme_ioctl.h}} : {{The Linux Kernel/include|linux/nvme.h}} ⚙️ '''Internals:''' : {{The Linux Kernel/source|drivers/nvme}} &ndash; NVMe drivers '''Host''' {{The Linux Kernel/source|drivers/nvme/host}}: ⚲ Interfaces: : {{The Linux Kernel/source|drivers/nvme/host/nvme.h}} &ndash; NVMe host common definitions :: {{The Linux Kernel/id|nvme_init_ctrl}} initializes a NVMe controller structures {{The Linux Kernel/id|nvme_ctrl}} with operations {{The Linux Kernel/id|nvme_ctrl_ops}} ::: a subroutine of {{The Linux Kernel/id|nvme_scan_work}} adds a new disk with {{The Linux Kernel/id|device_add_disk}} : {{The Linux Kernel/id|nvme_init}} - local PCI nvme module init :: {{The Linux Kernel/id|nvme_probe}} ::: {{The Linux Kernel/id|nvme_init_ctrl}} ... ::: {{The Linux Kernel/id|nvme_pci_ctrl_ops}} : {{The Linux Kernel/id|nvme_core_init}} - module init '''Fabrics''' ⚲ interfaces: : {{The Linux Kernel/source|drivers/nvme/host/fabrics.h}} &ndash; NVMe over Fabrics host common definitions :: {{The Linux Kernel/id|nvmf_register_transport}} registers {{The Linux Kernel/id|nvmf_transport_ops}} : {{The Linux Kernel/id|nvmf_init}} - fabrics module init ⚙️ internals: : {{The Linux Kernel/id|nvmf_init}} - fabrics module init :: {{The Linux Kernel/id|nvmf_misc}} ::: {{The Linux Kernel/id|nvmf_dev_fops}} :::: {{The Linux Kernel/id|nvmf_dev_write}} ::::: {{The Linux Kernel/id|nvmf_create_ctrl}} binds {{The Linux Kernel/id|nvmf_transport_ops}} '''Target''' {{The Linux Kernel/source|drivers/nvme/target}}: ⚲ Interfaces: {{The Linux Kernel/source|drivers/nvme/target/nvmet.h}} : {{The Linux Kernel/id|nvmet_register_transport}} registers {{The Linux Kernel/id|nvmet_fabrics_ops}} : {{The Linux Kernel/id|nvmet_init}} - module init : {{The Linux Kernel/id|fcloop_init}} - loopback test module init which can be useful to test NVMe-FC transport interfaces. {| class="wikitable" |- ! ! colspan="3" |NVMe over {{w|Switched fabric|Fabrics}} |- !<div style='text-align:left'>Layers</div> !{{w|Transmission Control Protocol|TCP}} ![[../Networking#RDMA|RDMA]] !{{w|Fibre Channel}} |- !<div style='text-align:left'>Host modules</div> |{{The Linux Kernel/id|nvme_tcp_init_module}} |{{The Linux Kernel/id|nvme_rdma_init_module}} |{{The Linux Kernel/id|nvme_fc_init_module}} |- !<div style='text-align:left'>Fabrics protocols</div> |{{The Linux Kernel/include|linux/nvme-tcp.h}} |{{The Linux Kernel/include|linux/nvme-rdma.h}} |{{The Linux Kernel/include|linux/nvme-fc.h}} {{The Linux Kernel/include|linux/nvme-fc-driver.h}} |- !<div style='text-align:left'>Target modules</div> |{{The Linux Kernel/id|nvmet_tcp_init}} |{{The Linux Kernel/id|nvmet_rdma_init}} |{{The Linux Kernel/id|nvmet_fc_init_module}} |} 👁 Example: {{The Linux Kernel/id|nvme_loop_init_module}} nvme loopback : {{The Linux Kernel/id|nvme_loop_transport}} - fabrics operations :: {{The Linux Kernel/id|nvme_loop_create_ctrl}} ::: {{The Linux Kernel/id|nvme_loop_create_io_queues}} : {{The Linux Kernel/id|nvme_loop_ops}} - target operation :: {{The Linux Kernel/id|nvme_loop_add_port}} :: {{The Linux Kernel/id|nvme_loop_queue_response}} == ... == 🚀 Advanced : {{The Linux Kernel/man|1|pidstat}} &ndash; reports task statistics : /proc/self/io &ndash; I/O statistics for the process (see {{The Linux Kernel/man|5|proc}}) 💾 Historical storage drivers : {{The Linux Kernel/source|drivers/ata}} - {{w|Parallel ATA}} 📖 Further reading about storage : [https://github.com/iovisor/bcc/blob/master/README.md#storage-and-filesystems-tools bcc/ebpf storage and filesystems tools] {{BookCat}} shl8oy0509gnbcyay6kxleap74sfftv 4654523 4654522 2026-07-15T07:54:23Z Conan 3188 NVME API 4654523 wikitext text/x-wiki {{DISPLAYTITLE:Storage functionality}} {|style="width: 25%; float: right; text-align:center;border-spacing: 0; color:black; margin:auto;" cellpadding=5pc ! bgcolor=#cef | storage |-style="" | bgcolor=#aef | [[#Files_and_directories|files & directories access]] |-style="" | bgcolor=#8df | [[#Virtual File System|Virtual File System]] |-style="" | bgcolor=#8ce |[[#Page_cache|page cache]] |-style="" | bgcolor=#7ac |[[#Logical file systems|logical file systems]] |-style="" | bgcolor=#69a |[[#Block_device_layer|block devices]] |-style="" | bgcolor=#689 |[[#Storage_drivers|storage drivers]] |} Storage functionality provides access to various storage devices via files and directories of files. Most of the storage is persistent as flash memory, SSD and legacy hard disks. Another kind of storage is temporary. The ''file system'' provides an abstraction to organize the information into separate pieces of data (called ''files'') identified by a unique name. Each file system type defines their own structures and logic rules used to manage these groups of information and their names. Linux supports a plethora of different file system types, local and remote, native and from other operating systems. To accommodate such disparity the kernel defines a common top layer, the ''virtual file system'' (VFS) layer. [[File:The Linux Storage Stack Diagram.svg|Summary of the Linux kernel's storage stack|right|800x800px]] == Files and directories == Four basic files access system calls: : {{The Linux Kernel/man|2|open}} ↪ {{The Linux Kernel/id|do_sys_open}} - opens a file by name and returns a {{w|file descriptor}} (<big>fd</big>). Below functions operates on a fd. : {{The Linux Kernel/man|2|close}} ↪ {{The Linux Kernel/id|close_fd}} : {{The Linux Kernel/man|2|read}} ↪ {{The Linux Kernel/id|ksys_read}} : {{The Linux Kernel/man|2|write}} ↪ {{The Linux Kernel/id|ksys_write}} File in Linux and UNIX is not only physical file on persistent storage. File interface is used to access pipes, sockets and other pseudo-files. Other file operations: : {{The Linux Kernel/man|2|lseek}} &ndash; reposition read/write file offset : {{The Linux Kernel/man|2|dup}} &ndash; duplicate a file descriptor : {{The Linux Kernel/man|2|fcntl}} &ndash; manipulate file descriptor : {{The Linux Kernel/man|2|truncate}}, {{The Linux Kernel/man|2|ftruncate}} &ndash; truncate a file : {{The Linux Kernel/man|2|fallocate}} &ndash; preallocate file space : {{The Linux Kernel/man|2|readahead}} ↪ {{The Linux Kernel/source|mm/readahead.c}} &ndash; prefetch file data into page cache 🔨 [https://manpages.ubuntu.com/manpages/resolute/man1/stress-ng.1.html#:~:text=%2D%2Dopen stress-ng --open], [https://manpages.ubuntu.com/manpages/resolute/man1/stress-ng.1.html#:~:text=%2D%2Dclose --close], [https://manpages.ubuntu.com/manpages/resolute/man1/stress-ng.1.html#:~:text=%2D%2Dfallocate --fallocate] Directory operations: : {{The Linux Kernel/man|2|mkdir}}, {{The Linux Kernel/man|2|rmdir}} &ndash; create/remove directory : {{The Linux Kernel/man|2|getcwd}} ↪ {{The Linux Kernel/id|sys_getcwd}} &ndash; get current working directory : {{The Linux Kernel/man|2|chdir}} ↪ {{The Linux Kernel/id|sys_chdir}} &ndash; change working directory : {{The Linux Kernel/man|3|readdir}} ⇾ {{The Linux Kernel/man|2|getdents}} : {{The Linux Kernel/man|7|path_resolution}} 🔨 [https://manpages.ubuntu.com/manpages/resolute/man1/stress-ng.1.html#:~:text=%2D%2Ddentry stress-ng --dentry], [https://manpages.ubuntu.com/manpages/resolute/man1/stress-ng.1.html#:~:text=%2D%2Ddir --dir] Name operations: : {{The Linux Kernel/man|2|rename}} &ndash; rename a file or directory : {{The Linux Kernel/man|2|unlink}} &ndash; delete a name from the filesystem : {{The Linux Kernel/man|2|readlink}}, {{The Linux Kernel/man|2|symlink}}, {{The Linux Kernel/man|2|link}} ⚙️ Files and directories internals : {{The Linux Kernel/include|linux/fs.h}} : {{The Linux Kernel/source|fs/open.c}} &ndash; open, close and related file operations : {{The Linux Kernel/include|linux/namei.h}}, {{The Linux Kernel/source|fs/namei.c}} &ndash; pathname lookup and resolution : {{The Linux Kernel/source|fs/read_write.c}} &ndash; read, write and lseek operations : {{The Linux Kernel/include|linux/xattr.h}}, {{The Linux Kernel/source|fs/xattr.c}} &ndash; extended attributes : {{The Linux Kernel/source|fs/notify}} &ndash; filesystem event notification :: {{The Linux Kernel/man|2|inotify_init}}, {{The Linux Kernel/man|2|inotify_add_watch}}, {{The Linux Kernel/man|2|inotify_rm_watch}} &ndash; {{The Linux Kernel/man|7|inotify}} :: {{The Linux Kernel/man|2|fanotify_init}}, {{The Linux Kernel/man|2|fanotify_mark}} &ndash; {{The Linux Kernel/man|7|fanotify}} 🔨 [https://manpages.ubuntu.com/manpages/resolute/man1/stress-ng.1.html#:~:text=%2D%2Dinotify stress-ng --inotify] 📚 Files and directories references : [https://www.gnu.org/software/libc/manual/html_node/I_002fO-Overview.html Input/Output, The GNU C Library] : [https://tldp.org/LDP/lki/lki-3.html VFS in Linux Kernel 2.4 Internals] : {{w|Unix file types}} === File locks === File locks are mechanisms that allow processes to coordinate access to shared files. These locks help prevent conflicts when multiple processes or threads attempt to access the same file simultaneously. ⚲ API : {{The Linux Kernel/man|8|lslocks}} &ndash; list local system locks : {{The Linux Kernel/man|3|lockf}} &ndash; apply, test or remove a POSIX lock on an open file : {{The Linux Kernel/man|2|flock}} &ndash; apply or remove an advisory BSD lock on an open file : {{The Linux Kernel/man|2|fcntl}} &ndash; manipulate file descriptor :: {{The Linux Kernel/id|F_SETLK}} &ndash; advisory record lock :: {{The Linux Kernel/id|F_OFD_SETLK}} &ndash; Open File Description Lock :: {{The Linux Kernel/id|flock}} &ndash; lock parameters : ⚠️ Avoid mixing flock and fcntl locks on the same file as they don’t interact with each other. ⚙️ Internals : {{The Linux Kernel/include|linux/filelock.h}} : {{The Linux Kernel/source|fs/locks.c}} &ndash; POSIX and flock file locking : {{The Linux Kernel/include|trace/events/filelock.h}} 🔨 [https://manpages.ubuntu.com/manpages/resolute/man1/stress-ng.1.html#:~:text=%2D%2Dflock stress-ng --flock] 💾 ''Historical: [https://elixir.bootlin.com/linux/v5.14/K/ident/CONFIG_MANDATORY_FILE_LOCKING Mandatory locking] feature is no longer supported at all in Linux 5.15 and above because the implementation is unreliable.'' === Asynchronous I/O === 🚀 advanced features '''AIO''' : https://lwn.net/Kernel/Index/#Asynchronous_IO : {{The Linux Kernel/man|2|io_submit}} {{The Linux Kernel/man|2|io_setup}} {{The Linux Kernel/man|2|io_cancel}} {{The Linux Kernel/man|2|io_destroy}} {{The Linux Kernel/man|2|io_getevents}} : {{The Linux Kernel/include|uapi/linux/aio_abi.h}} : {{The Linux Kernel/source|fs/aio.c}} &ndash; async I/O implementation : {{The Linux Kernel/ltp|kernel|io/aio}} 🔨 [https://manpages.ubuntu.com/manpages/resolute/man1/stress-ng.1.html#:~:text=%2D%2Daio stress-ng --aio] '''{{w|io_uring}}''' 🌱 ''New since release 5.1 in May 2019'' : https://blogs.oracle.com/linux/an-introduction-to-the-io_uring-asynchronous-io-framework : https://thenewstack.io/how-io_uring-and-ebpf-will-revolutionize-programming-in-linux/ : {{The Linux Kernel/id|io_uring_enter}} {{The Linux Kernel/id|io_uring_setup}} {{The Linux Kernel/id|io_uring_register}} : {{The Linux Kernel/include|linux/io_uring.h}} : {{The Linux Kernel/include|uapi/linux/io_uring.h}} : {{The Linux Kernel/source|io_uring}} : https://lwn.net/Kernel/Index/#io_uring :: [https://lwn.net/Articles/779472/ io_uring, SCM_RIGHTS, and reference-count cycles] :: [https://lwn.net/Articles/810414/ The rapid growth of io_uring] :: [https://lwn.net/Articles/815491/ Automatic buffer selection for io_uring] :: [https://lwn.net/Articles/826053/ Operations restrictions for io_uring] :: [https://lwn.net/Articles/779472/ io_uring, SCM_RIGHTS, and reference-count cycles] :: [https://lwn.net/Articles/803070/ Redesigned workqueues for io_uring] : {{The Linux Kernel/ltp|kernel/syscalls|io_uring}} 🔨 [https://manpages.ubuntu.com/manpages/resolute/man1/stress-ng.1.html#:~:text=%2D%2Dio%2During stress-ng --io-uring] === {{w|Asynchronous_I/O#Forms|Non-blocking I/O}} === Allow non-blocking access to multiple file descriptors. '''Efficient event polling {{w|epoll}}''' ⚲ API: : {{The Linux Kernel/include|uapi/linux/eventpoll.h}} : {{The Linux Kernel/man|7|epoll}} : {{The Linux Kernel/man|2|epoll_create}} ↪ {{The Linux Kernel/id|do_epoll_create}} : {{The Linux Kernel/man|2|epoll_ctl}} ↪ {{The Linux Kernel/id|do_epoll_ctl}} : {{The Linux Kernel/man|2|epoll_wait}} ↪ {{The Linux Kernel/id|do_epoll_wait}} ⚙️ Internals: : {{The Linux Kernel/source|fs/eventpoll.c}} &ndash; efficient event polling (epoll) '''{{w|Select (Unix)|select}} and {{w|poll (Unix)|poll}}''' 💾 ''Historical: Select and poll system calls are derived from UNIX'' ⚲ API: : {{The Linux Kernel/man|2|poll}} ↪ {{The Linux Kernel/id|do_sys_poll}} : {{The Linux Kernel/man|2|select}} ↪ {{The Linux Kernel/id|kern_select}} ⚙️ Internals: : {{The Linux Kernel/source|fs/select.c}} &ndash; select and poll implementation === Vectored I/O === 🚀 advanced feature {{w|Vectored I/O}}, also known as scatter/gather I/O, is a method of input and output by which a single procedure call sequentially reads data from multiple buffers and writes it to a single data stream, or reads data from a data stream and writes it to multiple buffers, as defined in a vector of buffers. Scatter/gather refers to the process of gathering data from, or scattering data into, the given set of buffers. Vectored I/O can operate synchronously or asynchronously. The main reasons for using vectored I/O are efficiency and convenience. ⚲ API: : {{The Linux Kernel/include|uapi/linux/uio.h}} : {{The Linux Kernel/include|linux/uio.h}} : {{The Linux Kernel/id|iovec}} : {{The Linux Kernel/man|2|readv}} ↪ {{The Linux Kernel/id|do_readv}} : {{The Linux Kernel/man|2|writev}} ↪ {{The Linux Kernel/id|do_writev}} ⚙️ Internals: : {{The Linux Kernel/id|iov_iter}} : {{The Linux Kernel/id|do_readv}} ↯ call hierarchy: :: {{The Linux Kernel/id|vfs_readv}} ::: {{The Linux Kernel/id|import_iovec}} ::: {{The Linux Kernel/id|ext4_file_read_iter}} : {{The Linux Kernel/source|lib/iov_iter.c}} &ndash; I/O vector iterator operations === ... === 📖 References : [https://www.gnu.org/software/libc/manual/html_node/Scatter_002dGather.html Fast Scatter-Gather I/O, The GNU C Library] : https://lwn.net/Kernel/Index/#Vectored_IO : https://lwn.net/Kernel/Index/#Scattergather_chaining 📚 Further reading : https://deepwiki.com/torvalds/linux/4-filesystems == Virtual File System == The {{w|virtual file system}} (VFS) is an abstract layer on top of a concrete logical file system. The purpose of a VFS is to allow client applications to access different types of logical file systems in a uniform way. A VFS can, for example, be used to access local and [[../Networking#Network_storage|network storage]] devices transparently without the client application noticing the difference. It can be used to bridge the differences in Windows, classic Mac OS/macOS and Unix filesystems, so that applications can access files on local file systems of those types without having to know what type of file system they are accessing. A VFS specifies an interface (or a "contract") between the kernel and a logical file system. Therefore, it is easy to add support for new file system types to the kernel simply by fulfilling the contract. 🔧 TODO: {{The Linux Kernel/id|vfsmount}}, {{The Linux Kernel/id|vfs_create}}, {{The Linux Kernel/id|vfs_read}}, {{The Linux Kernel/id|vfs_write}} ⚙️ Internals: : {{The Linux Kernel/source|fs/inode.c}} &ndash; inode allocation and management : {{The Linux Kernel/include|linux/dcache.h}}, {{The Linux Kernel/source|fs/dcache.c}} &ndash; dentry cache, pathname-to-inode lookup : {{The Linux Kernel/source|fs/super.c}} &ndash; superblock operations, filesystem mount/unmount : {{The Linux Kernel/include|linux/file.h}}, {{The Linux Kernel/source|fs/file.c}} &ndash; file table, fd allocation : {{The Linux Kernel/include|linux/mount.h}} &ndash; filesystem mount structures : {{The Linux Kernel/include|linux/fs_context.h}} &ndash; filesystem mount context (replaces old mount API) : {{The Linux Kernel/source|fs/readdir.c}} &ndash; directory listing (getdents) 📚 VFS References : {{The Linux Kernel/doc|VFS|filesystems/#core-vfs-documentation}} : [https://tldp.org/LDP/lki/lki-3.html VFS in Linux Kernel 2.4 Internals] == Logical file systems == A {{w|file system}} (or ''filesystem'') is used to control how data is stored and retrieved. Without a file system, information placed in a storage area would be one large body of data with no way to tell where one piece of information stops and the next begins. By separating the data into individual pieces, and giving each piece a name, the information is easily separated and identified. Each group of data is called a "file". The structure and logic rules used to manage the groups of information and their names is called a "file system". There are many different kinds of file systems. Each one has different structure and logic, properties of speed, flexibility, security, size and more. Some file systems have been designed to be used for specific applications. For example, the ISO 9660 file system is designed specifically for optical discs. File systems can be used on many different kinds of storage devices. Each storage device uses a different kind of media. The most common storage device in use today is a {{w|SSD}}. Other media that was used are hard disk, magnetic tape and optical disc. In some cases, the computer's main memory (RAM) is used to create a temporary file system for short-term use. Raw storage is called a block device. Linux supports many different file systems, but common choices for the system disk on a block device include the ext* family (such as {{w|ext2}}, {{w|ext3}} and {{w|ext4}}), {{w|XFS}}, {{w|ReiserFS}} and {{w|btrfs}}. For raw Flash without a {{w|flash translation layer}} (FTL) or {{w|Memory Technology Device}} (MTD), there is {{w|UBIFS}}, {{w|JFFS2}}, and {{w|YAFFS}}, among others. {{w|SquashFS}} is a common compressed read-only file system. NFS and other network FS are described further in paragraph [[../Networking#Network_storage|Network storage]]. ⚲ Shell interfaces: : cat /proc/filesystems : ls /sys/fs/ : {{The Linux Kernel/man|8|mount}} : {{The Linux Kernel/man|8|umount}} : {{The Linux Kernel/man|8|findmnt}} : {{The Linux Kernel/man|1|mountpoint}} : {{The Linux Kernel/man|1|df}} Infrastructure ⚲ API function {{The Linux Kernel/id|register_filesystem}} registers structs {{The Linux Kernel/id|file_system_type}} and stores them in linked list ⚙️ {{The Linux Kernel/id|file_systems}}. Function {{The Linux Kernel/id|ext4_init_fs}} registers {{The Linux Kernel/id|ext4_fs_type}}. Operation of ''file system opening'' is called mounting: {{The Linux Kernel/id|ext4_get_tree}} ⚙️ Internals: : {{The Linux Kernel/source|fs/namespace.c}} &ndash; mount and namespace operations :: {{The Linux Kernel/man|2|mount}} ::: {{The Linux Kernel/id|do_mount}} : {{The Linux Kernel/include|linux/buffer_head.h}} :: {{The Linux Kernel/id|super_block}} :: {{The Linux Kernel/id|sb_bread}} : {{The Linux Kernel/source|fs}} &ndash; filesystem implementations :: {{The Linux Kernel/source|fs/ext4/ext4.h}} &ndash; ext4 on-disk format and internal structures ::: {{The Linux Kernel/id|ext4_sb_bread}} Other notable filesystems: : {{w|FUSE (filesystem)|FUSE}} &ndash; {{The Linux Kernel/source|fs/fuse}} &ndash; filesystem in userspace : {{w|OverlayFS}} &ndash; {{The Linux Kernel/source|fs/overlayfs}} &ndash; union mount filesystem, used by containers : {{w|Btrfs}} &ndash; {{The Linux Kernel/source|fs/btrfs}} : {{w|XFS}} &ndash; {{The Linux Kernel/source|fs/xfs}} 📚 References: : {{The Linux Kernel/doc|filesystems|filesystems/#filesystems}} == Page cache == A page cache or disk cache is a transparent cache for the memory pages originating from a secondary storage device such as a hard disk drive. The operating system keeps a page cache in otherwise unused portions of the main memory, resulting in quicker access to the contents of cached pages and overall performance improvements. The page cache is implemented by the kernel, and is mostly transparent to applications. Usually, all physical memory not directly allocated to applications is used by the operating system for the page cache. Since the memory would otherwise be idle and is easily reclaimed when applications request it, there is generally no associated performance penalty and the operating system might even report such memory as "free" or "available". The page cache also aids in writing to a disk. Pages in the main memory that have been modified during writing data to disk are marked as "dirty" and have to be flushed to disk before they can be freed. When a file write occurs, the page backing the particular block is looked up. If it is already found in the page cache, the write is done to that page in the main memory. Otherwise, when the write perfectly falls on page size boundaries, the page is not even read from disk, but allocated and immediately marked dirty. Otherwise, the page(s) are fetched from disk and requested modifications are done. Not all cached pages can be written to as program code is often mapped as read-only or copy-on-write; in the latter case, modifications to code will only be visible to the process itself and will not be written to disk. ⚲ API: : {{The Linux Kernel/man|2|fsync}} ↪ {{The Linux Kernel/id|do_fsync}} : {{The Linux Kernel/man|2|sync_file_range}} ↪ {{The Linux Kernel/id|ksys_sync_file_range}} : {{The Linux Kernel/man|2|syncfs}} ↪ {{The Linux Kernel/id|sync_filesystem}} : {{The Linux Kernel/man|2|sync}} ↪ {{The Linux Kernel/id|ksys_sync}} &ndash; flush all filesystem caches to disk ⚙️ Internals: : {{The Linux Kernel/include|linux/pagemap.h}}, {{The Linux Kernel/source|mm/filemap.c}} &ndash; page cache core, read/write/mmap paths : {{The Linux Kernel/include|linux/buffer_head.h}}, {{The Linux Kernel/source|fs/buffer.c}} &ndash; buffer heads, block-level page cache interface : {{The Linux Kernel/include|linux/writeback.h}}, {{The Linux Kernel/source|mm/page-writeback.c}} &ndash; dirty page writeback throttling : {{The Linux Kernel/id|address_space}} &ndash; per-inode page cache, defined in {{The Linux Kernel/include|linux/fs.h}} : {{The Linux Kernel/include|linux/backing-dev.h}} &ndash; backing device info, writeback bandwidth : {{The Linux Kernel/id|wb_workfn}}, {{The Linux Kernel/id|do_writepages}} 📚 References : {{w|Page cache}} More : [https://lwn.net/Articles/717953/ The future of DAX ] - direct access bypassing the cache : [https://tldp.org/LDP/lki/lki-4.html Linux Page Cache in Linux Kernel 2.4 Internals] == Zero-copy == 🚀 advanced features Writing data to storage and reading are very resource consuming operations. Copying memory is time and CPU consuming operation too. Set of methods to avoid copying operations is called {{w|zero-copy}}. The goal of zero-copy methods is a fast and efficient data transfer within the system. The first and simplest method is {{w|Pipeline (Unix)|Pipeline}}, invoked by operator "|" in shells. Instead of writing data into temporary file and reading, the data is passed efficiently via a pipe bypassing a storage. The second method is {{w|Tee_(command)|tee}}. ⚲ Syscalls: : {{The Linux Kernel/man|2|pipe2}} : {{The Linux Kernel/man|2|tee}}, {{The Linux Kernel/man|1|tee}} : {{The Linux Kernel/man|2|sendfile}} : {{The Linux Kernel/man|2|copy_file_range}} : {{The Linux Kernel/man|2|splice}} : {{The Linux Kernel/man|2|vmsplice}} ⚲ API and ⚙️ Internals: : '''{{The Linux Kernel/man|2|pipe2}}''' ↪ {{The Linux Kernel/id|do_pipe2}} - creates pipe :: uses {{The Linux Kernel/id|pipe_fs_type}}, {{The Linux Kernel/id|pipefifo_fops}} : '''{{The Linux Kernel/man|2|tee}}''' ↪ {{The Linux Kernel/id|do_tee}} - duplicates pipe content :: calls {{The Linux Kernel/id|link_pipe}} : '''{{The Linux Kernel/man|2|sendfile}}''' ↪ {{The Linux Kernel/id|do_sendfile}} - transfers data between file descriptors, the output can be a socket. Used in [[../Networking#Network_storage|network storage]] and servers. :: Calls: {{The Linux Kernel/id|do_splice_direct}}, {{The Linux Kernel/id|splice_direct_to_actor}} : '''{{The Linux Kernel/man|2|copy_file_range}}''' ↪ {{The Linux Kernel/id|vfs_copy_file_range}} - transfers data between files :: calls custom {{The Linux Kernel/id|remap_file_range}} like {{The Linux Kernel/id|nfs42_remap_file_range}} :: or custom {{The Linux Kernel/id|copy_file_range}} like {{The Linux Kernel/id|fuse_copy_file_range}} :: or {{The Linux Kernel/id|do_splice_direct}} : '''{{The Linux Kernel/man|2|splice}}''' ↪ {{The Linux Kernel/id|do_splice}} - splices data to/from a pipe. :: There are three cases regarding which end being a pipe: :# {{The Linux Kernel/id|do_splice_from}} - pipe → file :#: Calls custom {{The Linux Kernel/id|splice_write}} or {{The Linux Kernel/id|iter_file_splice_write}} :# {{The Linux Kernel/id|do_splice_read}} - file → pipe :#: Calls custom {{The Linux Kernel/id|splice_read}} or {{The Linux Kernel/id|copy_splice_read}} :# {{The Linux Kernel/id|splice_pipe_to_pipe}} - both are pipes : '''{{The Linux Kernel/man|2|vmsplice}}''' ↪ :: {{The Linux Kernel/id|vmsplice_to_pipe}} &ndash; splices user pages to a pipe :: {{The Linux Kernel/id|vmsplice_to_user}} &ndash; splices a pipe to user pages ⚲ API : {{The Linux Kernel/include|linux/splice.h}} ⚙️ Internals: : {{The Linux Kernel/source|fs/pipe.c}} &ndash; pipe and FIFO implementation : {{The Linux Kernel/source|fs/splice.c}} &ndash; splice data transfer between file descriptors 🔨 [https://manpages.ubuntu.com/manpages/resolute/man1/stress-ng.1.html#:~:text=%2D%2Dsplice stress-ng --splice], [https://manpages.ubuntu.com/manpages/resolute/man1/stress-ng.1.html#:~:text=%2D%2Dsendfile --sendfile] 🔧 TODO: {{The Linux Kernel/id|zerocopy_sg_from_iter}} builds a zerocopy skb datagram from an iov_iter. Used in {{The Linux Kernel/id|tap_get_user}} and {{The Linux Kernel/id|tun_get_user}}. {{The Linux Kernel/id|skb_zerocopy}} {{The Linux Kernel/id|skb_zerocopy_iter_dgram}} 📚 References : {{The Linux Kernel/man|7|pipe}} : {{The Linux Kernel/man|7|fifo}} : {{The Linux Kernel/doc|splice and pipes|filesystems/splice.html}} :: {{The Linux Kernel/doc|Pipes API|filesystems/splice.html#pipes-api}} : {{w|splice (system call)}} : LTP: {{The Linux Kernel/ltp|kernel/syscalls|pipe}}, {{The Linux Kernel/ltp|kernel/syscalls|pipe2}}, {{The Linux Kernel/ltp|kernel/syscalls|tee}}, {{The Linux Kernel/ltp|kernel/syscalls|sendfile}}, {{The Linux Kernel/ltp|kernel/syscalls|copy_file_range}}, {{The Linux Kernel/ltp|kernel/syscalls|splice}}, {{The Linux Kernel/ltp|kernel/syscalls|vmsplice}} == Block device layer == The block device layer in Linux provides an abstraction for accessing storage devices, such as SSDs and USB drives, by presenting them as a series of fixed-size blocks. It sits between the hardware and the file system, allowing applications and file systems to perform read and write operations efficiently without needing to know the specifics of the underlying hardware. Key components include block drivers, the I/O scheduler, and buffer management, which work together to handle requests, optimize access patterns, and ensure data integrity. This layer supports essential features like caching, partition management, and queueing mechanisms to balance performance and reliability. ⚲ Shell interfaces: : {{The Linux Kernel/man|8|blkid}} &ndash; locate/print block device attributes (UUID, TYPE, LABEL) : {{The Linux Kernel/man|8|lsblk}} &ndash; list block devices in a tree with size, type, mountpoint : {{The Linux Kernel/man|8|blockdev}} --report &ndash; read-ahead, sector size, read-only state per device : /proc/partitions &ndash; major, minor, blocks, name of each block device : /proc/diskstats &ndash; I/O statistics per disk and partition : /sys/block/$dev/queue/scheduler &ndash; active and available I/O schedulers : [https://github.com/sosreport/sos/blob/main/sos/report/plugins/block.py sos block plugin] &ndash; diagnostics collection for block devices ⚲ Interfaces: : {{The Linux Kernel/include|linux/blk_types.h}} :: {{The Linux Kernel/id|bio}} &ndash; main unit of I/O for the block layer and lower layers :: {{The Linux Kernel/id|req_op}} &ndash; operations common to the bio and request structures : {{The Linux Kernel/include|linux/bio.h}} : {{The Linux Kernel/id|block_device}} :: {{The Linux Kernel/id|block_size}} : {{The Linux Kernel/id|blk_alloc_disk}} allocates {{The Linux Kernel/id|gendisk}} : {{The Linux Kernel/id|add_disk}} :: {{The Linux Kernel/id|device_add_disk}} : {{The Linux Kernel/id|block_device_operations}} : {{The Linux Kernel/include|linux/blkdev.h}} :: {{The Linux Kernel/id|gendisk}} ::: {{The Linux Kernel/id|dev_to_disk}}, {{The Linux Kernel/id|disk_to_dev}} :: {{The Linux Kernel/id|block_class}} &ndash; block devices Driver Model class :: {{The Linux Kernel/id|register_blkdev}} :: {{The Linux Kernel/id|request}} :: {{The Linux Kernel/id|request_queue}} ⚙️ Internals. : {{The Linux Kernel/source|block}} &ndash; block layer core : {{The Linux Kernel/source|fs/iomap}} &ndash; modern filesystem I/O mapping layer (used by xfs, ext4, btrfs) : {{The Linux Kernel/id|block_class}} 👁 Examples: : {{The Linux Kernel/source|drivers/block/brd.c}} - small RAM backed block device driver : {{The Linux Kernel/source|drivers/block/null_blk}} &ndash; null block test device 🔨 [https://manpages.ubuntu.com/manpages/resolute/man1/stress-ng.1.html#:~:text=%2D%2Dhdd stress-ng --hdd], [https://manpages.ubuntu.com/manpages/resolute/man1/stress-ng.1.html#:~:text=%2D%2Diomix --iomix], [https://manpages.ubuntu.com/manpages/resolute/man1/stress-ng.1.html#:~:text=%2D%2Dseek --seek] === Device mapper === The ''device mapper'' is a framework provided by the kernel for mapping physical block devices onto higher-level "virtual block devices". It forms the foundation of LVM2, software RAIDs and dm-crypt disk encryption, and offers additional features such as file system snapshots. Device mapper works by passing data from a virtual block device, which is provided by the device mapper itself, to another block device. Data can be also modified in transition, which is performed, for example, in the case of device mapper providing disk encryption. User space applications that need to create new mapped devices talk to the device mapper via the <code>libdevmapper.so</code> shared library, which in turn issues ioctls to the <code>/dev/mapper/control</code> device node. Functions provided by the device mapper include linear, striped and error ''mappings,'' as well as crypt and multipath ''targets.'' For example, two disks may be concatenated into one logical volume with a pair of ''linear'' mappings, one for each disk. As another example, ''crypt'' target encrypts the data passing through the specified device, by using the Linux kernel's Crypto API. The following mapping targets are available: : ''cache'' - allows the creation of hybrid volumes, by using solid-state drives (SSDs) as caches for hard disk drives (HDDs) : ''crypt'' - provides data encryption, by using the Linux kernel's Crypto API : ''delay'' - delays reads and/or writes to different devices (used for testing) : ''era'' - behaves in a way similar to the linear target, while it keeps track of blocks that were written to within a user-defined period of time : ''error'' - simulates I/O errors for all mapped blocks (used for testing) : ''flakey'' - simulates periodic unreliable behaviour (used for testing) : ''linear'' - maps a continuous range of blocks onto another block device : ''mirror'' - maps a mirrored logical device, while providing data redundancy : ''multipath'' - supports the mapping of multipathed devices, through usage of their path groups : ''raid'' - offers an interface to the Linux kernel's software RAID driver (md) : ''snapshot'' and ''snapshot-origin'' - used for creation of LVM snapshots, as part of the underlining copy-on-write scheme : ''striped'' - strips the data across physical devices, with the number of stripes and the striping chunk size as parameters : ''zero'' - an equivalent of <code>/dev/zero</code>, all reads return blocks of zeros, and writes are discarded 📚 References : {{w|Device mapper}} : {{The Linux Kernel/doc|Device mapper|admin-guide/device-mapper}} : {{The Linux Kernel/include|linux/device-mapper.h}} : {{The Linux Kernel/source|drivers/md}} &ndash; device mapper and software RAID : https://lwn.net/Kernel/Index/#Device_mapper === Multi-Queue Block IO Queueing === The blk-mq API enhances IO performance by leveraging multiple queues for parallel processing, addressing bottlenecks from traditional single-queue designs. It uses software queues for scheduling, merging, and reordering requests, and hardware queues to interface directly with devices. If hardware resources are limited, requests are temporarily queued for later dispatch. ⚲ Interfaces: : /sys/devices/.../mq/ : {{The Linux Kernel/include|linux/blk-mq.h}} :: Structures: ::: {{The Linux Kernel/id|blk_mq_hw_ctx}} &ndash; hardware dispatch queue context ::: {{The Linux Kernel/id|blk_mq_tag_set}} &ndash; shared between request queues :::: {{The Linux Kernel/id|blk_mq_ops}} :::: {{The Linux Kernel/id|blk_mq_tags}} :::: {{The Linux Kernel/id|blk_mq_queue_map}} &ndash; map software queues to hardware queues ::: {{The Linux Kernel/id|request}} 👁️ Example : {{The Linux Kernel/source|drivers/block/null_blk}} &ndash; multi-queue aware block test driver ⚙️ Internals : /sys/kernel/debug/block/*/hctx* : {{The Linux Kernel/source|block/blk-mq.h}} &ndash; blk-mq internal definitions :: {{The Linux Kernel/id|blk_mq_ctx}} &ndash; software staging queue context : {{The Linux Kernel/source|block/blk-mq.c}} &ndash; block multi-queue core code : {{The Linux Kernel/source|block/blk-mq-tag.c}} &ndash; tag allocation using scalable bitmaps : ... 📖 References : {{The Linux Kernel/doc|Multi-Queue Block IO Queueing Mechanism (blk-mq)|block/blk-mq.html}} === I/O scheduler === I/O scheduling (or disk scheduling) is the method chosen by the kernel to decide in which order the block I/O operations will be submitted to the storage volumes. I/O scheduling usually has to work with hard disk drives that have long access times for requests placed far away from the current position of the disk head (this operation is called a seek). To minimize the effect this has on system performance, most I/O schedulers implement a variant of the elevator algorithm that reorders the incoming randomly ordered requests so the associated data would be accessed with minimal arm/head movement. The particular I/O scheduler used with certain block device can be switched at run time by modifying the corresponding <code>/sys/block/<block_device>/queue/scheduler</code> file in the sysfs filesystem. Some I/O schedulers also have tunable parameters that can be set through files in <code>/sys/block/<block_device>/queue/iosched/</code>. ⚲ Interfaces: : {{The Linux Kernel/man|1|ionice}} &ndash; set or get process I/O scheduling class and priority :: {{The Linux Kernel/man|2|ioprio_get}}, ioprio_set : {{The Linux Kernel/include|linux/elevator.h}} : Function {{The Linux Kernel/id|elv_register}} registers struct {{The Linux Kernel/id|elevator_type}}. : {{The Linux Kernel/id|elevator_queue}} ⚙️ Internals: : {{The Linux Kernel/source|block/ioprio.c}} &ndash; I/O priority system call : {{The Linux Kernel/source|block/elevator.c}} &ndash; I/O scheduler framework : {{The Linux Kernel/source|block/Kconfig.iosched}} &ndash; I/O scheduler Kconfig options : {{The Linux Kernel/source|block/bfq-iosched.c}} &ndash; Budget Fair Queueing scheduler : {{The Linux Kernel/source|block/kyber-iosched.c}} &ndash; Kyber multiqueue scheduler : {{The Linux Kernel/source|block/mq-deadline.c}} &ndash; deadline multiqueue scheduler : {{The Linux Kernel/include|trace/events/block.h}} 📖 References: : {{w|I/O scheduling}} : {{w|Elevator algorithm}} : {{The Linux Kernel/doc|Switching Scheduler|block/switching-sched.html}} : {{The Linux Kernel/doc|BFQ - Budget Fair Queueing|block/bfq-iosched.html}} : {{The Linux Kernel/doc|Deadline IO scheduler tunables|deadline-iosched.html}} : https://www.cloudbees.com/blog/linux-io-scheduler-tuning/ : https://wiki.ubuntu.com/Kernel/Reference/IOSchedulers === ... === 📖 References : {{The Linux Kernel/doc|Block devices|block}} :: {{The Linux Kernel/doc|Switching Scheduler|block/switching-sched.html}} ::: {{The Linux Kernel/doc|BFQ - Budget Fair Queueing|block/bfq-iosched.html}} ::: {{The Linux Kernel/doc|Deadline IO scheduler tunables|block/deadline-iosched.html}} ::: {{The Linux Kernel/doc|Kyber I/O scheduler tunables|block/kyber-iosched.html}} :: {{The Linux Kernel/doc|Multi-Queue Block IO Queueing Mechanism (blk-mq)|block/blk-mq.html}} 📚 Further reading : /sys/kernel/debug/block/*/ : https://lwn.net/Kernel/Index/#Block_layer : [https://lore.kernel.org/linux-block/ block devices ML] : [https://sysprog21.github.io/lkmpg/#block-drivers LKMPG: Block Drivers] : [http://lwn.net/images/pdf/LDD3/ch16.pdf LDD3:Block Drivers] : [http://www.xml.com/ldd/chapter/book/ch12.html LDD1:Loading Block Drivers] : [https://www.oreilly.com/library/view/understanding-the-linux/0596005652/ch14.html ULK3 Chapter 14. Block Device Drivers] : [https://sg.danny.cz/sg/The Linux SCSI Generic (sg) Driver] :: [https://sg.danny.cz/sg/scsi_debug.html Scsi_debug adapter driver for Linux] :: https://github.com/doug-gilbert/sg3_utils == {{w|Computer data storage|Storage}} drivers == 🔧 TODO ⚲ Shell interfaces: : [https://man.archlinux.org/man/lsscsi.8 lsscsi] &ndash; list SCSI devices and hosts : [https://sg.danny.cz/sg/sg3_utils.html sg_inq] &ndash; SCSI INQUIRY, device identification : /sys/class/scsi_host/, /sys/class/scsi_disk/ &ndash; SCSI sysfs attributes : /proc/scsi/ &ndash; SCSI subsystem info : [https://github.com/sosreport/sos/blob/main/sos/report/plugins/scsi.py sos scsi plugin], [https://github.com/sosreport/sos/blob/main/sos/report/plugins/nvme.py nvme plugin] &ndash; diagnostics collection ⚙️ Internals : {{The Linux Kernel/source|drivers/nvmem}} &ndash; {{w|Non-volatile memory}} : {{The Linux Kernel/source|drivers/sdio}} &ndash; {{w|Secure Digital#SDIO cards|Secure Digital Input Output}} : {{The Linux Kernel/source|drivers/scsi}} &ndash; {{w|SCSI|Small Computer System Interface}}, {{The Linux Kernel/doc|SCSI|scsi}} : {{The Linux Kernel/source|drivers/virtio}} &ndash; virtio guest drivers : {{The Linux Kernel/source|drivers/mtd}} &ndash; {{w|Memory Technology Device}} for 🤖 embedded devices === NVMe === {{w|NVM Express}} drivers provide accesses a computer's {{w|non-volatile storage}}. Local storage is attached via {{w|PCIe|PCI Express}} bus. PCI NVMe device driver entry point is {{The Linux Kernel/id|nvme_init}}. Remote storage driver is called target and local {{w|Proxy_pattern|proxy}} driver is called host. {{w|Switched fabric|Fabrics}} connect remote targets with local host. A fabric can be based on {{w|Remote direct memory access|RDMA}}, {{w|Transmission Control Protocol|TCP}} or {{w|Fibre Channel}} protocols. 📖 References: : {{The Linux Kernel/doc|NVMe|nvme}} ⚲ API: : [https://github.com/linux-nvme/nvme-cli nvme-cli] &ndash; nvme list, nvme smart-log, nvme id-ctrl, nvme error-log : /sys/class/nvme-generic/ &ndash; char device access to NVMe namespaces (since 5.15) : /sys/class/nvme-subsystem/ &ndash; NVMe subsystem topology : /sys/class/nvme-fabrics/ &ndash; NVMe over Fabrics controllers (only with remote NVMe targets) : /sys/module/nvme_core/parameters/ &ndash; NVMe core module tunables : {{The Linux Kernel/include|uapi/linux/nvme_ioctl.h}} : {{The Linux Kernel/include|linux/nvme.h}} ⚙️ '''Internals:''' : {{The Linux Kernel/source|drivers/nvme}} &ndash; NVMe drivers '''Host''' {{The Linux Kernel/source|drivers/nvme/host}}: ⚲ Interfaces: : {{The Linux Kernel/source|drivers/nvme/host/nvme.h}} &ndash; NVMe host common definitions :: {{The Linux Kernel/id|nvme_init_ctrl}} initializes a NVMe controller structures {{The Linux Kernel/id|nvme_ctrl}} with operations {{The Linux Kernel/id|nvme_ctrl_ops}} ::: a subroutine of {{The Linux Kernel/id|nvme_scan_work}} adds a new disk with {{The Linux Kernel/id|device_add_disk}} : {{The Linux Kernel/id|nvme_init}} - local PCI nvme module init :: {{The Linux Kernel/id|nvme_probe}} ::: {{The Linux Kernel/id|nvme_init_ctrl}} ... ::: {{The Linux Kernel/id|nvme_pci_ctrl_ops}} : {{The Linux Kernel/id|nvme_core_init}} - module init '''Fabrics''' ⚲ interfaces: : {{The Linux Kernel/source|drivers/nvme/host/fabrics.h}} &ndash; NVMe over Fabrics host common definitions :: {{The Linux Kernel/id|nvmf_register_transport}} registers {{The Linux Kernel/id|nvmf_transport_ops}} : {{The Linux Kernel/id|nvmf_init}} - fabrics module init ⚙️ internals: : {{The Linux Kernel/id|nvmf_init}} - fabrics module init :: {{The Linux Kernel/id|nvmf_misc}} ::: {{The Linux Kernel/id|nvmf_dev_fops}} :::: {{The Linux Kernel/id|nvmf_dev_write}} ::::: {{The Linux Kernel/id|nvmf_create_ctrl}} binds {{The Linux Kernel/id|nvmf_transport_ops}} '''Target''' {{The Linux Kernel/source|drivers/nvme/target}}: ⚲ Interfaces: {{The Linux Kernel/source|drivers/nvme/target/nvmet.h}} : {{The Linux Kernel/id|nvmet_register_transport}} registers {{The Linux Kernel/id|nvmet_fabrics_ops}} : {{The Linux Kernel/id|nvmet_init}} - module init : {{The Linux Kernel/id|fcloop_init}} - loopback test module init which can be useful to test NVMe-FC transport interfaces. {| class="wikitable" |- ! ! colspan="3" |NVMe over {{w|Switched fabric|Fabrics}} |- !<div style='text-align:left'>Layers</div> !{{w|Transmission Control Protocol|TCP}} ![[../Networking#RDMA|RDMA]] !{{w|Fibre Channel}} |- !<div style='text-align:left'>Host modules</div> |{{The Linux Kernel/id|nvme_tcp_init_module}} |{{The Linux Kernel/id|nvme_rdma_init_module}} |{{The Linux Kernel/id|nvme_fc_init_module}} |- !<div style='text-align:left'>Fabrics protocols</div> |{{The Linux Kernel/include|linux/nvme-tcp.h}} |{{The Linux Kernel/include|linux/nvme-rdma.h}} |{{The Linux Kernel/include|linux/nvme-fc.h}} {{The Linux Kernel/include|linux/nvme-fc-driver.h}} |- !<div style='text-align:left'>Target modules</div> |{{The Linux Kernel/id|nvmet_tcp_init}} |{{The Linux Kernel/id|nvmet_rdma_init}} |{{The Linux Kernel/id|nvmet_fc_init_module}} |} 👁 Example: {{The Linux Kernel/id|nvme_loop_init_module}} nvme loopback : {{The Linux Kernel/id|nvme_loop_transport}} - fabrics operations :: {{The Linux Kernel/id|nvme_loop_create_ctrl}} ::: {{The Linux Kernel/id|nvme_loop_create_io_queues}} : {{The Linux Kernel/id|nvme_loop_ops}} - target operation :: {{The Linux Kernel/id|nvme_loop_add_port}} :: {{The Linux Kernel/id|nvme_loop_queue_response}} == ... == 🚀 Advanced : {{The Linux Kernel/man|1|pidstat}} &ndash; reports task statistics : /proc/self/io &ndash; I/O statistics for the process (see {{The Linux Kernel/man|5|proc}}) 💾 Historical storage drivers : {{The Linux Kernel/source|drivers/ata}} - {{w|Parallel ATA}} 📖 Further reading about storage : [https://github.com/iovisor/bcc/blob/master/README.md#storage-and-filesystems-tools bcc/ebpf storage and filesystems tools] {{BookCat}} 3qr87po1532tu0rveqjlbfei5q6807r The Linux Kernel/Networking 0 226986 4654519 4641716 2026-07-15T07:54:17Z Conan 3188 sos/report/plugins/networking.py 4654519 wikitext text/x-wiki <noinclude>{{DISPLAYTITLE:Network functionality}}</noinclude> {|style="width: 25%; float: right; text-align:center;border-spacing: 0; color:black; margin:auto;" cellpadding=5pc ! bgcolor="#dff" |networking |- | bgcolor="#bff" |[[#Sockets|sockets access]] |- | bgcolor="#adf" |[[#Address_families|address families: inet, unix, ...]] |- | bgcolor="#9cd" |[[#Network_storage|network storage]] |- | bgcolor="#8bb" |[[#Protocols|protocols]] |- | bgcolor="#7a9" |[[#Network_device_interfaces|network interfaces]] |- | bgcolor="#798" |[[#Network_drivers|network drivers]] |} Linux kernel network functionality spans from sockets interface through protocols to network cards. ⚲ Shell interfaces: : {{The Linux Kernel/man|8|netstat}} prints network connections, routing tables, interface statistics and other details : {{The Linux Kernel/man|8|ip}} shows and configures routing, network devices, interfaces and tunnels : {{The Linux Kernel/man|8|ss}} - socket statistics utility == Sockets == ⚲ API: [https://man7.org/linux/man-pages/man0/sys_socket.h.0p.html sys/socket.h &ndash; main user mode sockets header] Basic common and client side interface: : {{The Linux Kernel/man|2|socket}} ↪ {{The Linux Kernel/id|__sys_socket}} creates an endpoint for communication : struct {{The Linux Kernel/id|sockaddr}} - abstract socket address : {{The Linux Kernel/man|2|connect}} ↪ {{The Linux Kernel/id|__sys_connect}}; : {{The Linux Kernel/man|2|shutdown}} shuts down part of a full-duplex connection : {{The Linux Kernel/man|2|send}} ↪ {{The Linux Kernel/id|__sys_sendto}} sends a message on a socket : {{The Linux Kernel/man|2|recv}} ↪ {{The Linux Kernel/id|__sys_recvfrom}}, {{The Linux Kernel/id|__sys_recvmsg}} receives a message from a socket : {{The Linux Kernel/man|2|setsockopt}}, {{The Linux Kernel/man|2|getsockopt}} ↪ {{The Linux Kernel/id|__sys_setsockopt}} &ndash; set/get socket options : {{The Linux Kernel/man|2|socketpair}} ↪ {{The Linux Kernel/id|__sys_socketpair}} &ndash; create a pair of connected sockets Additional server side interface: : {{The Linux Kernel/man|2|bind}} ↪ {{The Linux Kernel/id|__sys_bind}} - binds a sockaddr to a socket : {{The Linux Kernel/man|2|listen}} ↪ {{The Linux Kernel/id|__sys_listen}} - listens for connections on a socket : {{The Linux Kernel/man|2|accept}} ↪ {{The Linux Kernel/id|__sys_accept4}} - accepts a connection on a socket ⚙️ Internals : struct '''{{The Linux Kernel/id|socket}}''' @ {{The Linux Kernel/include|linux/net.h}} contains :: struct {{The Linux Kernel/id|proto_ops}} - abstract protocols interface :: struct {{The Linux Kernel/id|sock}} - network layer representation of sockets {{The Linux Kernel/include|net/sock.h}} : '''{{The Linux Kernel/id|__sys_socket}}''' ↯ call hierarchy: :: {{The Linux Kernel/id|sock_create}} ::: {{The Linux Kernel/id|__sock_create}} :::: {{The Linux Kernel/id|security_socket_create}} :::: {{The Linux Kernel/id|sock_alloc}} ::::: {{The Linux Kernel/id|net_proto_family}}->create. :::::: for example {{The Linux Kernel/id|inet_create}}. See [[#Address_families|Address families]] for other options. : '''{{The Linux Kernel/id|__sys_connect}}''' ↯ call hierarchy: :: {{The Linux Kernel/id|move_addr_to_kernel}} ::: {{The Linux Kernel/id|audit_sockaddr}} ::: {{The Linux Kernel/id|__sys_connect_file}} :::: {{The Linux Kernel/id|sock_from_file}} :::: {{The Linux Kernel/id|security_socket_connect}} :::: {{The Linux Kernel/id|proto_ops}}->connect. ::::: for example {{The Linux Kernel/id|inet_stream_connect}}. See [[#Protocols|Protocols]] for other options. : {{The Linux Kernel/source|net/socket.c}} &ndash; socket system calls implementation 📚 References : {{The Linux Kernel/man|7|socket}} : {{The Linux Kernel/include|linux/socket.h}} : {{w|Berkeley sockets}} 🔨 [https://manpages.ubuntu.com/manpages/resolute/man1/stress-ng.1.html#:~:text=%2D%2Dsock stress-ng --sock], [https://manpages.ubuntu.com/manpages/resolute/man1/stress-ng.1.html#:~:text=%2D%2Dsockpair --sockpair] == Network storage == 🚀 advanced topic 🔧 TODO ⚲ API: : {{The Linux Kernel/man|2|sendfile}} ↪ {{The Linux Kernel/id|do_sendfile}}. See also [[../Storage#Zero-copy|Zero-copy between file descriptors]] :{{w|Application layer|Application layer}}: {{w|Network File System}} : {{The Linux Kernel/doc|NFS|filesystems/nfs}}, {{The Linux Kernel/include|linux/nfs_fs.h}}, {{The Linux Kernel/source|fs/nfs}} :: {{The Linux Kernel/id|init_nfs_fs}}, {{The Linux Kernel/id|nfs4_fs_type}}, {{The Linux Kernel/id|nfs_fs_type}}, :: {{The Linux Kernel/id|init_nfsd}}, {{The Linux Kernel/id|nfsd_fs_type}} : {{The Linux Kernel/doc|CIFS|admin-guide/cifs}} :: {{The Linux Kernel/id|init_cifs}} :: {{The Linux Kernel/id|cifs_fs_type}}, {{The Linux Kernel/id|smb3_fs_type}} {{The Linux Kernel/id|cifs_smb3_do_mount}} : {{The Linux Kernel/doc|target and iSCSI Interfaces Guide|driver-api/target.html}} 📚 Further reading : https://deepwiki.com/torvalds/linux/4.3-network-filesystems-(cifssmb) == Transport and Network == === Names === ⚲ API: {{The Linux Kernel/man|2|uname}}, {{The Linux Kernel/man|2|sethostname}}, {{The Linux Kernel/man|2|gethostname}}, {{The Linux Kernel/man|2|setdomainname}} {{The Linux Kernel/man|2|getdomainname}} : ↪ {{The Linux Kernel/id|utsname}} ⚙️ Details : {{The Linux Kernel/id|utsname}} returns writable pointer to {{The Linux Kernel/id|new_utsname}} from {{The Linux Kernel/id|uts_namespace}} from {{The Linux Kernel/id|nsproxy}} from {{The Linux Kernel/id|current}} {{The Linux Kernel/id|task_struct}}. : {{The Linux Kernel/id|CLONE_NEWUTS}}, {{The Linux Kernel/id|setns}} : {{The Linux Kernel/source|kernel/utsname.c}} &ndash; UTS namespace management 📚 References: : {{The Linux Kernel/man|7|namespaces}} : {{The Linux Kernel/man|7|network_namespaces}} : {{The Linux Kernel/man|7|uts_namespaces}} === Address families === ⚲ API : {{The Linux Kernel/man|2|getsockname}} : {{The Linux Kernel/man|2|getpeername}} : Address Family (AF) <big>domain</big> defines address format and address length <big>socklen_t</big>. : {{The Linux Kernel/man|3|inet_ntop}}, {{The Linux Kernel/man|3|inet_pton}} (derive socklen_t from AF) Common AF: {{The Linux Kernel/id|AF_UNIX}}, {{The Linux Kernel/id|AF_INET}}, {{The Linux Kernel/id|AF_NETLINK}}. ''PF - Protocol Family index ({{The Linux Kernel/id|PF_MAX}}) actually is the same as Address Family index (AF).'' ⚙️ Internals of some AF : {{The Linux Kernel/man|7|unix}} ↪ {{The Linux Kernel/id|unix_family_ops}} - sockets for local IPC, {{The Linux Kernel/source|net/unix}} :: {{The Linux Kernel/id|unix_create}} : {{The Linux Kernel/man|7|ip}} ↪ {{The Linux Kernel/id|inet_family_ops}} - IPv4 :: {{The Linux Kernel/id|inet_create}} : {{The Linux Kernel/man|7|netlink}} ↪ {{The Linux Kernel/id|netlink_family_ops}} - communication between kernel and user space, {{The Linux Kernel/source|net/netlink}} :: {{The Linux Kernel/include|linux/netlink.h}}, {{The Linux Kernel/include|linux/rtnetlink.h}} &ndash; netlink and routing netlink messages :: {{The Linux Kernel/id|netlink_create}} :: 🔨 [https://manpages.ubuntu.com/manpages/resolute/man1/stress-ng.1.html#:~:text=%2D%2Dnetlink%2Dproc stress-ng --netlink-proc] : {{The Linux Kernel/man|7|vsock}} ↪ {{The Linux Kernel/id|vsock_family_ops}} - communication between VM and hypervisor :: {{The Linux Kernel/id|vsock_create}} : {{The Linux Kernel/man|7|packet}} ↪ {{The Linux Kernel/id|packet_family_ops}} - device level interface :: {{The Linux Kernel/id|packet_create}} : {{The Linux Kernel/id|bt_sock_family_ops}} - Bluetooth :: {{The Linux Kernel/id|bt_sock_create}} There are more than 40 AFs in total (see {{The Linux Kernel/id|AF_MAX}}) ⚙️ Internals : {{The Linux Kernel/id|sock_register}} - registers {{The Linux Kernel/id|net_proto_family}}. See references to this identifiers to find more than 30 protocol families. : {{The Linux Kernel/id|__sock_create}} 📚 Further reading : {{The Linux Kernel/man|8|ip-address}} &ndash; protocol address management : {{w|Internet layer}} : {{The Linux Kernel/man|7|address_families}} === Protocols === Each Protocol Family (PF, ''same index as Address Family AF'') consists of several protocol implementations. Directory /proc/net contains various files and subdirectories containing information about the networking layer. File /proc/net/protocols lists available and used protocols. In each PF protocols are classified to different types {{The Linux Kernel/id|sock_type}}, for example stream, datagram and raw socket. TCP is type of stream, UDP is type of datagram, raw and ping are type of raw. : {{The Linux Kernel/id|proto_register}} - registers struct {{The Linux Kernel/id|proto}} - protocol implementations: : In {{The Linux Kernel/id|inet_init}} initcall, {{The Linux Kernel/id|inetsw_array}}, {{The Linux Kernel/id|proto_ops}} and {{The Linux Kernel/id|proto}} : :: {{The Linux Kernel/id|inet_stream_ops}} & {{The Linux Kernel/id|tcp_prot}} {{The Linux Kernel/id|tcp_sendmsg}} ... :: {{The Linux Kernel/id|inet_dgram_ops}} & {{The Linux Kernel/id|udp_prot}} {{The Linux Kernel/id|udp_sendmsg}} ... :: {{The Linux Kernel/id|inet_sockraw_ops}} ::: {{The Linux Kernel/id|raw_prot}} {{The Linux Kernel/id|raw_sendmsg}} ... ::: {{The Linux Kernel/id|ping_prot}} {{The Linux Kernel/id|ping_v4_sendmsg}} ... : In {{The Linux Kernel/id|af_unix_init}} initcall: :: {{The Linux Kernel/id|unix_family_ops}} ::: {{The Linux Kernel/id|unix_create}} :::: {{The Linux Kernel/id|unix_stream_ops}} {{The Linux Kernel/id|unix_stream_sendmsg}} ... :::: {{The Linux Kernel/id|unix_dgram_ops}} {{The Linux Kernel/id|unix_dgram_sendmsg}} ... :::: {{The Linux Kernel/id|unix_seqpacket_ops}} {{The Linux Kernel/id|unix_seqpacket_sendmsg}} ... ⚙️ Internals: : {{The Linux Kernel/include|linux/in.h}}, {{The Linux Kernel/include|linux/ip.h}} &ndash; IPv4 address, protocol and header definitions : {{The Linux Kernel/source|net/ipv4}} &ndash; IPv4 protocol stack : {{The Linux Kernel/include|linux/ipv6.h}} &ndash; IPv6 definitions : {{The Linux Kernel/source|net/ipv6}} &ndash; IPv6 protocol stack : {{The Linux Kernel/source|net/tls}} &ndash; kernel TLS (since 4.13) : {{The Linux Kernel/source|net/xdp}} &ndash; {{w|Express Data Path}} fast packet processing (since 4.8) : {{The Linux Kernel/source|net/sched}} &ndash; traffic control and QoS 📚 References: : {{The Linux Kernel/man|7|tcp}} : {{The Linux Kernel/man|7|udp}} : {{The Linux Kernel/man|7|raw}} : {{The Linux Kernel/man|8|tc}} &ndash; traffic control : {{w|Transport layer}} and {{w|Transmission_Control_Protocol|TCP}} 🔨 [https://manpages.ubuntu.com/manpages/resolute/man1/stress-ng.1.html#:~:text=%2D%2Dudp stress-ng --udp], [https://manpages.ubuntu.com/manpages/resolute/man1/stress-ng.1.html#:~:text=%2D%2Dudp%2Dflood --udp-flood], [https://manpages.ubuntu.com/manpages/resolute/man1/stress-ng.1.html#:~:text=%2D%2Dsctp --sctp] === RDMA === 🚀 advanced topic 🗝️ Acronyms: : IB — {{w|InfiniBand}}, an interconnect standard, competes with {{w|Ethernet}}, {{w|Fibre Channel}} : IPoIB — IP network emulation layer over InfiniBand networks : SRP — {{w|SCSI RDMA Protocol}} : ULP — Upper-layer protocols : iSER — {{w|iSCSI Extensions for RDMA}} ⚲ Interfaces: : https://github.com/linux-rdma/rdma-core : {{The Linux Kernel/man|8|rdma}} : {{The Linux Kernel/man|7|rdma_cm}} — RDMA communication manager : {{The Linux Kernel/source|include/uapi/rdma}} &ndash; user-space RDMA API definitions : {{The Linux Kernel/source|include/rdma}} &ndash; kernel RDMA API definitions ⚙️ Internals: : {{The Linux Kernel/source|drivers/infiniband}} &ndash; InfiniBand core and drivers :: {{The Linux Kernel/source|drivers/infiniband/ulp}} — Upper-layer protocols :: {{The Linux Kernel/source|drivers/infiniband/sw}} — software drivers :: {{The Linux Kernel/source|drivers/infiniband/hw}} — hardware device drivers 📚 References: : {{The Linux Kernel/doc|InfiniBand|infiniband}} : {{The Linux Kernel/doc|InfiniBand and RDMA Interfaces|driver-api/infiniband.html}} == {{w|Netfilter}} == 🚀 advanced topic ⚲ Interface: : {{The Linux Kernel/man|8|ebtables-nft}} : {{The Linux Kernel/man|8|arptables-nft}} : {{The Linux Kernel/man|8|xtables-nft}} : {{The Linux Kernel/man|8|iptables}} : {{The Linux Kernel/man|8|ip6tables}} : {{The Linux Kernel/man|8|ebtables}} : {{The Linux Kernel/man|8|arptables}} : ipset : {{The Linux Kernel/include|linux/netfilter.h}} : {{The Linux Kernel/include|uapi/linux/netfilter}} : {{The Linux Kernel/include|net/netfilter}} : {{The Linux Kernel/include|net/netns/netfilter.h}} : {{The Linux Kernel/include|linux/netfilter}} : {{The Linux Kernel/include|linux/netfilter/x_tables.h}} &ndash; xtables match/target registration ⚙️ Internals: : {{The Linux Kernel/source|net/netfilter}} &ndash; packet filtering framework 📚 References: : {{The Linux Kernel/doc|Netfilter Sysfs variables|networking/netfilter-sysctl.html}} : {{The Linux Kernel/doc|Netfilter Conntrack Sysfs variables|networking/nf_conntrack-sysctl.html}} : {{The Linux Kernel/doc|Netfilter’s flowtable infrastructure|networking/nf_flowtable.html}} : {{w|nftables}} : https://wiki.nftables.org/ : https://lwn.net/Kernel/Index/#Networking-Packet_filtering == Network device {{w|Network interface|interfaces}} == ⚲ Interfaces : <code>ip -brief link show</code> : <code>ls -l /sys/class/net</code> : {{The Linux Kernel/id|devm_register_netdev}} registers {{The Linux Kernel/id|net_device}}, net_device_ops : {{The Linux Kernel/id|sk_buff}} socket buffer (skb) :: {{The Linux Kernel/id|dev_queue_xmit}} queues socket buffers into transmit queue : {{The Linux Kernel/include|linux/netdevice.h}} : {{The Linux Kernel/include|linux/skbuff.h}} : /sys/class/net/*/statistics/ &ndash; per-interface packet and byte counters : {{The Linux Kernel/man|8|devlink}} &ndash; manage switchdev, eswitch, shared buffers and firmware of network devices : {{The Linux Kernel/man|8|bridge}} &ndash; show/manipulate bridge forwarding, MAC and VLAN tables : [https://github.com/sosreport/sos/blob/main/sos/report/plugins/networking.py sos networking plugin] &ndash; diagnostics collection for network subsystem 👁 Example: {{The Linux Kernel/source|drivers/net/loopback.c}} - the most famous and simple interface '''lo''' ⚙️ Internals : {{The Linux Kernel/source|net/core/dev.c}} &ndash; network device operations core : function {{The Linux Kernel/id|loopback_xmit}} receives skb and passes it back with {{The Linux Kernel/id|netif_rx}} 🔨 [https://manpages.ubuntu.com/manpages/resolute/man1/stress-ng.1.html#:~:text=%2D%2Drawsock stress-ng --rawsock], [https://manpages.ubuntu.com/manpages/resolute/man1/stress-ng.1.html#:~:text=%2D%2Dicmp%2Dflood --icmp-flood] 📚 Further reading : {{The Linux Kernel/man|8|ip-link}} &ndash; network device configuration : {{The Linux Kernel/man|8|ip-stats}} &ndash; manage and show interface statistics : {{The Linux Kernel/man|7|netdevice}} &ndash; low-level access to Linux network devices : {{The Linux Kernel/man|7|packet}} &ndash; packet interface on device level : [https://www.coverfire.com/articles/queueing-in-the-linux-network-stack/ Queueing in the Linux Network Stack] 💾 Historical : [http://www.tldp.org/LDP/tlk/net/net.html LDP TLK Chapter 10 Networks] == Network drivers== : {{The Linux Kernel/include|linux/if_ether.h}} &ndash; IEEE 802.3 Ethernet constants and header :{{The Linux Kernel/include|linux/etherdevice.h}} : {{The Linux Kernel/id|netif_rx}} - before NAPI : {{The Linux Kernel/id|input_pkt_queue}} : {{w|New_API|NAPI}} : [https://wiki.linuxfoundation.org/networking/napi NAPI Driver design] :: ⚲ API: ::: {{The Linux Kernel/id|netif_napi_add}} adds {{The Linux Kernel/id|napi_struct}} ::: {{The Linux Kernel/id|napi_schedule}} - called by an IRQ handler to schedule a poll ::: {{The Linux Kernel/id|netif_receive_skb}} - instead netif_rx, finally calls {{The Linux Kernel/id|ip_rcv}} ::: {{The Linux Kernel/id|napi_complete_done}} - called from custom napi->poll() :: ⚙️ Internals: ::: {{The Linux Kernel/id|net_dev_init}} :::: {{The Linux Kernel/id|net_rx_action}} ::::: {{The Linux Kernel/id|napi_poll}} calls custom napi->poll() :: 👁 example ::: {{The Linux Kernel/id|e1000_intr}} calls {{The Linux Kernel/id|__napi_schedule}} ::: custom napi->poll() {{The Linux Kernel/id|e1000e_poll}} calls {{The Linux Kernel/id|napi_complete_done}} : {{The Linux Kernel/id|ether_setup}} setups Ethernet network device : 👁 An example of Ethernet driver: {{The Linux Kernel/id|e1000_probe}} ⚙️ Internals: : {{The Linux Kernel/source|drivers/net}} &ndash; network device drivers : {{The Linux Kernel/source|drivers/net/wireless}} &ndash; wireless drivers : {{The Linux Kernel/source|drivers/net/ethernet}} &ndash; Ethernet drivers : {{The Linux Kernel/source|net/wireless}} &ndash; cfg80211, wireless configuration API and userspace interface via {{The Linux Kernel/man|8|iw}} : {{The Linux Kernel/source|net/mac80211}} &ndash; mac80211, software 802.11 MAC layer used by most WiFi drivers : {{The Linux Kernel/source|net/bluetooth}} &ndash; {{w|Bluetooth}} protocol stack : {{The Linux Kernel/source|net/bridge}} &ndash; {{The Linux Kernel/doc|Ethernet bridging|networking/bridge.html}} 📚 References: : {{The Linux Kernel/man|8|ethtool}} &ndash; query or control network driver and hardware settings : [[w:Data link layer|Data link layer]]: [[w:Ethernet|Ethernet]] : [https://lwn.net/Articles/358910/ GRO - Generic Receive Offload] : {{The Linux Kernel/doc|Segmentation Offloads|networking/segmentation-offloads.html}} : https://wireless.wiki.kernel.org <hr> 📚 Further reading : [https://sysprog21.github.io/lkmpg/#network-drivers LKMPG: Network Drivers] 💾 ''Historical'': : [http://www.xml.com/ldd/chapter/book/ch14.html LDD2:Network Drivers] : [http://lwn.net/images/pdf/LDD3/ch17.pdf LDD3:Network Drivers] : [http://www.tldp.org/HOWTO/KernelAnalysis-HOWTO-8.html Kernel Analysis: Networking, 2003] : [https://web.archive.org/web/20111030030517/http://www.linuxfoundation.org/collaborate/workgroups/networking/networkoverview network_overview] 📖 Further reading about networking : {{The Linux Kernel/doc|Networking interfaces|subsystem-apis.html#networking-interfaces}} :: {{The Linux Kernel/doc|Networking|networking}} : https://lwn.net/Kernel/Index/#Networking : https://lartc.org/ &ndash; Linux Advanced Routing & Traffic Control : {{The Linux Kernel/man|8|ip}} &ndash; show / manipulate routing, network devices, interfaces and tunnels : {{The Linux Kernel/man|8|tc}} &ndash; show / manipulate traffic control settings : [https://github.com/iovisor/bcc/blob/master/README.md#network-and-sockets-tools bcc/ebpf networking tools] : [https://github.com/cilium/cilium eBPF-based Networking, Security, and Observability] : [https://retis.readthedocs.io/ Retis &ndash; tracing packets in the Linux networking stack & friends] {{BookCat}} fpjzbjm1qvnh26sgi5anqrqc75nr932 4654536 4654519 2026-07-15T10:17:45Z Conan 3188 TCP_NODELAY, TCP_CORK socket options 4654536 wikitext text/x-wiki <noinclude>{{DISPLAYTITLE:Network functionality}}</noinclude> {|style="width: 25%; float: right; text-align:center;border-spacing: 0; color:black; margin:auto;" cellpadding=5pc ! bgcolor="#dff" |networking |- | bgcolor="#bff" |[[#Sockets|sockets access]] |- | bgcolor="#adf" |[[#Address_families|address families: inet, unix, ...]] |- | bgcolor="#9cd" |[[#Network_storage|network storage]] |- | bgcolor="#8bb" |[[#Protocols|protocols]] |- | bgcolor="#7a9" |[[#Network_device_interfaces|network interfaces]] |- | bgcolor="#798" |[[#Network_drivers|network drivers]] |} Linux kernel network functionality spans from sockets interface through protocols to network cards. ⚲ Shell interfaces: : {{The Linux Kernel/man|8|netstat}} prints network connections, routing tables, interface statistics and other details : {{The Linux Kernel/man|8|ip}} shows and configures routing, network devices, interfaces and tunnels : {{The Linux Kernel/man|8|ss}} - socket statistics utility == Sockets == ⚲ API: [https://man7.org/linux/man-pages/man0/sys_socket.h.0p.html sys/socket.h &ndash; main user mode sockets header] Basic common and client side interface: : {{The Linux Kernel/man|2|socket}} ↪ {{The Linux Kernel/id|__sys_socket}} creates an endpoint for communication : struct {{The Linux Kernel/id|sockaddr}} - abstract socket address : {{The Linux Kernel/man|2|connect}} ↪ {{The Linux Kernel/id|__sys_connect}}; : {{The Linux Kernel/man|2|shutdown}} shuts down part of a full-duplex connection : {{The Linux Kernel/man|2|send}} ↪ {{The Linux Kernel/id|__sys_sendto}} sends a message on a socket : {{The Linux Kernel/man|2|recv}} ↪ {{The Linux Kernel/id|__sys_recvfrom}}, {{The Linux Kernel/id|__sys_recvmsg}} receives a message from a socket : {{The Linux Kernel/man|2|setsockopt}}, {{The Linux Kernel/man|2|getsockopt}} ↪ {{The Linux Kernel/id|__sys_setsockopt}} &ndash; set/get socket options : {{The Linux Kernel/man|2|socketpair}} ↪ {{The Linux Kernel/id|__sys_socketpair}} &ndash; create a pair of connected sockets Additional server side interface: : {{The Linux Kernel/man|2|bind}} ↪ {{The Linux Kernel/id|__sys_bind}} - binds a sockaddr to a socket : {{The Linux Kernel/man|2|listen}} ↪ {{The Linux Kernel/id|__sys_listen}} - listens for connections on a socket : {{The Linux Kernel/man|2|accept}} ↪ {{The Linux Kernel/id|__sys_accept4}} - accepts a connection on a socket ⚙️ Internals : struct '''{{The Linux Kernel/id|socket}}''' @ {{The Linux Kernel/include|linux/net.h}} contains :: struct {{The Linux Kernel/id|proto_ops}} - abstract protocols interface :: struct {{The Linux Kernel/id|sock}} - network layer representation of sockets {{The Linux Kernel/include|net/sock.h}} : '''{{The Linux Kernel/id|__sys_socket}}''' ↯ call hierarchy: :: {{The Linux Kernel/id|sock_create}} ::: {{The Linux Kernel/id|__sock_create}} :::: {{The Linux Kernel/id|security_socket_create}} :::: {{The Linux Kernel/id|sock_alloc}} ::::: {{The Linux Kernel/id|net_proto_family}}->create. :::::: for example {{The Linux Kernel/id|inet_create}}. See [[#Address_families|Address families]] for other options. : '''{{The Linux Kernel/id|__sys_connect}}''' ↯ call hierarchy: :: {{The Linux Kernel/id|move_addr_to_kernel}} ::: {{The Linux Kernel/id|audit_sockaddr}} ::: {{The Linux Kernel/id|__sys_connect_file}} :::: {{The Linux Kernel/id|sock_from_file}} :::: {{The Linux Kernel/id|security_socket_connect}} :::: {{The Linux Kernel/id|proto_ops}}->connect. ::::: for example {{The Linux Kernel/id|inet_stream_connect}}. See [[#Protocols|Protocols]] for other options. : {{The Linux Kernel/source|net/socket.c}} &ndash; socket system calls implementation 📚 References : {{The Linux Kernel/man|7|socket}} : {{The Linux Kernel/include|linux/socket.h}} : {{w|Berkeley sockets}} 🔨 [https://manpages.ubuntu.com/manpages/resolute/man1/stress-ng.1.html#:~:text=%2D%2Dsock stress-ng --sock], [https://manpages.ubuntu.com/manpages/resolute/man1/stress-ng.1.html#:~:text=%2D%2Dsockpair --sockpair] == Network storage == 🚀 advanced topic 🔧 TODO ⚲ API: : {{The Linux Kernel/man|2|sendfile}} ↪ {{The Linux Kernel/id|do_sendfile}}. See also [[../Storage#Zero-copy|Zero-copy between file descriptors]] :{{w|Application layer|Application layer}}: {{w|Network File System}} : {{The Linux Kernel/doc|NFS|filesystems/nfs}}, {{The Linux Kernel/include|linux/nfs_fs.h}}, {{The Linux Kernel/source|fs/nfs}} :: {{The Linux Kernel/id|init_nfs_fs}}, {{The Linux Kernel/id|nfs4_fs_type}}, {{The Linux Kernel/id|nfs_fs_type}}, :: {{The Linux Kernel/id|init_nfsd}}, {{The Linux Kernel/id|nfsd_fs_type}} : {{The Linux Kernel/doc|CIFS|admin-guide/cifs}} :: {{The Linux Kernel/id|init_cifs}} :: {{The Linux Kernel/id|cifs_fs_type}}, {{The Linux Kernel/id|smb3_fs_type}} {{The Linux Kernel/id|cifs_smb3_do_mount}} : {{The Linux Kernel/doc|target and iSCSI Interfaces Guide|driver-api/target.html}} 📚 Further reading : https://deepwiki.com/torvalds/linux/4.3-network-filesystems-(cifssmb) == Transport and Network == === Names === ⚲ API: {{The Linux Kernel/man|2|uname}}, {{The Linux Kernel/man|2|sethostname}}, {{The Linux Kernel/man|2|gethostname}}, {{The Linux Kernel/man|2|setdomainname}} {{The Linux Kernel/man|2|getdomainname}} : ↪ {{The Linux Kernel/id|utsname}} ⚙️ Details : {{The Linux Kernel/id|utsname}} returns writable pointer to {{The Linux Kernel/id|new_utsname}} from {{The Linux Kernel/id|uts_namespace}} from {{The Linux Kernel/id|nsproxy}} from {{The Linux Kernel/id|current}} {{The Linux Kernel/id|task_struct}}. : {{The Linux Kernel/id|CLONE_NEWUTS}}, {{The Linux Kernel/id|setns}} : {{The Linux Kernel/source|kernel/utsname.c}} &ndash; UTS namespace management 📚 References: : {{The Linux Kernel/man|7|namespaces}} : {{The Linux Kernel/man|7|network_namespaces}} : {{The Linux Kernel/man|7|uts_namespaces}} === Address families === ⚲ API : {{The Linux Kernel/man|2|getsockname}} : {{The Linux Kernel/man|2|getpeername}} : Address Family (AF) <big>domain</big> defines address format and address length <big>socklen_t</big>. : {{The Linux Kernel/man|3|inet_ntop}}, {{The Linux Kernel/man|3|inet_pton}} (derive socklen_t from AF) Common AF: {{The Linux Kernel/id|AF_UNIX}}, {{The Linux Kernel/id|AF_INET}}, {{The Linux Kernel/id|AF_NETLINK}}. ''PF - Protocol Family index ({{The Linux Kernel/id|PF_MAX}}) actually is the same as Address Family index (AF).'' ⚙️ Internals of some AF : {{The Linux Kernel/man|7|unix}} ↪ {{The Linux Kernel/id|unix_family_ops}} - sockets for local IPC, {{The Linux Kernel/source|net/unix}} :: {{The Linux Kernel/id|unix_create}} : {{The Linux Kernel/man|7|ip}} ↪ {{The Linux Kernel/id|inet_family_ops}} - IPv4 :: {{The Linux Kernel/id|inet_create}} : {{The Linux Kernel/man|7|netlink}} ↪ {{The Linux Kernel/id|netlink_family_ops}} - communication between kernel and user space, {{The Linux Kernel/source|net/netlink}} :: {{The Linux Kernel/include|linux/netlink.h}}, {{The Linux Kernel/include|linux/rtnetlink.h}} &ndash; netlink and routing netlink messages :: {{The Linux Kernel/id|netlink_create}} :: 🔨 [https://manpages.ubuntu.com/manpages/resolute/man1/stress-ng.1.html#:~:text=%2D%2Dnetlink%2Dproc stress-ng --netlink-proc] : {{The Linux Kernel/man|7|vsock}} ↪ {{The Linux Kernel/id|vsock_family_ops}} - communication between VM and hypervisor :: {{The Linux Kernel/id|vsock_create}} : {{The Linux Kernel/man|7|packet}} ↪ {{The Linux Kernel/id|packet_family_ops}} - device level interface :: {{The Linux Kernel/id|packet_create}} : {{The Linux Kernel/id|bt_sock_family_ops}} - Bluetooth :: {{The Linux Kernel/id|bt_sock_create}} There are more than 40 AFs in total (see {{The Linux Kernel/id|AF_MAX}}) ⚙️ Internals : {{The Linux Kernel/id|sock_register}} - registers {{The Linux Kernel/id|net_proto_family}}. See references to this identifiers to find more than 30 protocol families. : {{The Linux Kernel/id|__sock_create}} 📚 Further reading : {{The Linux Kernel/man|8|ip-address}} &ndash; protocol address management : {{w|Internet layer}} : {{The Linux Kernel/man|7|address_families}} === Protocols === Each Protocol Family (PF, ''same index as Address Family AF'') consists of several protocol implementations. Directory /proc/net contains various files and subdirectories containing information about the networking layer. File /proc/net/protocols lists available and used protocols. In each PF protocols are classified to different types {{The Linux Kernel/id|sock_type}}, for example stream, datagram and raw socket. TCP is type of stream, UDP is type of datagram, raw and ping are type of raw. : {{The Linux Kernel/id|proto_register}} - registers struct {{The Linux Kernel/id|proto}} - protocol implementations: : In {{The Linux Kernel/id|inet_init}} initcall, {{The Linux Kernel/id|inetsw_array}}, {{The Linux Kernel/id|proto_ops}} and {{The Linux Kernel/id|proto}} : :: {{The Linux Kernel/id|inet_stream_ops}} & {{The Linux Kernel/id|tcp_prot}} {{The Linux Kernel/id|tcp_sendmsg}} ... :: {{The Linux Kernel/id|inet_dgram_ops}} & {{The Linux Kernel/id|udp_prot}} {{The Linux Kernel/id|udp_sendmsg}} ... :: {{The Linux Kernel/id|inet_sockraw_ops}} ::: {{The Linux Kernel/id|raw_prot}} {{The Linux Kernel/id|raw_sendmsg}} ... ::: {{The Linux Kernel/id|ping_prot}} {{The Linux Kernel/id|ping_v4_sendmsg}} ... : In {{The Linux Kernel/id|af_unix_init}} initcall: :: {{The Linux Kernel/id|unix_family_ops}} ::: {{The Linux Kernel/id|unix_create}} :::: {{The Linux Kernel/id|unix_stream_ops}} {{The Linux Kernel/id|unix_stream_sendmsg}} ... :::: {{The Linux Kernel/id|unix_dgram_ops}} {{The Linux Kernel/id|unix_dgram_sendmsg}} ... :::: {{The Linux Kernel/id|unix_seqpacket_ops}} {{The Linux Kernel/id|unix_seqpacket_sendmsg}} ... ⚙️ Internals: : {{The Linux Kernel/include|linux/in.h}}, {{The Linux Kernel/include|linux/ip.h}} &ndash; IPv4 address, protocol and header definitions : {{The Linux Kernel/source|net/ipv4}} &ndash; IPv4 protocol stack : {{The Linux Kernel/include|linux/ipv6.h}} &ndash; IPv6 definitions : {{The Linux Kernel/source|net/ipv6}} &ndash; IPv6 protocol stack : {{The Linux Kernel/source|net/tls}} &ndash; kernel TLS (since 4.13) : {{The Linux Kernel/source|net/xdp}} &ndash; {{w|Express Data Path}} fast packet processing (since 4.8) : {{The Linux Kernel/source|net/sched}} &ndash; traffic control and QoS Socket performance options: : {{The Linux Kernel/id|TCP_NODELAY}} &ndash; disable Nagle's algorithm for low-latency sends : {{The Linux Kernel/id|TCP_CORK}} &ndash; accumulate small writes into full-size segments 📚 References: : {{The Linux Kernel/man|7|tcp}} : {{The Linux Kernel/man|7|udp}} : {{The Linux Kernel/man|7|raw}} : {{The Linux Kernel/man|8|tc}} &ndash; traffic control : {{w|Transport layer}} and {{w|Transmission_Control_Protocol|TCP}} 🔨 [https://manpages.ubuntu.com/manpages/resolute/man1/stress-ng.1.html#:~:text=%2D%2Dudp stress-ng --udp], [https://manpages.ubuntu.com/manpages/resolute/man1/stress-ng.1.html#:~:text=%2D%2Dudp%2Dflood --udp-flood], [https://manpages.ubuntu.com/manpages/resolute/man1/stress-ng.1.html#:~:text=%2D%2Dsctp --sctp] === RDMA === 🚀 advanced topic 🗝️ Acronyms: : IB — {{w|InfiniBand}}, an interconnect standard, competes with {{w|Ethernet}}, {{w|Fibre Channel}} : IPoIB — IP network emulation layer over InfiniBand networks : SRP — {{w|SCSI RDMA Protocol}} : ULP — Upper-layer protocols : iSER — {{w|iSCSI Extensions for RDMA}} ⚲ Interfaces: : https://github.com/linux-rdma/rdma-core : {{The Linux Kernel/man|8|rdma}} : {{The Linux Kernel/man|7|rdma_cm}} — RDMA communication manager : {{The Linux Kernel/source|include/uapi/rdma}} &ndash; user-space RDMA API definitions : {{The Linux Kernel/source|include/rdma}} &ndash; kernel RDMA API definitions ⚙️ Internals: : {{The Linux Kernel/source|drivers/infiniband}} &ndash; InfiniBand core and drivers :: {{The Linux Kernel/source|drivers/infiniband/ulp}} — Upper-layer protocols :: {{The Linux Kernel/source|drivers/infiniband/sw}} — software drivers :: {{The Linux Kernel/source|drivers/infiniband/hw}} — hardware device drivers 📚 References: : {{The Linux Kernel/doc|InfiniBand|infiniband}} : {{The Linux Kernel/doc|InfiniBand and RDMA Interfaces|driver-api/infiniband.html}} == {{w|Netfilter}} == 🚀 advanced topic ⚲ Interface: : {{The Linux Kernel/man|8|ebtables-nft}} : {{The Linux Kernel/man|8|arptables-nft}} : {{The Linux Kernel/man|8|xtables-nft}} : {{The Linux Kernel/man|8|iptables}} : {{The Linux Kernel/man|8|ip6tables}} : {{The Linux Kernel/man|8|ebtables}} : {{The Linux Kernel/man|8|arptables}} : ipset : {{The Linux Kernel/include|linux/netfilter.h}} : {{The Linux Kernel/include|uapi/linux/netfilter}} : {{The Linux Kernel/include|net/netfilter}} : {{The Linux Kernel/include|net/netns/netfilter.h}} : {{The Linux Kernel/include|linux/netfilter}} : {{The Linux Kernel/include|linux/netfilter/x_tables.h}} &ndash; xtables match/target registration ⚙️ Internals: : {{The Linux Kernel/source|net/netfilter}} &ndash; packet filtering framework 📚 References: : {{The Linux Kernel/doc|Netfilter Sysfs variables|networking/netfilter-sysctl.html}} : {{The Linux Kernel/doc|Netfilter Conntrack Sysfs variables|networking/nf_conntrack-sysctl.html}} : {{The Linux Kernel/doc|Netfilter’s flowtable infrastructure|networking/nf_flowtable.html}} : {{w|nftables}} : https://wiki.nftables.org/ : https://lwn.net/Kernel/Index/#Networking-Packet_filtering == Network device {{w|Network interface|interfaces}} == ⚲ Interfaces : <code>ip -brief link show</code> : <code>ls -l /sys/class/net</code> : {{The Linux Kernel/id|devm_register_netdev}} registers {{The Linux Kernel/id|net_device}}, net_device_ops : {{The Linux Kernel/id|sk_buff}} socket buffer (skb) :: {{The Linux Kernel/id|dev_queue_xmit}} queues socket buffers into transmit queue : {{The Linux Kernel/include|linux/netdevice.h}} : {{The Linux Kernel/include|linux/skbuff.h}} : /sys/class/net/*/statistics/ &ndash; per-interface packet and byte counters : {{The Linux Kernel/man|8|devlink}} &ndash; manage switchdev, eswitch, shared buffers and firmware of network devices : {{The Linux Kernel/man|8|bridge}} &ndash; show/manipulate bridge forwarding, MAC and VLAN tables : [https://github.com/sosreport/sos/blob/main/sos/report/plugins/networking.py sos networking plugin] &ndash; diagnostics collection for network subsystem 👁 Example: {{The Linux Kernel/source|drivers/net/loopback.c}} - the most famous and simple interface '''lo''' ⚙️ Internals : {{The Linux Kernel/source|net/core/dev.c}} &ndash; network device operations core : function {{The Linux Kernel/id|loopback_xmit}} receives skb and passes it back with {{The Linux Kernel/id|netif_rx}} 🔨 [https://manpages.ubuntu.com/manpages/resolute/man1/stress-ng.1.html#:~:text=%2D%2Drawsock stress-ng --rawsock], [https://manpages.ubuntu.com/manpages/resolute/man1/stress-ng.1.html#:~:text=%2D%2Dicmp%2Dflood --icmp-flood] 📚 Further reading : {{The Linux Kernel/man|8|ip-link}} &ndash; network device configuration : {{The Linux Kernel/man|8|ip-stats}} &ndash; manage and show interface statistics : {{The Linux Kernel/man|7|netdevice}} &ndash; low-level access to Linux network devices : {{The Linux Kernel/man|7|packet}} &ndash; packet interface on device level : [https://www.coverfire.com/articles/queueing-in-the-linux-network-stack/ Queueing in the Linux Network Stack] 💾 Historical : [http://www.tldp.org/LDP/tlk/net/net.html LDP TLK Chapter 10 Networks] == Network drivers== : {{The Linux Kernel/include|linux/if_ether.h}} &ndash; IEEE 802.3 Ethernet constants and header :{{The Linux Kernel/include|linux/etherdevice.h}} : {{The Linux Kernel/id|netif_rx}} - before NAPI : {{The Linux Kernel/id|input_pkt_queue}} : {{w|New_API|NAPI}} : [https://wiki.linuxfoundation.org/networking/napi NAPI Driver design] :: ⚲ API: ::: {{The Linux Kernel/id|netif_napi_add}} adds {{The Linux Kernel/id|napi_struct}} ::: {{The Linux Kernel/id|napi_schedule}} - called by an IRQ handler to schedule a poll ::: {{The Linux Kernel/id|netif_receive_skb}} - instead netif_rx, finally calls {{The Linux Kernel/id|ip_rcv}} ::: {{The Linux Kernel/id|napi_complete_done}} - called from custom napi->poll() :: ⚙️ Internals: ::: {{The Linux Kernel/id|net_dev_init}} :::: {{The Linux Kernel/id|net_rx_action}} ::::: {{The Linux Kernel/id|napi_poll}} calls custom napi->poll() :: 👁 example ::: {{The Linux Kernel/id|e1000_intr}} calls {{The Linux Kernel/id|__napi_schedule}} ::: custom napi->poll() {{The Linux Kernel/id|e1000e_poll}} calls {{The Linux Kernel/id|napi_complete_done}} : {{The Linux Kernel/id|ether_setup}} setups Ethernet network device : 👁 An example of Ethernet driver: {{The Linux Kernel/id|e1000_probe}} ⚙️ Internals: : {{The Linux Kernel/source|drivers/net}} &ndash; network device drivers : {{The Linux Kernel/source|drivers/net/wireless}} &ndash; wireless drivers : {{The Linux Kernel/source|drivers/net/ethernet}} &ndash; Ethernet drivers : {{The Linux Kernel/source|net/wireless}} &ndash; cfg80211, wireless configuration API and userspace interface via {{The Linux Kernel/man|8|iw}} : {{The Linux Kernel/source|net/mac80211}} &ndash; mac80211, software 802.11 MAC layer used by most WiFi drivers : {{The Linux Kernel/source|net/bluetooth}} &ndash; {{w|Bluetooth}} protocol stack : {{The Linux Kernel/source|net/bridge}} &ndash; {{The Linux Kernel/doc|Ethernet bridging|networking/bridge.html}} 📚 References: : {{The Linux Kernel/man|8|ethtool}} &ndash; query or control network driver and hardware settings : [[w:Data link layer|Data link layer]]: [[w:Ethernet|Ethernet]] : [https://lwn.net/Articles/358910/ GRO - Generic Receive Offload] : {{The Linux Kernel/doc|Segmentation Offloads|networking/segmentation-offloads.html}} : https://wireless.wiki.kernel.org <hr> 📚 Further reading : [https://sysprog21.github.io/lkmpg/#network-drivers LKMPG: Network Drivers] 💾 ''Historical'': : [http://www.xml.com/ldd/chapter/book/ch14.html LDD2:Network Drivers] : [http://lwn.net/images/pdf/LDD3/ch17.pdf LDD3:Network Drivers] : [http://www.tldp.org/HOWTO/KernelAnalysis-HOWTO-8.html Kernel Analysis: Networking, 2003] : [https://web.archive.org/web/20111030030517/http://www.linuxfoundation.org/collaborate/workgroups/networking/networkoverview network_overview] 📖 Further reading about networking : {{The Linux Kernel/doc|Networking interfaces|subsystem-apis.html#networking-interfaces}} :: {{The Linux Kernel/doc|Networking|networking}} : https://lwn.net/Kernel/Index/#Networking : https://lartc.org/ &ndash; Linux Advanced Routing & Traffic Control : {{The Linux Kernel/man|8|ip}} &ndash; show / manipulate routing, network devices, interfaces and tunnels : {{The Linux Kernel/man|8|tc}} &ndash; show / manipulate traffic control settings : [https://github.com/iovisor/bcc/blob/master/README.md#network-and-sockets-tools bcc/ebpf networking tools] : [https://github.com/cilium/cilium eBPF-based Networking, Security, and Observability] : [https://retis.readthedocs.io/ Retis &ndash; tracing packets in the Linux networking stack & friends] {{BookCat}} 690l0z7j1x1fp7kqjaavuwa3nd41987 4654539 4654536 2026-07-15T10:17:49Z Conan 3188 RHEL RT network determinism, TCP spikes references 4654539 wikitext text/x-wiki <noinclude>{{DISPLAYTITLE:Network functionality}}</noinclude> {|style="width: 25%; float: right; text-align:center;border-spacing: 0; color:black; margin:auto;" cellpadding=5pc ! bgcolor="#dff" |networking |- | bgcolor="#bff" |[[#Sockets|sockets access]] |- | bgcolor="#adf" |[[#Address_families|address families: inet, unix, ...]] |- | bgcolor="#9cd" |[[#Network_storage|network storage]] |- | bgcolor="#8bb" |[[#Protocols|protocols]] |- | bgcolor="#7a9" |[[#Network_device_interfaces|network interfaces]] |- | bgcolor="#798" |[[#Network_drivers|network drivers]] |} Linux kernel network functionality spans from sockets interface through protocols to network cards. ⚲ Shell interfaces: : {{The Linux Kernel/man|8|netstat}} prints network connections, routing tables, interface statistics and other details : {{The Linux Kernel/man|8|ip}} shows and configures routing, network devices, interfaces and tunnels : {{The Linux Kernel/man|8|ss}} - socket statistics utility == Sockets == ⚲ API: [https://man7.org/linux/man-pages/man0/sys_socket.h.0p.html sys/socket.h &ndash; main user mode sockets header] Basic common and client side interface: : {{The Linux Kernel/man|2|socket}} ↪ {{The Linux Kernel/id|__sys_socket}} creates an endpoint for communication : struct {{The Linux Kernel/id|sockaddr}} - abstract socket address : {{The Linux Kernel/man|2|connect}} ↪ {{The Linux Kernel/id|__sys_connect}}; : {{The Linux Kernel/man|2|shutdown}} shuts down part of a full-duplex connection : {{The Linux Kernel/man|2|send}} ↪ {{The Linux Kernel/id|__sys_sendto}} sends a message on a socket : {{The Linux Kernel/man|2|recv}} ↪ {{The Linux Kernel/id|__sys_recvfrom}}, {{The Linux Kernel/id|__sys_recvmsg}} receives a message from a socket : {{The Linux Kernel/man|2|setsockopt}}, {{The Linux Kernel/man|2|getsockopt}} ↪ {{The Linux Kernel/id|__sys_setsockopt}} &ndash; set/get socket options : {{The Linux Kernel/man|2|socketpair}} ↪ {{The Linux Kernel/id|__sys_socketpair}} &ndash; create a pair of connected sockets Additional server side interface: : {{The Linux Kernel/man|2|bind}} ↪ {{The Linux Kernel/id|__sys_bind}} - binds a sockaddr to a socket : {{The Linux Kernel/man|2|listen}} ↪ {{The Linux Kernel/id|__sys_listen}} - listens for connections on a socket : {{The Linux Kernel/man|2|accept}} ↪ {{The Linux Kernel/id|__sys_accept4}} - accepts a connection on a socket ⚙️ Internals : struct '''{{The Linux Kernel/id|socket}}''' @ {{The Linux Kernel/include|linux/net.h}} contains :: struct {{The Linux Kernel/id|proto_ops}} - abstract protocols interface :: struct {{The Linux Kernel/id|sock}} - network layer representation of sockets {{The Linux Kernel/include|net/sock.h}} : '''{{The Linux Kernel/id|__sys_socket}}''' ↯ call hierarchy: :: {{The Linux Kernel/id|sock_create}} ::: {{The Linux Kernel/id|__sock_create}} :::: {{The Linux Kernel/id|security_socket_create}} :::: {{The Linux Kernel/id|sock_alloc}} ::::: {{The Linux Kernel/id|net_proto_family}}->create. :::::: for example {{The Linux Kernel/id|inet_create}}. See [[#Address_families|Address families]] for other options. : '''{{The Linux Kernel/id|__sys_connect}}''' ↯ call hierarchy: :: {{The Linux Kernel/id|move_addr_to_kernel}} ::: {{The Linux Kernel/id|audit_sockaddr}} ::: {{The Linux Kernel/id|__sys_connect_file}} :::: {{The Linux Kernel/id|sock_from_file}} :::: {{The Linux Kernel/id|security_socket_connect}} :::: {{The Linux Kernel/id|proto_ops}}->connect. ::::: for example {{The Linux Kernel/id|inet_stream_connect}}. See [[#Protocols|Protocols]] for other options. : {{The Linux Kernel/source|net/socket.c}} &ndash; socket system calls implementation 📚 References : {{The Linux Kernel/man|7|socket}} : {{The Linux Kernel/include|linux/socket.h}} : {{w|Berkeley sockets}} 🔨 [https://manpages.ubuntu.com/manpages/resolute/man1/stress-ng.1.html#:~:text=%2D%2Dsock stress-ng --sock], [https://manpages.ubuntu.com/manpages/resolute/man1/stress-ng.1.html#:~:text=%2D%2Dsockpair --sockpair] == Network storage == 🚀 advanced topic 🔧 TODO ⚲ API: : {{The Linux Kernel/man|2|sendfile}} ↪ {{The Linux Kernel/id|do_sendfile}}. See also [[../Storage#Zero-copy|Zero-copy between file descriptors]] :{{w|Application layer|Application layer}}: {{w|Network File System}} : {{The Linux Kernel/doc|NFS|filesystems/nfs}}, {{The Linux Kernel/include|linux/nfs_fs.h}}, {{The Linux Kernel/source|fs/nfs}} :: {{The Linux Kernel/id|init_nfs_fs}}, {{The Linux Kernel/id|nfs4_fs_type}}, {{The Linux Kernel/id|nfs_fs_type}}, :: {{The Linux Kernel/id|init_nfsd}}, {{The Linux Kernel/id|nfsd_fs_type}} : {{The Linux Kernel/doc|CIFS|admin-guide/cifs}} :: {{The Linux Kernel/id|init_cifs}} :: {{The Linux Kernel/id|cifs_fs_type}}, {{The Linux Kernel/id|smb3_fs_type}} {{The Linux Kernel/id|cifs_smb3_do_mount}} : {{The Linux Kernel/doc|target and iSCSI Interfaces Guide|driver-api/target.html}} 📚 Further reading : https://deepwiki.com/torvalds/linux/4.3-network-filesystems-(cifssmb) == Transport and Network == === Names === ⚲ API: {{The Linux Kernel/man|2|uname}}, {{The Linux Kernel/man|2|sethostname}}, {{The Linux Kernel/man|2|gethostname}}, {{The Linux Kernel/man|2|setdomainname}} {{The Linux Kernel/man|2|getdomainname}} : ↪ {{The Linux Kernel/id|utsname}} ⚙️ Details : {{The Linux Kernel/id|utsname}} returns writable pointer to {{The Linux Kernel/id|new_utsname}} from {{The Linux Kernel/id|uts_namespace}} from {{The Linux Kernel/id|nsproxy}} from {{The Linux Kernel/id|current}} {{The Linux Kernel/id|task_struct}}. : {{The Linux Kernel/id|CLONE_NEWUTS}}, {{The Linux Kernel/id|setns}} : {{The Linux Kernel/source|kernel/utsname.c}} &ndash; UTS namespace management 📚 References: : {{The Linux Kernel/man|7|namespaces}} : {{The Linux Kernel/man|7|network_namespaces}} : {{The Linux Kernel/man|7|uts_namespaces}} === Address families === ⚲ API : {{The Linux Kernel/man|2|getsockname}} : {{The Linux Kernel/man|2|getpeername}} : Address Family (AF) <big>domain</big> defines address format and address length <big>socklen_t</big>. : {{The Linux Kernel/man|3|inet_ntop}}, {{The Linux Kernel/man|3|inet_pton}} (derive socklen_t from AF) Common AF: {{The Linux Kernel/id|AF_UNIX}}, {{The Linux Kernel/id|AF_INET}}, {{The Linux Kernel/id|AF_NETLINK}}. ''PF - Protocol Family index ({{The Linux Kernel/id|PF_MAX}}) actually is the same as Address Family index (AF).'' ⚙️ Internals of some AF : {{The Linux Kernel/man|7|unix}} ↪ {{The Linux Kernel/id|unix_family_ops}} - sockets for local IPC, {{The Linux Kernel/source|net/unix}} :: {{The Linux Kernel/id|unix_create}} : {{The Linux Kernel/man|7|ip}} ↪ {{The Linux Kernel/id|inet_family_ops}} - IPv4 :: {{The Linux Kernel/id|inet_create}} : {{The Linux Kernel/man|7|netlink}} ↪ {{The Linux Kernel/id|netlink_family_ops}} - communication between kernel and user space, {{The Linux Kernel/source|net/netlink}} :: {{The Linux Kernel/include|linux/netlink.h}}, {{The Linux Kernel/include|linux/rtnetlink.h}} &ndash; netlink and routing netlink messages :: {{The Linux Kernel/id|netlink_create}} :: 🔨 [https://manpages.ubuntu.com/manpages/resolute/man1/stress-ng.1.html#:~:text=%2D%2Dnetlink%2Dproc stress-ng --netlink-proc] : {{The Linux Kernel/man|7|vsock}} ↪ {{The Linux Kernel/id|vsock_family_ops}} - communication between VM and hypervisor :: {{The Linux Kernel/id|vsock_create}} : {{The Linux Kernel/man|7|packet}} ↪ {{The Linux Kernel/id|packet_family_ops}} - device level interface :: {{The Linux Kernel/id|packet_create}} : {{The Linux Kernel/id|bt_sock_family_ops}} - Bluetooth :: {{The Linux Kernel/id|bt_sock_create}} There are more than 40 AFs in total (see {{The Linux Kernel/id|AF_MAX}}) ⚙️ Internals : {{The Linux Kernel/id|sock_register}} - registers {{The Linux Kernel/id|net_proto_family}}. See references to this identifiers to find more than 30 protocol families. : {{The Linux Kernel/id|__sock_create}} 📚 Further reading : {{The Linux Kernel/man|8|ip-address}} &ndash; protocol address management : {{w|Internet layer}} : {{The Linux Kernel/man|7|address_families}} === Protocols === Each Protocol Family (PF, ''same index as Address Family AF'') consists of several protocol implementations. Directory /proc/net contains various files and subdirectories containing information about the networking layer. File /proc/net/protocols lists available and used protocols. In each PF protocols are classified to different types {{The Linux Kernel/id|sock_type}}, for example stream, datagram and raw socket. TCP is type of stream, UDP is type of datagram, raw and ping are type of raw. : {{The Linux Kernel/id|proto_register}} - registers struct {{The Linux Kernel/id|proto}} - protocol implementations: : In {{The Linux Kernel/id|inet_init}} initcall, {{The Linux Kernel/id|inetsw_array}}, {{The Linux Kernel/id|proto_ops}} and {{The Linux Kernel/id|proto}} : :: {{The Linux Kernel/id|inet_stream_ops}} & {{The Linux Kernel/id|tcp_prot}} {{The Linux Kernel/id|tcp_sendmsg}} ... :: {{The Linux Kernel/id|inet_dgram_ops}} & {{The Linux Kernel/id|udp_prot}} {{The Linux Kernel/id|udp_sendmsg}} ... :: {{The Linux Kernel/id|inet_sockraw_ops}} ::: {{The Linux Kernel/id|raw_prot}} {{The Linux Kernel/id|raw_sendmsg}} ... ::: {{The Linux Kernel/id|ping_prot}} {{The Linux Kernel/id|ping_v4_sendmsg}} ... : In {{The Linux Kernel/id|af_unix_init}} initcall: :: {{The Linux Kernel/id|unix_family_ops}} ::: {{The Linux Kernel/id|unix_create}} :::: {{The Linux Kernel/id|unix_stream_ops}} {{The Linux Kernel/id|unix_stream_sendmsg}} ... :::: {{The Linux Kernel/id|unix_dgram_ops}} {{The Linux Kernel/id|unix_dgram_sendmsg}} ... :::: {{The Linux Kernel/id|unix_seqpacket_ops}} {{The Linux Kernel/id|unix_seqpacket_sendmsg}} ... ⚙️ Internals: : {{The Linux Kernel/include|linux/in.h}}, {{The Linux Kernel/include|linux/ip.h}} &ndash; IPv4 address, protocol and header definitions : {{The Linux Kernel/source|net/ipv4}} &ndash; IPv4 protocol stack : {{The Linux Kernel/include|linux/ipv6.h}} &ndash; IPv6 definitions : {{The Linux Kernel/source|net/ipv6}} &ndash; IPv6 protocol stack : {{The Linux Kernel/source|net/tls}} &ndash; kernel TLS (since 4.13) : {{The Linux Kernel/source|net/xdp}} &ndash; {{w|Express Data Path}} fast packet processing (since 4.8) : {{The Linux Kernel/source|net/sched}} &ndash; traffic control and QoS Socket performance options: : {{The Linux Kernel/id|TCP_NODELAY}} &ndash; disable Nagle's algorithm for low-latency sends : {{The Linux Kernel/id|TCP_CORK}} &ndash; accumulate small writes into full-size segments : [https://docs.redhat.com/en/documentation/red_hat_enterprise_linux_for_real_time/latest/html/optimizing_rhel_for_real_time_for_low_latency_operation/network-determinism-tips Network determinism tips, RHEL RT] : [https://docs.redhat.com/en/documentation/red_hat_enterprise_linux_for_real_time/latest/html/optimizing_rhel_for_real_time_for_low_latency_operation/reducing-tcp-performance-spikes Reducing TCP performance spikes] &ndash; TCP timestamp tuning 📚 References: : {{The Linux Kernel/man|7|tcp}} : {{The Linux Kernel/man|7|udp}} : {{The Linux Kernel/man|7|raw}} : {{The Linux Kernel/man|8|tc}} &ndash; traffic control : {{w|Transport layer}} and {{w|Transmission_Control_Protocol|TCP}} 🔨 [https://manpages.ubuntu.com/manpages/resolute/man1/stress-ng.1.html#:~:text=%2D%2Dudp stress-ng --udp], [https://manpages.ubuntu.com/manpages/resolute/man1/stress-ng.1.html#:~:text=%2D%2Dudp%2Dflood --udp-flood], [https://manpages.ubuntu.com/manpages/resolute/man1/stress-ng.1.html#:~:text=%2D%2Dsctp --sctp] === RDMA === 🚀 advanced topic 🗝️ Acronyms: : IB — {{w|InfiniBand}}, an interconnect standard, competes with {{w|Ethernet}}, {{w|Fibre Channel}} : IPoIB — IP network emulation layer over InfiniBand networks : SRP — {{w|SCSI RDMA Protocol}} : ULP — Upper-layer protocols : iSER — {{w|iSCSI Extensions for RDMA}} ⚲ Interfaces: : https://github.com/linux-rdma/rdma-core : {{The Linux Kernel/man|8|rdma}} : {{The Linux Kernel/man|7|rdma_cm}} — RDMA communication manager : {{The Linux Kernel/source|include/uapi/rdma}} &ndash; user-space RDMA API definitions : {{The Linux Kernel/source|include/rdma}} &ndash; kernel RDMA API definitions ⚙️ Internals: : {{The Linux Kernel/source|drivers/infiniband}} &ndash; InfiniBand core and drivers :: {{The Linux Kernel/source|drivers/infiniband/ulp}} — Upper-layer protocols :: {{The Linux Kernel/source|drivers/infiniband/sw}} — software drivers :: {{The Linux Kernel/source|drivers/infiniband/hw}} — hardware device drivers 📚 References: : {{The Linux Kernel/doc|InfiniBand|infiniband}} : {{The Linux Kernel/doc|InfiniBand and RDMA Interfaces|driver-api/infiniband.html}} == {{w|Netfilter}} == 🚀 advanced topic ⚲ Interface: : {{The Linux Kernel/man|8|ebtables-nft}} : {{The Linux Kernel/man|8|arptables-nft}} : {{The Linux Kernel/man|8|xtables-nft}} : {{The Linux Kernel/man|8|iptables}} : {{The Linux Kernel/man|8|ip6tables}} : {{The Linux Kernel/man|8|ebtables}} : {{The Linux Kernel/man|8|arptables}} : ipset : {{The Linux Kernel/include|linux/netfilter.h}} : {{The Linux Kernel/include|uapi/linux/netfilter}} : {{The Linux Kernel/include|net/netfilter}} : {{The Linux Kernel/include|net/netns/netfilter.h}} : {{The Linux Kernel/include|linux/netfilter}} : {{The Linux Kernel/include|linux/netfilter/x_tables.h}} &ndash; xtables match/target registration ⚙️ Internals: : {{The Linux Kernel/source|net/netfilter}} &ndash; packet filtering framework 📚 References: : {{The Linux Kernel/doc|Netfilter Sysfs variables|networking/netfilter-sysctl.html}} : {{The Linux Kernel/doc|Netfilter Conntrack Sysfs variables|networking/nf_conntrack-sysctl.html}} : {{The Linux Kernel/doc|Netfilter’s flowtable infrastructure|networking/nf_flowtable.html}} : {{w|nftables}} : https://wiki.nftables.org/ : https://lwn.net/Kernel/Index/#Networking-Packet_filtering == Network device {{w|Network interface|interfaces}} == ⚲ Interfaces : <code>ip -brief link show</code> : <code>ls -l /sys/class/net</code> : {{The Linux Kernel/id|devm_register_netdev}} registers {{The Linux Kernel/id|net_device}}, net_device_ops : {{The Linux Kernel/id|sk_buff}} socket buffer (skb) :: {{The Linux Kernel/id|dev_queue_xmit}} queues socket buffers into transmit queue : {{The Linux Kernel/include|linux/netdevice.h}} : {{The Linux Kernel/include|linux/skbuff.h}} : /sys/class/net/*/statistics/ &ndash; per-interface packet and byte counters : {{The Linux Kernel/man|8|devlink}} &ndash; manage switchdev, eswitch, shared buffers and firmware of network devices : {{The Linux Kernel/man|8|bridge}} &ndash; show/manipulate bridge forwarding, MAC and VLAN tables : [https://github.com/sosreport/sos/blob/main/sos/report/plugins/networking.py sos networking plugin] &ndash; diagnostics collection for network subsystem 👁 Example: {{The Linux Kernel/source|drivers/net/loopback.c}} - the most famous and simple interface '''lo''' ⚙️ Internals : {{The Linux Kernel/source|net/core/dev.c}} &ndash; network device operations core : function {{The Linux Kernel/id|loopback_xmit}} receives skb and passes it back with {{The Linux Kernel/id|netif_rx}} 🔨 [https://manpages.ubuntu.com/manpages/resolute/man1/stress-ng.1.html#:~:text=%2D%2Drawsock stress-ng --rawsock], [https://manpages.ubuntu.com/manpages/resolute/man1/stress-ng.1.html#:~:text=%2D%2Dicmp%2Dflood --icmp-flood] 📚 Further reading : {{The Linux Kernel/man|8|ip-link}} &ndash; network device configuration : {{The Linux Kernel/man|8|ip-stats}} &ndash; manage and show interface statistics : {{The Linux Kernel/man|7|netdevice}} &ndash; low-level access to Linux network devices : {{The Linux Kernel/man|7|packet}} &ndash; packet interface on device level : [https://www.coverfire.com/articles/queueing-in-the-linux-network-stack/ Queueing in the Linux Network Stack] 💾 Historical : [http://www.tldp.org/LDP/tlk/net/net.html LDP TLK Chapter 10 Networks] == Network drivers== : {{The Linux Kernel/include|linux/if_ether.h}} &ndash; IEEE 802.3 Ethernet constants and header :{{The Linux Kernel/include|linux/etherdevice.h}} : {{The Linux Kernel/id|netif_rx}} - before NAPI : {{The Linux Kernel/id|input_pkt_queue}} : {{w|New_API|NAPI}} : [https://wiki.linuxfoundation.org/networking/napi NAPI Driver design] :: ⚲ API: ::: {{The Linux Kernel/id|netif_napi_add}} adds {{The Linux Kernel/id|napi_struct}} ::: {{The Linux Kernel/id|napi_schedule}} - called by an IRQ handler to schedule a poll ::: {{The Linux Kernel/id|netif_receive_skb}} - instead netif_rx, finally calls {{The Linux Kernel/id|ip_rcv}} ::: {{The Linux Kernel/id|napi_complete_done}} - called from custom napi->poll() :: ⚙️ Internals: ::: {{The Linux Kernel/id|net_dev_init}} :::: {{The Linux Kernel/id|net_rx_action}} ::::: {{The Linux Kernel/id|napi_poll}} calls custom napi->poll() :: 👁 example ::: {{The Linux Kernel/id|e1000_intr}} calls {{The Linux Kernel/id|__napi_schedule}} ::: custom napi->poll() {{The Linux Kernel/id|e1000e_poll}} calls {{The Linux Kernel/id|napi_complete_done}} : {{The Linux Kernel/id|ether_setup}} setups Ethernet network device : 👁 An example of Ethernet driver: {{The Linux Kernel/id|e1000_probe}} ⚙️ Internals: : {{The Linux Kernel/source|drivers/net}} &ndash; network device drivers : {{The Linux Kernel/source|drivers/net/wireless}} &ndash; wireless drivers : {{The Linux Kernel/source|drivers/net/ethernet}} &ndash; Ethernet drivers : {{The Linux Kernel/source|net/wireless}} &ndash; cfg80211, wireless configuration API and userspace interface via {{The Linux Kernel/man|8|iw}} : {{The Linux Kernel/source|net/mac80211}} &ndash; mac80211, software 802.11 MAC layer used by most WiFi drivers : {{The Linux Kernel/source|net/bluetooth}} &ndash; {{w|Bluetooth}} protocol stack : {{The Linux Kernel/source|net/bridge}} &ndash; {{The Linux Kernel/doc|Ethernet bridging|networking/bridge.html}} 📚 References: : {{The Linux Kernel/man|8|ethtool}} &ndash; query or control network driver and hardware settings : [[w:Data link layer|Data link layer]]: [[w:Ethernet|Ethernet]] : [https://lwn.net/Articles/358910/ GRO - Generic Receive Offload] : {{The Linux Kernel/doc|Segmentation Offloads|networking/segmentation-offloads.html}} : https://wireless.wiki.kernel.org <hr> 📚 Further reading : [https://sysprog21.github.io/lkmpg/#network-drivers LKMPG: Network Drivers] 💾 ''Historical'': : [http://www.xml.com/ldd/chapter/book/ch14.html LDD2:Network Drivers] : [http://lwn.net/images/pdf/LDD3/ch17.pdf LDD3:Network Drivers] : [http://www.tldp.org/HOWTO/KernelAnalysis-HOWTO-8.html Kernel Analysis: Networking, 2003] : [https://web.archive.org/web/20111030030517/http://www.linuxfoundation.org/collaborate/workgroups/networking/networkoverview network_overview] 📖 Further reading about networking : {{The Linux Kernel/doc|Networking interfaces|subsystem-apis.html#networking-interfaces}} :: {{The Linux Kernel/doc|Networking|networking}} : https://lwn.net/Kernel/Index/#Networking : https://lartc.org/ &ndash; Linux Advanced Routing & Traffic Control : {{The Linux Kernel/man|8|ip}} &ndash; show / manipulate routing, network devices, interfaces and tunnels : {{The Linux Kernel/man|8|tc}} &ndash; show / manipulate traffic control settings : [https://github.com/iovisor/bcc/blob/master/README.md#network-and-sockets-tools bcc/ebpf networking tools] : [https://github.com/cilium/cilium eBPF-based Networking, Security, and Observability] : [https://retis.readthedocs.io/ Retis &ndash; tracing packets in the Linux networking stack & friends] {{BookCat}} lom9j0njgvyy1twatlaq81u95oqn4f8 Aros/User/Applications 0 237399 4654484 4653328 2026-07-14T19:11:27Z Jeff1138 301139 4654484 wikitext text/x-wiki ==Introduction== [[#Graphical Image Editing Art]] [[#Office Application]] [[#Audio]] [[#Misc Application]] [[#Games & Emulation]] [[#Application Guides]] [[#top|...to the top]] [[#top|...to the top]] Most apps can be opened on the Workbench (aka publicscreen pubscreen) which is the default display option but can offer a custom one set to your configurations (aka custom screen mode promotion). These custom ones tend to stack so the possible use of A-M/A-N method of switching between full screens and the ability to pull down screens as well If you are interested in creating or porting new software, see [http://en.wikibooks.org/wiki/Aros/Developer/Docs here] {| class="wikitable sortable" |- !width:30%;|Internet Applications !width:10%;|AROS(x86) !width:10%;|Commodore-Amiga OS 3.1 (68k) !width:10%;|Hyperion OS4(PPC) !width:10%;|MorphOS(PPC) |- |<!--Sub Menu-->Web Online Browser [], |<!--AROS-->[http://archives.arosworld.org/index.php?function=browse&cat=network/browser Odyssey 2.0], [https://www.arosworld.org/infusions/forum/viewthread.php?thread_id=1175&highlight=odyssey&rowstart=100 Odyssey 3.0], |<!--Amiga OS-->[https://aminet.net/comm/www Amelinium], [https://blog.alb42.de/programs/amifox/ amifox] with [https://github.com/alb42/wrp wrp server], IBrowse*, Voyager*, [https://github.com/amigazen/aweb3/ AWeb 3.6 src], [https://github.com/matjam/aweb AWeb Src], [http://aminet.net/package/comm/www/NetSurf-m68k-sources Netsurf], [], |<!--AmigaOS4-->[ Odyssey OWB], [ Timberwolf (Firefox port 2011)], [http://amigaworld.net/modules/newbb/viewtopic.php?forum=32&topic_id=32847 OWB-mui], [http://strohmayer.org/owb/ OWB-Reaction], IBrowse*, [http://os4depot.net/index.php?function=showfile&file=network/browser/aweb.lha AWeb], Voyager, [http://www.os4depot.net/index.php?function=browse&cat=network/browser Netsurf], |<!--MorphOS-->Wayfarer, [http://fabportnawak.free.fr/owb/ Odyssey OWB], [ Netsurf], IBrowse*, AWeb, [], |- |<!--Sub Menu-->YouTube, Dailymotion website downloading videos audio [https://github.com/yt-dlp/yt-dlp yt-dlp], [], |<!--AROS-->[], [https://blog.alb42.de/amitube/ Amitube], |<!--Amiga OS-->[https://blog.alb42.de/amitube/ Amitube], [ smtube], |<!--AmigaOS4-->[https://blog.alb42.de/amitube/ Amitube], getVideo, Tubexx, [https://github.com/walkero-gr/aiostreams aiostreams], |<!--MorphOS-->[ ytsearch], [https://blog.alb42.de/amitube/ Amitube], [http://morphos.lukysoft.cz/en/vypis.php?kat=5 getVideo], Tubexx |- |<!--Sub Menu-->E-mailing SMTP POP3 IMAP based |<!--AROS-->[http://archives.arosworld.org/index.php?function=browse&cat=network/email SimpleMail], [http://sourceforge.net/projects/simplemail/files/ src], [https://github.com/jens-maus/yam YAM] |<!--Amiga OS-->[http://sourceforge.net/projects/simplemail/files/ SimpleMail], [https://github.com/jens-maus/yam YAM] |<!--AmigaOS4-->SimpleMail, YAM, |<!--MorphOS--> SimpleMail, YAM |- |<!--Sub Menu-->IRC |<!--AROS-->[http://archives.arosworld.org/index.php?function=browse&cat=network/chat WookieChat], [https://sourceforge.net/projects/wookiechat/ Wookiechat src], [http://archives.arosworld.org/index.php?function=browse&cat=network/chat AiRcOS], Jabberwocky, |<!--Amiga OS-->Wookiechat, AmIRC |<!--AmigaOS4-->Wookiechat |<!--MorphOS-->[http://morphos.lukysoft.cz/en/vypis.php?kat=5 Wookiechat], [http://morphos.lukysoft.cz/en/vypis.php?kat=5 AmIRC], |- |<!--Sub Menu-->Instant Messaging IM like [https://github.com/BlitterStudio/amidon Hollywood lang based Mastodon client], BlueSky AT protocol, Facebook(TM), Twitter X (TM), Bitlbee IRC Gateway and others |<!--AROS-->[https://github.com/kaffeine1/telegram-amiga telegram-amiga], [http://archives.arosworld.org/index.php?function=browse&cat=network/chat jabberwocky], |<!--Amiga OS-->[http://amitwitter.sourceforge.net/ AmiTwitter], CLIMM, SabreMSN, jabberwocky, |<!--AmigaOS4-->[http://amitwitter.sourceforge.net/ AmiTwitter], SabreMSN, |<!--MorphOS-->[http://amitwitter.sourceforge.net/ AmiTwitter], [http://morphos.lukysoft.cz/en/vypis.php?kat=5 PolyglotNG], SabreMSN, |- |<!--Sub Menu-->Torrents |<!--AROS-->[http://archives.arosworld.org/index.php?function=browse&cat=network/p2p ArTorr], |<!--Amiga OS--> |<!--AmigaOS4-->CTorrent, Transmission |<!--MorphOS-->MLDonkey, Beehive, [http://morphos.lukysoft.cz/en/vypis.php?kat=5 Transmission], CTorrent, |- |<!--Sub Menu-->FTP |<!--AROS-->Plugin included with Dopus Magellan, MarranoFTP, |<!--Amiga OS-->[http://aminet.net/package/comm/tcp/AmiFTP AmiFTP], AmiTradeCenter, ncFTP, |<!--AmigaOS4--> |<!--MorphOS-->[http://morphos.lukysoft.cz/en/vypis.php?kat=5 Pftp], [http://aminet.net/package/comm/tcp/AmiFTP-1.935-OS4 AmiFTP], |- |<!--Sub Menu-->WYSIWYG Web Site Editor |<!--AROS--> |<!--Amiga OS--> |<!--AmigaOS4--> |<!--MorphOS--> |- |<!--Sub Menu-->Internet Radio Streaming Audio [http://www.gnu.org/software/gnump3d/ gnump3d], [http://www.icecast.org/ Icecast2] Server (Broadcast) and Client (Listen), [ mpd], [http://darkice.sourceforge.net/ DarkIce], [http://www.dyne.org/software/muse/ Muse], |<!--AROS-->[https://archives.arosworld.org/index.php?function=browse&cat=audio/misc ], Mplayer (Icecast Client only), |<!--Amiga OS-->[https://github.com/sandlbn/TuneFinder TuneFinder C Src], [https://github.com/sandlbn/TuneFinderMUI TuneFinderMUI], [http://amigazeux.net/anr/ AmiNetRadio], [], [], |<!--AmigaOS4-->[http://www.tunenet.co.uk/ Tunenet], |<!--MorphOS-->Mplayer, AmiNetRadio, |- |<!--Sub Menu-->VoIP (Voice over IP) with SIP Client (Session Initiation Protocol) or Asterisk IAX2 Clients Softphone (skype like) |<!--AROS--> |<!--Amiga OS-->AmiPhone with Speak Freely, |<!--AmigaOS4--> |<!--MorphOS--> |- |<!--Sub Menu-->Weather Forecast |<!--AROS-->[http://sourceforge.net/projects/zunetools/files/ WeatherBar], [http://archives.arosworld.org/index.php?function=browse&cat=utility/workbench AWeather], [] |<!--Amiga OS-->[http://amigazeux.net/wetter/ Wetter], [https://github.com/emartisoft/AmiWeatherForecasts AmiWeatherForecasts src], |<!--AmigaOS4-->[http://os4depot.net/?function=showfile&file=utility/workbench/flipclock.lha FlipClock], |<!--MorphOS-->[http://amigazeux.net/wetter/ Wetter], |- |<!--Sub Menu-->Street Road Maps Route Planning GPS Tracking |<!--AROS-->[https://blog.alb42.de/programs/muimapparium/ MuiMapparium] [https://build.alb42.de/ Build of MuiMapp versions], |<!--Amiga OS-->AmiAtlas*, UKRoutePlus*, [http://blog.alb42.de/ AmOSM], |<!--AmigaOS4--> |<!--MorphOS-->[http://blog.alb42.de/programs/mapparium/ Mapparium], |- |<!--Sub Menu-->Clock and Date setting from the internet (either ntp or websites) [https://www.timeanddate.com/worldclock/ World Clock], [http://www.time.gov/ NIST], [], |<!--AROS-->[http://archives.arosworld.org/index.php?function=browse&cat=network/misc ntpsync], |<!--Amiga OS-->ntpsync |<!--AmigaOS4--> |<!--MorphOS--> |- |<!--Sub Menu-->Newsgroups |<!--AROS--> |<!--Amiga OS-->[http://newscoaster.sourceforge.net/ Newscoaster], [https://github.com/jens-maus/newsrog NewsRog], [ WorldNews], |<!--AmigaOS4--> |<!--MorphOS--> |- |} <nowiki>*</nowiki> Commercial product. ==Graphical Image Editing Art== {| class="wikitable sortable" |- !width:30%;|Image Editing !width:10%;|AROS(x86) !width:10%;|Commodore-Amiga OS 3.1(68k) !width:10%;|Hyperion OS4(PPC) !width:10%;|MorphOS(PPC) |- |<!--Sub Menu-->Pixel Raster Artwork [https://github.com/LibreSprite/LibreSprite LibreSprite based on GPL aseprite], [https://github.com/abetusk/hsvhero hsvhero], [], |<!--AROS-->[https://sourceforge.net/projects/zunetools/files/ZunePaint/ ZunePaint], [http://archives.arosworld.org/index.php?function=browse&cat=graphics/edit LunaPaint], [http://archives.arosworld.org/index.php?function=browse&cat=graphics/edit GrafX2], [ LodePaint needs OpenGL], |<!--Amiga OS-->[http://www.amigaforever.com/classic/download.html PPaint], GrafX2, [https://github.com/grovdata/Amiga_Sources/blob/master/software.md DeluxePaint], [http://www.amiforce.de/perfectpaint/perfectpaint.php PerfectPaint], Zoetrope, Brilliance2*, |<!--AmigaOS4-->[http://www.os4depot.net/index.php?function=browse&cat=graphics/edit LodePaint], GrafX2, |<!--MorphOS-->Sketch, Pixel*, GrafX2, [http://morphos.lukysoft.cz/en/vypis.php?kat=3 LunaPaint] |- |<!--Sub Menu-->Image viewing |<!--AROS-->[http://sourceforge.net/projects/zunetools/files/ ZuneView], [http://archives.arosworld.org/index.php?function=browse&cat=graphics/viewer LookHere], [http://archives.arosworld.org/index.php?function=browse&cat=graphics/viewer LoView], [http://archives.arosworld.org/index.php?function=browse&cat=graphics/viewer PicShow] , [http://amigaworld.net/modules/newbb/viewtopic.php?mode=viewtopic&topic_id=31400&forum=32&start=80&viewmode=flat&order=0#583458 Picture Album], |<!--Amiga OS-->PicShow, PicView, Photoalbum, |<!--AmigaOS4-->WarpView, PicShow, flPhoto, Thumbs, [http://amigaworld.net/modules/newbb/viewtopic.php?mode=viewtopic&topic_id=31400&forum=32&start=80&viewmode=flat&order=0#583458 Picture Album], |<!--MorphOS-->[http://morphos.lukysoft.cz/en/vypis.php?kat=3 ShowGirls], [http://amigaworld.net/modules/newbb/viewtopic.php?mode=viewtopic&topic_id=31400&forum=32&start=80&viewmode=flat&order=0#583458 Picture Album] |- |<!--Sub Menu-->Photography retouching / Image Manipulation like Photoshop(tm) |<!--AROS-->[http://archives.arosworld.org/index.php?function=browse&cat=graphics/edit RNOEffects], [https://sourceforge.net/projects/zunetools/files/ ZunePaint], [http://sourceforge.net/projects/zunetools/files/ ZuneView], |<!--Amiga OS-->[ Tecsoft Video Paint aka TVPaint], Photogenics*, ArtEffect*, ImageFX*, XiPaint, fxPaint, ImageMasterRT, Opalpaint, |<!--AmigaOS4-->WarpView, flPhoto, [http://www.os4depot.net/index.php?function=browse&cat=graphics/edit Photocrop] |<!--MorphOS-->[http://morphos.lukysoft.cz/en/vypis.php?kat=3 ShowGirls], ImageFX*, |- |<!--Sub Menu-->Manage RAW picture folder galleries like Darktable, RAWtherapy, etc |<!--AROS--> |<!--Amiga OS--> |<!--AmigaOS4--> |<!--MorphOS--> |- |<!--Sub Menu-->Graphic Format Converter - ICC profile support sRGB, Adobe RGB, XYZ and linear RGB |<!--AROS--> |<!--Amiga OS-->GraphicsConverter, ImageStudio, [http://www.coplabs.org/artpro.html ArtPro] |<!--AmigaOS4--> |<!--MorphOS--> |- |<!--Sub Menu-->Thumbnail Generator [], |<!--AROS-->[http://sourceforge.net/projects/zunetools/files/ ZuneView], [http://archives.arosworld.org/index.php?function=browse&cat=utility/shell Thumbnail Generator] |<!--Amiga OS--> |<!--AmigaOS4--> |<!--MorphOS--> |- |<!--Sub Menu-->Icon Editor |<!--AROS-->[http://archives.arosworld.org/index.php?function=browse&cat=graphics/iconedit Archives], [http://archives.arosworld.org/index.php?function=browse&cat=utility/workbench Icon Toolbox], |<!--Amiga OS--> |<!--AmigaOS4-->[http://www.os4depot.net/index.php?function=browse&cat=graphics/iconedit IconEditor] |<!--MorphOS--> |- |<!--Sub Menu-->2D Pixel Art Animation |<!--AROS-->Lunapaint |<!--Amiga OS-->PPaint, AnimatED, Scala*, GoldDisk MovieSetter*, Walt Disney's Animation Studio*, ProDAD*, [https://github.com/historicalsource/DeluxePaint DeluxePaint src], Brilliance |<!--AmigaOS4--> |<!--MorphOS-->[http://morphos.lukysoft.cz/en/vypis.php?kat=3 Titler] |- |<!--Sub Menu-->2D SVG based MovieSetter type |<!--AROS--> |<!--Amiga OS-->MovieSetter*, Fantavision* |<!--AmigaOS4--> |<!--MorphOS--> |- |<!--Sub Menu-->Morphing |<!--AROS-->[ GLMorph] |<!--Amiga OS--> |<!--AmigaOS4--> |<!--MorphOS--> |- |<!--Sub Menu-->2D Cad (qcad->LibreCAD, etc.) |<!--AROS--> |<!--Amiga OS-->Xcad, MaxonCAD |<!--AmigaOS4--> |<!--MorphOS--> |- |<!--Sub Menu-->3D Cad like FreeCad, BRL-CAD, OpenSCAD, AvoCADo, etc. using dxf, obj (vertices), blend, |<!--AROS--> |<!--Amiga OS-->XCad3d*, DynaCADD*, Cycas, |<!--AmigaOS4--> |<!--MorphOS--> |- |<!--Sub Menu-->3D Model Rendering of glft (json) gbl (png jpg), usdz (USD files with materials, textures, and animations), FBX Filmbox is a proprietary Autodesk format, |<!--AROS-->POV-Ray |<!--Amiga OS-->[http://www.discreetfx.com./amigaproducts.html CINEMA 4D]*, POV-Ray, Lightwave3D*, Real3D*, Caligari24*, Reflections/Monzoom*, [https://github.com/privatosan/RayStorm Raystorm src], Tornado 3D |<!--AmigaOS4-->Blender, POV-Ray, Yafray |<!--MorphOS-->Blender, POV-Ray, Yafray |- |<!--Sub Menu-->3D Format Converter [], [], |<!--AROS-->[https://archives.arosworld.org/?function=showfile&file=graphics/convert/ 3doc.i386-aros], [], |<!--Amiga OS--> |<!--AmigaOS4-->[http://www.os4depot.net/index.php?function=showfile&file=graphics/convert/ivcon.lha IVCon] |<!--MorphOS--> |- |<!--Sub Menu--> |<!--AROS--> |<!--Amiga OS--> |<!--AmigaOS4--> |<!--MorphOS--> |- |<!--Sub Menu-->Screen grabbing display |<!--AROS-->[ Screengrabber], [http://archives.arosworld.org/index.php?function=browse&cat=utility/misc snapit], [http://archives.arosworld.org/index.php?function=browse&cat=video/record screen recorder], [] |<!--Amiga OS--> |<!--AmigaOS4--> |<!--MorphOS--> |- |<!--Sub Menu-->Grab graphics music from apps [https://github.com/Malvineous/ripper6 ripper6], [], |<!--AROS--> |<!--Amiga OS--> |<!--AmigaOS4--> |<!--MorphOS--> |- |<!--Sub Menu--> |<!--AROS--> |<!--Amiga OS--> |<!--AmigaOS4--> |<!--MorphOS--> |- |} <nowiki>*</nowiki> Commercial product. [[#top|...to the top]] ==Office Application== {| class="wikitable sortable" |- !width:30%;|Office !width:10%;|AROS (x86) !width:10%;|[http://en.wikipedia.org/wiki/Amiga_software Commodore-Amiga OS 3.1] (68k) !width:10%;|[http://en.wikipedia.org/wiki/AmigaOS_4 Hyperion OS4] (PPC) !width:10%;|[http://en.wikipedia.org/wiki/MorphOS MorphOS] (PPC) |- |<!--Sub Menu-->Word-processing |<!--AROS-->[https://archives.arosworld.org/index.php?function=browse&cat=office/wordprocessing Cinnamon Writer], [https://finalwriter.godaddysites.com/ Final Writer 7*], [https://github.com/sodero/MUI-Vim/releases MUI-Vim], [https://www.arosworld.org/infusions/forum/viewthread.php?thread_id=1995&rowstart=20&pid=12668#post_12668 Slovo], [], |<!--AmigaOS-->[ Softwood FinalCopy II*], Haage AmigaWriter*, Digita WordWorth*, Softwood FinalWriter*, Micro-Systems Excellence 3*, Arnor Protext, Rashumon, [ InterWord], [ KindWords], [WordPerfect], [ New Horizons Flow], [ CygnusEd Pro], [ Micro-systems Scribble], |<!--AmigaOS4-->AbiWord, [ CinnamonWriter] |<!--MorphOS-->[ Cinnamon Writer], [http://www.meta-morphos.org/viewtopic.php?topic=1246&forum=53 scriba], [http://morphos.lukysoft.cz/en/index.php Papyrus Office], |- |<!--Sub Menu-->Spreadsheets |<!--AROS-->[https://blog.alb42.de/programs/leu/ Leu], [https://archives.arosworld.org/index.php?function=browse&cat=office/spreadsheet], |<!--AmigaOS-->[https://aminet.net/package/biz/spread/ignition-src Ignition Src 1.3], [MaxiPlan 500 Plus], [OXXI Plan/IT v2.0 Speadsheet], [ Superplan], [ Creative Developments TurboCalc], [ ProCalc], [ InterSpread], [Digita DGCalc], [ Gold Disk Advantage], [ Micro-systems Analyze!] |<!--AmigaOS4-->Gnumeric, [https://ignition-amiga.sourceforge.net/ Ignition], |<!--MorphOS-->[ ignition], [http://morphos.lukysoft.cz/en/vypis.php Papyrus Office], |- |<!--Sub Menu-->Presentations |<!--AROS-->[http://www.hollywoood-mal.com/ Hollywood]*, |<!--Amiga OS-->[http://www.hollywoood-mal.com/ Hollywood]*, MediaPoint, PointRider, Scala*, |<!--Amiga OS4-->[http://www.hollywoood-mal.com/ Hollywood]*, PointRider |<!--MorphOS-->[http://www.hollywoood-mal.com/ Hollywood]*, PointRider |- |<!--Sub Menu-->Databases |<!--AROS-->[http://sdb.freeforums.org/ SDB], [http://archives.arosworld.org/index.php?function=browse&cat=office/database BeeBase], |<!--Amiga OS-->Precision Superbase 4 Pro*, Arnor Prodata*, BeeBase, Datastore, FinalData*, AmigaBase, Fiasco, Twist2*, [Digita DGBase], [], |<!--AmigaOS4-->BeeBase, SQLite, |<!--MorphOS-->[http://morphos.lukysoft.cz/en/vypis.php?kat=6 BeeBase], |- |<!--Sub Menu-->PDF Viewing and editing digital signatures |<!--AROS-->[http://sourceforge.net/projects/arospdf/ ArosPDF via splash], [https://github.com/wattoc/AROS-vpdf vpdf wip], |<!--Amiga OS-->APDF |<!--AmigaOS4-->AmiPDF |<!--MorphOS-->APDF, vPDF, |- |<!--Sub Menu-->Printing |<!--AROS-->Postscript 3 laser printers and Ghostscript internal, [ GutenPrint], |<!--Amiga OS-->[http://www.irseesoft.de/tp_what.htm TurboPrint]* |<!--AmigaOS4-->(some native drivers), |<!--MorphOS-->early TurboPrint included, |- |<!--Sub Menu-->Note Taking markdown support like Obsidian like, joplin, OneNote, EverNotes, xournalpp, etc |<!--AROS--> |<!--Amiga OS--> |<!--AmigaOS4--> |<!--MorphOS--> |- |<!--Sub Menu-->Study and analyse, collect, organize, annotate, cite, and share |<!--AROS--> |<!--Amiga OS--> |<!--AmigaOS4--> |<!--MorphOS--> |- |<!--Sub Menu-->PIM Personal Information Manager - Day Diary Planner Calendar App |<!--AROS-->[ ], [ ], [ ], |<!--Amiga OS-->Digita Organiser*, On The Ball, Everyday Organiser, [ Contact Manager], |<!--AmigaOS4-->AOrganiser, |<!--MorphOS-->[http://polymere.free.fr/orga_en.html PolyOrga], |- |<!--Sub Menu-->Accounting |<!--AROS-->[http://archives.arosworld.org/index.php?function=browse&cat=office/misc ETB], LoanCalc, [ ], [ ], [ ], |[ Digita Home Accounts2], Accountant, Small Business Accounts, Account Master, [ Amigabok], |<!--AmigaOS4--> |<!--MorphOS--> |- |<!--Sub Menu-->Project Management Research |<!--AROS--> |<!--Amiga OS-->SuperGantt, SuperPlan, |<!--AmigaOS4--> |<!--MorphOS--> |- |<!--Sub Menu-->System Wide Search |<!--AROS-->[https://archives.arosworld.org/index.php?function=browse&cat=utility/filetool Finder], [], [], |<!--Amiga OS--> |<!--AmigaOS4--> |<!--MorphOS--> |- |<!--Sub Menu-->System Wide Dictionary - multilingual [http://sourceforge.net/projects/babiloo/ Babiloo], [http://code.google.com/p/stardict-3/ StarDict], |<!--AROS-->[ ], |<!--AmigaOS--> |<!--AmigaOS4--> |<!--MorphOS--> |- |<!--Sub Menu-->System wide Thesaurus - multi lingual |<!--AROS-->[ ], |Kuma K-Roget*, |<!--AmigaOS4--> |<!--MorphOS--> |- |<!--Sub Menu-->Sticky Desktop Notes (post it type) |<!--AROS-->[http://aminet.net/package/util/wb/amimemos.i386-aros AmiMemos], [https://aminet.net/package/util/wb/amimemos.src-aros AmiMemos Src], [], |<!--Amiga OS-->[http://aminet.net/package/util/wb/StickIt-2.00 StickIt v2], |<!--AmigaOS4--> |<!--MorphOS--> |- |<!--Sub Menu-->DTP Desktop Publishing |<!--AROS-->[http://archives.arosworld.org/index.php?function=browse&cat=graphics/edit RNOPublisher], |<!--Amiga OS-->[http://pagestream.org/ Pagestream]*, Professional Pro Page*, Saxon Publisher, Pagesetter, PenPal, |<!--AmigaOS4-->[http://pagestream.org/ Pagestream]* |<!--MorphOS-->[http://pagestream.org/ Pagestream]* |- |<!--Sub Menu-->Scanning |<!--AROS-->[ SCANdal], [], |<!--Amiga OS-->FxScan*, ScanQuix* |<!--AmigaOS4-->SCANdal (Sane) |<!--MorphOS-->SCANdal |- |<!--Sub Menu-->OCR |<!--AROS-->[http://archives.arosworld.org/index.php?function=browse&cat=graphics/convert gOCR] |<!--AmigaOS--> |<!--AmigaOS4--> |<!--MorphOS-->[http://morphos-files.net/categories/office/text Tesseract] |- |<!--Sub Menu-->Text Editing |<!--AROS-->Jano Editor (already installed as Editor), [http://archives.arosworld.org/index.php?function=browse&cat=development/edit EdiSyn], [http://archives.arosworld.org/index.php?function=browse&cat=utility/text/edit Annotate], [https://archives.arosworld.org/index.php?function=browse&cat=development/edit Vim], [http://archives.arosworld.org/index.php?function=browse&cat=utility/text/edit FrexxEd] [https://github.com/vidarh/FrexxEd src], [ NoWinEd], |<!--Amiga OS-->[https://aminet.net/package/text/edit/TurboText20 TurboText20 ttx], Annotate, MicroGoldED/CubicIDE*, CygnusED*, Protext*, NoWinED, |<!--AmigaOS4-->Notepad, Annotate, CygnusED*, NoWinED, |<!--MorphOS-->MorphOS ED, NoWinED, GoldED/CubicIDE*, CygnusED*, Annotate, |- |<!--Sub Menu-->Office Fonts [http://sourceforge.net/projects/fontforge/files/fontforge-source/ Font Designer] |<!--AROS-->[ ], [ ], |<!--Amiga OS-->TypeSmith*, SaxonScript (GetFont Adobe Type 1), |<!--AmigaOS4--> |<!--MorphOS--> |- |<!--Sub Menu-->Drawing Vector |<!--AROS-->[http://sourceforge.net/projects/amifig/ ZuneFIG previously AmiFIG] |<!--Amiga OS-->Drawstudio*, ProVector*, ArtExpression*, Professional Draw*, AmiFIG, MetaView, [https://gitlab.com/amigasourcecodepreservation/designworks Design Works Src], [], |<!--AmigaOS4-->MindSpace, [http://www.os4depot.net/index.php?function=browse&cat=graphics/edit amifig], |<!--MorphOS-->SteamDraw, [http://aminet.net/package/gfx/edit/amifig amiFIG], |- |<!--Sub Menu-->video conferencing (jitsi) |<!--AROS--> |<!--Amiga OS--> |<!--AmigaOS4--> |<!--MorphOS--> |- |<!--Sub Menu-->source code hosting |<!--AROS-->Gitlab, |<!--Amiga OS--> |<!--AmigaOS4--> |<!--MorphOS--> |- |<!--Sub Menu-->Remote Desktop (server) |<!--AROS-->[http://sourceforge.net/projects/zunetools/files/VNC_Server ArosVNCServer], |<!--Amiga OS-->[http://s.guillard.free.fr/AmiVNC/AmiVNC.htm AmiVNC], [http://dspach.free.fr/amiga/avnc/index.html AVNC] |<!--AmigaOS4-->[http://s.guillard.free.fr/AmiVNC/AmiVNC.htm AmiVNC] |MorphVNC, vncserver |- |<!--Sub Menu-->Remote Desktop (client) login and connect to another machine |<!--AROS-->[https://sourceforge.net/projects/zunetools/files/VNC_Client/ ArosVNC], [http://archives.arosworld.org/index.php?function=browse&cat=network/misc rdesktop], |<!--Amiga OS-->[http://twinvnc.free.fr/index.php?menu=01&lang=eng TwinVNC], [http://dspach.free.fr/amiga/vva/index.html VVA], [http://www.hd-zone.com/ RDesktop] |<!--AmigaOS4-->[http://twinvnc.free.fr/index.php?menu=01&lang=eng TwinVNC], [http://www.hd-zone.com/ RDesktop] |[http://twinvnc.free.fr/index.php?menu=01&lang=eng TwinVNC], [http://www.hd-zone.com/ RDesktop] |- |<!--Sub Menu-->notifications |<!--AROS--> |<!--Amiga OS-->Ranchero |<!--AmigaOS4-->Ringhio |<!--MorphOS-->MagicBeacon |- |<!--Sub Menu-->Biometric facial logins and fingerprint security features |<!--AROS--> |<!--Amiga OS--> |<!--AmigaOS4--> |<!--MorphOS--> |- |<!--Sub Menu--> |<!--AROS--> |<!--Amiga OS--> |<!--AmigaOS4--> |<!--MorphOS--> |- |<!--Sub Menu--> |<!--AROS--> |<!--Amiga OS--> |<!--AmigaOS4--> |<!--MorphOS--> |} <nowiki>*</nowiki> Commercial product. [[#top|...to the top]] ==Audio== {| class="wikitable sortable" |- !width:30%;|Audio !width:10%;|AROS(x86) !width:10%;|Commodore-Amiga OS 3.1(68k) !width:10%;|Hyperion OS4(PPC) !width:10%;|MorphOS(PPC) |- |<!--Sub Menu-->Playing playback Audio like MP3, [https://github.com/chrg127/gmplayer NSF], [https://github.com/kode54/lazyusf miniusf .usflib], [], etc |<!--AROS-->[http://archives.arosworld.org/index.php?function=browse&cat=video/play Mplayer], [ HarmonyPlayer hp], [http://www.a500.org/downloads/audio/index.xhtml playcdda] CDs, [ WildMidi Player], [https://bszili.morphos.me/ UADE mod player], [], [RNOTunes ], [ mp3Player], [], |<!--Amiga OS-->AmiNetRadio, AmigaAmp, playOGG, |<!--AmigaOS4-->TuneNet, SimplePlay, AmigaAmp, TKPlayer |AmiNetRadio, Mplayer, Kaya, AmigaAmp |- |<!--Sub Menu-->Editing Audio |<!--AROS-->[ Audio Evolution 4] |<!--Amiga OS-->[ Samplitude Opus Key], [https://sourceforge.net/projects/hd-rec/ HD-Rec Src], [http://www.sonicpulse.de/eng/news.html SoundFX], |<!--AmigaOS4-->[https://sourceforge.net/projects/hd-rec/ HD-Rec], AmiSoundED, [http://os4depot.net/?function=showfile&file=audio/record/audioevolution4.lha Audio Evolution 4] |[http://www.hd-rec.de/HD-Rec/index.php?site=home HD-Rec], |- |<!--Sub Menu-->Editing Tracker Music |<!--AROS-->[https://github.com/hitchhikr/protrekkr Protrekkr], [ Schism Tracker], [http://archives.arosworld.org/index.php?function=browse&cat=audio/tracker MilkyTracker], [http://www.hivelytracker.com/ HivelyTracker], [ Radium in AROS already], [http://www.a500.org/downloads/development/index.xhtml libMikMod], |<!--Amiga OS-->MilkyTracker, HivelyTracker, DigiBooster, Octamed SoundStudio, |<!--AmigaOS4-->MilkyTracker, HivelyTracker, GoatTracker |MilkyTracker, GoatTracker, DigiBooster, |- |<!--Sub Menu-->Editing Music [], [https://github.com/kmatheussen/camd CAMD] and/or staves and notes manuscript |<!--AROS-->[http://bnp.hansfaust.de/ Bars and Pipes for AROS], [ Audio Evolution], [], |<!--Amiga OS-->[http://bnp.hansfaust.de/ Bars'n'Pipes], MusicX* David "Talin" Joiner & Craig Weeks (for Notator-X), Deluxe Music Construction 2*, [https://github.com/timoinutilis/midi-sequencer-amigaos Horny c Src], HD-Rec, [https://aminet.net/package/mus/midi/dominatorV1_51 Dominator], |<!--AmigaOS4-->[https://sourceforge.net/p/hd-rec/code/HEAD/tree/ HD-Rec Src], Rockbeat, [http://bnp.hansfaust.de/download.html Bars'n'Pipes], [http://os4depot.net/index.php?function=browse&cat=audio/edit Horny], Audio Evolution 4, |<!--MorphOS-->Bars'n'Pipes, |- |<!--Sub Menu-->Sound Sampling |<!--AROS-->[https://archives.arosworld.org/index.php?function=browse&cat=audio/record Audio Evolution 4], [http://www.imica.net/SitePortalPage.aspx?siteid=1&did=162 Quick Record], [https://archives.arosworld.org/index.php?function=browse&cat=audio/misc SOX to get AIFF 16bit files], [https://github.com/aros-development-team/AROS/tree/master/workbench/tools/AHIRecord AHIRecord], |<!--Amiga OS-->[https://aminet.net/package/mus/edit/AudioEvolution3_src Audio Evolution 3 c src], [ Samplitude-MS Opus Key], Audiomaster IV*, |<!--AmigaOS4-->[https://github.com/timoinutilis/phonolith-amigaos phonolith c src], HD-Rec, Audio Evolution 4, |<!--MorphOS-->[https://sourceforge.net/p/hd-rec/code/HEAD/tree/ HD-Rec Src], Audio Evolution 4, |- |<!--Sub Menu-->Live Looping or Audio Misc - Groovebox like |<!--AROS--> |<!--Amiga OS--> |<!--AmigaOS4--> |<!--MorphOS--> |- |<!--Sub Menu-->CD/DVD burn |[https://code.google.com/p/amiga-fryingpan/ FryingPan], |<!--Amiga OS-->FryingPan, [http://www.estamos.de/makecd/#CurrentVersion MakeCD], |<!--AmigaOS4-->FryingPan, AmiDVD, |[http://www.amiga.org/forums/printthread.php?t=58736 FryingPan], Jalopeano, |- |<!--Sub Menu-->CD/DVD audio rip |Lame, [http://www.imica.net/SitePortalPage.aspx?siteid=1&cfid=0&did=167 Quick CDrip], |<!--Amiga OS-->Lame, |<!--AmigaOS4-->Lame, |Lame, |- |<!--Sub Menu-->MP3 v1 and v2 Tagger |<!--AROS-->id3ren (v1), [http://archives.arosworld.org/index.php?function=browse&cat=audio/edit mp3info], |<!--Amiga OS--> |<!--AmigaOS4--> | |- |<!--Sub Menu-->Audio Convert |<!--AROS-->[https://archives.arosworld.org/index.php?function=browse&cat=audio/misc Sox], [], |<!--Amiga OS-->[http://aminet.net/package/mus/misc/SoundBox SoundBox], [http://aminet.net/package/mus/misc/SoundBoxKey SoundBox Key], [http://aminet.net/package/mus/edit/SampleE SampleE], sox |<!--AmigaOS4--> |<!--MorphOS--> |- |<!--Sub Menu-->DJ mixing jamming |<!--AROS--> |<!--Amiga OS--> |<!--AmigaOS4--> |<!--MorphOS--> |- |<!--Sub Menu-->Radio Automation Software [http://www.rivendellaudio.org/ Rivendell], [http://code.campware.org/projects/livesupport/report/3 Campware LiveSupport], [http://www.sourcefabric.org/en/airtime/ SourceFabric AirTime], [http://www.ohloh.net/p/mediabox404 MediaBox404], |<!--AROS--> |<!--Amiga OS--> |<!--AmigaOS4--> |<!--MorphOS--> |- |<!--Sub Menu-->Speakers Audio Sonos Mains AC networked wired controlled *2005 ZP100 with ZP80 *2008 Zoneplayer ZP120 (multi-room wireless amp) ZP90 receiver only with CR100 controller, *2009 ZonePlayer S5, *2010 BR100 wireless Bridge (no support), *2011 Play:3 *2013 Bridge (no support), Play:1, *2016 Arc, Play:1, *Beam (Gen 2), Playbar, Ray, Era 100, Era 300, Roam, Move 2, *Sub (Gen 3), Sub Mini, Five, Amp S2 |<!--AROS-->SonosController |<!--Amiga OS-->SonosController |<!--AmigaOS4-->SonosController |<!--MorphOS-->SonosController |- |<!--Sub Menu-->Smart Speakers |<!--AROS--> |<!--Amiga OS--> |<!--AmigaOS4--> |<!--MorphOS--> |- |<!--Sub Menu--> |<!--AROS--> |<!--Amiga OS--> |<!--AmigaOS4--> |<!--MorphOS--> |- |<!--Sub Menu--> |<!--AROS--> |<!--Amiga OS--> |<!--AmigaOS4--> |<!--MorphOS--> |- |} <nowiki>*</nowiki> Commercial product. [[#top|...to the top]] ==Video Creativity and Production== {| class="wikitable sortable" |- !width:30%;|Video !width:10%;|AROS(x86) !width:10%;|Commodore-Amiga OS 3.1(68k) !width:10%;|Hyperion OS4(PPC) !width:10%;|MorphOS(PPC) |- |<!--Sub Menu-->Playing Video |<!--AROS-->[http://archives.arosworld.org/index.php?function=browse&cat=video/play Mplayer VAMP], [http://www.a500.org/downloads/video/index.xhtml CDXL player], [http://www.a500.org/downloads/video/index.xhtml IffAnimPlay], [], |<!--Amiga OS-->Frogger*, AMP2, MPlayer, RiVA*, MooViD*, |<!--AmigaOS4-->DvPlayer, MPlayer |<!--MorphOS-->MPlayer, Frogger, AMP2, VLC |- |<!--Sub Menu-->Streaming Video and game streaming like OBS studio, Parsec, [https://github.com/lizardbyte/sunshine sunshine], [https://github.com/moonlight-stream/moonlight-qt moonlight], etc |<!--AROS-->Mplayer, |<!--Amiga OS--> |<!--AmigaOS4-->Mplayer, Gnash, Tubexx |<!--MorphOS-->Mplayer, OWB, Tubexx |- |<!--Sub Menu-->Playing DVD |<!--AROS-->[http://a-mc.biz/ AMC]*, Mplayer |<!--Amiga OS-->AMP2, Frogger |<!--AmigaOS4-->[http://a-mc.biz/ AMC]*, DvPlayer*, AMP2, |<!--MorphOS-->Mplayer |- |<!--Sub Menu-->Screen Recording |<!--AROS-->[http://archives.arosworld.org/index.php?function=browse&cat=video/record Screenrecorder], [ ], [ ], [ ], [ ], |<!--Amiga OS--> |<!--AmigaOS4--> |<!--MorphOS-->Screenrecorder, |- |<!--Sub Menu-->Create and Edit Individual Video NLE |<!--AROS-->[ Mencoder], [ Quick Videos], [http://archives.arosworld.org/index.php?function=browse&cat=graphics/edit AVIbuild], [http://archives.arosworld.org/index.php?function=browse&cat=graphics/misc FrameBuild], FFMPEG, |<!--Amiga OS-->[ MainConcept Mainactor Broadcast*], [http://en.wikipedia.org/wiki/Video_Toaster Video Toaster*], MacroSystem MovieShop 4.3*, proDAD Adorage*, [ IOSpirit VHI studio]*, [Gold Disk ShowMaker], [], |<!--AmigaOS4-->FFMpeg/GUI |<!--MorphOS-->Blender, Mencoder, FFmpeg |- |<!--Sub Menu-->Subtitle editor |<!--AROS-->[https://aminet.net/package/text/edit/Slarti_Arosx86ABIv0 Slarti_Arosx86ABIv0], [], |<!--Amiga OS--> |<!--AmigaOS4--> |<!--MorphOS--> |- |<!--Sub Menu--> |<!--AROS--> |<!--Amiga OS--> |<!--AmigaOS4--> |<!--MorphOS--> |- |<!--Sub Menu-->IP-based video production workflows with High Dynamic Range (HDR), 10-bit color collaborative NDI, |<!--AROS--> |<!--Amiga OS--> |<!--AmigaOS4--> |<!--MorphOS--> |- |<!--Sub Menu-->Blogging like Lemmy or kbin |<!--AROS--> |<!--Amiga OS--> |<!--AmigaOS4--> |<!--MorphOS--> |- |<!--Sub Menu-->VR face recognition for Vtubers |<!--AROS--> |<!--Amiga OS--> |<!--AmigaOS4--> |<!--MorphOS--> |- |<!--Sub Menu-->VR chatting Live 2D models with Cubism type editor <pre> Model data (cmo3) Basic motions (can3) Background image (png) Set of files for embedding (runtime folder) • Model data (moc3) • Motion data (motion3.json) • Model settings file (model3.json) • Physics settings file (physics3.json) • Display auxiliary file (cdi3.json) </pre> |<!--AROS--> |<!--Amiga OS--> |<!--AmigaOS4--> |<!--MorphOS--> |- |<!--Sub Menu-->VR chatting chatters .VRML models - standardized 3D file format for VR avatars |<!--AROS--> |<!--Amiga OS--> |<!--AmigaOS4--> |<!--MorphOS--> |- |<!--Sub Menu-->V-tubers V-tubing like Vseeface with Openseeface tracker or Vpuppr (virtual puppet project) for 2d / 3d art models rigging rigged LIV |<!--AROS--> |<!--Amiga OS--> |<!--AmigaOS4--> |<!--MorphOS--> |- |<!--Sub Menu--> |<!--AROS--> |<!--Amiga OS--> |<!--AmigaOS4--> |<!--MorphOS--> |- |} <nowiki>*</nowiki> Commercial product. [[#top|...to the top]] ==Misc Application== {| class="wikitable sortable" |- !width:30%;|Misc Application !width:10%;|AROS(x86) !width:10%;|Commodore-Amiga OS 3.1 (68k) !width:10%;|Hyperion OS4(PPC) !width:10%;|MorphOS(PPC) |- |<!--Sub Menu-->File Management |<!--AROS-->DOpus4, [https://github.com/BlitterStudio/dopus5 DOpus Magellan aka DOpus 5], [ Scalos], [ ], |<!--Amiga OS-->DOpus2, DOpus 4, [http://sourceforge.net/projects/dopus5allamigas/files/?source=navbar DOpus Magellan DOpus5], ClassAction, FileMaster, [http://www.amiga.org/forums/showthread.php?t=4897 DirWork 2]*, [https://github.com/RudolphRiedel/DiskMaster2 DiskMaster2 src], |<!--AmigaOS4-->DOpus4, DOpus5, Filer, AmiDisk |<!--MorphOS-->DOpus4, DOpus5 |- |<!--Sub Menu-->File Verification / Repair |<!--AROS-->md5 (works in linux compiling shell), [http://archives.arosworld.org/index.php?function=browse&cat=utility/filetool workpar2] (PAR2), [http://zakalwe.fi/~shd/foss/cksfv/files/ compile cksfv from website], |<!--Amiga OS--> |<!--AmigaOS4--> |<!--MorphOS-->Par2, |- |Application Installer |<!--AROS-->[], [ InstallerNG], |<!--Amiga OS-->InstallerNG, Grunch, |<!--AmigaOS4-->Jack |<!--MorphOS-->Jack |- |<!--Sub Menu-->Compression archiver [https://github.com/FS-make-simple/paq9a paq9a], [], |<!--AROS-->XAD system is a toolkit designed for handling various file and disk archiver |<!--Amiga OS--> |<!--AmigaOS4-->[https://aminet.net/package/util/pack/decrunchmania_os4 Crunchmania CrM2 depacker], |<!--MorphOS--> |- |<!--Sub Menu-->Binary Hexadecimal Editor |<!--AROS-->[https://archives.arosworld.org/index.php?function=browse&cat=development/edit Zaphod], [], |<!--Amiga OS--> |<!--AmigaOS4--> |<!--MorphOS--> |- |<!--Sub Menu-->Repository |<!--AROS-->[ Git] |<!--Amiga OS--> |<!--AmigaOS4-->Git |<!--MorphOS--> |- |<!--Sub Menu-->Filesystem Partition Editor formatter Disk Management |<!--AROS-->[https://www.arosworld.org/infusions/forum/viewthread.php?thread_id=1440&highlight=partition&pid=8821#post_8821 QuickPart], [ HDToolBox] |<!--Amiga OS--> |<!--AmigaOS4--> |<!--MorphOS--> |- |<!--Sub Menu-->Filesystem Repair and backups |<!--AROS-->ArSFSDoctor, |<!--Amiga OS-->[https://aminet.net/package/disk/bakup/quarterback_src Quarterback Tools C and asm src], [ ], [ ], [ ], |<!--AmigaOS4--> |<!--MorphOS--> |- |<!--Sub Menu-->System Disk check, integrity and history [https://github.com/smartmontools/smartmontools smart tools], [], |<!--AROS--> |<!--Amiga OS-->[], |<!--AmigaOS4--> |<!--MorphOS--> |- |<!--Sub Menu-->Multiple File renaming |<!--AROS-->DOpus 4 or 5, |<!--Amiga OS--> |<!--AmigaOS4--> |<!--MorphOS--> |- |<!--Sub Menu-->Anti Virus |<!--AROS--> |<!--Amiga OS-->VChecker, |<!--AmigaOS4--> |<!--MorphOS--> |- |<!--Sub Menu-->Random Wallpaper Desktop changer [ DOpus5], [ Scalos], |<!--AROS--> |<!--Amiga OS--> |<!--AmigaOS4--> |<!--MorphOS--> |- |<!--Sub Menu-->Alarm Clock, Timer, Stopwatch, Countdown |<!--AROS-->[http://archives.arosworld.org/index.php?function=browse&cat=utility/workbench DClock], [http://aminet.net/util/time/AlarmClockAROS.lha AlarmClock], [], |<!--Amiga OS--> |<!--AmigaOS4--> |<!--MorphOS--> |- |<!--Sub Menu-->Fortune Cookie Quotes Sayings |<!--AROS-->[http://archives.arosworld.org/index.php?function=browse&cat=utility/misc AFortune], |<!--Amiga OS--> |<!--AmigaOS4--> |<!--MorphOS--> |- |<!--Sub Menu-->C/C++ IDE |<!--AROS-->[http://archives.arosworld.org/index.php?function=browse&cat=utility/text/edit FrexxEd], [https://github.com/vidarh/FrexxEd FrexxEd src], Annotate, Murks, |<!--Amiga OS-->[http://devplex.awardspace.biz/cubic/index.html Cubic IDE]*, Annotate, |<!--AmigaOS4-->CodeBench , [https://gitlab.com/boemann/codecraft CodeCraft], |<!--MorphOS-->[http://devplex.awardspace.biz/cubic/index.html Cubic IDE]*, Anontate, |- |<!--Sub Menu-->Computer Languages Translation [https://tetracorp.github.io/guide/reverse-engineering-amiga.html ], [https://amigasourcecodepreservation.gitlab.io/amiga-assembler-insider-guide/ ], [https://github.com/kermitfrog/Amiga-Re-Engineering Rust, Ghidra and FS-UAE], |<!--AROS--> |<!--Amiga OS-->[https://bitbucket.org/rhinoid/convert68000toc/src/main/ convert m68k seka asm-one to c], |<!--AmigaOS4--> |<!--MorphOS--> |- |<!--Sub Menu-->Gui Creators |<!--AROS-->[https://archives.arosworld.org/index.php?function=browse&cat=development/guitool MuiBuilder], |<!--Amiga OS--> |<!--AmigaOS4--> |<!--MorphOS-->[ MuiBuilder], |- |<!--Sub Menu-->Catalog .cd .ct Editors |<!--AROS-->FlexCat |<!--Amiga OS-->[http://www.geit.de/deu_simplecat.html SimpleCat], FlexCat |<!--AmigaOS4-->[http://aminet.net/package/dev/misc/simplecat SimpleCat], FlexCat |[http://www.geit.de/deu_simplecat.html SimpleCat], FlexCat |- |<!--Sub Menu--> |<!--AROS--> |<!--Amiga OS--> |<!--AmigaOS4--> |<!--MorphOS--> |- |<!--Sub Menu--> |<!--AROS--> |<!--Amiga OS--> |<!--AmigaOS4--> |<!--MorphOS--> |- |<!--Sub Menu--> |<!--AROS--> |<!--Amiga OS--> |<!--AmigaOS4--> |<!--MorphOS--> |- |} <nowiki>*</nowiki> Commercial product. ==Misc Application 2== {| class="wikitable sortable" |- !width:30%;|Misc Application !width:10%;|AROS(x86) !width:10%;|Commodore-Amiga OS 3.1(68k) !width:10%;|Hyperion OS4(PPC) !width:10%;|MorphOS(PPC) |- |<!--Sub Menu-->System |<!--AROS-->[ SysExplorer], [ SysMon], [ Scout], [], |<!--Amiga OS--> |<!--AmigaOS4--> |<!--MorphOS--> |- |<!--Sub Menu-->OSK On Screen Keyboard |<!--AROS-->[], |<!--Amiga OS-->[https://aminet.net/util/wb/OSK.lha OSK] |<!--AmigaOS4--> |<!--MorphOS--> |- |<!--Sub Menu-->Screen Magnifier Magnifying Glass Magnification |<!--AROS-->[http://www.onyxsoft.se/files/zoomit.lha ZoomIT], |<!--Amiga OS--> |<!--AmigaOS4--> |<!--MorphOS--> |- |<!--Sub Menu-->Comic Book CBR CBZ format reader viewer |<!--AROS-->[http://archives.arosworld.org/index.php?function=browse&cat=graphics/viewer comics], [http://archives.arosworld.org/index.php?function=browse&cat=graphics/viewer comicon], [], |<!--Amiga OS--> |<!--AmigaOS4--> |<!--MorphOS--> |- |<!--Sub Menu-->Ebook Reader |<!--AROS-->[https://blog.alb42.de/programs/#legadon Legadon EPUB],[] |<!--Amiga OS--> |<!--AmigaOS4--> |<!--MorphOS--> |- |<!--Sub Menu-->Ebook Converter |<!--AROS--> |<!--Amiga OS--> |<!--AmigaOS4--> |<!--MorphOS--> |- |<!--Sub Menu-->Text to Speech tts [https://github.com/JonathanFly/bark-installer Bark], [], |<!--AROS-->[http://archives.arosworld.org/index.php?function=browse&cat=audio/misc flite], |<!--Amiga OS-->[http://www.text2speech.com translator], |<!--AmigaOS4-->[http://www.os4depot.net/index.php?function=search&tool=simple FLite] |<!--MorphOS-->[http://se.aminet.net/pub/aminet/mus/misc/ FLite] |- |<!--Sub Menu-->Speech Voice Recognition Dictation - [http://sourceforge.net/projects/cmusphinx/files/ CMU Sphinx], [http://julius.sourceforge.jp/en_index.php?q=en/index.html Julius], [http://www.isip.piconepress.com/projects/speech/index.html ISIP], |<!--AROS--> |<!--Amiga OS--> |<!--AmigaOS4--> |<!--MorphOS--> |- |<!--Sub Menu-->Speech Voice Changer [], [], [], [], |<!--AROS--> |<!--Amiga OS--> |<!--AmigaOS4--> |<!--MorphOS--> |- |<!--Sub Menu-->Screen Display Blanker screensaver |<!--AROS-->Blanker Commodity (built in), [https://archives.arosworld.org/index.php?function=browse&cat=graphics/screenblanker GarshneBlanker], [http://sourceforge.net/projects/gblanker/ GBlanker Src], [], |<!--Amiga OS-->MultiCX, |<!--AmigaOS4--> |<!--MorphOS-->ModernArt Blanker, |- |} ==Misc Application 3== {| class="wikitable sortable" |- !width:30%;|Misc Application !width:10%;|AROS(x86) !width:10%;|Commodore-Amiga OS 3.1(68k) !width:10%;|Hyperion OS4(PPC) !width:10%;|MorphOS(PPC) |- |<!--Sub Menu-->Fractals mandelbrot, etc |<!--AROS-->[https://archives.arosworld.org/index.php?function=browse&cat=graphics/misc ], |<!--Amiga OS-->ZoneXplorer, |<!--AmigaOS4--> |<!--MorphOS--> |- |<!--Sub Menu-->Landscape Rendering |<!--AROS-->[https://archives.arosworld.org/index.php?function=browse&cat=graphics/raytrace WCS World Construction Set], |<!--Amiga OS-->[ Vista Pro], [http://en.wikipedia.org/wiki/World_Construction_Set World Construction Set] |<!--AmigaOS4-->[ WCS World Construction Set], |<!--MorphOS-->[ WCS World Construction Set], |- |<!--Sub Menu-->Astronomy [https://sourceforge.net/projects/skychart/ skychart freepascal], [], [], |<!--AROS-->[ Digital Almanac (ABIv0 only)], |<!--Amiga OS-->[http://aminet.net/search?query=planetarium Aminet search], [http://aminet.net/misc/sci/DA3V56ISO.zip Digital Almanac], [https://aminet.net/package/misc/sci/da3sourceV58 Src c V58], [ Galileo renamed to Distant Suns]*, [], |<!--AmigaOS4-->[http://sourceforge.net/projects/digital-almanac/ Digital Almanac], Distant Suns*, [http://www.digitaluniverse.org.uk/ Digital Universe]*, |<!--MorphOS-->[http://www.aminet.net/misc/sci/da3.lha Digital Almanac], [http://www.aminet.net/package/misc/sci/da3-mos-src Src c V56], |- |<!--Sub Menu-->Astrology [https://sourceforge.net/projects/skylendar/ skylendar], [https://github.com/CruiserOne/Astrolog Astrolog], [https://www.astrolog.org/astrolog/astfile.htm Astrology alt site], [https://saravali.github.io/download.html Maitreya], [https://github.com/alamahant/Asteria Asteria], |<!--AROS--> |<!--Amiga OS--> |<!--AmigaOS4--> |<!--MorphOS--> |- |<!--Sub Menu-->PCB design |<!--AROS--> |<!--Amiga OS-->[ ], [ ], [ ], |<!--AmigaOS4--> |<!--MorphOS--> |- |<!--Sub Menu-->Digital Signage |<!--AROS-->Hollywood, Hollywood Designer |<!--Amiga OS--> |<!--AmigaOS4--> |<!--MorphOS--> |- |<!--Sub Menu-->Genealogy History Family Tree Ancestry Records (FreeBMD, FreeREG, and FreeCEN file formats or GEDCOM GenTree) |<!--AROS--> |<!--Amiga OS--> [ Origins], [ Your Family Tree], [ ], [ ], [ ], |<!--AmigaOS4--> |<!--MorphOS--> |- |<!--Sub Menu-->Languages |<!--AROS--> |<!--Amiga OS-->Fun School, |<!--AmigaOS4--> |<!--MorphOS--> |- |<!--Sub Menu-->Mathematics ([http://www-fourier.ujf-grenoble.fr/~parisse/install_en.html Xcas], etc.), |<!--AROS-->[http://archives.arosworld.org/index.php?function=browse&cat=utility/scientific mathX] |<!--Amiga OS-->Maple V, mathX, Fun School, GCSE Maths, [ ], [ ], [ ], |<!--AmigaOS4-->Yacas |<!--MorphOS-->Yacas |- |<!--Sub Menu-->Maths Graph Function Plotting |<!--AROS-->[https://blog.alb42.de/programs/#MUIPlot MUIPlot], |<!--Amiga OS--> |<!--AmigaOS4--> |<!--MorphOS--> |- |<!--Sub Menu-->App Utility Launcher Dock toolbar |<!--AROS-->[http://archives.arosworld.org/index.php?function=browse&cat=utility/docky BoingBar], [], |<!--Amiga OS-->[https://github.com/adkennan/DockBot Dockbot], |<!--AmigaOS4--> |<!--MorphOS--> |- |<!--Sub Menu-->3D Printer [https://github.com/OrcaSlicer/OrcaSlicer OrcaSlicer] |<!--AROS--> |<!--Amiga OS--> |<!--AmigaOS4--> |<!--MorphOS--> |- |<!--Sub Menu-->BASIC Computer Language |<!--AROS-->[http://archives.arosworld.org/index.php?function=browse&cat=development/language Basic4SDL], [ Ace Basic], [ X-AMOS], [SDLBasic], [ Alvyn], |<!--Amiga OS-->[http://www.amiforce.de/main.php Amiblitz 3], [http://amos.condor.serverpro3.com/AmosProManual/contents/c1.html Amos Pro], [http://aminet.net/package/dev/basic/ace24dist ACE Basic], |<!--AmigaOS4--> |<!--MorphOS-->sdlBasic |- |<!--Sub Menu-->HAM radio, amateur radio, packet radio [], [], [], [https://cemaxecuter.com/ Dragon OS], [https://github.com/km4ack/73Linux with 73 link update], [https://www.youtube.com/watch?v=YAL5KNePRSg video for], |<!--AROS--> |<!--Amiga OS-->[https://www.amigarealm.com/amiga/amicomms/comm4.htm Comm4], [https://www.amigarealm.com/archives/comms/aarug/ TNC Terminal Node Controller with packets over serial connections on Yaesu or Woxum handheld], [https://aminet.net/comm/misc AmiCom], [ with 7Plus file encoder/decoder], [ mksstv], [ RTTYam], |<!--AmigaOS4--> |<!--MorphOS--> |- |<!--Sub Menu--> |<!--AROS--> |<!--Amiga OS--> |<!--AmigaOS4--> |<!--MorphOS--> |- |} <nowiki>*</nowiki> Commercial product. ==Games & Emulation== Some emulators/games require OpenGL to function and to adjust ahi prefs channels, frequency and unit0 and unit1 and [http://aros.sourceforge.net/documentation/users/shell/changetaskpri.php changetaskpri -1] Rom patching https://www.marcrobledo.com/RomPatcher.js/ https://www.romhacking.net/patch/ (ips, ups, bps, etc) and this other site supports the latter formats https://hack64.net/tools/patcher.php Free public domain roms for use with emulators can be found [http://www.pdroms.de/ here] as most of the rest are covered by copyright rules. If you like to read about old games see [http://retrogamingtimes.com/ here] and [http://www.armchairarcade.com/neo/ here] and a [http://www.vintagecomputing.com/ blog] about old computers. Possibly some of the [http://www.answers.com/topic/list-of-best-selling-computer-and-video-games best selling] of all time. [http://en.wikipedia.org/wiki/List_of_computer_system_emulators Wiki] with emulated systems list. [https://archive.gamehistory.org/ Archive of VGHF], [https://library.gamehistory.org/ Video Game History Foundation Library search] {| class="wikitable sortable" |- !width:10%;|Games [http://archives.arosworld.org/index.php?function=browse&cat=emulation/computer Emulation] !width:10%;|AROS(x86) !width:10%;|AmigaOS3(68k) !width:10%;|AmigaOS4(PPC) !width:10%;|MorphOS(PPC) |- |<!--Sub Menu-->Games Emulation Amstrad CPC |<!--AROS-->[http://archives.arosworld.org/index.php?function=browse&cat=emulation/computer], [ Caprice32 (OpenGL & pure SDL)], [ Arnold], [https://retroshowcase.gr/cpcbox-master/], |<!--Amiga OS--> |<!--AmigaOS4-->[http://os4depot.net/index.php?function=browse&cat=emulation/computer] |<!--MorphOS-->[http://morphos.lukysoft.cz/en/vypis.php?kat=2], |- |<!--Sub Menu-->Games Emulation Apple2 and 2GS |<!--AROS-->[http://archives.arosworld.org/index.php?function=browse&cat=emulation/computer], |<!--Amiga OS--> |<!--AmigaOS4--> |<!--MorphOS--> |- |<!--Sub Menu-->Games Emulation Arcade |<!--AROS-->[http://archives.arosworld.org/index.php?function=browse&cat=emulation/gamesystem Mame], [ SI Emu (ABIv0 only)], |<!--Amiga OS-->Mame, |<!--AmigaOS4-->[http://www.os4depot.net/index.php?function=browse&cat=emulation/gamesystem xmame], amiarcadia, |<!--MorphOS-->[http://morphos.lukysoft.cz/en/vypis.php?kat=2 Mame], |- |<!--Sub Menu-->Games Emulation Atari 2600 [], [], |<!--AROS-->[http://archives.arosworld.org/index.php?function=browse&cat=emulation/gamesystem Stella], |<!--Amiga OS--> |<!--AmigaOS4--> |<!--MorphOS--> |- |<!--Sub Menu-->Games Emulation Atari 5200 [https://github.com/wavemotion-dave/A5200DS A5200DS], [], |<!--AROS--> |<!--Amiga OS--> |<!--AmigaOS4--> |<!--MorphOS--> |- |<!--Sub Menu-->Games Emulation Atari 7800 |<!--AROS--> |<!--Amiga OS--> |<!--AmigaOS4--> |<!--MorphOS--> |- |<!--Sub Menu-->Games Emulation Atari 400 800 130XL [https://github.com/wavemotion-dave/A8DS A8DS], [], |<!--AROS-->[http://archives.arosworld.org/index.php?function=browse&cat=emulation/computer Atari800], |<!--Amiga OS--> |<!--AmigaOS4--> |<!--MorphOS--> |- |<!--Sub Menu-->Games Emulation Atari Lynx |<!--AROS-->[http://myfreefilehosting.com/f/6366e11bdf_1.93MB Handy (ABIv0 only)], |<!--Amiga OS--> |<!--AmigaOS4--> |<!--MorphOS--> |- |<!--Sub Menu-->Games Emulation Atari Jaguar |<!--AROS--> |<!--Amiga OS--> |<!--AmigaOS4--> |<!--MorphOS--> |- |<!--Sub Menu-->Games Emulation Bandai Wonderswan |<!--AROS--> |<!--Amiga OS--> |<!--AmigaOS4--> |<!--MorphOS--> |- |<!--Sub Menu-->Games Emulation BBC Micro and Acorn Electron [http://beehttps://bem-unix.bbcmicro.com/download.html BeebEm], [http://b-em.bbcmicro.com/ B-Em], [http://elkulator.acornelectron.co.uk/ Elkulator], [http://electrem.emuunlim.com/ ElectrEm], |<!--AROS--> |<!--Amiga OS--> |<!--AmigaOS4--> |<!--MorphOS--> |- |<!--Sub Menu-->Games Emulation Dragon 32 and Tandy CoCo [http://www.6809.org.uk/xroar/ xroar], [], |<!--AROS-->[], [], [], |<!--Amiga OS--> |<!--AmigaOS4--> |<!--MorphOS--> |- |<!--Sub Menu-->Games Emulation Commodore C16 Plus4 |<!--AROS--> |<!--Amiga OS--> |<!--AmigaOS4--> |<!--MorphOS--> |- |<!--Sub Menu-->Games Emulation Commodore C64 |<!--AROS-->[http://archives.arosworld.org/index.php?function=browse&cat=emulation/computer Vice (ABIv0 only)], [], |<!--Amiga OS-->Frodo, |<!--AmigaOS4-->[http://www.os4depot.net/index.php?function=browse&cat=emulation/gamesystem viceplus], |<!--MorphOS-->Vice, |- |<!--Sub Menu-->Games Emulation Commodore Amiga |<!--AROS-->[http://archives.arosworld.org/index.php?function=browse&cat=emulation/computer Janus UAE], Emumiga, |<!--Amiga OS--> |<!--AmigaOS4-->[http://os4depot.net/index.php?function=browse&cat=emulation/computer UAE], |<!--MorphOS-->[http://morphos.lukysoft.cz/en/vypis.php?kat=2 UAE], |- |<!--Sub Menu-->Games Emulation Japanese MSX MSX2 |<!--AROS--> |<!--Amiga OS--> |<!--AmigaOS4--> |<!--MorphOS--> |- |<!--Sub Menu-->Games Emulation Mattel Intelivision |<!--AROS--> |<!--Amiga OS--> |<!--AmigaOS4--> |<!--MorphOS--> |- |<!--Sub Menu-->Games Emulation Mattel Colecovision and Adam |<!--AROS--> |<!--Amiga OS--> |<!--AmigaOS4--> |<!--MorphOS--> |- |<!--Sub Menu-->Games Emulation Milton Bradley (MB) Vectrex [ Vectrex OpenGL], |<!--AROS--> |<!--Amiga OS--> |<!--AmigaOS4--> |<!--MorphOS--> |- |<!--Sub Menu-->Games Emulation PICO8 Pico-8 fantasy video game console [https://github.com/egordorichev/pemsa-sdl/ pemsa-sdl], [https://github.com/jtothebell/fake-08 fake-08], [https://github.com/Epicpkmn11/fake-08/tree/wip fake-08 fork], |<!--AROS--> |<!--Amiga OS--> |<!--AmigaOS4--> |<!--MorphOS--> |- |<!--Sub Menu-->Games Emulation Nintendo Gameboy |<!--AROS-->[http://archives.arosworld.org/index.php?function=browse&cat=emulation/gamesystem vba no sound], [], |<!--Amiga OS--> |<!--AmigaOS4-->[http://www.os4depot.net/index.php?function=browse&cat=emulation/gamesystem vba] |<!--MorphOS--> |- |<!--Sub Menu-->Games Emulation Nintendo NES |<!--AROS-->[ EmiNES], [http://archives.arosworld.org/index.php?function=browse&cat=emulation/gamesystem Fceu], [https://github.com/takahirox/nes-js?tab=readme-ov-file nes-js], [https://github.com/bfirsh/jsnes jsnes], [https://github.com/angelo-wf/NesJs NesJs], |<!--Amiga OS-->AmiNES, [http://www.dridus.com/~nyef/darcnes/ darcNES], |<!--AmigaOS4-->[http://www.os4depot.net/index.php?function=browse&cat=emulation/gamesystem amines] |<!--MorphOS--> |- |<!--Sub Menu-->Games Emulation Nintendo SNES |<!--AROS-->[http://archives.arosworld.org/index.php?function=browse&cat=emulation/gamesystem Zsnes], |<!--Amiga OS--> |<!--AmigaOS4-->[http://www.os4depot.net/index.php?function=browse&cat=emulation/gamesystem warpsnes] |<!--MorphOS-->[http://fabportnawak.free.fr/snes/ Snes9x], |- |<!--Sub Menu-->Games Emulation Nintendo N64 *HLE and plugins [ mupen64], [https://github.com/ares-emulator/ares ares], [https://github.com/N64Recomp/N64Recomp N64Recomp], [https://github.com/rt64/rt64 rt64], [https://github.com/simple64/simple64 Simple64], *LLE [], |<!--AROS-->[http://code.google.com/p/mupen64plus/ Mupen64+], |<!--Amiga OS-->[http://code.google.com/p/mupen64plus/ Mupen64+], [http://aminet.net/package/misc/emu/tr-981125_src TR64], |<!--AmigaOS4--> |<!--MorphOS--> |- |<!--Sub Menu-->[ Nintendo Gamecube Wii] |<!--AROS--> |<!--Amiga OS--> |<!--AmigaOS4--> |<!--MorphOS--> |- |<!--Sub Menu-->[ Nintendo Wii U] |<!--AROS--> |<!--Amiga OS--> |<!--AmigaOS4--> |<!--MorphOS--> |- |<!--Sub Menu-->[https://github.com/yuzu-emu Nintendo Switch] |<!--AROS--> |<!--Amiga OS--> |<!--AmigaOS4--> |<!--MorphOS--> |- |<!--Sub Menu-->Games Emulation NEC PC Engine |<!--AROS-->[], [], [https://github.com/yhzmr442/jspce js-pce], |[http://www.hugo.fr.fm/ Hugo], [http://mednafen.sourceforge.net/ Mednafen], |<!--AmigaOS4-->[http://www.os4depot.net/index.php?function=browse&cat=emulation/gamesystem tgemu] |<!--MorphOS--> |- |<!--Sub Menu-->Games Emulation Sega Master System (SMS) |<!--AROS-->[http://archives.arosworld.org/index.php?function=browse&cat=emulation/gamesystem Dega], [http://archives.arosworld.org/index.php?function=browse&cat=emulation/gamesystem sms], |<!--Amiga OS--> |<!--AmigaOS4-->[http://www.os4depot.net/index.php?function=browse&cat=emulation/gamesystem osmose] |<!--MorphOS--> |- |<!--Sub Menu-->Games Emulation Sega Genesis/Megadrive |<!--AROS-->[http://archives.arosworld.org/index.php?function=browse&cat=emulation/gamesystem gp no sound], [http://archives.arosworld.org/index.php?function=browse&cat=emulation/gamesystem DGen], |<!--Amiga OS-->[http://code.google.com/p/genplus-gx/ Genplus], |<!--AmigaOS4-->[http://www.os4depot.net/index.php?function=browse&cat=emulation/gamesystem genesisplus] |<!--MorphOS--> |- |<!--Sub Menu-->Games Emulation Sega Saturn *HLE [https://mednafen.github.io/ mednafen], [http://yabause.org/ yabause], [], *LLE [], [], |<!--AROS-->? |<!--Amiga OS-->[http://yabause.org/ Yabause], |<!--AmigaOS4--> |<!--MorphOS--> |- |<!--Sub Menu-->Games Emulation Sega Dreamcast *HLE [https://github.com/flyinghead/flycast flycast], [https://code.google.com/archive/p/nulldc/downloads NullDC], *LLE [], [], |<!--AROS-->? |<!--Amiga OS--> |<!--AmigaOS4--> |<!--MorphOS--> |- |<!--Sub Menu-->Games Emulation Sinclair ZX80 and ZX81 |<!--AROS-->[http://archives.arosworld.org/index.php?function=browse&cat=emulation/computer], [], [], |<!--Amiga OS--> |<!--AmigaOS4--> |<!--MorphOS--> |- |<!--Sub Menu-->Games Emulation Sinclair Spectrum |[http://archives.arosworld.org/index.php?function=browse&cat=emulation/computer Fuse (crackly sound)], [http://archives.arosworld.org/index.php?function=browse&cat=emulation/computer SimCoupe], [ FBZX slow], [https://jsspeccy.zxdemo.org/ jsspeccy], [http://torinak.com/qaop/games qaop], |<!--Amiga OS-->[http://www.lasernet.plus.com/ Asp], [http://www.zophar.net/sinclair.html Speculator], [http://www.worldofspectrum.org/x128/index.html X128], |<!--AmigaOS4-->[http://www.os4depot.net/index.php?function=browse&cat=emulation/computer] |<!--MorphOS--> |- |<!--Sub Menu-->Games Emulation Sinclair QL |<!--AROS-->[http://archives.arosworld.org/index.php?function=browse&cat=emulation/computer], [], |<!--Amiga OS-->[http://aminet.net/package/misc/emu/QDOS4amiga1 QDOS4amiga] |<!--AmigaOS4--> |<!--MorphOS--> |- |<!--Sub Menu-->Games Emulation SNK NeoGeo Pocket |<!--AROS-->[http://archives.arosworld.org/index.php?function=browse&cat=emulation/gamesystem], |<!--Amiga OS--> |<!--AmigaOS4-->[http://www.os4depot.net/index.php?function=browse&cat=emulation/gamesystem gngeo], NeoPop, |<!--MorphOS--> |- |<!--Sub Menu-->Games Emulation Sony PlayStation |<!--AROS-->[http://archives.arosworld.org/index.php?function=browse&cat=emulation/gamesystem FPSE], |<!--Amiga OS--> |<!--AmigaOS4-->[http://www.os4depot.net/index.php?function=browse&cat=emulation/gamesystem FPSE] |<!--MorphOS--> |- |<!--Sub Menu-->[ Sony PS2] |<!--AROS--> |<!--Amiga OS--> |<!--AmigaOS4--> |<!--MorphOS--> |- |<!--Sub Menu-->[ Sony PS3] |<!--AROS--> |<!--Amiga OS--> |<!--AmigaOS4--> |<!--MorphOS--> |- |<!--Sub Menu-->[https://vita3k.org/ Sony Vita] |<!--AROS--> |<!--Amiga OS--> |<!--AmigaOS4--> |<!--MorphOS--> |- |<!--Sub Menu-->[https://github.com/shadps4-emu/shadPS4 PS4] |<!--AROS--> |<!--Amiga OS--> |<!--AmigaOS4--> |<!--MorphOS--> |- |<!--Sub Menu-->Games Emulation [http://en.wikipedia.org/wiki/Tangerine_Computer_Systems Tangerine] Oric and Atmos |<!--AROS-->[http://archives.arosworld.org/index.php?function=browse&cat=emulation/computer Oricutron] |<!--Amiga OS--> |<!--AmigaOS4-->[http://www.os4depot.net/index.php?function=browse&cat=emulation/gamesystem Oricutron] |<!--MorphOS-->[http://aminet.net/package/misc/emu/oricutron Oricutron] |- |<!--Sub Menu-->Games Emulation TI 99/4 99/4A [https://github.com/wavemotion-dave/DS994a DS994a], [], [https://js99er.net/#/ js99er], [], [http://aminet.net/package/misc/emu/TI4Amiga TI4Amiga], [http://aminet.net/package/misc/emu/TI4Amiga_src TI4Amiga src in c], |<!--AROS-->[http://archives.arosworld.org/index.php?function=browse&cat=emulation/computer], |<!--Amiga OS--> |<!--AmigaOS4--> |<!--MorphOS--> |- |<!--Sub Menu-->Games Emulation HP 38G 40GS 48 49G/50G Graphing Calculators |<!--AROS--> |<!--Amiga OS--> |<!--AmigaOS4--> |<!--MorphOS--> |- |<!--Sub Menu-->Games Emulation TI 58 83 84 85 86 - 89 92 Graphing Calculators |<!--AROS--> |<!--Amiga OS--> |<!--AmigaOS4--> |<!--MorphOS--> |- |<!--Sub Menu--> |<!--AROS--> |<!--Amiga OS--> |<!--AmigaOS4--> |<!--MorphOS--> |- |} {| class="wikitable sortable" |- !width:10%;|Games [https://www.rockpapershotgun.com/ General] !width:10%;|AROS(x86) !width:10%;|AmigaOS3(68k) !width:10%;|AmigaOS4(PPC) !width:10%;|MorphOS(PPC) |- style="background:lightgrey; text-align:center; font-weight:bold;" | Games [https://www.trackawesomelist.com/michelpereira/awesome-open-source-games/ Open Source and others] || AROS || Amiga OS || Amiga OS4 || Morphos |- |<!--Sub Menu-->Games Action like [https://github.com/opentomb/OpenTomb opentomb], [https://github.com/LostArtefacts/TRX TRX formerly Tomb1Main], [https://github.com/TombEngine TombEngine], [http://archives.arosworld.org/index.php?function=browse&cat=game/action Thrust], [https://github.com/fragglet/sdl-sopwith sdl sopwith], |<!--AROS-->[http://archives.arosworld.org/index.php?function=browse&cat=game/action], [https://archives.arosworld.org/index.php?function=browse&cat=game/action BOH], [], |<!--Amiga OS-->[https://github.com/BSzili/OpenLara/tree/amiga/src source of openlara SDL2], |<!--AmigaOS4--> |<!--MorphOS--> |- |<!--Sub Menu-->Games Adventure like [http://dotg.sourceforge.net/ DMJ], [https://github.com/kromenak/gengine Gabriel Knight 3], [http://www.sarien.net/ Sierra Sarien], [https://github.com/klembot/twinejs twine js], [], |<!--AROS-->[http://archives.arosworld.org/index.php?function=browse&cat=game/adventure dmagnetic], [https://archives.arosworld.org/?function=browse&cat=emulation/misc ScummVM], [https://archives.arosworld.org/index.php?function=browse&cat=game/roleplaying frotz infocom], [], |<!--Amiga OS--> |<!--AmigaOS4--> |<!--MorphOS--> |- |<!--Sub Menu-->Games Board like [https://github.com/aperture-software/colditz-escape escape from colditz], [], |<!--AROS-->[http://archives.arosworld.org/index.php?function=browse&cat=game/board], [http://amigan.1emu.net/releases Africa] |<!--Amiga OS--> |<!--AmigaOS4--> |<!--MorphOS--> |- |<!--Sub Menu-->Games Cards |<!--AROS-->[https://archives.arosworld.org/index.php?function=browse&cat=game/card ], [], |<!--AmigaOS-->[http://home.arcor.de/amigasolitaire/e/welcome.html Reko], [https://github.com/samskivert/beschei-en beschei Src], |<!--AmigaOS4--> |<!--MorphOS--> |- |<!--Sub Menu-->Games Misc [https://github.com/michelpereira/awesome-open-source-games Awesome open], [https://github.com/bobeff/open-source-games General Open Source], [https://github.com/SAT-R/sa2 Sonic Advance 2], [https://github.com/velorek1/cwordle Wordle type], |<!--AROS-->[http://archives.arosworld.org/index.php?function=browse&cat=game/misc], [], |<!--Amiga OS--> |<!--AmigaOS4--> |<!--MorphOS--> |- |<!--Sub Menu-->Games FPS like [https://aminet.net/package/game/shoot/D1X_Rebirth_AGA Descent D1X src], [https://github.com/DescentDevelopers/Descent3 Descent 3], [https://github.com/Fewnity/Counter-Strike-Nintendo-DS Counter-Strike-Nintendo-DS], [https://github.com/Aleph-One-Marathon/alephone Bungie Marathon 1994], [https://zdoom.org/downloads UzDoom opengl 3.3], [https://github.com/ZDoom/gzdoom gzdoom opengl 3+], [https://zdoom.org/downloads LZDoom opengl 2.1], |<!--AROS-->Doom, Quake, [http://archives.arosworld.org/index.php?function=browse&cat=game/fps Quake 3 Arena (OpenGL)], [http://archives.arosworld.org/index.php?function=browse&cat=game/fps Cube (OpenGL)], [http://archives.arosworld.org/index.php?function=browse&cat=game/fps Assault Cube (OpenGL)], [http://archives.arosworld.org/index.php?function=browse&cat=game/fps Cube 2 Sauerbraten (OpenGL)], [http://fodquake.net/test/ FodQuake QuakeWorld], [https://archives.arosworld.org/index.php?function=browse&cat=game/fps Duke Nukem 3D], [https://archives.arosworld.org/index.php?function=browse&cat=game/fps Darkplaces Nexuiz Xonotic], [http://archives.arosworld.org/index.php?function=browse&cat=game/fps Doom 3 SDL (OpenGL)], [http://archives.arosworld.org/index.php?function=browse&cat=game/fps Hexenworld and Hexen 2], [https://archives.arosworld.org/index.php?function=browse&cat=game/fps Aliens vs Predator Gold 2000 avp (openGL)], [https://archives.arosworld.org/index.php?function=browse&cat=game/fps Odamex (openGL doom)], [https://archives.arosworld.org/?function=showfile&file=game/fps/ zgloom], [], [https://archives.arosworld.org/?function=showfile&file=game/fps/ ab3dhd], [], |<!--Amiga OS-->Doom, Quake, AB3D, Fears, Breathless, Gloom, |<!--AmigaOS4-->Doom, Quake, |<!--MorphOS-->[http://morphos.lukysoft.cz/en/vypis.php?kat=12 Doom], Quake, Quake 3 Arena, [https://github.com/OpenXRay/xray-16 S.T.A.L.K.E.R Xray] |- |<!--Sub Menu-->Games MMORG like |<!--AROS-->[ Eternal Lands (OpenGL)], |<!--Amiga OS--> |<!--AmigaOS4--> |<!--MorphOS--> |- |<!--Sub Menu-->Games Platform like |<!--AROS-->[http://archives.arosworld.org/index.php?function=browse&cat=game/platform], [ Maze of Galious], [ Gish]*(openGL), [ Mega Mario], [https://archives.arosworld.org/?function=showfile&file=game/platform/ thextech SMBX], [http://www.gianas-return.de/ Giana's Return], [http://www.sqrxz.de/ Sqrxz], [www.sqrxz2.de/ Sqrxz 2], [http://www.sqrxz.de/sqrxz-3/ Sqrxz 3], [http://www.sqrxz.de/sqrxz-4/ Sqrxz 4], [http://archives.arosworld.org/index.php?function=browse&cat=game/platform Cave Story], [https://bszili.morphos.me/ Frogatto], [https://bszili.morphos.me/ OpenJazz], [https://archives.arosworld.org/?function=showfile&file=game/platform/ pekkakana2], [ Aquaria], [https://archives.arosworld.org/?function=showfile&file=game/platform/ sonic CD], [], |<!--Amiga OS-->[ Giana Sisters], [], |<!--AmigaOS4--> |<!--MorphOS--> |- |<!--Sub Menu-->Games Puzzle [https://github.com/mariopartyrd/marioparty4/tree/port Party], [https://github.com/mdodis/OpenSolomonsKey OpenSolomonsKey], [], |<!--AROS-->[http://archives.arosworld.org/index.php?function=browse&cat=game/puzzle], [ Cubosphere (OpenGL)], [http://archives.arosworld.org/index.php?function=browse&cat=game/puzzle Candy Crisis], [http://bszili.morphos.me/ TailTale], |<!--Amiga OS--> |<!--AmigaOS4--> |<!--MorphOS--> |- |<!--Sub Menu-->Games Racing [ Trigger Rally], [ VDrift], [http://www.ultimatestunts.nl/index.php?page=2&lang=en Ultimate Stunts], [http://maniadrive.raydium.org/ Mania Drive], [https://github.com/plowteam/donut Simpsons Hit and Run], [], |<!--AROS-->[ Super Tux Kart (OpenGL)], [http://www.dusabledanslherbe.eu/AROSPage/F1Spirit.30.html F1 Spirit (OpenGL)], [http://bszili.morphos.me/index.html MultiRacer], [https://bszili.morphos.me/ Speed Dreams], [], |<!--AmigaOS--> |<!--AmigaOS4-->[http://bszili.morphos.me/index.html Speed Dreams], |<!--MorphOS-->[http://morphos.lukysoft.cz/en/vypis.php?kat=12], [http://bszili.morphos.me/index.html TORCS], |- |<!--Sub Menu-->Games 1st first person DRPG [https://wiki.rpg.net/index.php/Open_Game_Systems Misc], [https://github.com/OpenEnroth/OpenEnroth OpenEnroth MM], [] |<!--AROS-->[https://github.com/BSzili/aros-stuff Arx Libertatis], [http://www.playfuljs.com/a-first-person-engine-in-265-lines/ js raycaster], [https://github.com/Dorthu/es6-crpg webgl], [https://github.com/sonountaleban/AmiShockolate System Shock], [], [], |<!--AmigaOS-->Phantasie, Faery Tale, Dungeon Master, |<!--AmigaOS4--> |<!--MorphOS--> |- |<!--Sub Menu-->Games 3rd third person action CRPG [https://sourceforge.net/projects/sumwars/ Summoning Wars], [https://www.solarus-games.org/ Solarus], [https://wiki.rpg.net/index.php/Open_Game_Systems Misc], [https://github.com/alexbatalov/fallout1-ce fallout ce], [https://github.com/rwengine/openrw gta3], [https://github.com/gta-reversed/gta-reversed gta3 sa], [https://github.com/mrxenginner/reVC gta3 vc revc], |<!--AROS-->[https://archives.arosworld.org/?function=showfile&file=game/strategy/ fheroes2 homm2], [https://archives.arosworld.org/?function=showfile&file=game/roleplaying/ breakhack], [https://archives.arosworld.org/?function=showfile&file=game/roleplaying/ devilutionx diablo 1 hellfire], [https://archives.arosworld.org/?function=showfile&file=game/roleplaying/ fallout 1], [https://archives.arosworld.org/?function=showfile&file=game/strategy/ stratagus], [https://archives.arosworld.org/?function=showfile&file=game/strategy/ hostile-takeover], [], |<!--Amiga OS--> |<!--AmigaOS4--> |<!--MorphOS--> |- |<!--Sub Menu-->Games isometric RPG [https://sourceforge.net/projects/sumwars/ Summoning Wars], [https://www.solarus-games.org/ Solarus], [https://wiki.rpg.net/index.php/Open_Game_Systems Misc], [https://github.com/topics/dungeon?l=javascript Dungeon], [], [https://github.com/clintbellanger/heroine-dusk JS Dusk], |<!--AROS-->[http://archives.arosworld.org/index.php?function=browse&cat=game/roleplaying nethack], [https://archives.arosworld.org/index.php?function=browse&cat=game/roleplaying GemRB], [], |<!--Amiga OS--> |<!--AmigaOS4--> |<!--MorphOS--> |- |<!--Sub Menu-->Games card based RPG [https://github.com/open-duelyst/duelyst Duelyst], [], [], |<!--AROS--> |<!--Amiga OS--> |<!--AmigaOS4--> |<!--MorphOS--> |- |<!--Sub Menu-->Games turn based tactics RPG [], [], [], [], [], [], |<!--AROS-->[https://archives.arosworld.org/index.php?function=browse&cat=game/strategy UFO AI], [http://play.freeciv.org/ FreeCiv], [], [], |<!--Amiga OS--> |<!--AmigaOS4--> |<!--MorphOS--> |- |<!--Sub Menu-->Games Strategy [http://rtsgus.org/ RTSgus], [http://stargus.sourceforge.net/ Stargus], [https://github.com/KD-lab-Open-Source/Perimeter Perimeter], [https://matty77.itch.io/conflict-3049 conflict-3049], [], |<!--AROS-->[http://archives.arosworld.org/index.php?function=browse&cat=game/strategy MegaGlest (OpenGL)], [https://archives.arosworld.org/?function=showfile&file=game/strategy/ signus], [https://www.arosworld.org/infusions/forum/viewthread.php?thread_id=1443&rowstart=140&pid=12446#post_12446 Wargus warcraft 2 setup], |<!--Amiga OS--> |<!--AmigaOS4--> |<!--MorphOS-->[http://morphos.lukysoft.cz/en/vypis.php?kat=12] |- |<!--Sub Menu-->Games Rhythm, Beat, Step [], [], [https://clonehero.net/ clonehero], [https://github.com/MatteoGodzilla/Dj-Engine Dj-Engine], |<!--AROS-->[https://archives.arosworld.org/index.php?function=browse&cat=game/misc Frets on Fire], [], |<!--Amiga OS--> |<!--AmigaOS4--> |<!--MorphOS--> |- |<!--Sub Menu-->Games Shoot Em Ups [http://www.mhgames.org/oldies/formido/ Formido], [http://code.google.com/p/violetland/ Violetland], ||<!--AROS-->[https://archives.arosworld.org/index.php?function=browse&cat=game/action Open Tyrian], [http://www.parallelrealities.co.uk/projects/starfighter.php Starfighter], [ Alien Blaster], [https://github.com/OpenFodder/openfodder OpenFodder], [https://archives.arosworld.org/?function=showfile&file=game/action/ tbftss The Battle for the Solar System: the Pandora War] |<!--AmigaOS--> |<!--AmigaOS4-->[http://www.parallelrealities.co.uk/projects/starfighter.php Starfighter], [ The Battle for the Solar System: the Pandora War] |<!--MorphOS--> |- |<!--Sub Menu-->Games Simulations [http://scp.indiegames.us/ Freespace 2], [http://www.heptargon.de/gl-117/gl-117.html GL117], [http://code.google.com/p/corsix-th/ Theme Hospital], [http://code.google.com/p/freerct/ Rollercoaster Tycoon], [http://hedgewars.org/ Hedgewars], [https://github.com/raceintospace/raceintospace raceintospace], [https://github.com/Return-To-The-Roots RTTR Settlers 2], [https://github.com/OoliteProject/oolite oolite elite], [https://github.com/fesh0r/newkind newkind elite], [], |<!--AROS--> |<!--Amiga OS-->SimCity, SimAnt, Sim Hospital, Theme Park, |<!--AmigaOS4--> |<!--MorphOS-->[http://morphos.lukysoft.cz/en/vypis.php?kat=12] |- |<!--Sub Menu-->Games Life Sim [https://github.com/ACreTeam/forest Animal Crossing], [ ], [], [], |<!--AROS--> |<!--Amiga OS--> |<!--AmigaOS4--> |<!--MorphOS--> |- |<!--Sub Menu-->Games Horror [https://github.com/Mikompilation/MikuPan Fatal Frame], [ ], [], [], |<!--AROS--> |<!--Amiga OS--> |<!--AmigaOS4--> |<!--MorphOS--> |- |<!--Sub Menu-->Games Sandbox Voxel Open World Exploration [https://github.com/ClassiCube/ Classicube],[http://www.michaelfogleman.com/craft/ Craft], [https://github.com/tothpaul/DelphiCraft DelphiCraft],[https://www.minetest.net/ Luanti formerly Minetest], [ infiniminer], |<!--AROS--> |<!--Amiga OS--> |<!--AmigaOS4--> |<!--MorphOS--> |- |<!--Sub Menu-->Battle Royale [https://bruh.io/ Play.Bruh.io], [https://www.coolmathgames.com/0-copter Copter Royale], [https://surviv.io/ Surviv.io], [https://nuggetroyale.io/#Ketchup Nugget Royale], [https://miniroyale2.io/ Miniroyale2.io], |<!--AROS--> |<!--Amiga OS--> |<!--AmigaOS4--> |<!--MorphOS--> |- |<!--Sub Menu-->Games Tower Defense [https://chriscourses.github.io/tower-defense/ HTML5], [https://github.com/SBardak/Tower-Defense-Game TD C++], [https://github.com/bdoms/love_defense LUA and LOVE], [https://github.com/HyOsori/Osori-WebGame HTML5], [https://github.com/PascalCorpsman/ConfigTD ConfigTD Pascal], [https://github.com/GloriousEggroll/wine-ge-custom Wine], [] |<!--AROS--> |<!--Amiga OS--> |<!--AmigaOS4--> |<!--MorphOS--> |- |<!--Sub Menu-->Games Visual Novel Engines [https://github.com/diane1f0cd/VisualNovelTemplate Visual Novel Template], [https://github.com/Kirilllive/tuesday-js Tuesday JS], [https://github.com/tejasnayak25/vnsutra vnsutra], [https://github.com/weetabix-su/renpsp-dev RenPSP], [https://github.com/Galladite27/ONScripter-EN ONScripter-EN], [https://www.renpy.org/ renpy ren'py], [https://github.com/NathanGuilhot/VNES-Raylib https://github.com/NathanGuilhot/VNES VNES in Raylib], [], |<!--AROS--> |<!--Amiga OS--> |<!--AmigaOS4--> |<!--MorphOS--> |- |<!--Sub Menu-->Games Virtual Reality VR [https://gitlab.com/madsbuvi/openmw openmw vr], [https://github.com/Team-Beef-Studios/BeefRaiderXR BeefRaiderXR], |<!--AROS--> |<!--Amiga OS--> |<!--AmigaOS4--> |<!--MorphOS--> |- |<!--Sub Menu-->Games Virtual Table Top VTT [ Roll20], [https://www.owlbear.rodeo/ owlbear rodeo], [], [], |<!--AROS--> |<!--Amiga OS--> |<!--AmigaOS4--> |<!--MorphOS--> |- |<!--Sub Menu-->Games Computer assisted TableTop TTRPG OSR [https://www.rpgsolo.com/play.php RPGSolo], [https://github.com/fpsvogel/solo-ttrpgs Solo TTRPG], [], [], |<!--AROS--> |<!--Amiga OS--> |<!--AmigaOS4--> |<!--MorphOS--> |- |<!--Sub Menu-->Games 2D 3D Engines [https://github.com/fegennari/3DWorld 3DWorld], [https://github.com/GarageGames/Torque3D Torque3D], [https://github.com/gameplay3d/GamePlay GamePlay 3D], [https://www.babylonjs.com/ BabylonJS ], [ Godot], [ Ogre], [ Crystal Space], [https://github.com/JacobHess03/ Dragon-Quest like], [https://github.com/bjornbytes/lovr Lua LOVE for 2D LOVR for 3D], [], |<!--AROS-->[https://www.arkhamdev.net/wiki.htm?id=agx Arkham Development antiryadgx 8.9 lts with register], [], |<!--Amiga OS--> |<!--AmigaOS4--> |<!--MorphOS--> |- |<!--Sub Menu-->Games C based game frameworks [https://github.com/orangeduck/Corange Corange], [https://github.com/scottcgi/Mojoc Mojoc], [https://orx-project.org/ Orx], [https://github.com/ioquake/ioq3 Quake 3], [https://www.mapeditor.org/ Tiled], [https://www.raylib.com/ 2d Raylib], [https://github.com/Rabios/awesome-raylib other raylib], [https://github.com/MrFrenik/gunslinger Gunslinger], [https://o3de.org/ o3d], [http://archives.aros-exec.org/index.php?function=browse&cat=development/library GLFW], [], |<!--AROS-->[http://archives.arosworld.org/index.php?function=browse&cat=development/library Raylib 5], |<!--Amiga OS--> |<!--AmigaOS4--> |<!--MorphOS--> |- |<!--Sub Menu-->Games RPGMaker MV/MZ-compatible projects [https://github.com/Psychronic-Games/RPGReactor RPGReactor js], |<!--AROS--> |<!--Amiga OS--> |<!--AmigaOS4--> |<!--MorphOS--> |- |<!--Sub Menu-->Games Virtual Pinball [https://github.com/vpinball/vpinball vpinball], [], |<!--AROS--> |<!--Amiga OS--> |<!--AmigaOS4--> |<!--MorphOS--> |- |<!--Sub Menu-->Games unpack unarc [], [], |<!--AROS--> |<!--Amiga OS--> |<!--AmigaOS4--> |<!--MorphOS--> |} ==Application Guides== [[#top|...to the top]] ===Web Browser=== OWB is now at version 2.0 (which got an engine refresh, from July 2015 to February 2019) and 3.0. This latest version has a good support for many/most web sites, even YouTube web page now works. This improved compatibility comes at the expense of higher RAM usage (now 1GB RAM is the absolute minimum). Also, keep in mind that the lack of a JIT (Just-In-Time) JS compiler on the 32 bit version, makes the web surfing a bit slow. Only the 64 bit version of OWB 2.0 will have JIT enabled, thus benefitting of more speed. There are tooltypes that can be added to the icon to provide further features JIT, MSE etc Certificates from [https://curl.se/docs/caextract.html ca certs], DNS tracking blocking with [https://easylist.to/easylist/easylist.txt easylist.txt] in PROGDIR:Conf before starting browser with enabled AdBlock [https://github.com/easylist/easylist/tree/master easylist], [https://gitlab.com/eyeo anti abp], [https://firebog.net/ big blocklist], [https://github.com/StevenBlack/hosts Steves], [], [], This can be enabled with OWB Odyssey with Windows -> Content Blocking and Windows -> Messages and enter https://www.youtube.com/api/stats/ads* https://www.youtube.com/pagead/adview* https://www.youtube.com#@##player-ads* into your custom filters Element blocker browser extension might be needed for [https://github.com/easylist/easylist/wiki/Youtube-Issues youtube], [ mid roll], [ pre roll], [ ], OWB speed is much better when running from RAM Disk, the best way is to add the below into your S:User-Startup which copies OWB drawer from Extras:Internet/OWB to RAM Disk: So add this : <pre> copy Extras:Internet/OWB Ram:OWB/ ALL CLONE >NIL: copy Extras:Internet/OWB.info Ram: >NIL: </pre> Open RAM Disk and open OWB drawer and double click on OWB icon so that the above icon tooltypes are activated Problems are that the copy time is long (around 20 seconds added in the background), but we can make it faster if we delete useless files from the OWB drawer (docs, …) If you don’t copy the drawer back onto the HD, you won’t save your cache, cookies, passwords… So you need a script for it. Error messages SSL error "cant verify with ca-certificates", check bios clock time date is correct Error 6, try checking networking prefs settings and Save / Use preferences again or a '''few times''' otherwise the network chipset may not be compatible with Aros [https://www.google.com/search?q=%s&udm=14 Google search without AI overview] ===E-mail=== YAM does not support SSL and most mail providers now switched to encrypted SMTP/POP3 connections ====SimpleMail==== SimpleMail supports IMAP and appears to work with GMail, but it's never been reliable enough, it can crash with large mailboxes. Please read more on this [http://www.freelists.org/list/simplemail-usr User list] GMail Be sure to activate the pop3 usage in your gmail account setup / configuration first. pop3: pop.gmail.com Use SSL: Yes Port: 995 smtp: smtp.gmail.com (with authentication) Use Authentication: Yes Use SSL: Yes Port: 465 or 587 Hotmail/MSN/outlook/Microsoft Mail mid-2017, all outlook.com accounts will be migrated to Office 365 / Exchange Most users are currently on POP which does not allow showing folders and many other features (technical limitations of POP3). With Microsoft IMAP you will get folders, sync read/unread, and show flags. You still won't get push though, as Microsoft has not turned on the IMAP Idle command as at Sept 2013. If you want to try it, you need to first remove (you can't edit) your pop account (long-press the account on the accounts screen, delete account). Then set it up this way: 1. Email/Password 2. Manual 3. IMAP 4. * Incoming: imap-mail.outlook.com, port 993, SSL/TLS should be checked * Outgoing: smtp-mail.outlook.com, port 587, SSL/TLS should be checked * POP server name pop-mail.outlook.com, port 995, POP encryption method SSL Yahoo Mail On April 24, 2002 Yahoo ceased to offer POP access to its free mail service. Introducing instead a yearly payment feature, allowing users POP3 and IMAP server support, along with such benefits as larger file attachment sizes and no adverts. Sorry to see Yahoo leaving its users to cough up for the privilege of accessing their mail. Understandable, when competing against rivals such as Gmail and Hotmail who hold a large majority of users and were hacked in 2014 as well. Incoming Mail (IMAP) Server * Server - imap.mail.yahoo.com * Port - 993 * Requires SSL - Yes Outgoing Mail (SMTP) Server * Server - smtp.mail.yahoo.com * Port - 465 or 587 * Requires SSL - Yes * Requires authentication - Yes Your login info * Email address - Your full email address (name@domain.com) * Password - Your account's password * Requires authentication - Yes Note that you need to enable “Web & POP Access” in your Yahoo Mail account to send and receive Yahoo Mail messages through any other email program. You will have to enable “Allow your Yahoo Mail to be POPed” under “POP and Forwarding”, to send and receive Yahoo mails through any other email client. Cannot be done since 2002 unless the customer pays Yahoo a subscription subs fee to have access to SMTP and POP3 * Set the POP server for incoming mails as pop.mail.yahoo.com. You will have to enable “SSL” and use 995 for Port. * “Account Name or Login Name” – Your Yahoo Mail ID i.e. your email address without the domain “@yahoo.com”. * “Email Address” – Your Yahoo Mail address i.e. your email address including the domain “@yahoo.com”. E.g. myname@yahoo.com * “Password” – Your Yahoo Mail password. Yahoo! Mail Plus users may have to set POP server as plus.pop.mail.yahoo.com and SMTP server as plus.smtp.mail.yahoo.com. * Set the SMTP server for outgoing mails as smtp.mail.yahoo.com. You will also have to make sure that “SSL” is enabled and use 465 for port. you must also enable “authentication” for this to work. ====YAM Yet Another Mailer==== YAM does not support SSL and most mail providers have now switched to encrypted SMTP/POP3 connections This email client is POP3 only if the SSL library is available [http://www.freelists.org/list/yam YAM Freelists] One of the downsides of using a POP3 mailer unfortunately - you have to set an option not to delete the mail if you want it left on the server. IMAP keeps all the emails on the server. Possible issues Sending mail issues is probably a matter of using your ISP's SMTP server, though it could also be an SSL issue. getting a "Couldn't initialise TLSv1 / SSL error Use of on-line e-mail accounts with this email client is not possible as it lacks the OpenSSL AmiSSl v3 compatible library GMail Incoming Mail (POP3) Server - requires SSL: pop.gmail.com Use SSL: Yes Port: 995 Outgoing Mail (SMTP) Server - requires TLS: smtp.gmail.com (use authentication) Use Authentication: Yes Use STARTTLS: Yes (some clients call this SSL) Port: 465 or 587 Account Name: your Gmail username (including '@gmail.com') Email Address: your full Gmail email address (username@gmail.com) Password: your Gmail password Anyway, the SMTP is pop.gmail.com port 465 and it uses SSLLv3 Authentication. The POP3 settings are for the same server (pop.gmail.com), only on port 995 instead. Outlook.com access <pre > Outlook.com SMTP server address: smtp.live.com Outlook.com SMTP user name: Your full Outlook.com email address (not an alias) Outlook.com SMTP password: Your Outlook.com password Outlook.com SMTP port: 587 Outlook.com SMTP TLS/SSL encryption required: yes </pre > Yahoo Mail <pre > “POP3 Server” – Set the POP server for incoming mails as pop.mail.yahoo.com. You will have to enable “SSL” and use 995 for Port. “SMTP Server” – Set the SMTP server for outgoing mails as smtp.mail.yahoo.com. You will also have to make sure that “SSL” is enabled and use 465 for port. you must also enable “authentication” for this to work. “Account Name or Login Name” – Your Yahoo Mail ID i.e. your email address without the domain “@yahoo.com”. “Email Address” – Your Yahoo Mail address i.e. your email address including the domain “@yahoo.com”. E.g. myname@yahoo.com “Password” – Your Yahoo Mail password. </pre > Yahoo! Mail Plus users may have to set POP server as plus.pop.mail.yahoo.com and SMTP server as plus.smtp.mail.yahoo.com. Note that you need to enable “Web & POP Access” in your Yahoo Mail account to send and receive Yahoo Mail messages through any other email program. You will have to enable “Allow your Yahoo Mail to be POPed” under “POP and Forwarding”, to send and receive Yahoo mails through any other email client. Cannot be done since 2002 unless the customer pays Yahoo a monthly fee to have access to SMTP and POP3 Microsoft Outlook Express Mail 1. Get the files to your PC. By whatever method get the files off your Amiga onto your PC. In the YAM folder you have a number of different folders, one for each of your folders in YAM. Inside that is a file usually some numbers such as 332423.283. YAM created a new file for every single email you received. 2. Open up a brand new Outlook Express. Just configure the account to use 127.0.0.1 as mail servers. It doesn't really matter. You will need to manually create any subfolders you used in YAM. 3. You will need to do a mass rename on all your email files from YAM. Just add a .eml to the end of it. Amazing how PCs still rely mostly on the file name so it knows what sort of file it is rather than just looking at it! There are a number of multiple renamers online to download and free too. 4. Go into each of your folders, inbox, sent items etc. And do a select all then drag the files into Outlook Express (to the relevant folder obviously) Amazingly the file format that YAM used is very compatible with .eml standard and viola your emails appear. With correct dates and working attachments. 5. If you want your email into Microsoft Outlook. Open that up and create a new profile and a new blank PST file. Then go into File Import and choose to import from Outlook Express. And the mail will go into there. And viola.. you have your old email from your Amiga in a more modern day format. ===FTP=== Magellan has a great FTP module. It allows transferring files from/to a FTP server over the Internet or the local network and, even if FTP is perceived as a "thing of the past", its usability is all inside the client. The FTP thing has a nice side effect too, since every Icaros machine can be a FTP server as well, and our files can be easily transferred from an Icaros machine to another with a little configuration effort. First of all, we need to know the 'server' IP address. Server is the Icaros machine with the file we are about to download on another Icaros machine, that we're going to call 'client'. To do that, move on the server machine and 1) run Prefs/Services to be sure "FTP file transfer" is enabled (if not, enable it and restart Icaros); 2) run a shell and enter this command: ifconfig -a Make a note of the IP address for the network interface used by the local area network. For cabled devices, it usually is net0:. Now go on the client machine and run Magellan: Perform these actions: 1) click on FTP; 2) click on ADDRESS BOOK; 3) click on "New". You can now add a new entry for your Icaros server machine: 1) Choose a name for your server, in order to spot it immediately in the address book. Enter the IP address you got before. 2) click on Custom Options: 1) go to Miscellaneous in the left menu; 2) Ensure "Passive Transfers" is NOT selected; 3) click on Use. We need to deactivate Passive Transfers because YAFS, the FTP server included in Icaros, only allows active transfers at the current stage. Now, we can finally connect to our new file source: 1) Look into the address book for the newly introduced server, be sure that name and IP address are right, and 2) click on Connect. A new lister with server's "MyWorkspace" contents will appear. You can now transfer files over the network choosing a destination among your local (client's) volumes. Can be adapted to any FTP client on any platform of your choice, just be sure your client allows Active Transfers as well. ===IRC Internet Relay Chat=== Jabberwocky is ideal for one-to-one social media communication, use IRC if you require one to many. Just type a message in ''lowercase''' letters and it will be posted to all in the [ AROS irc channel]. Please do not use UPPER CASE as it is a sign of SHOUTING which is annoying. Other things to type in - replace <message> with a line of text and <nick> with a person's name <pre> /help /list /who /whois <nick> /msg <nick> <message> /query <nick> <message>s /query /away <message> /away /quit <going away message> </pre> [http://irchelp.org/irchelp/new2irc.html#smiley Intro guide here]. IRC Primer can be found here in [http://www.irchelp.org/irchelp/ircprimer.html html], [http://www.irchelp.org/irchelp/text/ircprimer.txt TXT], [http://www.kei.com/irc/IRCprimer1.1.ps PostScript]. Issue the command /me <text> where <text> is the text that should follow your nickname. Example: /me slaps ajk around a bit with a large trout /nick <newNick> /nickserv register <password> <email address> /ns instead of /nickserv, while others might need /msg nickserv /nickserv identify <password> Alternatives: /ns identify <password> /msg nickserv identify <password> ==== IRC WookieChat ==== WookieChat is the most complete internet client for communication across the IRC Network. WookieChat allows you to swap ideas and communicate in real-time, you can also exchange Files, Documents, Images and everything else using the application's DCC capabilities. add smilies drawer/directory run wookiechat from the shell and set stack to 1000000 e.g. wookiechat stack 1000000 select a server / server window * nickname * user name * real name - optional Once you configure the client with your preferred screen name, you'll want to find a channel to talk in. servers * New Server - click on this to add / add extra - change details in section below this click box * New Group * Delete Entry * Connect to server * connect in new tab * perform on connect Change details * Servername - change text in this box to one of the below Server: * Port number - no need to change * Server password * Channel - add #channel from below * auto join - can click this * nick registration password, Click Connect to server button above <pre> Server: irc.freenode.net Channel: #aros </pre> irc://irc.freenode.net/aros <pre> Server: chat.amigaworld.net Channel: #amigaworld or #amigans </pre> <pre> On Sunday evenings USA time usually starting around 3PM EDT (1900 UTC) Server:irc.superhosts.net Channel #team*amiga </pre> <pre> BitlBee and Minbif are IRCd-like gateways to multiple IM networks Server: im.bitlbee.org Port 6667 Seems to be most useful on WookieChat as you can be connected to several servers at once. One for Bitlbee and any messages that might come through that. One for your normal IRC chat server. </pre> [http://www.bitlbee.org/main.php/servers.html Other servers], <pre> #Amiga.org - irc.synirc.net eu.synirc.net dissonance.nl.eu.synirc.net (IPv6: 2002:5511:1356:0:216:17ff:fe84:68a) twilight.de.eu.synirc.net zero.dk.eu.synirc.net us.synirc.net avarice.az.us.synirc.net envy.il.us.synirc.net harpy.mi.us.synirc.net liberty.nj.us.synirc.net snowball.mo.us.synirc.net - Ports 6660-6669 7001 (SSL) </pre> <pre> Multiple server support "Perform on connect" scripts and channel auto-joins Automatic Nickserv login Tabs for channels and private conversations CTCP PING, TIME, VERSION, SOUND Incoming and Outgoing DCC SEND file transfers Colours for different events Logging and automatic reloading of logs mIRC colour code filters Configurable timestamps GUI for changing channel modes easily Configurable highlight keywords URL Grabber window Optional outgoing swear word filter Event sounds for tabs opening, highlighted words, and private messages DCC CHAT support Doubleclickable URL's Support for multiple languages using LOCALE Clone detection Auto reconnection to Servers upon disconnection Command aliases Chat display can be toggled between AmIRC and mIRC style Counter for Unread messages Graphical nicklist and graphical smileys with a popup chooser </pre> ====IRC Aircos ==== Double click on Aircos icon in Extras:Networking/Apps/Aircos. It has been set up with a guest account for trial purposes. Though ideally, choose a nickname and password for frequent use of irc. ====IRC and XMPP Jabberwocky==== Servers are setup and close down at random You sign up to a server that someone else has setup and access chat services through them. The two ways to access chat from jabberwocky <pre > Jabberwocky -> Server -> XMPP -> open and ad-free Jabberwocky -> Server -> Transports (Gateways) -> Proprietary closed systems </pre > The Jabber.org service connects with all IM services that use XMPP, the open standard for instant messaging and presence over the Internet. The services we connect with include Google Talk (closed), Live Journal Talk, Nimbuzz, Ovi, and thousands more. However, you can not connect from Jabber.org to proprietary services like AIM, ICQ, MSN, Skype, or Yahoo because they don’t yet use XMPP components (XEP-0114) '''but''' you can use Jabber.com's servers and IM gateways (MSN, ICQ, Yahoo etc.) instead. The best way to use jabberwocky is in conjunction with a public jabber server with '''transports''' to your favorite services, like gtalk, Facebook, yahoo, ICQ, AIM, etc. You have to register with one of the servers, [https://list.jabber.at/ this list] or [http://www.jabberes.org/servers/ another list], [http://xmpp.net/ this security XMPP list], Unfortunately jabberwocky can only connect to one server at a time so it is best to check what services each server offers. If you set it up with separate Facebook and google talk accounts, for example, sometimes you'll only get one or the other. Jabberwocky open a window where the Jabber server part is typed in as well as your Nickname and Password. Jabber ID (JID) identifies you to the server and other users. Once registered the next step is to goto Jabberwocky's "Windows" menu and select the "Agents" option. The "Agents List" window will open. Roster (contacts list) [http://search.wensley.org.uk/ Chatrooms] (MUC) are available File Transfer - can send and receive files through the Jabber service but not with other services like IRC, ICQ, AIM or Yahoo. All you need is an installed webbrowser and OpenURL. Clickable URLs - The message window uses Mailtext.mcc and you can set a URL action in the MUI mailtext prefs like SYS:Utils/OpenURL %s NEWWIN. There is no consistent Skype like (H.323 VoIP) video conferencing available over Jabber. The move from xmpp to Jingle should help but no support on any amiga-like systems at the moment. [http://aminet.net/package/dev/src/AmiPhoneSrc192 AmiPhone] and [http://www.lysator.liu.se/%28frame,faq,nobg,useframes%29/ahi/v4-site/ Speak Freely] was an early attempt voice only contact. SIP and Asterisk are other PBX options. Facebook If you're using the XMPP transport provided by Facebook themselves, chat.facebook.com, it looks like they're now requiring SSL transport. This means jabberwocky method below will no longer work. The best thing to do is to create an ID on a public jabber server which has a Facebook gateway. <pre > 1. launch jabberwocky 2. if the login window doesn't appear on launch, select 'account' from the jabberwocky menu 3. your jabber ID will be user@chat.facebook.com where user is your user ID 4. your password is your normal facebook password 5. to save this for next time, click the popup gadget next to the ID field 6. click the 'add' button 7. click the 'close' button 8. click the 'connect' button </pre > you're done. you can also click the 'save as default account' button if you want. jabberwocky configured to auto-connect when launching the program, but you can configure as you like. there is amigaguide documentation included with jabberwocky. [http://amigaworld.net/modules/newbb/viewtopic.php?topic_id=37085&forum=32 Read more here] for Facebook users, you can log-in directly to Facebook with jabberwocky. just sign in as @chat.facebook.com with your Facebook password as the password Twitter For a few years, there has been added a twitter transport. Servers include [http://jabber.hot-chilli.net/ jabber.hot-chili.net], and . An [http://jabber.hot-chilli.net/tag/how-tos/ How-to] :Read [http://jabber.hot-chilli.net/2010/05/09/twitter-transport-working/ more] Instagram no support at the moment best to use a web browser based client ICQ The new version (beta) of StriCQ uses a newer ICQ protocol. Most of the ICQ Jabber Transports still use an older ICQ protocol. You can only talk one-way to StriCQ using the older Transports. Only the newer ICQv7 Transport lets you talk both ways to StriCQ. Look at the server lists in the first section to check. Register on a Jabber server, e.g. this one works: http://www.jabber.de/ Then login into Jabberwocky with the following login data e.g. xxx@jabber.de / Password: xxx Now add your ICQ account under the window->Agents->"Register". Now Jabberwocky connects via the Jabber.de server with your ICQ account. Yahoo Messenger although yahoo! does not use xmpp protocol, you should be able to use the transport methods to gain access and post your replies MSN early months of 2013 Microsoft will ditch MSN Messenger client and force everyone to use Skype...but MSN protocol and servers will keep working as usual for quite a long time.... Occasionally the Messenger servers have been experiencing problems signing in. You may need to sign in at www.outlook.com and then try again. It may also take multiple tries to sign in. (This also affects you if you’re using Skype.) You have to check each servers' Agents List to see what transports (MSN protocol, ICQ protocol, etc.) are supported or use the list address' provided in the section above. Then register with each transport (IRC, MSN, ICQ, etc.) to which you need access. After registering you can Connect to start chatting. msn.jabber.com/registered should appear in the window. From this [http://tech.dir.groups.yahoo.com/group/amiga-jabberwocky/message/1378 JW group] guide which helps with this process in a clear, step by step procedure. 1. Sign up on MSN's site for a passport account. This typically involves getting a Hotmail address. 2. Log on to the Jabber server of your choice and do the following: * Select the "Windows/Agents" menu option in Jabberwocky. * Select the MSN Agent from the list presented by the server. * Click the Register button to open a new window asking for: **Username = passort account email address, typically your hotmail address. **Nick = Screen name to be shown to anyone you add to your buddy list. **Password = Password for your passport account/hotmail address. * Click the Register button at the bottom of the new window. 3. If all goes well, you will see the MSN Gateway added to your buddy list. If not, repeat part 2 on another server. Some servers may show MSN in their list of available agents, but have not updated their software for the latest protocols used by MSN. 4. Once you are registered, you can now add people to your buddy list. Note that you need to include the '''msn.''' ahead of the servername so that it knows what gateway agent to use. Some servers may use a slight variation and require '''msg.gate.''' before the server name, so try both to see what works. If my friend's msn was amiga@hotmail.co.uk and my jabber server was @jabber.meta.net.nz.. then amiga'''%'''hotmail.com@'''msn.'''jabber.meta.net.nz or another the trick to import MSN contacts is that you don't type the hotmail URL but the passport URL... e.g. Instead of: goodvibe%hotmail.com@msn.jabber.com You type: goodvibe%passport.com@msn.jabber.com And the thing about importing contacts I'm afraid you'll have to do it by hand, one at the time... Google Talk any XMPP server will work, but you have to add your contacts manually. a google talk user is typically either @gmail.com or @talk.google.com. a true gtalk transport is nice because it brings your contacts to you and (can) also support file transfers to/from google talk users. implement Jingle a set of extensions to the IETF's Extensible Messaging and Presence Protocol (XMPP) support ended early 2014 as Google moved to Google+ Hangouts which uses it own proprietary format ===Video Player MPlayer=== Many of the menu features (such as doubling) do not work with the current version of mplayer but using 4:3 mplayer -vf scale=800:600 file.avi 16:9 mplayer -vf scale=854:480 file.avi if you want gui use; mplayer -gui 1 <other params> file.avi <pre > stack 1000000 ; using AspireOS 1.xx ; copy FROM SYS:Extras/Multimedia/MPlayer/ TO RAM:MPlayer ALL CLONE > Nil: ; using Icaros Desktop 1.x ; copy FROM SYS:Tools/MPlayer/ TO RAM:MPlayer ALL CLONE > Nil: ; using Icaros Desktop 2.x ; copy FROM SYS:Utilities/MPlayer/ TO RAM:MPlayer ALL CLONE > Nil: cd RAM:MPlayer run MPlayer -gui > Nil: ;run MPlayer -gui -ao ahi_dev -playlist http://www.radio-paralax.de/listen.pls > Nil: </pre > $ mplayer rtsp://127.0.0.1:554/sample_300kbit.mp4 MPlayer supports multicast streaming, and rtp/rtsp protocols (it might require [http://www.live555.com/openRTSP/ live555 library] to work with some streams). But you might have to build it where it's disabled. Also, multicast won't work with some AmiTCP-likes. MIAMI supported it, though. AROS supports IPv4 (old but works) and this includes the needed address space for RTP. If you mean multicast via RTP - mplayer handles it. You can even force UDP over TCP -rtsp-stream-over-tcp If the rtsp Real Time Streaming Protocol server needs authentification: -user -passwd MPlayer - Menu - Open Playlist and load already downloaded .pls or .m3u file - auto starts around 4 percent cache MPlayer - Menu - Open Stream and copy one of the .pls lines below into space allowed, press OK and press play button on main gui interface Old 8bit 16bit remixes chip tune game music http://www.radio-paralax.de/listen.pls http://scenesat.com/ http://www.shoutcast.com/radio/Amiga http://www.theoldcomputer.com/retro_radio/RetroRadio_Main.htm http://www.kohina.com/ http://www.remix64.com/ http://retrogamer.net/forum/ http://retroasylum.podomatic.com/rss2.xml http://retrogamesquad.com/ http://www.retronauts.com/ http://monsterfeet.com/noquarter/ http://www.retrogamingradio.com/ http://www.radiofeeds.co.uk/mp3.asp [[#top|...to the top]] ====ZunePaint==== simplified typical workflow * importing and organizing and photo management * making global and regional local correction(s) - recalculation is necessary after each adjustment as it is not in real-time * exporting your images in the best format available with the preservation of metadata Whilst achieving 80% of a great photo with just a filter, the remaining 20% comes from a manual fine-tuning of specific image attributes. For photojournalism, documentary, and event coverage, minimal touching is recommended. Stick to Camera Raw for such shots, and limit changes to level adjustment, sharpness, noise reduction, and white balance correction. For fashion or portrait shoots, a large amount of adjustment is allowed and usually ends up far from the original. Skin smoothing, blemish removal, eye touch-ups, etc. are common. Might alter the background a bit to emphasize the subject. Product photography usually requires a lot of sharpening, spot removal, and focus stacking. For landscape shots, best results are achieved by doing the maximum amount of preparation before/while taking the shot. No amount of processing can match timing, proper lighting, correct gear, optimal settings, etc. Excessive post-processing might give you a dramatic shot but best avoided in the long term. * White Balance - Left Amiga or F12 and K and under "Misc color effects" tab with a pull down for White Balance - color temperature also known as AKA tint (movies) or tones (painting) - warm temp raise red reduce green blue - cool raise blue lower red green * Exposure - exposure compensation, highlight/shadow recovery * Noise Reduction - during RAW development or using external software * Lens Corrections - distortion, vignetting, chromatic aberrations * Detail - capture sharpening and local contrast enhancement * Contrast - black point, levels (sliders) and curves tools (F12 and K) * Framing - straighten () and crop (F12 and F) * Refinements - color adjustments and selective enhancements - Left Amiga or F12 and K for RGB and YUV histogram tabs - * Resizing - enlarge for a print or downsize for the web or email (F12 and D) * Output Sharpening - customized for your subject matter and print/screen size White Balance - F12 and K scan your image for a shade which was meant to be white (neutral with each RGB value being equal) like paper or plastic which is in the same light as the subject of the picture. Use the dropper tool to select this color, similar colours will shift and you will have selected the perfect white balance for your part of the image - for the whole picture make sure RAZ or CLR button at the bottom is pressed before applying to the image above. Exposure correction F12 and K - YUV Y luminosity - RGB extra red tint - move red curve slightly down and move blue green curves slightly up Workflows in practice * Undo - Right AROS key or F12 and Z * Redo - Right AROS key or F12 and R First flatten your image (if necessary) and then do a rotation until the picture looks level. * Crop the picture. Click the selection button and drag a box over the area of the picture you want to keep. Press the crop button and the rest of the photo will be gone. * Adjust your saturation, exposure, hue levels, etc., (right AROS Key and K for color correction) until you are happy with the photo. Make sure you zoom in all of the way to 100% and look the photo over, zoom back out and move around. Look for obvious problems with the picture. * After coloring and exposure do a sharpen (Right AROS key and E for Convolution and select drop down option needed), e.g. set the matrix to 5x5 (roughly equivalent Amount to 60%) and set the Radius to 1.0. Click OK. And save your picture Implemented or would like to see for simplification and ease of use basic filters (presets) like black and white, monochrome, edge detection (sobel), motion/gaussian blur, * negative, sepiatone, retro vintage, night vision, colour tint, color gradient, color temperature, glows, fire, lightning, lens flare, emboss, filmic, pixelate mezzotint, antialias, etc. adjust / cosmetic tools such as crop, * reshaping tools, straighten, smear, smooth, perspective, liquify, bloat, pucker, push pixels in any direction, dispersion, transform like warp, blending with soft light, page-curl, whirl, ripple, fisheye, neon, etc. * red eye fixing, blemish remover, skin smoothing, teeth whitener, make eyes look brighter, desaturate, effects like oil paint, cartoon, pencil sketch, charcoal, noise/matrix like sharpen/unsharpen, (right AROS key with A for Artistic effects) * blend two image, gradient blend, masking blend, explode, implode, custom collage, surreal painting, comic book style, needlepoint, stained glass, watercolor, mosaic, stencil/outline, crayon, chalk, etc. borders such as * dropshadow, rounded, blurred, color tint, picture frame, film strip polaroid, bevelled edge, etc. brushes e.g. * frost, smoke, etc. and manual control of fix lens issues including vignetting (darkening), color fringing and barrel distortion, and chromatic and geometric aberration - lens and body profiles perspective correction levels - directly modify the levels of the tone-values of an image, by using sliders for highlights, midtones and shadows curves - Color Adjustment and Brightness/Contrast color balance one single color transparent (alpha channel (color information/selections) for masking and/or blending ) for backgrounds, etc. Threshold indicates how much other colors will be considered mixture of the removed color and non-removed colors decompose layer into a set of layers with each holding a different type of pattern that is visible within the image any selection using any selecting tools like lasso tool, marquee tool etc. the selection will temporarily be save to alpha If you create your image without transparency then the Alpha channel is not present, but you can add later. File formats like .psd (Photoshop file has layers, masks etc. contains edited sensor data. The original sensor data is no longer available) .xcf .raw .hdr Image Picture Formats * low dynamic range (JPEG, PNG, TIFF 8-bit), 16-bit (PPM, TIFF), typically as a 16-bit TIFF in either ProPhoto or AdobeRGB colorspace - TIFF files are also fairly universal – although, if they contain proprietary data, such as Photoshop Adjustment Layers or Smart Filters, then they can only be opened by Photoshop making them proprietary. * linear high dynamic range (HDR) images (PFM, [http://www.openexr.com/ ILM .EXR], jpg, [http://aminet.net/util/dtype cr2] (canon tiff based), hdr, NEF, CRW, ARW, MRW, ORF, RAF (Fuji), PEF, DCR, SRF, ERF, DNG files are RAW converted to an Adobe proprietary format - a container that can embed the raw file as well as the information needed to open it) An old version of [http://archives.aros-exec.org/index.php?function=browse&cat=graphics/convert dcraw] There is no single RAW file format. Each camera manufacturer has one or more unique RAW formats. RAW files contain the brightness levels data captured by the camera sensor. This data cannot be modified. A second smaller file, separate XML file, or within a database with instructions for the RAW processor to change exposure, saturation etc. The extra data can be changed but the original sensor data is still there. RAW is technically least compatible. A raw file is high-bit (usually 12 or 14 bits of information) but a camera-generated TIFF file will be usually converted by the camera (compressed, downsampled) to 8 bits. The raw file has no embedded color balance or color space, but the TIFF has both. These three things (smaller bit depth, embedded color balance, and embedded color space) make it so that the TIFF will lose quality more quickly with image adjustments than the raw file. The camera-generated TIFF image is much more like a camera processed JPEG than a raw file. A strong advantage goes to the raw file. The power of RAW files, such as the ability to set any color temperature non-destructively and will contain more tonal values. The principle of preserving the maximum amount of information to as late as possible in the process. The final conversion - which will always effectively represent a "downsampling" - should prevent as much loss as possible. Once you save it as TIFF, you throw away some of that data irretrievably. When saving in the lossy JPEG format, you get tremendous file size savings, but you've irreversibly thrown away a lot of image data. As long as you have the RAW file, original or otherwise, you have access to all of the image data as captured. Keyboard equivalence with Photoshop(tm) would help File PHOTOSHOP SHORTCUT GIMP New Ctrl+n New Open Ctrl+o Open Close Ctrl+w Close Save Ctrl+s Save Save as Shift+Ctrl+s Save as Revert F12 Revert Print Ctrl+p Print Exit Ctrl+q Quit Edit PHOTOSHOP SHORTCUT GIMP Undo/Redo (1 level) Ctrl+z Undo (Redo is Shift+Ctrl+z) Cut Ctrl+x Cut Copy Ctrl+c Copy Paste Ctrl+v Paste Paste Into Shift+Ctrl+v Paste Into Fill with FG color Alt+Backspace Fill with FG color Fill with BG color Control+Backspace Fill with BG color Image/Colors PHOTOSHOP SHORTCUT GIMP Levels Ctrl+l Levels Auto Contrast Shift+Ctrl+Alt+l Stretch Contrast (same?) Curves Ctrl+m Curves Color Balance Ctrl+b Color Balance Hue/Saturation Ctrl+u Hue-Saturation Desaturate Shift+Ctrl+u Desaturate Invert Ctrl+i Invert Default Colors d Default Colors Switch Colors x Switch Colors Layer PHOTOSHOP SHORTCUT GIMP New Layer Shift+Ctrl+n New Layer Layer via Copy Ctrl+j Duplicate Layer Bring (layer) to Front Shift+Ctrl+] Layer to Top Send (layer) to Back Shift+Ctrl+[ Layer to Bottom Bring (layer) Forward Ctrl+] Raise Layer Send (layer) Backward Ctrl+[ Lower Layer Select Top Layer Shift+Alt+] Select Top Layer Select Bottom Layer Shift+Alt+[ Select Bottom Layer Select One Layer Forward Alt+] Select Previous Layer Select One Layer Backward Alt+[ Select Next Layer Merge Down Ctrl+e Merge Down Merge Visible Shift+Ctrl+e Merge Visible Preserve Transparency / Keep Transparency Cycle Modes Forwards Shift+= Next Layer Mode Cycle Modes Backwards Shift+- Previous Layer Mode Select PHOTOSHOP SHORTCUT GIMP Select All Ctrl+a Select All Deselect Ctrl+d Select None Inverse Shift+Ctrl+i Invert Feather Ctrl+Alt+d Feather View PHOTOSHOP SHORTCUT GIMP Zoom In Ctrl+= Zoom In Zoom Out Ctrl+- Zoom Out Fit on Screen Ctrl+0 Zoom to Fit Window Actual Pixels Ctrl+Alt+0 Zoom 1:1 Show/Hide Extras Ctrl+h Toggle Show Selection (close enough?) Show/Hide Guides Ctrl+' Toggle Show Guides Show/Hide Grid Ctrl+Alt+' Toggle Show Grid Show/Hide Rulers Ctrl+r Toggle Show Rulers Snap Ctrl+; Snap to Guides Scroll View Up Page Up Scroll Page Up Scroll View Down Page Down Scroll Page Down Scroll View Left Ctrl+Page Up Scroll Page Left Scroll View Right Ctrl+Page Down Scroll Page Right Window/Dialogs PHOTOSHOP SHORTCUT GIMP ? F5 Tools Dialog Color Tab F6 Colors Dialog Layers Tab F7 Layers Dialog Info Tab F8 Image Information Tools PHOTOSHOP SHORTCUT GIMP Rectangular Marquee Tool m Rect Select Tool Elliptical Marquee Tool Shift+m Ellipse Select Tool *This is a toggle between 'Elliptical Marquee Tool' and 'Rectangular Marquee Tool' in Photoshop Move Tool v Move Tool Lasso Tool l Free Select Tool Magic Wand Tool w Fuzzy Select Tool Crop Tool c Crop & Resize Tool Airbrush Tool j Airbrush Tool Paintbrush Tool b Paintbrush Tool Clone Stamp Tool s Clone Stamp Tool Eraser Tool e Eraser Tool Gradient Tool g Blend Tool Paint Bucket Tool Shift+g Bucket Fill Tool *This is a toggle between 'Paint Bucket Tool' and 'Gradient Tool' in Photoshop Blur Tool r Convolve Tool Dodge Tool o DodgeBurn Tool Type Tool t Text Tool Pen Tool p Bezier Select Tool Eye Dropper Tool i Color Picker Tool Zoom Tool z Magnify Tool Previous Brush , Previous Brush Next Brush . Next Brush First Brush Shift+< First Brush Last Brush Shift+> Last Brush Decrease Brush Size [ Decrease Brush Size Increase Brush Size ] Increase Brush Size Decrease Brush Hardness { Decrease Brush Hardness Increase Brush Hardness } Increase Brush Hardness Help PHOTOSHOP SHORTCUT GIMP Help F1 Help Context Help Shift+F1 Context Help Misc. PHOTOSHOP SHORTCUT GIMP Last Filter Ctrl+f Repeat Last Filter ? Shift+Ctrl+f Reshow Last Filter Preferences Ctrl+k Preferences Liquify Shift+Ctrl+x IWarp (close enough?) Toggle Quick Mask q Toggle Quick Mask Spotlights - triangle of white opaque shape Cutting out and/or replacing unwanted background or features - select large areas with the selection option like the Magic Wand tool (aka Color Range) or the Lasso (quick and fast) with feather 2 to soften edge or the pen tool which adds points/lines/Bézier curves (better control but slower), hold down the shift button as you click to add extra points/areas of the subject matter to remove. Increase the tolerance to cover more areas. To subtract from your selection hold down alt as you're clicking. * Layer masks are a better way of working than Erase they clip (black hides/hidden white visible/reveal). Clone Stamp can be simulated by and brushes for other areas. * Leave the fine details like hair, fur, etc. to later with lasso and the shift key to draw a line all the way around your subject. Gradient Mapping - Inverse - Mask. i.e. Refine your selected image with edge detection and using the radius and edge options / adjuster (increase/decrease contrast) so that you will capture more fine detail from the background allowing easier removal. Remove fringe/halo saving image as png rather than jpg/jpeg to keep transparency background intact. Implemented [http://colorizer.org/ colour model representations] [http://paulbourke.net/texture_colour/colourspace/ Mathematical approach] - Photo stills are spatially 2d (h and w), but are colorimetrically 3d (r g and b, or H L S, or Y U V etc.) as well. * RGB - split cubed mapped color model for photos and computer graphics hardware using the light spectrum (adding and subtracting) * YUV - Y-Lightness U-blue/yellow V-red/cyan (similar to YPbPr and YCbCr) used in the PAL, NTSC, and SECAM composite digital TV color [http://crewofone.com/2012/chroma-subsampling-and-transcoding/#comment-7299 video] Histograms White balanced (neutral) if the spike happens in the same place in each channel of the RGB graphs. If not, you're not balanced. If you have sky you'll see the blue channel further off to the right. RGB is best one to change colours. These elements RGB is a 3-channel format containing data for Red, Green, and Blue in your photo scale between 0 and 255. The area in a picture that appears to be brighter/whiter contains more red color as compared to the area which is relatively darker. Similarly in the green channel the area that appears to be darker contains less amount of green color as compared to the area that appears to be brighter. Similarly in the blue channel the area appears to be darker contains less amount of blue color as compared to the area that appears to be brighter. Brightness luminance histogram also matches the green histogram more than any other color - human eye interprets green better e.g. RGB rough ratio 15/55/30% RGBA (RGB+A, A means alpha channel) . The alpha channel is used for "alpha compositing", which can mostly be associated as "opacity". AROS deals in RGB with two digits for every color (red, green, blue), in ARGB you have two additional hex digits for the alpha channel. The shadows are represented by the left third of the graph. The highlights are represented by the right third. And the midtones are, of course, in the middle. The higher the black peaks in the graph, the more pixels are concentrated in that tonal range (total black area). By moving the black endpoint, which identifies the shadows (darkness) and a white light endpoint (brightness) up and down either sides of the graph, colors are adjusted based on these points. By dragging the central one, can increased the midtones and control the contrast, raise shadows levels, clip or softly eliminate unsafe levels, alter gamma, etc... in a way that is much more precise and creative . RGB Curves * Move left endpoint (black point) up or right endpoint (white point) up brightens * Move left endpoint down or right endpoint down darkens Color Curves * Dragging up on the Red Curve increases the intensity of the reds in the image but * Dragging down on the Red Curve decreases the intensity of the reds and thus increases the apparent intensity of its complimentary color, cyan. Green’s complimentary color is magenta, and blue’s is yellow. <pre> Red <-> Cyan Green <->Magenta Blue <->Yellow </pre> YUV Best option to analyse and pull out statistical elements of any picture (i.e. separate luminance data from color data). The line in Y luma tone box represents the brightness of the image with the point in the bottom left been black, and the point in the top right as white. A low-contrast image has a concentrated clump of values nearer to the center of the graph. By comparison, a high-contrast image has a wider distribution of values across the entire width of the Histogram. A histogram that is skewed to the right would indicate a picture that is a bit overexposed because most of the color data is on the lighter side (increase exposure with higher value F), while a histogram with the curve on the left shows a picture that is underexposed. This is good information to have when using post-processing software because it shows you not only where the color data exists for a given picture, but also where any data has been clipped (extremes on edges of either side): that is, it does not exist and, therefore, cannot be edited. By dragging the endpoints of the line and as well as the central one, can increased the dark/shadows, midtones and light/bright parts and control the contrast, raise shadows levels, clip or softly eliminate unsafe levels, alter gamma, etc... in a way that is much more precise and creative . The U and V chroma parts show color difference components of the image. It’s useful for checking whether or not the overall chroma is too high, and also whether it’s being limited too much Can be used to create a negative image but also With U (Cb), the higher value you are, the more you're on the blue primary color. If you go to the low values then you're on blue complementary color, i.e. yellow. With V (Cr), this is the same principle but with Red and Cyan. e.g. If you push U full blue and V full red, you get magenta. If you push U full yellow and V full Cyan then you get green. YUV simultaneously adds to one side of the color equation while subtracting from the other. using YUV to do color correction can be very problematic because each curve alters the result of each other: the mutual influence between U and V often makes things tricky. You may also be careful in what you do to avoid the raise of noise (which happens very easily). Best results are obtained with little adjustments sunset that looks uninspiring and needs some color pop especially for the rays over the hill, a subtle contrast raise while setting luma values back to the legal range without hard clipping. Free royalty pictures, [www.freeimages.com ], [http://imageshack.us/ ], [http://photobucket.com/ ], [http://rawpixels.net/], [], [], [], ====Lunapaint==== Pixel based drawing app with onion-skin animation function Blocking, Shading, Coloring, adding detail <pre> b BRUSH e ERASER alt eyedropper v layer tool z ZOOM / MAGNIFY < > n spc panning m marque q lasso w same color selection / region </pre> <pre> , LM RM v V f filter F . size p , pick color [] last / next color </pre> There is not much missing in Lunapaint to be as good as FlipBook and then you have to take into account that Flipbook is considered to be amongst the best and easiest to use animation software out there. Ok to be honest Flipbook has some nice features that require more heavy work but those aren't so much needed right away, things like camera effects, sound, smart fill, export to different movie file formats etc. Tried Flipbook with my tablet and compared it to Luna. The feeling is the same when sketching. LunaPaint is very responsive/fluent to draw with. Just as Flipbook is, and that responsiveness is something its users have mentioned as one of the positive sides of said software. author was learning MUI. Some parts just have to be rewritten with proper MUI classes before new features can be added. * add [Frame Add] / [Frame Del] * whole animation feature is impossible to use. If you draw 2 color maybe but if you start coloring your cells then you get in trouble * pickup the entire image as a brush, not just a selection ? And consequently remove the brush from memory when one doesn't need it anymore. can pick up a brush and put it onto a new image but cropping isn't possible, nor to load/save brushes. * Undo is something I longed for ages in Lunapaint. * to import into the current layer, other types of images (e.g. JPEG) besides RAW64. * implement graphic tablet features support **GENERAL DRAWING** Miss it very much: UNDO ERASER COLORPICKER - has to show on palette too which color got picked. BACKGROUND COLOR -Possibility to select from "New project screen" Miss it somewhat: ICON for UNDO ICON for ERASER ICON for CLEAR SCREEN ( What can I say? I start over from scratch very often ) BRUSH - possibility to cut out as brush not just copy off image to brush **ANIMATING** Miss it very much: NUMBER OF CELLS - Possibity to change total no. of cells during project ANIM BRUSH - Possibility to pick up a selected part of cells into an animbrush Miss it somewhat: ADD/REMOVE FRAMES: Add/remove single frame In general LunaPaint is really well done and it feels like a new DeluxePaint version. It works with my tablet. Sure there's much missing of course but things can always be added over time. So there is great potential in LunaPaint that's for sure. Animations could be made in it and maybe put together in QuickVideo, saving in .gif or .mng etc some day. LAYERS -Layers names don't get saved globally in animation frames -Layers order don't change globally in an animation (perhaps as default?). EXPORTING IMAGES -Exporting frames to JPG/PNG gives problems with colors. (wrong colors. See my animatiopn --> My robot was blue now it's "gold" ) I think this only happens if you have layers. -Trying to flatten the layers before export doesn't work if you have animation frames only the one you have visible will flatten properly all other frames are destroyed. (Only one of the layers are visible on them) -Exporting images filenames should be for example e.g. file0001, file0002...file0010 instead as of now file1, file2...file10 LOAD/SAVE (Preferences) -Make a setting for the default "Work" folder. * Destroyed colors if exported image/frame has layers * mystic color cycling of the selected color while stepping frames back/forth (annoying) <pre> Deluxe Paint II enhanced key shortcuts NOTE: @ denotes the ALT key [Technique] F1 - Paint F2 - Single Colour F3 - Replace F4 - Smear F5 - Shade F6 - Cycle F7 - Smooth M - Colour Cycle [Brush] B - Restore O - Outline h - Halve brush size H - Double brush size x - Flip brush on X axis X - Double brush size on X axis only y - Flip on Y Y - Double on Y z - Rotate brush 90 degrees Z - Stretch [Stencil] ` - Stencil On [Miscellaneous] F9 - Info Bar F10 - Selection Bar @o - Co-Ordinates @a - Anti-alias @r - Colourise @t - Translucent TAB - Colour Cycle [Picture] L - Load S - Save j - Page to Spare(Flip) J - Page to Spare(Copy) V - View Page Q - Quit [General Keys] m - Magnify < - Zoom In > - Zoom Out [ - Palette Colour Up ] - Palette Colour Down ( - Palette Colour Left ) - Palette Colour Right , - Eye Dropper . - Pixel / Brush Toggle / - Symmetry | - Co-Ordinates INS - Perspective Control +/- - Brush Size (Fine Control) w - Unfilled Polygon W - Filled Polygon e - Unfilled Ellipse E - Filled Ellipse r - Unfilled Rectangle R - Filled Rectangle t - Type/text tool a - Select Font u/U - Undo d - Brush D - Filled Non-Uniform Polygon f/F - Fill Options g/G - Grid h/H - Brush Size (Coarse Control) K - Clear c - Unfilled Circle C - Filled Circle v - Line b - Scissor Select and Toggle B - Brush {,} - Toggle between two background colours </pre> ====Lodepaint==== Pixel based painting artwork app ====Grafx2==== Pixel based painting artwork app aesprite like [https://www.youtube.com/watch?v=59Y6OTzNrhk aesprite workflow keys and tablet use], [], ====Vector Graphics ZuneFIG==== Vector Image Editing of files .svg .ps .eps *Objects - raise lower rotate flip aligning snapping *Path - unify subtract intersect exclude divide *Colour - fill stroke *Stroke - size *Brushes - *Layers - *Effects - gaussian bevels glows shadows *Text - *Transform - AmiFIG ([http://epb.lbl.gov/xfig/frm_introduction.html xfig manual]) [[File:MyScreen.png|thumb|left|alt=Showing all Windows open in AmiFIG.|All windows available to AmiFIG.]] for drawing simple to intermediate vector graphic images for scientific and technical uses and for illustration purposes for those with talent ;Menu options * Load - fig format but import(s) SVG * Save - fig format but export(s) eps, ps, pdf, svg and png * PAN = Ctrl + Arrow keys * Deselect all points There is no selected object until you apply the tool, and the selected object is not highlighted. ;Metrics - to set up page and styles - first window to open on new drawings ;Tools - Drawing Primitives - set Attributes window first before clicking any Tools button(s) * Shapes - circles, ellipses, arcs, splines, boxes, polygon * Lines - polylines * Text "T" button * Photos - bitmaps * Compound - Glue, Break, Scale * POINTs - Move, Add, Remove * Objects - Move, Copy, Delete, Mirror, Rotate, Paste use right mouse button to stop extra lines, shapes being formed and the left mouse to select/deselect tools button(s) * Rotate - moves in 90 degree turns centered on clicked POINT of a polygon or square ;Attributes which provide change(s) to the above primitives * Color * Line Width * Line Style * arrowheads ;Modes Choose from freehand, charts, figures, magnet, etc. ;Library - allows .fig clip-art to be stored * compound tools to add .fig(s) together ;FIG 3.2 [http://epb.lbl.gov/xfig/fig-format.html Format] as produced by xfig version 3.2.5 <pre> Landscape Center Inches Letter 100.00 Single -2 1200 2 4 0 0 50 -1 0 12 0.0000 4 135 1050 1050 2475 This is a test.01 </pre> # change the text alignment within the textbox. I can choose left, center, or right aligned by either changing the integer in the second column from 0 (left) to 1 or 2 (center, or right). # The third integer in the row specifies fontcolor. For instance, 0 is black, but blue is 1 and Green3 is 13. # The sixth integer in the bottom row specifies fontface. 0 is Times-Roman, but 16 is Helvetica (a MATLAB default). # The seventh number is fontsize. 12 represents a 12pt fontsize. Changing the fontsize of an item really is as easy as changing that number to 20. # The next number is the counter-clockwise angle of the text. Notice that I have changed the angle to .7854 (pi/4 rounded to four digits=45 degrees). # twelfth number is the position according to the standard “x-axis” in Xfig units from the left. Note that 1200 Xfig units is equivalent to once inch. # thirteenth number is the “y-position” from the top using the same unit convention as before. * The nested text string is what you entered into the textbox. * The “01″ present at the end of that line in the .fig file is the closing tag. For instance, a change to \100 appends a @ symbol at the end of the period of that sentence. ; Just to note there are no layers, no 3d functions, no shading, no transparency, no animation [[#top|...to the top]] ===Audio=== # AHI uses linear panning/balance, which means that in the center, you will get -6dB. If an app uses panning, this is what you will get. Note that apps like Audio Evolution need panning, so they will have this problem. # When using AHI Hifi modes, mixing is done in 32-bit and sent as 32-bit data to the driver. The Envy24HT driver uses that to output at 24-bit (always). # For the Envy24/Envy24HT, I've made 16-bit and 24-bit inputs (called Line-in 16-bit, Line-in 24-bit etc.). There is unfortunately no app that can handle 24-bit recording. ====Music Mods==== Digital module (mods) trackers are music creation software using samples and sometimes soundfonts, audio plugins (VST, AU or RTAS), MIDI. Generally, MODs are similar to MIDI in that they contain note on/off and other sequence messages that control the mod player. Unlike (most) midi files, however, they also contain sound samples that the sequence information actually plays. MOD files can have many channels (classic amiga mods have 4, corresponding to the inbuilt sound channels), but unlike MIDI, each channel can typically play only one note at once. However, since that note might be a sample of a chord, a drumloop or other complex sound, this is not as limiting as it sounds. Like MIDI, notes will play indefinitely if they're not instructed to end. Most trackers record this information automatically if you play your music in live. If you're using manual note entry, you can enter a note-off command with a keyboard shortcut - usually Caps Lock. In fact when considering file size MOD is not always the best option. Even a dummy song wastes few kilobytes for nothing when a simple SID tune could be few hundreds bytes and not bigger than 64kB. AHX is another small format, AHX tunes are never larger than 64kB excluding comments. [https://www.youtube.com/watch?v=rXXsZfwgil Protrekkr] (previously aka [w:Juan_Antonio_Arguelles_Rius|NoiseTrekkr]) If Protrekkr does not start, please check if the Unit 0 has been setup in the AHI prefs and still not, go to the directory utilities/protrekkr and double click on the Protrekkr icon *Sample *Note - Effect *Track (column) - Pattern - Order It all starts with the Sample which is used to create Note(s) in a Track (column of a tracker) The Note can be changed with an Effect. A Track of Note(s) can be collected into a Pattern (section of a song) and these can be given Order to create the whole song. Patience (notes have to be entered one at a time) or playing the bassline on a midi controller (faster - see midi section above). Best approach is to wait until a melody popped into your head. *Up-tempo means the track should be reasonably fast, but not super-fast. *Groovy and funky imply the track should have some sort of "swing" feel, with plenty of syncopation or off beat emphasis and a recognizable, melodic bass line. *Sweet and happy mean upbeat melodies, a major key and avoiding harsh sounds. *Moody - minor key First, create a quick bass sound, which is basically a sine wave, but can be hand drawn for a little more variance. It could also work for the melody part, too. This is usually a bass guitar or some kind of synthesizer bass. The bass line is often forgotten by inexperienced composers, but it plays an important role in a musical piece. Together with the rhythm section the bass line forms the groove of a song. It's the glue between the rhythm section and the melodic layer of a song. The drums are just pink noise samples, played at different frequencies to get a slightly different sound for the kick, snare, and hihats. Instruments that fall into the rhythm category are bass drums, snares, hi-hats, toms, cymbals, congas, tambourines, shakers, etc. Any percussive instrument can be used to form part of the rhythm section. The lead is the instrument that plays the main melody, on top of the chords. There are many instruments that can play a lead section, like a guitar, a piano, a saxophone or a flute. The list is almost endless. There is a lot of overlap with instruments that play chords. Often in one piece an instrument serves both roles. The lead melody is often played at a higher pitch than the chords. Listened back to what was produced so far, and a counter-melody can be imagined, which can be added with a triangle wave. To give the ends of phrases some life, you can add a solo part with a crunchy synth. By hitting random notes in the key of G, then edited a few of them. For the climax of the song, filled out the texture with a gentle high-pitch pad… …and a grungy bass synth. The arrow at A points at the pattern order list. As you see, the patterns don't have to be in numerical order. This song starts with pattern "00", then pattern "02", then "03", then "01", etcetera. Patterns may be repeated throughout a song. The B arrow points at the song title. Below it are the global BPM and speed parameters. These determine the tempo of the song, unless the tempo is altered through effect commands during the song. The C arrow points at the list of instruments. An instrument may consist of multiple samples. Which sample will be played depends on the note. This can be set in the Instrument Editing screen. Most instruments will consist of just one sample, though. The sample list for the selected instrument can be found under arrow D. Here's a part of the main editing screen. This is where you put in actual notes. Up to 32 channels can be used, meaning 32 sounds can play simultaneously. The first six channels of pattern "03" at order "02" are shown here. The arrow at A points at the row number. The B arrow points at the note to play, in this case a C4. The column pointed at by the C arrow tells us which instrument is associated with that note, in this case instrument #1 "Kick". The column at D is used (mainly) for volume commands. In this case it is left empty which means the instrument should play at its default volume. You can see the volume column being used in channel #6. The E column tells us which effect to use and any parameters for that effect. In this case it holds the "F" effect, which is a tempo command. The "04" means it should play at tempo 4 (a smaller number means faster). Base pattern When I create a new track I start with what I call the base pattern. It is worthwhile to spend some time polishing it as a lot of the ideas in the base pattern will be copied and used in other patterns. At least, that's how I work. Every musician will have his own way of working. In "Wild Bunnies" the base pattern is pattern "03" at order "02". In the section about selecting samples I talked about the four different categories of instruments: drums, bass, chords and leads. That's also how I usually go about making the base pattern. I start by making a drum pattern, then add a bass line, place some chords and top it off with a lead. This forms the base pattern from which the rest of the song will grow. Drums Here's a screenshot of the first four rows of the base pattern. I usually reserve the first four channels or so for the drum instruments. Right away there are a couple of tricks shown here. In the first channel the kick, or bass drum, plays some notes. Note the alternating F04 and F02 commands. The "F" command alters the tempo of the song and by quickly alternating the tempo; the song will get some kind of "swing" feel. In the second channel the closed hi-hat plays a fairly simple pattern. Further down in the channel, not shown here, some open hi-hat notes are added for a bit of variation. In the third and fourth channel the snare sample plays. The "8" command is for panning. One note is panned hard to the left and the other hard to the right. One sample is played a semitone lower than the other. This results in a cool flanging effect. It makes the snare stand out a little more in the mix. Bass line There are two different instruments used for the bass line. Instrument #6 is a pretty standard synthesized bass sound. Instrument #A sounds a bit like a slap bass when used with a quick fade out. By using two different instruments the bass line sounds a bit more ”human”. The volume command is used to cut off the notes. However, it is never set to zero. Setting the volume to a very small value will result in a reverb-like effect. This makes the song sound more "live". The bass line hints at the chords that will be played and the key the song will be in. In this case the key of the song is D-major, a positive and happy key. Chords The D major chords that are being played here are chords stabs; short sounds with a quick decay (fade out). Two different instruments (#8 and #9) are used to form the chords. These instruments are quite similar, but have a slightly different sound, panning and volume decay. Again, the reason for this is to make the sound more human. The volume command is used on some chords to simulate a delay, to achieve more of a live feel. The chords are placed off-beat making for a funky rhythm. Lead Finally the lead melody is added. The other instruments are invaluable in holding the track together, but the lead melody is usually what catches people's attention. A lot of notes and commands are used here, but it looks more complex than it is. A stepwise ascending melody plays in channel 13. Channel 14 and 15 copy this melody, but play it a few rows later at a lower volume. This creates an echo effect. A bit of panning is used on the notes to create some stereo depth. Like with the bass line, instead of cutting off notes the volume is set to low values for a reverb effect. The "461" effect adds a little vibrato to the note, which sounds nice on sustained notes. Those paying close attention may notice the instrument used here for the lead melody is the same as the one used for the bass line (#6 "Square"), except played two or three octaves higher. This instrument is a looped square wave sample. Each type of wave has its own quirks, but the square wave (shown below) is a really versatile wave form. Song structure Good, catchy songs are often carefully structured into sections, some of which are repeated throughout the song with small variations. A typical pop-song structure is: Intro - Verse - Chorus - Verse - Chorus - Bridge - Chorus. Other single sectional song structures are <pre> Strophic or AAA Song Form - oldest story telling with refrain (often title of the song) repeated in every verse section melody AABA Song Form - early popular, jazz and gospel fading during the 1960s AB or Verse/Chorus Song Form - songwriting format of choice for modern popular music since the 1960s Verse/Chorus/Bridge Song Form ABAB Song Form ABAC Song Form ABCD Song Form AAB 12-Bar Song Form - three four-bar lines or sub-sections 8-Bar Song Form 16-Bar Song Form Hybrid / Compound Song Forms </pre> The most common building blocks are: #INTRODUCTION(INTRO) #VERSE #REFRAIN #PRE-CHORUS / RISE / CLIMB #CHORUS #BRIDGE #MIDDLE EIGHT #SOLO / INSTRUMENTAL BREAK #COLLISION #CODA / OUTRO #AD LIB (OFTEN IN CODA / OUTRO) The chorus usually has more energy than the verse and often has a memorable melody line. As the chorus is repeated the most often during the song, it will be the part that people will remember. The bridge often marks a change of direction in the song. It is not uncommon to change keys in the bridge, or at least to use a different chord sequence. The bridge is used to build up tension towards the big finale, the last repetition of chorus. Playing RCTRL: Play song from row 0. LSHIFT + RCTRL: Play song from current row. RALT: Play pattern from row 0. LSHIFT + RALT: Play pattern from current row. Left mouse on '>': Play song from row 0. Right mouse on '>': Play song from current row. Left mouse on '|>': Play pattern from row 0. Right mouse on '|>': Play pattern from current row. Left mouse on 'Edit/Record': Edit mode on/off. Right mouse on 'Edit/Record': Record mode on/off. Editing LSHIFT + ESCAPE: Switch large patterns view on/off TAB: Go to next track LSHIFT + TAB: Go to prev. track LCTRL + TAB: Go to next note in track LCTRL + LSHIFT + TAB: Go to prev. note in track SPACE: Toggle Edit mode On & Off (Also stop if the song is being played) SHIFT SPACE: Toggle Record mode On & Off (Wait for a key note to be pressed or a midi in message to be received) DOWN ARROW: 1 Line down UP ARROW: 1 Line up LEFT ARROW: 1 Row left RIGHT ARROW: 1 Row right PREV. PAGE: 16 Arrows Up NEXT PAGE: 16 Arrows Down HOME / END: Top left / Bottom right of pattern LCTRL + HOME / END: First / last track F5, F6, F7, F8, F9: Jump to 0, 1/4, 2/4, 3/4, 4/4 lines of the patterns + - (Numeric keypad): Next / Previous pattern LCTRL + LEFT / RIGHT: Next / Previous pattern LCTRL + LALT + LEFT / RIGHT: Next / Previous position LALT + LEFT / RIGHT: Next / Previous instrument LSHIFT + M: Toggle mute state of the current channel LCTRL + LSHIFT + M: Solo the current track / Unmute all LSHIFT + F1 to F11: Select a tab/panel LCTRL + 1 to 4: Select a copy buffer Tracking 1st and 2nd keys rows: Upper octave row 3rd and 4th keys rows: Lower octave row RSHIFT: Insert a note off / and * (Numeric keypad) or F1 F2: -1 or +1 octave INSERT / BACKSPACE: Insert or Delete a line in current track or current selected block. LSHIFT + INSERT / BACKSPACE: Insert or Delete a line in current pattern DELETE (NOT BACKSPACE): Empty a column or a selected block. Blocks (Blocks can also be selected with the mouse by holding the right button and scrolling the pattern with the mouse wheel). LCTRL + A: Select entire current track LCTRL + LSHIFT + A: Select entire current pattern LALT + A: Select entire column note in a track LALT + LSHIFT + A: Select all notes of a track LCTRL + X: Cut the selected block and copy it into the block-buffer LCTRL + C: Copy the selected block into the block-buffer LCTRL + V: Paste the data from the block buffer into the pattern LCTRL + I: Interpolate selected data from the first to the last row of a selection LSHIFT + ARROWS PREV. PAGE NEXT PAGE: Select a block LCTRL + R: Randomize the select columns of a selection, works similar to CTRL + I (interpolating them) LCTRL + U: Transpose the note of a selection to 1 seminote higher LCTRL + D: Transpose the note of a selection to 1 seminote lower LCTRL + LSHIFT + U: Transpose the note of a selection to 1 seminote higher (only for the current instrument) LCTRL + LSHIFT + D: Transpose the note of a selection to 1 seminote lower (only for the current instrument) LCTRL + H: Transpose the note of a selection to 1 octave higher LCTRL + L: Transpose the note of a selection to 1 octave lower LCTRL + LSHIFT + H: Transpose the note of a selection to 1 octave higher (only for the current instrument) LCTRL + LSHIFT + L: Transpose the note of a selection to 1 octave lower (only for the current instrument) LCTRL + W: Save the current selection into a file Misc LALT + ENTER: Switch between full screen / windowed mode LALT + F4: Exit program (Windows only) LCTRL + S: Save current module LSHIFT + S: Switch top right panel to synths list LSHIFT + I: Switch top right panel to instruments list <pre> C-x xh xx xx hhhh Volume B-x xh xx xx hhhh Jump to A#x xh xx xx hhhh hhhh Slide F-x xh xx xx hhhh Tempo D-x xh xx xx hhhh Pattern Break G#x xh xx xx hhhh </pre> h Hex 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F 10 11 12 13 d Dec 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 The Set Volume command: C. Input a note, then move the cursor to the effects command column and type a C. Play the pattern, and you shouldn't be able to hear the note you placed the C by. This is because the effect parameters are 00. Change the two zeros to a 40(Hex)/64(Dec), depending on what your tracker uses. Play back the pattern again, and the note should come in at full volume. The Position Jump command next. This is just a B followed by the position in the playing list that you want to jump to. One thing to remember is that the playing list always starts at 0, not 1. This command is usually in Hex. Onto the volume slide command: A. This is slightly more complex (much more if you're using a newer tracker, if you want to achieve the results here, then set slides to Amiga, not linear), due to the fact it depends on the secondary tempo. For now set a secondary tempo of 06 (you can play around later), load a long or looped sample and input a note or two. A few rows after a note type in the effect command A. For the parameters use 0F. Play back the pattern, and you should notice that when the effect kicks in, the sample drops to a very low volume very quickly. Change the effect parameters to F0, and use a low volume command on the note. Play back the pattern, and when the slide kicks in the volume of the note should increase very quickly. This because each part of the effect parameters for command A does a different thing. The first number slides the volume up, and the second slides it down. It's not recommended that you use both a volume up and volume down at the same time, due to the fact the tracker only looks for the first number that isn't set to 0. If you specify parameters of 8F, the tracker will see the 8, ignore the F, and slide the volume up. Using a slide up and down at same time just makes you look stupid. Don't do it... The Set Tempo command: F, is pretty easy to understand. You simply specify the BPM (in Hex) that you want to change to. One important thing to note is that values of lower than 20 (Hex) sets the secondary tempo rather than the primary. Another useful command is the Pattern Break: D. This will stop the playing of the current pattern and skip to the next one in the playing list. By using parameters of more than 00 you can also specify which line to begin playing from. Command 3 is Portamento to Note. This slides the currently playing note to another note, at a specified speed. The slide then stops when it reaches the desired note. <pre> C-2 1 000 - Starts the note playing --- 000 C-3 330 - Starts the slide to C-3 at a speed of 30. --- 300 - Continues the slide --- 300 - Continues the slide </pre> Once the parameters have been set, the command can be input again without any parameters, and it'll still perform the same function unless you change the parameters. This memory function allows certain commands to function correctly, such as command 5, which is the Portamento to Note and Volume Slide command. Once command 3 has been set up command 5 will simply take the parameters from that and perform a Portamento to Note. Any parameters set up for command 5 itself simply perform a Volume Slide identical to command A at the same time as the Portamento to Note. This memory function will only operate in the same channel where the original parameters were set up. There are various other commands which perform two functions at once. They will be described as we come across them. C-3 04 .. .. 09 00 ---> C-3 04 .. .. 09 00 C-3 04 .. .. 09 00 ---> C-3 04 .. .. 09 02 C-3 04 .. .. 09 00 ---> C-3 04 .. .. 09 05 C-3 04 .. .. 09 00 ---> C-3 04 .. .. 09 08 C-3 04 .. .. 09 00 ---> C-3 04 .. .. 09 0A C-3 04 .. .. 09 00 ---> C-3 04 .. .. 09 0D C-3 04 .. .. 09 10 ---> C-3 04 .. .. 09 10 (You can also switch on the Slider Rec to On, and perform parameter-live-recording, such as cutoff transitions, resonance or panning tweaking, etc..) Note: this command only works for volume/panning and fx datas columns. The next command we'll look at is the Portamento up/down: 1 and 2. Command 1 slides the pitch up at a specified speed, and 2 slides it down. This command works in a similar way to the volume slide, in that it is dependent on the secondary tempo. Both these commands have a memory dependent on each other, if you set the slide to a speed of 3 with the 1 command, a 2 command with no parameters will use the speed of 3 from the 1 command, and vice versa. Command 4 is Vibrato. Vibrato is basically rapid changes in pitch, just try it, and you'll see what I mean. Parameters are in the format of xy, where x is the speed of the slide, and y is the depth of the slide. One important point to remember is to keep your vibratos subtle and natural so a depth of 3 or less and a reasonably fast speed, around 8, is usually used. Setting the depth too high can make the part sound out of tune from the rest. Following on from command 4 is command 6. This is the Vibrato and Volume Slide command, and it has a memory like command 5, which you already know how to use. Command 7 is Tremolo. This is similar to vibrato. Rather than changing the pitch it slides the volume. The effect parameters are in exactly the same format. vibrato effect (0x1dxy) x = speed y = depth (can't be used if arpeggio (0x1b) is turned on) <pre> C-7 00 .. .. 1B37 <- Turn Arpeggio effect on --- .. .. .. 0000 --- .. .. .. 0000 --- .. .. .. 0000 --- .. .. .. 1B38 <- Change datas --- .. .. .. 0000 --- .. .. .. 0000 --- .. .. .. 0000 --- .. .. .. 1B00 <- Turn it off </pre> Command 9 is Sample Offset. This starts the playback of the sample from a different place than the start. The effect parameters specify the sample offset, but only very roughly. Say you have a sample which is 8765(Hex) bytes long, and you wanted it to play from position 4321(Hex). The effect parameter could only be as accurate as the 43 part, and it would ignore the 21. Command B is the Playing List/Order Jump command. The parameters specify the position in the Playing List/Order to jump to. When used in conjunction with command D you can specify the position and the line to play from. Command E is pretty complex, as it is used for a lot of different things, depending on what the first parameter is. Let's take a trip through each effect in order. Command E0 controls the hardware filter on an Amiga, which, as a low pass filter, cuts off the highest frequencies being played back. There are very few players and trackers on other system that simulate this function, not that you should need to use it. The second parameter, if set to 1, turns on the filter. If set to 0, the filter gets turned off. Commands E1/E2 are Fine Portamento Up/Down. Exactly the same functions as commands 1/2, except that they only slide the pitch by a very small amount. These commands have a memory the same as 1/2 as well. Command E3 sets the Glissando control. If parameters are set to 1 then when using command 3, any sliding will only use the notes in between the original note and the note being slid to. This produces a somewhat jumpier slide than usual. The best way to understand is to try it out for yourself. Produce a slow slide with command 3, listen to it, and then try using E31. Command E4 is the Set Vibrato Waveform control. This command controls how the vibrato command slides the pitch. Parameters are 0 - Sine, 1 - Ramp Down (Saw), 2 - Square. By adding 4 to the parameters, the waveform will not be restarted when a new note is played e.g. 5 - Sine without restart. Command E5 sets the Fine Tune of the instrument being played, but only for the particular note being played. It will override the default Fine Tune for the instrument. The parameters range from 0 to F, with 0 being -8 and F being +8 Fine Tune. A parameter of 8 gives no Fine Tune. If you're using a newer tracker that supports more than -8 to +8 e.g. -128 to +128, these parameters will give a rough Fine Tune, accurate to the nearest 16. Command E6 is the Jump Loop command. You mark the beginning of the part of a pattern that you want to loop with E60, and then specify with E6x the end of the loop, where x is the number of times you want it to loop. Command E7 is the Set Tremolo Waveform control. This has exactly the same parameters as command E4, except that it works for Tremolo rather than Vibrato. Command E9 is for Retriggering the note quickly. The parameter specifies the interval between the retrigs. Use a value of less than the current secondary tempo, or else the note will not get retrigged. Command EA/B are for Fine Volume Slide Up/Down. Much the same as the normal Volume Slides, except that these are easier to control since they don't depend on the secondary tempo. The parameters specify the amount to slide by e.g. if you have a sample playing at a volume of 08 (Hex) then the effect EA1 will slide this volume to 09 (Hex). A subsequent effect of EB4 would slide this volume down to 05 (Hex). Command EC is the Note Cut. This sets the volume of the currently playing note to 0 at a specified tick. The parameters should be lower than the secondary tempo or else the effect won't work. Command ED is the Note Delay. This should be used at the same time as a note is to be played, and the parameters will specify the number of ticks to delay playing the note. Again, keep the parameters lower than the secondary tempo, or the note won't get played! Command EE is the Pattern Delay. This delays the pattern for the amount of time it would take to play a certain number of rows. The parameters specify how many rows to delay for. Command EF is the Funk Repeat command. Set the sample loop to 0-1000. When EFx is used, the loop will be moved to 1000- 2000, then to 2000-3000 etc. After 9000-10000 the loop is set back to 0- 1000. The speed of the loop "movement" is defined by x. E is two times as slow as F, D is three times as slow as F etc. EF0 will turn the Funk Repeat off and reset the loop (to 0-1000). effects 0x41 and 0x42 to control the volumes of the 2 303 units There is a dedicated panel for synth parameter editing with coherent sections (osc, filter modulation, routing, so on) the interface is much nicer, much better to navigate with customizable colors, the reverb is now customizable (10 delay lines), It accepts newer types of Waves (higher bit rates, at least 24). Has a replay routine. It's pretty much your basic VA synth. The problem isn't with the sampler being to high it's the synth is tuned two octaves too low, but if you want your samples tuned down just set the base note down 2 octaves (in the instrument panel). so the synth is basically divided into 3 sections from left to right: oscillators/envelopes, then filter and LFO's, and in the right column you have mod routings and global settings. for the oscillator section you have two normal oscillators (sine, saw, square, noise), the second of which is tunable, the first one tunes with the key pressed. Attached to OSC 1 is a sub-oscillator, which is a sawtooth wave tuned one octave down. The phase modulation controls the point in the duty cycle at which the oscillator starts. The ADSR envelope sliders (grouped with oscs) are for modulation envelope 1 and 2 respectively. you can use the synth as a sampler by choosing the instrument at the top. In the filter column, the filter settings are: 1 = lowpass, 2 = highpass, 3 = off. cutoff and resonance. For the LFOs they are LFO 1 and LFO 2, the ADSR sliders in those are for the LFO itself. For the modulation routings you have ENV 1, LFO 1 for the first slider and ENV 2, LFO 2 for the second, you can cycle through the individual routings there, and you can route each modulation source to multiple destinations of course, which is another big plus for this synth. Finally the glide time is for portamento and master volume, well, the master volume... it can go quite loud. The sequencer is changed too, It's more like the one in AXS if you've used that, where you can mute tracks to re-use patterns with variation. <pre> Support for the following modules formats: 669 (Composer 669, Unis 669), AMF (DSMI Advanced Module Format), AMF (ASYLUM Music Format V1.0), APUN (APlayer), DSM (DSIK internal format), FAR (Farandole Composer), GDM (General DigiMusic), IT (Impulse Tracker), IMF (Imago Orpheus), MOD (15 and 31 instruments), MED (OctaMED), MTM (MultiTracker Module editor), OKT (Amiga Oktalyzer), S3M (Scream Tracker 3), STM (Scream Tracker), STX (Scream Tracker Music Interface Kit), ULT (UltraTracker), UNI (MikMod), XM (FastTracker 2), Mid (midi format via timidity) </pre> Possible plugin options include [http://lv2plug.in/ LV2], ====Midi - Musical Instrument Digital Interface==== A midi file typically contains music that plays on up to 16 channels (as per the midi standard), but many notes can simultaneously play on each channel (depending on the limit of the midi hardware playing it). '''Timidity''' Although usually already installed, you can uncompress the [http://www.libsdl.org/projects/SDL_mixer/ timidity.tar.gz (14MB)] into a suitable drawer like below's SYS:Extras/Audio/ assign timidity: SYS:Extras/Audio/timidity added to SYSːs/User-Startup '''WildMidi playback''' '''Audio Evolution 4 (2003) 4.0.23 (from 2012)''' *Sync Menu - CAMD Receive, Send checked *Options Menu - MIDI Machine Control - Midi Bar Display - Select CAMD MIDI in / out - Midi Remote Setup MCB Master Control Bus *Sending a MIDI start-command and a Song Position Pointer, you can synchronize audio with an external MIDI sequencer (like B&P). *B&P Receive, start AE, add AudioEvolution.ptool in Bars&Pipes track, press play / record in AE then press play in Pipes *CAMD Receive, receive MIDI start or continue commands via camd.library sync to AE *MIDI Machine Control *Midi Bar Display *Select CAMD MIDI in / out *Midi Remote Setup - open requester for external MIDI controllers to control app mixer and transport controls cc remotely Channel - mixer(vol, pan, mute, solo), eq, aux, fx, Subgroup - Volume, Mute, Solo Transport - Start, End, Play, Stop, Record, Rewind, Forward Misc - Master vol., Bank Down, Bank up <pre> q - quit First 3 already opened when AE started F1 - timeline window F2 - mixer F3 - control F4 - subgroups F5 - aux returns F6 - sample list i - Load sample to use space - start/stop play b - reset time 0:00 s - split mode r - open recording window a - automation edit mode with p panning, m mute and v volume [ / ] - zoom in / out : - previous track * - next track x c v f - cut copy paste cross-fade g - snap grid </pre> '''[http://bnp.hansfaust.de/ Bars n Pipes sequencer]''' BarsnPipes debug ... in shell Menu (right mouse) *Song - Songs load and save in .song format but option here to load/save Midi_Files .mid in FORMAT0 or FORMAT1 *Track - *Edit - *Tool - *Timing - SMTPE Synchronizing *Windows - *Preferences - Multiple MIDI-in option Windows (some of these are usually already opened when Bars n Pipes starts up for the first time) *Workflow -> Tracks, .... Song Construction, Time-line Scoring, Media Madness, Mix Maestro, *Control -> Transport (or mini one), Windows (which collects all the Windows icons together-shortcut), .... Toolbox, Accessories, Metronome, Once you have your windows placed on the screen that suits your workflow, Song -> Save as Default will save the positions, colors, icons, etc as you'd like them If you need a particular setup of Tracks, Tools, Tempos etc, you save them all as a new song you can load each time Right mouse menu -> Preferences -> Environment... -> ScreenMode - Linkages for Synch (to Slave) usbmidi.out.0 and Send (Master) usbmidi.in.0 - Clock MTC '''Tracks''' #Double-click on B&P's icon. B&P will then open with an empty Song. You can also double-click on a song icon to open a song in B&P. #Choose a track. The B&P screen will contain a Tracks Window with a number of tracks shown as pipelines (Track 1, Track 2, etc...). To choose a track, simply click on the gray box to show an arrow-icon to highlight it. This icon show whether a track is chosen or not. To the right of the arrow-icon, you can see the icon for the midi-input. If you double-click on this icon you can change the MIDI-in setup. #Choose Record for the track. To the right of the MIDI-input channel icon you can see a pipe. This leads to another clickable icon with that shows either P, R or M. This stands for Play, Record or Merge. To change the icon, simply click on it. If you choose P, this track can only play the track (you can't record anything). If you choose R, you can record what you play and it overwrites old stuff in the track. If you choose M, you merge new records with old stuff in the track. Choose R now to be able to make a record. #Chose MIDI-channel. On the most right part of the track you can see an icon with a number in it. This is the MIDI-channel selector. Here you must choose a MIDI-channel that is available on your synthesizer/keyboard. If you choose General MIDI channel 10, most synthesizer will play drum sounds. To the left of this icon is the MIDI-output icon. Double-click on this icon to change the MIDI-output configuration. #Start recording. The next step is to start recording. You must then find the control buttons (they look like buttons on a CD-player). To be able to make a record. you must click on the R icon. You can simply now press the play button (after you have pressed the R button) and play something on you keyboard. To playback your composition, press the Play button on the control panel. #Edit track. To edit a track, you simply double click in the middle part of a track. You will then get a new window containing the track, where you can change what you have recorded using tools provided. Take also a look in the drop-down menus for more features. Videos to help understand [https://www.youtube.com/watch?v=A6gVTX-9900 small intro], [https://www.youtube.com/watch?v=abq_rUTiSA4&t=3s Overview], [https://www.youtube.com/watch?v=ixOVutKsYQo Workplace Setup CC PC Sysex], [https://www.youtube.com/watch?v=dDnJLYPaZTs Import Song], [https://www.youtube.com/watch?v=BC3kkzPLkv4 Tempo Mapping], [https://www.youtube.com/watch?v=sd23kqMYPDs ptool Arpeggi-8], [https://www.youtube.com/watch?v=LDJq-YxgwQg PlayMidi Song], [https://www.youtube.com/watch?v=DY9Pu5P9TaU Amiga Midi], [https://www.youtube.com/watch?v=abq_rUTiSA4 Learning Amiga bars and Pipes], Groups like [https://groups.io/g/barsnpipes/topics this] could help '''Tracks window''' * blue "1 2 3 4 5 6 7 8 Group" and transport tape deck VCR-type controls * Flags * [http://theproblem.alco-rhythm.com/org/bp.html Track 1, Track2, to Track 16, on each Track there are many options that can be activated] Each Track has a *Left LHS - Click in grey box to select what Track to work on, Midi-In ptool icon should be here (5pin plug icon), and many more from the Toolbox on the Input Pipeline *Middle - (P, R, M) Play, Record, Merge/Multi before the sequencer line and a blue/red/yellow (Thru Mute Play) Tap *Right RHS - Output pipeline, can have icons placed uopn it with the final ptool icon(s) being the 5pin icon symbol for Midi-OUT Clogged pipelines may need Esc pressed several times '''Toolbox (tools affect the chosen pipeline)''' After opening the Toolbox window you can add extra Tools (.ptool) for the pipelines like keyboard(virtual), midimonitor, quick patch, transpose, triad, (un)quantize, feedback in/out, velocity etc right mouse -> Toolbox menu option -> Install Tool... and navigate to Tool drawer (folder) and select requried .ptool Accompany B tool to get some sort of rythmic accompaniment, Rythm Section and Groove Quantize are examples of other tools that make use of rythms [https://aminet.net/search?query=bars Bars & Pipes pattern format .ptrn] for drawer (folder). Load from the Menu as Track or Group '''Accessories (affect the whole app)''' Accessories -> Install... and goto the Accessories drawer for .paccess like adding ARexx scripting support '''Song Construction''' <pre> F1 Pencil F2 Magic Wand F3 Hand F4 Duplicator F5 Eraser F6 Toolpad F7 Bounding box F8 Lock to A-B-A A-B-A strip, section, edit flags, white boxes, </pre> Bars&Pipes Professional offers three track formats; basic song tracks, linear tracks — which don't loop — and finally real‑time tracks. The difference between them is that both song and linear tracks respond to tempo changes, while real‑time tracks use absolute timing, always trigger at the same instant regardless of tempo alterations '''Tempo Map''' F1 Pencil F2 Magic Wand F3 Hand F4 Eraser F5 Curve F6 Toolpad Compositions Lyrics, Key, Rhythm, Time Signature '''Master Parameters''' Key, Scale/Mode '''Track Parameters''' Dynamics '''Time-line Scoring''' '''Media Madness''' '''Mix Maestro''' *ACCESSORIES Allows the importation of other packages and additional modules *CLIPBOARD Full cut, copy and paste operations, enabling user‑definable clips to be shared between tracks. *INFORMATION A complete rundown on the state of the current production and your machine. *MASTER PARAMETERS Enables global definition of time signatures, lyrics, scales, chords, dynamics and rhythm changes. *MEDIA MADNESS A complete multimedia sequencer which allows samples, stills, animation, etc *METRONOME Tempo feedback via MIDI, internal Amiga audio and colour cycling — all three can be mixed and matched as required. *MIX MAESTRO Completely automated mixdown with control for both volume and pan. All fader alterations are memorised by the software *RECORD ACTIVATION Complete specification of the data to be recorded/merged. Allows overdubbing of pitch‑bend, program changes, modulation etc *SET FLAGS Numeric positioning of location and edit flags in either SMPTE or musical time *SONG CONSTRUCTION Large‑scale cut and paste of individual measures, verses or chorus, by means of bounding box and drag‑n‑drop mouse selections *TEMPO MAP Tempo change using a variety of linear and non‑linear transition curves *TEMPO PALETTE Instant tempo changes courtesy of four user‑definable settings. *TIMELINE SCORING Sequencing of a selection of songs over a defined period — ideal for planning an entire set for a live performance. *TOOLBOX Selection screen for the hundreds of signal‑processing tools available *TRACKS Opens the main track window to enable recording, editing and the use of tools. *TRANSPORT Main playback control window, which also provides access to user‑ defined flags, loop and punch‑in record modes. Bars and Pipes Pro 2.5 is using internal 4-Byte IDs, to check which kind of data are currently processed. Especially in all its files the IDs play an important role. The IDs are stored into the file in the same order they are laid out in the memory. In a Bars 'N' Pipes file (no matter which kind) the ID "NAME" (saved as its ANSI-values) is stored on a big endian system (68k-computer) as "NAME". On a little endian system (x86 PC computer) as "EMAN". The target is to make the AROS-BnP compatible to songs, which were stored on a 68k computer (AMIGA). If possible, setting MIDI channels for Local Control for your keyboard http://www.fromwithin.com/liquidmidi/archive.shtml MIDI files are essentially a stream of event data. An event can be many things, but typically "note on", "note off", "program change", "controller change", or messages that instruct a MIDI compatible synth how to play a given bit of music. * Channel - 1 to 16 - * Messages - PC presets, CC effects like delays, reverbs, etc * Sequencing - MIDI instruments, Drums, Sound design, * Recording - * GUI - Piano roll or Tracker, Staves and Notes MIDI events/messages like step entry e.g. Note On, Note Off MIDI events/messages like PB, PC, CC, Mono and Poly After-Touch, Sysex, etc MIDI sync - Midi Clocks (SPS Measures), Midi Time Code (h, m, s and frames) SMPTE Individual track editing with audition edits so easier to test any changes. Possible to stop track playback, mix clips from the right edit flag and scroll the display using arrow keys. Step entry, to extend a selected note hit the space bar and the note grows accordingly. Ability to cancel mouse‑driven edits by simply clicking the right mouse button — at which point everything snaps back into its original form. Lyrics can now be put in with syllable dividers, even across an entire measure or section. Autoranging when you open a edit window, the notes are automatically displayed — working from the lowest upwards. Flag editing, shift‑click on a flag immediately open the bounds window, ready for numeric input. Ability to cancel edits using the right‑hand mouse button, plus much improved Bounding Box operations. Icons other than the BarsnPipes icon -> PUBSCREEN=BarsnPipes (cannot choose modes higher than 8bit 256 colors) Preferences -> Menu in Tracks window - Send MIDI defaults OFF Prefs -> Environment -> screenmode (saved to BarsnPipes.prefs binary file) Customization -> pics in gui drawer (folder) - Can save as .song files and .mid General Midi SMF is a “Standard Midi File” ([http://www.music.mcgill.ca/~ich/classes/mumt306/StandardMIDIfileformat.html SMF0, SMF1 and SMF2]), [https://github.com/stump/libsmf libsmf], [https://github.com/markc/midicomp MIDIcomp], [https://github.com/MajicDesigns/MD_MIDIFile C++ src], [], [https://github.com/newdigate/midi-smf-reader Midi player], * SMF0 All MIDI data is stored in one track only, separated exclusively by the MIDI channel. * SMF1 The MIDI data is stored in separate tracks/channels. * SMF2 (rarely used) The MIDI data is stored in separate tracks, which are additionally wrapped in containers, so it's possible to have e.g. several tracks using the same MIDI channels. Would it be possible to enrich Bars N’Pipes with software synth and sample support along with audio recording and mastering tools like in the named MAC or PC music sequencers? On the classic AMIGA-OS this is not possible because of missing CPU-power. The hardware of the classic AMIGA is not further developed. So we must say (unfortunately) that those dreams can’t become reality BarsnPipes is best used with external MIDI-equipment. This can be a keyboard or synthesizer with MIDI-connectors. <pre> MIDI can control 16 channels There are USB-MIDI-Interfaces on the market with 16 independent MIDI-lines (multi-port), which can handle 16 MIDI devices independently – 16×16 = 256 independent MIDI-channels or instruments handle up to 16 different USB-MIDI-Interfaces (multi-device). That is: 16X16X16 = 4096 independent MIDI-channels – theoretically </pre> <pre> Librarian MIDI SYStem EXplorer (sysex) - PatchEditor and used to be supplied as a separate program like PatchMeister but currently not at present It should support MIDI.library (PD), BlueRibbon.library (B&P), TriplePlayPlus, and CAMD.library (DeluxeMusic) and MIDI information from a device's user manual and configure a custom interface to access parameters for all MIDI products connected to the system Supports ALL MIDI events and the Patch/Librarian data is stored in MIDI standard format Annette M.Crowling, Missing Link Software, Inc. </pre> Composers <pre> [https://x.com/hirasawa/status/1403686519899054086 Susumu Hirasawa] </pre> <pre> 1988 Todor Fay and his wife Melissa Jordan Gray, who founded the Blue Ribbon Inc 1992 Bars&Pipes Pro published November 2000, Todor Fay announcement to release the sourcecode of Bars&Pipes Pro 2.5c beta end of May 2001, the source of the main program and the sources of some tools and accessories were in a complete and compileable state end of October 2009 stop further development of BarsnPipes New for now on all supported systems and made freeware 2013 Alfred Faust diagnosed with incureable illness, called „Myastenia gravis“ (weak muscles) </pre> Protrekkr How to use Midi In/Out in Protrekkr ? First of all, midi in & out capabilities of this program are rather limited. # Go to Misc. Setup section and select a midi in or out device to use (ptk only supports one device at a time). # Go to instrument section, and select a MIDI PRG (the default is N/A, which means no midi program selected). # Go to track section and here you can assign a midi channel to each track of ptk. # Play notes :]. Note off works. F'x' note cut command also works too, and note-volume command (speed) is supported. Also, you can change midicontrollers in the tracker, using '90' in the panning row: <pre> C-3 02 .. .. 0000.... --- .. .. 90 xxyy.... << This will set the value --- .. .. .. 0000.... of the controller n.'xx' to 'yy' (both in hex) --- .. .. .. 0000.... </pre> So "--- .. .. 90 2040...." will set the controller number $20(32) to $40(64). You will need the midi implementation table of your gear to know what you can change with midi controller messages. N.B. Not all MIDI devices are created equal! Although the MIDI specification defines a large range of MIDI messages of various kinds, not every MIDI device is required to work in exactly the same way and respond to all the available messages and ways of working. For example, we don't expect a wind synthesiser to work in the same way as a home keyboard. Some devices, the older ones perhaps, are only able to respond to a single channel. With some of those devices that channel can be altered from the default of 1 (probably) to another channel of the 16 possible. Other devices, for instance monophonic synthesisers, are capable of producing just one note at a time, on one MIDI channel. Others can produce many notes spread across many channels. Further devices can respond to, and transmit, "breath controller" data (MIDI controller number 2 (CC#2)) others may respond to the reception of CC#2 but not be able to create and to send it. A controller keyboard may be capable of sending "expression pedal" data, but another device may not be capable of responding to that message. Some devices just have the basic GM sound set. The "voice" or "instrument" is selected using a "Program Change" message on its own. Other devices have a greater selection of voices, usually arranged in "banks", and the choice of instrument is made by responding to "Bank Select MSB" (MIDI controller 0 (CC#0)), others use "Bank Select LSB" (MIDI controller number 32 (CC#32)), yet others use both MSB and LSB sent one after the other, all followed by the Program Change message. The detailed information about all the different voices will usually be available in a published MIDI Data List. MIDI Implementation Chart But in the User Manual there is sometimes a summary of how the device works, in terms of MIDI, in the chart at the back of the manual, the MIDI Implementation Chart. If you require two devices to work together you can compare the two implementation charts to see if they are "compatible". In order to do this we will need to interpret that chart. The chart is divided into four columns headed "Function", "Transmitted" (or "Tx"), "Received" (or "Rx"), or more correctly "Recognised", and finally, "Remarks". <pre> The left hand column defines which MIDI functions are being described. The 2nd column defines what the device in question is capable of transmitting to another device. The 3rd column defines what the device is capable of responding to. The 4th column is for explanations of the values contained within these previous two columns. </pre> There should then be twelve sections, with possibly a thirteenth containing extra "Notes". Finally there should be an explanation of the four MIDI "modes" and what the "X" and the "O" mean. <pre> Mode 1: Omni On, Poly; Mode 2: Omni On, Mono; Mode 3: Omni Off, Poly; Mode 4: Omni Off, Mono. </pre> O means "yes" (implemented), X means "no" (not implemented). Sometimes you will find a row of asterisks "**************", these seem to indicate that the data is not applicable in this case. Seen in the transmitted field only (unless you've seen otherwise). Lastly you may find against some entries an asterisk followed by a number e.g. *1, these will refer you to further information, often on a following page, giving more detail. Basic Channel But the very first set of boxes will tell us the "Basic Channel(s)" that the device sends or receives on. "Default" is what happens when the device is first turned on, "changed" is what a switch of some kind may allow the device to be set to. For many devices e.g. a GM sound module or a home keyboard, this would be 1-16 for both. That is it can handle sending and receiving on all MIDI channels. On other devices, for example a synthesiser, it may by default only work on channel 1. But the keyboard could be "split" with the lower notes e.g. on channel 2. If the synth has an arppegiator, this may be able to be set to transmit and or receive on yet another channel. So we might see the default as "1" but the changed as "1-16". Modes. We need to understand Omni On and Off, and Mono and Poly, then we can decipher the four modes. But first we need to understand that any of these four Mode messages can be sent to any MIDI channel. They don't necessarily apply to the whole device. If we send an "Omni On" message (CC#125) to a MIDI channel of a device, we are, in effect, asking it to respond to e.g. a Note On / Off message pair, received on any of the sixteen channels. Sound strange? Read it again. Still strange? It certainly is. We normally want a MIDI channel to respond only to Note On / Off messages sent on that channel, not any other. In other words, "Omni Off". So "Omni Off" (CC#124) tells a channel of our MIDI device to respond only to messages sent on that MIDI channel. "Poly" (CC#127) is for e.g. a channel of a polyphonic sound module, or a home keyboard, to be able to respond to many simultaneous Note On / Off message pairs at once and produce musical chords. "Mono" (CC#126) allows us to set a channel to respond as if it were e.g. a flute or a trumpet, playing just one note at a time. If the device is capable of it, then the overlapping of notes will produce legato playing, that is the attack portion of the second note of two overlapping notes will be removed resulting in a "smoother" transition. So a channel with a piano voice assigned to it will have Omni Off, Poly On (Mode 3), a channel with a saxophone voice assigned could be Omni Off, Mono On (Mode 4). We call these combinations the four modes, 1 to 4, as defined above. Most modern devices will have their channels set to Mode 3 (Omni Off, Poly) but be switchable, on a per channel basis, to Mode 4 (Omni Off, Mono). This second section of data will include first its default value i.e. upon device switch on. Then what Mode messages are acceptable, or X if none. Finally, in the "Altered" field, how a Mode message that can't be implemented will be interpreted. Usually there will just be a row of asterisks effectively meaning nothing will be done if you try to switch to an unimplemented mode. Note Number <pre> The next row will tell us which MIDI notes the device can send or receive, normally 0-127. The second line, "True Voice" has the following in the MIDI specification: "Range of received note numbers falling within the range of true notes produced by the instrument." My interpretation is that, for instance, a MIDI piano may be capable of sending all MIDI notes (0 to 127) by transposition, but only responding to the 88 notes (21 to 108) of a real piano. </pre> Velocity This will tell us whether the device we're looking at will handle note velocity, and what range from 1-127, or maybe just 64, it transmits or will recognise. So usually "O" plus a range or "X" for not implemented. After touch This may have one or two lines two it. If a one liner the either "O" or "X", yes or no. If a two liner then it may include "Keys" or "Poly" and "Channel". This will show whether the device will respond to Polyphonic after touch or channel after touch or neither. Pitch Bend Again "O" for implemented, "X" for not implemented. (Many stage pianos will have no pitch bend capability.) It may also, in the notes section, state whether it will respond to the full 14 bits, or not, as usually encoded by the pitch bend wheel. Control Change This is likely to be the largest section of the chart. It will list all those controllers, starting from CC#0, Bank Select MSB, which the device is capable of sending, and those that it will respond to using "O" or "X" respectively. You will, almost certainly, get some further explanation of functionality in the remarks column, or in more detail elsewhere in the documentation. Of course you will need to know what all the various controller numbers do. Lots of the official technical specifications can be found at the [www.midi.org/techspecs/ MMA], with the table of messages and control change [www.midi.org/techspecs/midimessages.php message numbers] Program Change Again "O" or "X" in the Transmitted or Recognised column to indicate whether or not the feature is implemented. In addition a range of numbers is shown, typically 0-127, to show what is available. True # (number): "The range of the program change numbers which correspond to the actual number of patches selected." System Exclusive Used to indicate whether or not the device can send or recognise System Exclusive messages. A short description is often given in the Remarks field followed by a detailed explanation elsewhere in the documentation. System Common - These include the following: <pre> MIDI Time Code Quarter Frame messages (device synchronisation). Song Position Pointer Song Select Tune Request </pre> The section will indicate whether or not the device can send or respond to any of these messages. System Real Time These include the following: <pre> Timing Clock - often just written as "Clock" Start Stop Continue </pre> These three are usually just referred to as "Commands" and listed. Again the section will indicate which, if any, of these messages the device can send or respond to. <pre> Aux. Messages Again "O" or "X" for implemented or not. Aux. = Auxiliary. Active Sense = Active Sensing. </pre> Often with an explanation of the action of the device. Notes The "Notes" section can contain any additional comments to clarify the particular implementation. Some of the explanations have been drawn directly from the MMA MIDI 1.0 Detailed Specification. And the detailed explanation of some of the functions will be found there, or in the General MIDI System Level 1 or General MIDI System Level 2 documents also published by the MMA. OFFICIAL MIDI SPECIFICATIONS SUMMARY OF MIDI MESSAGES Table 1 - Summary of MIDI Messages The following table lists the major MIDI messages in numerical (binary) order (adapted from "MIDI by the Numbers" by D. Valenti, Electronic Musician 2/88, and updated by the MIDI Manufacturers Association.). This table is intended as an overview of MIDI, and is by no means complete. WARNING! Details about implementing these messages can dramatically impact compatibility with other products. We strongly recommend consulting the official MIDI Specifications for additional information. MIDI 1.0 Specification Message Summary Channel Voice Messages [nnnn = 0-15 (MIDI Channel Number 1-16)] {| class="wikitable sortable" width="90%" ! width="10%" |Status D7----D0 ! width="10%" |Data Byte(s) D7----D0 ! width="20%" |Description |- |<!--Status-->1000nnnn || <!--Data-->0kkkkkkk 0vvvvvvv || <!--Description-->Note Off event. This message is sent when a note is released (ended). (kkkkkkk) is the key (note) number. (vvvvvvv) is the velocity. |- |<!--Status-->1001nnnn || <!--Data-->0kkkkkkk 0vvvvvvv || <!--Description-->Note On event. This message is sent when a note is depressed (start). (kkkkkkk) is the key (note) number. (vvvvvvv) is the velocity. |- |<!--Status-->1010nnnn || <!--Data-->0kkkkkkk 0vvvvvvv || <!--Description-->Polyphonic Key Pressure (Aftertouch). This message is most often sent by pressing down on the key after it "bottoms out". (kkkkkkk) is the key (note) number. (vvvvvvv) is the pressure value. |- |<!--Status-->1011nnnn || <!--Data-->0ccccccc 0vvvvvvv || <!--Description-->Control Change. This message is sent when a controller value changes. Controllers include devices such as pedals and levers. Controller numbers 120-127 are reserved as "Channel Mode Messages" (below). (ccccccc) is the controller number (0-119). (vvvvvvv) is the controller value (0-127). |- |<!--Status-->1100nnnn || <!--Data-->0ppppppp || <!--Description-->Program Change. This message sent when the patch number changes. (ppppppp) is the new program number. |- |<!--Status-->1101nnnn || <!--Data-->0vvvvvvv || <!--Description-->Channel Pressure (After-touch). This message is most often sent by pressing down on the key after it "bottoms out". This message is different from polyphonic after-touch. Use this message to send the single greatest pressure value (of all the current depressed keys). (vvvvvvv) is the pressure value. |- |<!--Status-->1110nnnn || <!--Data-->0lllllll 0mmmmmmm || <!--Description-->Pitch Bend Change. This message is sent to indicate a change in the pitch bender (wheel or lever, typically). The pitch bender is measured by a fourteen bit value. Center (no pitch change) is 2000H. Sensitivity is a function of the receiver, but may be set using RPN 0. (lllllll) are the least significant 7 bits. (mmmmmmm) are the most significant 7 bits. |} Channel Mode Messages (See also Control Change, above) {| class="wikitable sortable" width="90%" ! width="10%" |Status D7----D0 ! width="10%" |Data Byte(s) D7----D0 ! width="20%" |Description |- |<!--Status-->1011nnnn || <!--Data-->0ccccccc 0vvvvvvv || <!--Description-->Channel Mode Messages. This the same code as the Control Change (above), but implements Mode control and special message by using reserved controller numbers 120-127. The commands are: *All Sound Off. When All Sound Off is received all oscillators will turn off, and their volume envelopes are set to zero as soon as possible c = 120, v = 0: All Sound Off *Reset All Controllers. When Reset All Controllers is received, all controller values are reset to their default values. (See specific Recommended Practices for defaults) c = 121, v = x: Value must only be zero unless otherwise allowed in a specific Recommended Practice. *Local Control. When Local Control is Off, all devices on a given channel will respond only to data received over MIDI. Played data, etc. will be ignored. Local Control On restores the functions of the normal controllers. c = 122, v = 0: Local Control Off c = 122, v = 127: Local Control On * All Notes Off. When an All Notes Off is received, all oscillators will turn off. c = 123, v = 0: All Notes Off (See text for description of actual mode commands.) c = 124, v = 0: Omni Mode Off c = 125, v = 0: Omni Mode On c = 126, v = M: Mono Mode On (Poly Off) where M is the number of channels (Omni Off) or 0 (Omni On) c = 127, v = 0: Poly Mode On (Mono Off) (Note: These four messages also cause All Notes Off) |} System Common Messages System Messages (0xF0) The final status nybble is a “catch all” for data that doesn’t fit the other statuses. They all use the most significant nybble (4bits) of 0xF, with the least significant nybble indicating the specific category. The messages are denoted when the MSB of the second nybble is 1. When that bit is a 0, the messages fall into two other subcategories. System Common If the MSB of the second second nybble (4 bits) is not set, this indicates a System Common message. Most of these are messages that include some additional data bytes. System Common Messages Type Status Byte Number of Data Bytes Usage <pre> Time Code Quarter Frame 0xF1 1 Indicates timing using absolute time code, primarily for synthronization with video playback systems. A single location requires eight messages to send the location in an encoded hours:minutes:seconds:frames format*. Song Position 0xF2 2 Instructs a sequencer to jump to a new position in the song. The data bytes form a 14-bit value that expresses the location as the number of sixteenth notes from the start of the song. Song Select 0xF3 1 Instructs a sequencer to select a new song. The data byte indicates the song. Undefined 0xF4 0 Undefined 0xF5 0 Tune Request 0xF6 0 Requests that the receiver retunes itself**. </pre> *MIDI Time Code (MTC) is significantly complex. Please see the MIDI Specification **While modern digital instruments are good at staying in tune, older analog synthesizers were prone to tuning drift. Some analog synthesizers had an automatic tuning operation that could be initiated with this command. System Exclusive If you’ve been keeping track, you’ll notice there are two status bytes not yet defined: 0xf0 and 0xf7. These are used by the System Exclusive message, often abbreviated at SysEx. SysEx provides a path to send arbitrary data over a MIDI connection. There is a group of predefined messages for complex data, like fine grained control of MIDI Time code machinery. SysEx is also used to send manufacturer defined data, such as patches, or even firmware updates. System Exclusive messages are longer than other MIDI messages, and can be any length. The messages are of the following format: 0xF0, 0xID, 0xdd, ...... 0xF7 The message is bookended with distinct bytes. It opens with the Start Of Exclusive (SOX) data byte, 0xF0. The next one to three bytes after the start are an identifier. Values from 0x01 to 0x7C are one-byte vendor IDs, assigned to manufacturers who were involved with MIDI at the beginning. If the ID is 0x00, it’s a three-byte vendor ID - the next two bytes of the message are the value. <pre> ID 0x7D is a placeholder for non-commercial entities. ID 0x7E indicates a predefined Non-realtime SysEx message. ID 0x7F indicates a predefined Realtime SysEx message. </pre> After the ID is the data payload, sent as a stream of bytes. The transfer concludes with the End of Exclusive (EOX) byte, 0xF7. The payload data must follow the guidelines for MIDI data bytes – the MSB must not be set, so only 7 bits per byte are actually usable. If the MSB is set, it falls into three possible scenarios. An End of Exclusive byte marks the ordinary termination of the SysEx transfer. System Real Time messages may occur within the transfer without interrupting it. The recipient should handle them independently of the SysEx transfer. Other status bytes implicitly terminate the SysEx transfer and signal the start of new messages. Some inexpensive USB-to-MIDI interfaces aren’t capable of handling messages longer than four bytes. {| class="wikitable sortable" width="90%" ! width="10%" |Status D7----D0 ! width="10%" |Data Byte(s) D7----D0 ! width="20%" |Description |- |<!--Status-->11110000 || <!--Data-->0iiiiiii [0iiiiiii 0iiiiiii] 0ddddddd --- --- 0ddddddd 11110111 || <!--Description-->System Exclusive. This message type allows manufacturers to create their own messages (such as bulk dumps, patch parameters, and other non-spec data) and provides a mechanism for creating additional MIDI Specification messages. The Manufacturer's ID code (assigned by MMA or AMEI) is either 1 byte (0iiiiiii) or 3 bytes (0iiiiiii 0iiiiiii 0iiiiiii). Two of the 1 Byte IDs are reserved for extensions called Universal Exclusive Messages, which are not manufacturer-specific. If a device recognizes the ID code as its own (or as a supported Universal message) it will listen to the rest of the message (0ddddddd). Otherwise, the message will be ignored. (Note: Only Real-Time messages may be interleaved with a System Exclusive.) |- |<!--Status-->11110001 || <!--Data-->0nnndddd || <!--Description-->MIDI Time Code Quarter Frame. nnn = Message Type dddd = Values |- |<!--Status-->11110010 || <!--Data-->0lllllll 0mmmmmmm || <!--Description-->Song Position Pointer. This is an internal 14 bit register that holds the number of MIDI beats (1 beat= six MIDI clocks) since the start of the song. l is the LSB, m the MSB. |- |<!--Status-->11110011 || <!--Data-->0sssssss || <!--Description-->Song Select. The Song Select specifies which sequence or song is to be played. |- |<!--Status-->11110100 || <!--Data--> || <!--Description-->Undefined. (Reserved) |- |<!--Status-->11110101 || <!--Data--> || <!--Description-->Undefined. (Reserved) |- |<!--Status-->11110110 || <!--Data--> || <!--Description-->Tune Request. Upon receiving a Tune Request, all analog synthesizers should tune their oscillators. |- |<!--Status-->11110111 || <!--Data--> || <!--Description-->End of Exclusive. Used to terminate a System Exclusive dump. |} System Real-Time Messages {| class="wikitable sortable" width="90%" ! width="10%" |Status D7----D0 ! width="10%" |Data Byte(s) D7----D0 ! width="20%" |Description |- |<!--Status-->11111000 || <!--Data--> || <!--Description-->Timing Clock. Sent 24 times per quarter note when synchronization is required. |- |<!--Status-->11111001 || <!--Data--> || <!--Description-->Undefined. (Reserved) |- |<!--Status-->11111010 || <!--Data--> || <!--Description-->Start. Start the current sequence playing. (This message will be followed with Timing Clocks). |- |<!--Status-->11111011 || <!--Data--> || <!--Description-->Continue. Continue at the point the sequence was Stopped. |- |<!--Status-->11111100 || <!--Data--> || <!--Description-->Stop. Stop the current sequence. |- |<!--Status-->11111101 || <!--Data--> || <!--Description-->Undefined. (Reserved) |- |<!--Status-->11111110 || <!--Data--> || <!--Description-->Active Sensing. This message is intended to be sent repeatedly to tell the receiver that a connection is alive. Use of this message is optional. When initially received, the receiver will expect to receive another Active Sensing message each 300ms (max), and if it does not then it will assume that the connection has been terminated. At termination, the receiver will turn off all voices and return to normal (non- active sensing) operation. |- |<!--Status-->11111111 || <!--Data--> || <!--Description-->Reset. Reset all receivers in the system to power-up status. This should be used sparingly, preferably under manual control. In particular, it should not be sent on power-up. |} Advanced Messages Polyphonic Pressure (0xA0) and Channel Pressure (0xD0) Some MIDI controllers include a feature known as Aftertouch. While a key is being held down, the player can press harder on the key. The controller measures this, and converts it into MIDI messages. Aftertouch comes in two flavors, with two different status messages. The first flavor is polyphonic aftertouch, where every key on the controller is capable of sending its own independent pressure information. The messages are of the following format: <pre> 0xnc, 0xkk, 0xpp n is the status (0xA) c is the channel nybble kk is the key number (0 to 127) pp is the pressure value (0 to 127) </pre> Polyphonic aftertouch is an uncommon feature, usually found on premium quality instruments, because every key requires a separate pressure sensor, plus the circuitry to read them all. Much more commonly found is channel aftertouch. Instead of needing a discrete sensor per key, it uses a single, larger sensor to measure pressure on all of the keys as a group. The messages omit the key number, leaving a two-byte format <pre> 0xnc, 0xpp n is the status (0xD) c is the channel number pp is the pressure value (0 to 127) </pre> Pitch Bend (0xE0) Many keyboards have a wheel or lever towards the left of the keys for pitch bend control. This control is usually spring-loaded, so it snaps back to the center of its range when released. This allows for both upward and downward bends. Pitch Bend Wheel The wheel sends pitch bend messages, of the format <pre> 0xnc, 0xLL, 0xMM n is the status (0xE) c is the channel number LL is the 7 least-significant bits of the value MM is the 7 most-significant bits of the value </pre> You’ll notice that the bender data is actually 14 bits long, transmitted as two 7-bit data bytes. This means that the recipient needs to reassemble those bytes using binary manipulation. 14 bits results in an overall range of 214, or 0 to 16,383. Because it defaults to the center of the range, the default value for the bender is halfway through that range, at 8192 (0x2000). Control Change (0xB0) In addition to pitch bend, MIDI has provisions for a wider range of expressive controls, sometimes known as continuous controllers, often abbreviated CC. These are transmitted by the remaining knobs and sliders on the keyboard controller shown below. Continuous Controllers These controls send the following message format: <pre> 0xnc, 0xcc, 0xvv n is the status (0xB) c is the MIDI channel cc is the controller number (0-127) vv is the controller value (0-127) </pre> Typically, the wheel next to the bender sends controller number one, assigned to modulation (or vibrato) depth. It is implemented by most instruments. The remaining controller number assignments are another point of confusion. The MIDI specification was revised in version 2.0 to assign uses for many of the controllers. However, this implementation is not universal, and there are ranges of unassigned controllers. On many modern MIDI devices, the controllers are assignable. On the controller keyboard shown in the photos, the various controls can be configured to transmit different controller numbers. Controller numbers can be mapped to particular parameters. Virtual synthesizers frequently allow the user to assign CCs to the on-screen controls. This is very flexible, but it might require configuration on both ends of the link and completely bypasses the assignments in the standard. Program Change (0xC0) Most synthesizers have patch storage memory, and can be told to change patches using the following command: <pre> 0xnc, 0xpp n is the status (0xc) c is the channel pp is the patch number (0-127) </pre> This allows for 128 sounds to be selected, but modern instruments contain many more than 128 patches. Controller #0 is used as an additional layer of addressing, interpreted as a “bank select” command. Selecting a sound on such an instrument might involve two messages: a bank select controller message, then a program change. Audio & Midi are not synchronized, what I can do ? Buy a commercial software package but there is a nasty trick to synchronize both. It's a bit hardcore but works for me: Simply put one line down to all midi notes on your pattern (use Insert key) and go to 'Misc. Setup', adjust the latency and just search a value that will make sound sync both audio/midi. The stock Sin/Saw/Pulse and Rnd waveforms are too simple/common, is there a way to use something more complex/rich ? You have to ability to redirect the waveforms of the instruments through the synth pipe by selecting the "wav" option for the oscillator you're using for this synth instrument, samples can be used as wavetables to replace the stock signals. Sound banks like soundfont (sf2) or Kontakt2 are not supported at the moment ====DAW Audio Evolution 4==== Audio Evolution 4 gives you unsurpassed power for digital audio recording and editing on the Amiga. The latest release focusses on time-saving non-linear and non-destructive editing, as seen on other platforms. Besides editing, Audio Evolution 4 offers a wide range of realtime effects, including compression, noise gate, delays, reverb, chorus and 3-band EQ. Whether you put them as inserts on a channel or use them as auxillaries, the effect parameters are realtime adjustable and can be fully automated. Together with all other mixing parameters, they can even be controlled remotely, using more ergonomic MIDI hardware. Non-linear editing on the time line, including cut, copy, paste, move, split, trim and crossfade actions The number of tracks per project(s) is unlimited .... AHI limits you to recording only two at a time. i.e. not on 8 track sound cards like the Juli@ or Phase 88. sample file import is limited to 16bit AIFF (not AIFC, important distinction as some files from other sources can be AIFC with aiff file extention). and 16bit WAV (pcm only) Most apps use the Music Unit only but a few apps also use Unit (0-3) instead or as well. * Set up AHI prefs so that microphone is available. (Input option near the bottom) stereo++ allows the audio piece to be placed anywhere and the left-right adjusted to sound positionally right hifi best for music playback if driver supports this option Load 16bit .aif .aiff only sample(s) to use not AIFC which can have the same ending. AIFF stands for Audio Interchange File Format sox recital.wav recital.aiff sox recital.wav −b 16 recital.aiff channels 1 rate 16k fade 3 norm sox input.wav output.aiff bass −b 16 rate 48k performs the same format translation, but also applies four effects (down-mix to one channel, sample rate change, fade-in, nomalize), and stores the result at a bit-depth of 16. rec −c 2 radio.aiff trim 0 30:00 records half an hour of stereo audio play existing-file.wav 24bit PCM WAV or AIFF do not work *No stream format handling. So no way to pass on an AC3 encoded stream unmodified to the digital outputs through AHI. *No master volume handling. Each application has to set its own volume. So each driver implements its own custom driver-mixer interface for handling master volumes, mute and preamps. *Only one output stream. So all input gets mixed into one output. *No automatic handling of output direction based on connected cables. *No monitor input selection. Only monitor volume control. select the correct input (Don't mistake enabled sound for the correct input.) The monitor will feedback audio to the lineout and hp out no matter if you have selected the correct input to the ADC. The monitor will provide sound for any valid input. This will result in free mixing when recording from the monitor input instead of mic/line because the monitor itself will provide the hardware mixing for you. Be aware that MIC inputs will give two channel mono. Only Linein will give real stereo. Now for the not working part. Attempt to record from linein in the AE4 record window, the right channel is noise and the left channel is distorted. Even with the recommended HIFI 16bit Stereo++ mode at 48kHz. Channels Monitor Gain Inout Output Advanced settings - Debugging via serial port * Options -> Soundcard In/Out * Options -> SampleRate * Options -> Preferences F6 for Sample File List Setting a grid is easy as is measuring the BPM by marking a section of the sample. Is your kick drum track "not in time" ? If so, you're stumped in AE4 as it has no fancy variable time signatures and definitely no 'track this dodgy rhythm' function like software of the nature of Logic has. So if your drum beat is freeform you will need to work in freeform mode. (Real music is free form anyway). If the drum *is* accurate and you are just having trouble measuring the time, I usually measure over a range of bars and set the number of beats in range to say 16 as this is more accurate, Then you will need to shift the drum track to match your grid *before* applying the grid. (probably an iterative process as when the grid is active samples snap to it, and when inactive you cannot see it). AE4 does have ARexx but the functions are more for adding samples at set offsets and starting playback / recording. These are the usual features found in DAWs... * Recording digital audio, midi sequencer and mixer * virtual VST instruments and plug-ins * automation, group channels, MIDI channels, FX sends and returns, audio and MIDI editors and music notation editor * different track views * mixer and track layout (but not the same as below) * traditional two windows (track and mixer) Mixing - mixdown Could not figure out how to select what part I wanted to send to the aux, set it to echo and return. Pretty much the whole echo effect. Or any effect. Take look at page17 of the manual. When you open the EQ / Aux send popup window you will see 4 sends. Now from the menu choose the windows menu. Menus->Windows-> Aux Returns Window or press F5 You will see a small window with 4 volume controls and an effects button for each. Click a button and add an effects to that aux channel, then set it up as desired (note the reverb effect has a special AUX setting that improves its use with the aux channel, not compulsory but highly useful). You set the amount of 'return' on the main mix in the Aux Return window, and the amount sent from each main mixer channel in the popup for that channel. Again the aux sends are "prefade" so the volume faders on each channel do not affect them. Tracking Effects - fade in To add some echoes to some vocals, tried to add an effect on a track but did not come out. This is made more complicated as I wanted to mute a vocal but then make it echo at the muting point. Want to have one word of a vocal heard and then echoed off. But when the track is mute the echo is cancelled out. To correctly understand what is happening here you need to study the figure at the bottom of page 15 on the manual. You will see from that that the effects are applied 'prefade' So the automation you applied will naturally mute the entire signal. There would be a number of ways to achieve the goal, You have three real time effects slots, one for smoothing like so Sample -> Amplify -> Delay Then automate the gain of the amplify block so that it effectively mutes the sample just before the delay at the appropriate moment, the echo effect should then be heard. Getting the effects in the right order will require experimentation as they can only be added top down and it's not obvious which order they are applied to the signal, but there only two possibilities, so it wont take long to find out. Using MUTE can cause clicks to the Amplify can be used to mute more smoothly so that's a secondary advantage. Signal Processing - Overdub [[#top|...to the top]] ===Office=== ====Spreadsheet Leu==== Support for some xlsx, and ods functions ====Spreadsheet Ignition==== ; Needs ABIv1 to be completed before more can be done File formats supported * ascii #?.txt and #?.csv (single sheets with data only). * igs and TurboCalc(WIP) #?.tc for all sheets with data, formats and formulas. There is '''no''' support for xls, xlsx, ods or uos ([http://en.wikipedia.org/wiki/Uniform_Office_Format Uniform Unified Office Format]) at the moment. * Always use Esc key after editing Spreadsheet cells. * copy/paste seems to copy the first instance only so go to Edit -> Clipboard to manage the list of remembered actions. * Right mouse click on row (1 or 2 or 3) or column header (a or b or c) to access optimal height or width of the row or column respectively * Edit -> Insert -> Row seems to clear the spreadsheet or clears the rows after the inserted row until undo restores as it should be... Change Sheet name by Object -> Sheet -> Properties Click in the cell which will contain the result, and click '''down arrow button''' to the right of the formula box at the bottom of the spreadsheet and choose the function required from the list provided. Then click on the start cell and click on the bottom right corner, a '''very''' small blob, which allows stretching a bounding box (thick grey outlines) across many cells This grey bounding box can be used to '''copy a formula''' to other cells. Object -> Cell -> Properties to change cell format - Currency only covers DM and not $, Euro, Renminbi, Yen or Pound etc. Shift key and arrow keys selects a range of cells, so that '''formatting can be done to all highlighted cells'''. View -> Overview then select ALL with one click (in empty cell in the top left hand corner of the sheet). Default mode is relative cell referencing e.g. a1+a2 but absolute e.g. $a$1+$a$2 can be entered. * #sheet-name to '''absolute''' reference another sheet-name cell unless reference() function used. ;Graphs use shift key and arrow keys to select a bunch of cells to be graph'ed making sure that x axes represents and y axes represents * value() - 0 value, 1 percent, 2 date, 3 time, 4 unit ... ;Dates * Excel starts a running count from the 1st Jan 1900 and Ignition starts from 1st Jan 1AD '''(maybe this needs to change)''' Set formatting Object -> Cell -> Properties and put date in days ;Time Set formatting Object -> Cell -> Properties and put time in seconds taken ;Database (to be done by someone else) type - standard, reference (bezug), search criterion (suchkriterium), * select a bunch of cells and Object -> Database -> Define to set Datenbank (database) and Felder (fields not sure how?) * Neu (new) or loschen (delete) to add/remove database headings e.g. Personal, Start Date, Finish Date (one per row?) * Object -> Database -> Index to add fields (felder) like Surname, First Name, Employee ID, etc. to ? Filtering done with dbfilter(), dbproduct() and dbposition(). Activities with dbsum(), dbaverage(), dbmin() and dbmax(). Table sorting - ;Scripts (Arexx) ;Excel(TM) to Ignition - commas ''',''' replaced by semi-colons ''';''' to separate values within functions *SUM(), *AVERAGE(), MAX(), MIN(), INT(), PRODUCT(), MEDIAN(), VAR() becomes Variance(), Percentile(), *IF(), AND, OR, NOT *LEFT(), RIGHT(), MID() becomes MIDDLE(), LEN() becomes LENGTH(), *LOWER() becomes LOWERCASE(), UPPER() becomes UPPERCASE(), * DATE(yyyy,mm,dd) becomes COMPUTEDATE(dd;mm;yyyy), *TODAY(), DAY(),WEEK(), MONTH(),=YEAR(TODAY()), *EOMONTH() becomes MONTHLENGTH(), *NOW() should be date and time becomes time only, SECOND(), MINUTE(), HOUR(), *DBSUM() becomes DSUM(), ;Missing and possibly useful features/functions needed for ignition to have better support of Excel files There is no Merge and Join Text over many cells, no protect and/or freeze row or columns or books but can LOCK sheets, no define bunch of cells as a name, Macros (Arexx?), conditional formatting, no Solver, no Goal Seek, no Format Painter, no AutoFill, no AutoSum function button, no pivot tables, (30 argument limit applies to Excel) *HLOOKUP(), VLOOKUP(), [http://production-scheduling.com/excel-index-function-most-useful/ INDEX(), MATCH()], CHOOSE(), TEXT(), *TRIM(), FIND(), SUBSTITUTE(), CONCATENATE() or &, PROPER(), REPT(), *[https://acingexcel.com/excel-sumproduct-function/ SUMPRODUCT()], ROUND(), ROUNDUP(), *ROUNDDOWN(), COUNT(), COUNTA(), SUMIF(), COUNTIF(), COUNTBLANK(), TRUNC(), *PMT(), PV(), FV(), POWER(), SQRT(), MODE(), TRUE, FALSE, *MODE(), LARGE(), SMALL(), RANK(), STDEV(), *DCOUNT(), DCOUNTA(), WEEKDAY(), ;Excel Keyboard [http://dmcritchie.mvps.org/excel/shortx2k.htm shortcuts needed to aid usability in Ignition] <pre> Ctrl Z - Undo Ctrl D - Fill Down Ctrl R - Fill right Ctrl F - Find Ctrl H - Replace Ctrl 1 - Formatting of Cells CTRL SHIFT ~ Apply General Formatting ie a number Ctrl ; - Todays Date F2 - Edit cell F4 - toggle cell absolute / relative cell references </pre> ====Document Scanning - Scandal==== Scanner usually needs to be connected via a USB port and not via a hub or extension lead. Check in Trident Prefs -> Devices that the USB Scanner is not bound to anything (e.g. Bindings None) If not found then reboot the computer and recheck. Start Scandal, choose Settings from Menu strip at top of screen and in Scanner Driver choose the ?#.device of the scanner (e.g. epson2.device). The next two boxes - leave empty as they are for morphos SCSI use only or put ata.device (use the selection option in bigger box below) and Unit as 0 this is needed for gt68xx * gt68xx - no editing needed in s/gt68xx.conf but needs a firmware file that corresponds to the scanner [http://www.meier-geinitz.de/sane/gt68xx-backend/ gt68xx firmwares] in sys:s/gt68xx. * epson2 - Need to edit the file epson2.conf in sys/s that corresponds to the scanner being used '''Save''' the settings but do not press the Use button (aros freezes) Back to the Picture Scan window and the right-hand sections. Click on the '''Information''' tab and press Connect button and the scanner should now be detected. Go next to the '''Scanner''' tab next to Information Tab should have Color, Black and White, etc. and dpi settings now. Selecting an option Color, B/W etc. can cause dpi settings corruption (especially if the settings are in one line) so set '''dpi first'''. Make sure if Preview is set or not. In the '''Scan''' Tab, press Scan and the scanner will do its duty. Be aware that nothing is saved to disk yet. In the Save tab, change format JPEG, PNG or IFF DEEP. Tick incremental and base filename if necessary and then click the Save button. The image will now be saved to permanent storage. The driver ignores a device if it is already bond to another USB class, rejects it from being usable. However, open Trident prefs, select your device and use the right mouse button to open. Select "NONE" to prevent poseidon from touching the device. Now save settings. It should always work now. [[#top|...to the top]] ===Emulators=== ==== Amiberry ==== ==== Amiga Emu - Janus UAE ==== With Amibridge, AROS attempts to make the UAE emulator seem embedded within but it still is acting as an app There is no dynarec m68k for each hardware that Aros supports or direct patching of motorola calls to AROS hardware accelerated ones unless the emulator has that included Try starting Janus with a priority of -1 like this little script: <pre> cd sys:system/AmiBridge/emulator changetaskpri -1 run janus-uae -f my_uaerc.config >nil: cd sys:prefs endcli </pre> This stops Janus hogging all the CPU time. ===Miscellaneous=== ====Screensaver Blanker==== Most blankers on the amiga (i.e. aros) run as commodities (they are in the tools/commodities drawer). Double click on blanker. Control is with an app called Exchange, which you need to run first (double click on app) or run QUIET sys:tools/commodities/Exchange >NIL: but subsequently can use (Cntrl Alt h). Icon tool types (may be broken) or command line options <pre> seconds=number </pre> Once the timing is right then add the following to s:icaros-sequence or s:user-startup e.g. for 5 minutes run QUIET sys:tools/commodities/Blanker seconds=300 >NIL: *[http://archives.aros-exec.org/index.php?function=showfile&file=graphics/screenblanker/gblanker.i386-aros.zip Garshneblanker] can make Aros unstable or slow. Certain blankers crashes in Icaros 2.0.x like Dragon, Executor. *[ Acuario AROS version], the aquarium screen saver. Startup: extras:acuariofv-aros/acuario Kill: c:break name=extras:acuariofv-aros/acuario Managed to start Acuario by the Executor blanker. <pre> cx_priority= cx_popkey= ie CX_POPKEY="Shift F1" cx_popup=Yes or No </pre> <pre> Qualifier String Input Event Class ---------------- ----------------- "lshift" IEQUALIFIER_LSHIFT "rshift" IEQUALIFIER_RSHIFT "capslock" IEQUALIFIER_CAPSLOCK "control" IEQUALIFIER_CONTROL "lalt" IEQUALIFIER_LALT "ralt" IEQUALIFIER_RALT "lcommand" IEQUALIFIER_LCOMMAND "rcommand" IEQUALIFIER_RCOMMAND "numericpad" IEQUALIFIER_NUMERICPAD "repeat" IEQUALIFIER_REPEAT "midbutton" IEQUALIFIER_MIDBUTTON "rbutton" IEQUALIFIER_RBUTTON "leftbutton" IEQUALIFIER_LEFTBUTTON "relativemouse" IEQUALIFIER_RELATIVEMOUSE </pre> <pre> Synonym Synonym String Identifier ------- ---------- "shift" IXSYM_SHIFT /* look for either shift key */ "caps" IXSYM_CAPS /* look for either shift key or capslock */ "alt" IXSYM_ALT /* look for either alt key */ Highmap is one of the following strings: "space", "backspace", "tab", "enter", "return", "esc", "del", "up", "down", "right", "left", "f1", "f2", "f3", "f4", "f5", "f6", "f7", "f8", "f9", "f10", "help". </pre> [[#top|...to the top]] ==== World Construction Set WCS (Version 2.031) ==== WCS is a fractal landscape software such as Scenery Animator, Vista Pro and Panorama. Open sourced February 2022, World Construction Set [https://3dnature.com/downloads/legacy-software/ legally and for free] and [https://github.com/AlphaPixel/3DNature c source]. Announced August 1994 this version dates from April 1996 developed by Gary R. Huber and Chris "Xenon" Hanson" from Questar <pre> Assign "WCSProjects:" "Volume:Dir/Dir/WCSProjects" Assign "WCSFrames:" "Volume:Dir/Dir/WCSFrames" </pre> <pre> Load projects .proj by accessing pull down menu Project -> Open then click on CanyonSunset.proj OK to changing .par file and enlarge Status Log window to show what is happening Render by pull down menu Modules -> Render with End equal 1 not 300 then click bottom middle button Render </pre> [https://www.youtube.com/watch?v=CxQDmf1ZWG0 Youtube walkthrough of above], [], [], Also try working with the already built file ColoDemo - Then open with the drop-down menu: Project/Open, then WCSProject:ColoDemo.proj Which allows you to use altimetric DEM files already included and Loading scene parameters from ColoDemo.par Once this is done, save everything with a new name to start working exclusively on your project. Then drop-down menu and select Save As ("NewName".proj name), then drop-down menu to open parameter and select Save All ( .par name) After launching the software, there is a the Module Control Panel composed of five icons. It is a dock type shortcut of the first few functions of the drop-down menu *Database - Load (#?.proj), Append, Create, Edit, Save, Dir List (of WCSProject drawer), *Data Ops - Extract / Convert Interp DEM, Import DLG, DXF, WDB and export LW map 3d formats *Map View - Database file Loader leading to Map View Control with option to the Database Editor *Parameters - Editor for Motion, Color, Ecosystem, Clouds, Waves, management of altimeter files DEM, sclock settings etc *Render - rendering terrain These are more in the pull down menu but not in the dock *Motion Editor *Color Editor *Ecosys Editor Simple minimal workflow *Load database (1st icon - 1st) *Set parameters and save .par file (4th icon) *Render scene (5th icon) [https://www.youtube.com/watch?v=ZbTwwR2qcc4 Youtube], [], <pre> .proj new project name which creates a drawer of additional files .binary array, ascii array .xyz , z buffer, DTED .dt0, vista 1990s dem, iff conversion .Obj with .elev, .frd with .hdr maps, - digital elevation model (DEM) is a 3D representation of elevation data in various formats USGS 7.5MinDEM, .par </pre> Since for the time being no project is loaded, a query window indicates a procedural error when clicking on the rendering icon (right end of the bar). The menu is quite traditional; it varies according to the activity of the windows. To display any altimetric file in the "Mapview" (third icon of the panel), There are three possibilities: * Loading of a demonstration project. * The import of a DEM file, followed by texturing and packaging from the "Database-Editor" and the "Color-Editor". * The creation of an altimetric file in WCS format, then texturing. The altimeter file editing (display in the menu) is only made possible if the "Mapview" window is active. The software is made up of many windows and won't be able to describe them all. Know that "Color-Editor" and the "Data-Editor" comprise sufficient functions for obtaining an almost real rendering quality. You have the possibility of inserting vector objects in the "Data-Editor" (creation of roads, railways, etc.) The Map View (MapView) window *Database - Objects and Topos *View - Align, Center, Zoom, Pan, Move *Draw - Maps and distance *Object - Find, highlight, add points, conform topo, duplicate *Motion - Camera, Focus, path, elevation *Windows - DEM designer, Cloud (.cld) and wave (.wve) editor, You will notice that by selecting this window and simply moving the pointer to various points on the map you will see latitude and longitude values ​​change, along with the height. Drop-down menu and Modules, then select MapView and change the width of the window with the map to arrange it in the best way on the screen. With the Auto button the center. Window that then displays the contents of my DEM file, in this case the Grand Canyon. MapView allows you to observe the shape of the landscape from above ZOOM button Press the Zoom button and then with the pointer position on a point on the map, press the left mouse button and then move to the opposite corner to circumscribe the chosen area and press the left mouse button again, then we will see the enlarged area selected on the map. Would add that there is a box next to the Zoom button that allows the direct insertion of a value which, the larger it is, the smaller the magnification and the smaller the value, the stronger the magnification. At each numerical change you will need to press the DRAW button to update the view. PAN button Under Zoom you will find the PAN button which allows you to move the map at will in all directions by the amount you want. This is done by drawing a line in one direction, then press PAN and point to an area on the map with the pointer and press the left mouse button. At this point, leave it and move the pointer in one direction by drawing a line and press the left mouse button again to trigger the movement of the map on the screen (origin and end points). Do some experiments and then use the Auto button immediately below to recenter everything. There are parameters such as TOPO, VEC to be left checked and immediately below one that allows different views of the map with the Style command (Single, Multi, Surface, Emboss, Slope, Contour), each with its own particularities to highlight different details. Now you have the first basics to manage your project visually on the map. Close the MapView window and go further... Let's start working on ECOSYSTEMS If we select Emboss from the MapView Style command we will have a clear idea of ​​how the landscape appears, realizing that it is a predominantly desert region of our planet. Therefore we will begin to act on any vegetation present and the appearance of the landscape. With WCS we will begin to break down the elements of the landscape by assigning defined characteristics. It will be necessary to determine the classes of the ecosystem (Class) with parameters of Elevation Line (maximum altitude), Relative Elevation (arrangement on basins or convexities with respectively positive or negative parameters), Min Slope and Max Slope (slope). WCS offers the possibility of making ecosystems coexist on the same terrain with the UnderEco function, by setting a Density value. Ecosys Ecosystem Editor Let's open it from Modules, then Ecosys Editor. In the left pane you will find the list of ecosystems referring to the files present in our project. It will be necessary to clean up that box to leave only the Water and Snow landscapes and a few other predefined ones. We can do this by selecting the items and pressing the Remove button (be careful not for all elements the button is activated, therefore they cannot all be eliminated). Once this is done we can start adding new ecosystems. Scroll through the various Unused and as soon as the Name item at the top is activated allowing you to write, type the name of your ecosystem, adding the necessary parameters. <pre> Ecosystem1: Name: RockBase Class: Rock Density: 80 MinSlope: 15 UnderEco: Terrain Ecosystem2: Name: RockIncl Clss: Rock Density: 80 MinSlope: 30 UnderEco: Terrain Ecosystem3: Name: Grass Class Low Veg Density: 50 Height: 1 Elev Line : 1500 Rel El Eff: 5 Max Slope: 10 – Min Slope: 0 UnderEco: Terrain Ecosistema4: Name: Shrubs Class: Low Veg Density: 40 Height: 8 Elev Line: 3000 Rel El Eff: -2 Max Slope: 20 Min Slope : 5 UnderEco: Terrain Ecosistema5: Name: Terrain Class: Ground Density: 100 UnderEco: Terrain </pre> Now we need to identify an intermediate ecosystem that guarantees a smooth transition between all, therefore we select as Understory Ecosystem the one called Terrain in all ecosystems, except Snow and Water . Now we need to 'emerge' the Colorado River in the Canyon and we can do this by raising the sea level to 900 (Sea Level) in the Ecosystem called Water. Please note that the order of the ecosystem list gives priority to those that come after. So our list must have the following order: Water, Snow, Shrubs, RockIncl, RockBase, Terrain. It is possible to carry out all movements with the Swap button at the bottom. To put order you can also press Short List. Press Keep to confirm all the work done so far with Ecosystem Editor. Remember every now and then to save both the Project 'Modules/Save' and 'Parameter/Save All' EcoModels are made up of .etp .fgp .iff8 for each model Color Editor Now it's time to define the colors of our scene and we can do this by going to Modules and then Color Editor. In the list we focus on our ecosystems, created first. Let's go to the bottom of the list and select the first white space, assigning the name 'empty1', with a color we like and then we will find this element again in other environments... It could serve as an example for other situations! So we move to 'grass' which already exists and assign the following colors: R 60 G 70 B50 <pre> 'shrubs': R 60 G 80 B 30 'RockIncl' R 110 G 65 B 60 'RockBase' R 110 G 80 B 80 ' Terrain' R 150 G 30 B 30 <pre> Now we can work on pre-existing colors <pre> 'SunLight' R 150 G 130 B 130 'Haze and Fog' R 190 G 170 B 170 'Horizon' R 209 G 185 B 190 'Zenith' R 140 G 150 B 200 'Water' R 90 G 125 B 170 </pre> Ambient R 0 G 0 B 0 So don't forget to close Color Editor by pressing Keep. Go once again to Ecosystem Editor and assign the corresponding color to each environment by selecting it using the Ecosystem Color button. Press it several times until the correct one appears. Then save the project and parameters again, as done previously. Motion Editor Now it's time to take care of the framing, so let's go to Modules and then to Motion Editor. An extremely feature-rich window will open. Following is the list of parameters regarding the Camera, position and other characteristics: <pre> -Camera Altitude: 7.0 -Camera Latitude: 36.075 -Camera Longitude: 112.133 -Focus Attitude: -2.0 -Focus Latitude: 36.275 -Focus Longitude: 112.386 -Camera : 512 → rendering window -Camera Y: 384 → rendering window -View Arc: 80 → View width in degrees -Sun Longitude: 172 -Sun Latitude: -0.9 -Haze Start: 3.8 -Haze Range: 78, 5 </pre> As soon as the values ​​shown in the relevant sliders have been modified, we will be ready to open the CamView window to observe the wireframe preview. Let's not consider all the controls that will appear. Well from the Motion Editor if you have selected Camera Altitude and open the CamView panel, you can change the height of the camera by holding down the right mouse button and moving the mouse up and down. To update the view, press the Terrain button in the adjacent window. As soon as you are convinced of the position, confirm again with Keep. You can carry out the same work with the other functions of the camera, such as Focus Altitude... Let's now see the next positioning step on the Camera map, but let's leave the CamView preview window open while we go to Modules to open the window at the same time MapView. We will thus be able to take advantage of the view from the other together with a subjective one. From the MapView window, select with the left mouse button and while it is pressed, move the Camera as desired. To update the subjective preview, always click on Terrain. While with the same procedure you can intervene on the direction of the camera lens, by selecting the cross and with the left button pressed you can choose the desired view. So with the pressure of Terrain I update the Preview. Possibly can enlarge or reduce the Map View using the Zoom button, for greater precision. Also write that the circle around the cameras indicates the beginning of the haze, there are two types (haze and fog) linked to the altitude. Would also add that the camera height is editable through the Motion Editor panel. The sun Let's see that changing the position of the sun from the Motion Editor. Press the SUN button at the bottom right and set the time and the date. Longitude and latitude are automatically obtained by the program. Always open the View Arc command from the Motion Editor panel, an item present in the Parameter List box. Once again confirm everything with Keep and then save again. Animation The animation part is not left-back and also occupies a window. The settings possibilities are enormous. A time line with dragging functions ("slide", "drag"...) comparable to that of LightWave completes this window. A small window is available for positioning the stars as a function of a date, in order to vary the seasons and their various events (and yes...). At the bottom of the "Motion-Editor", a "cam-view" function will give you access to a control panel. Different preview modes are possible. The rendering is also accessible through a window. No less than nine pages compose it. At this level, you will be able to determine the backup name of your images ("path"), the type of texture to be calculated, the resolution of the images, activate or deactivate functions such as the depth buffer ("zbuffer"), the blur, the background image, etc. Once all these parameters have been set, all you have to do is click on the "Render" button. For rendering go to Modules and then Render. Select the resolution, then under IMA select the name of the image. Move to FRA and indicate the level of fractal detail which of 4 is quite good. Then Keep to confirm and then reopen the window, pressing Render you will see the result. The image will be opened with any viewing program. Strengths: * Multi-window. * Quality of rendering. * Accuracy. * Opening, preview and rendering on CyberGraphX screen. * Extract / Convert Interp DEM, Import DLG, DXF, WDB and export LW map 3d formats * The "zbuffer" function. Weaknesses: * No OpenGL management * Calculation time. * No network computing tool. ====Writing CD / DVD - Frying Pan==== Can be backup DVDs (4GB ISO size limit due to use of FileInfoBlock), create audio cds from mp3's, and put .iso files on discs If using for the first time - click Drive button and Device set to ata.device and unit to 0 (zero) Click Tracks Button - Drive 1 - Create New Disc or Import Existing Disc Image (iso bin/cue etc.) - Session File open cue file If you're making a data cd, with files and drawers from your hard drive, you should be using the ISO Builder.. which is the MUI page on the left. ("Data/Audio Tracks" is on the right). You should use the "Data/Audio tracks" page if you want to create music cds with AIFF/WAV/MP3 files, or if you download an .iso file, and you want to put it on a cd. Click WRITE Button - set write speed - click on long Write button Examples Easiest way would be to burn a DATA CD, simply go to "Tracks" page "ISO Builder" and "ADD" everything you need to burn. On the "Write" page i have "Masterize Disc (DAO)", "Close Disc" and "Eject after Write" set. One must not "Blank disc before write" if one uses a CDR AUDIO CD from MP3's are as easy but tricky to deal with. FP only understands one MP3 format, Layer II, everything else will just create empty tracks Burning bootable CD's works only with .iso files. Go to "Tracks" page and "Data/Audio Tracks" and add the .iso ====odf==== Every ODF file is a collection of several subdocuments within a package (ZIP file), each of which stores part of the complete document. * content.xml – Document content and automatic styles used in the content. * styles.xml – Styles used in the document content and automatic styles used in the styles themselves. * meta.xml – Document meta information, such as the author or the time of the last save action. * settings.xml – Application-specific settings, such as the window size or printer information. To read document follow these steps: * Extracting .ods file. * Getting content.xml file (which contains sheets data). * Creating XmlDocument object from content.xml file. * Creating DataSet (that represent Spreadsheet file). * With XmlDocument select “table:table” elements, and then create adequate DataTables. * Parse child’s of “table:table” element and fill DataTables with those data. * At the end, return DataSet and show it in application’s interface. To write document follow these steps: * Extracting template.ods file (.ods file that we use as template). * Getting content.xml file. * Creating XmlDocument object from content.xml file. * Erasing all “table:table” elements from the content.xml file. * Reading data from our DataSet and composing adequate “table:table” elements. * Adding “table:table” elements to content.xml file. * Zipping that file as new .ods file. XLS file format The XLS file format contains streams, substreams, and records. These sheet substreams include worksheets, macro sheets, chart sheets, dialog sheets, and VBA module sheets. All the records in an XLS document start with a 2-byte unsigned integer to specify Record Type (rt), and another for Count of Bytes (cb). A record cannot exceed 8224 bytes. If larger than the rest is stored in one or more continue records. * Workbook stream **Globals substream ***BoundSheet8 record - info for Worksheet substream i.e. name, location, type, and visibility. (4bytes the lbPlyPos FilePointer, specifies the position in the Workbook stream where the sheet substream starts) **Worksheet substream (sheet) - Cell Table - Row record - Cells (2byte=row 2byte=column 2byte=XF format) ***Blank cell record ***RK cell record 32-bit number. ***BoolErr cell record (2-byte Bes structure that may be either a Boolean value or an error code) ***Number cell record (64-bit floating-point number) ***LabelSst cell record (4-byte integer that specifies a string in the Shared Strings Table (SST). Specifically, the integer corresponds to the array index in the RGB field of the SST) ***Formula cell record (FormulaValue structure in the 8 bytes that follow the cell structure. The next 6 bytes can be ignored, and the rest of the record is a CellParsedFormula structure that contains the formula itself) ***MulBlank record (first 2 bytes give the row, and the next 2 bytes give the column that the series of blanks starts at. Next, a variable length array of cell structures follows to store formatting information, and the last 2 bytes show what column the series of blanks ends on) ***MulRK record ***Shared String Table (SST) contains all of the string values in the workbook. ACCRINT(), ACCRINTM(), AMORDEGRC(), AMORLINC(), COUPDAYBS(), COUPDAYS(), COUPDAYSNC(), COUPNCD(), COUPNUM(), COUPPCD(), CUMIPMT(), CUMPRINC(), DB(), DDB(), DISC(), DOLLARDE(), DOLLARFR(), DURATION(), EFFECT(), FV(), FVSCHEDULE(), INTRATE(), IPMT(), IRR(), ISPMT(), MDURATION(), MIRR(), NOMINAL(), NPER(), NPV(), ODDFPRICE(), ODDFYIELD(), ODDLPRICE(), ODDLYIELD(), PMT(), PPMT(), PRICE(), PRICEDISC(), PRICEMAT(), PV(), RATE(), RECEIVED(), SLN(), SYD(), TBILLEQ(), TBILLPRICE(), TBILLYIELD(), VDB(), XIRR(), XNPV(), YIELD(), YIELDDISC(), YIELDMAT(), <pre> </pre> <pre> </pre> <pre> </pre> {{BookCat}} cgszfflrrmvox2zzmhw4wtl36qyal4d 4654486 4654484 2026-07-14T20:33:18Z Jeff1138 301139 4654486 wikitext text/x-wiki ==Introduction== [[#Graphical Image Editing Art]] [[#Office Application]] [[#Audio]] [[#Misc Application]] [[#Games & Emulation]] [[#Application Guides]] [[#top|...to the top]] [[#top|...to the top]] Most apps can be opened on the Workbench (aka publicscreen pubscreen) which is the default display option but can offer a custom one set to your configurations (aka custom screen mode promotion). These custom ones tend to stack so the possible use of A-M/A-N method of switching between full screens and the ability to pull down screens as well If you are interested in creating or porting new software, see [http://en.wikibooks.org/wiki/Aros/Developer/Docs here] {| class="wikitable sortable" |- !width:30%;|Internet Applications !width:10%;|AROS(x86) !width:10%;|Commodore-Amiga OS 3.1 (68k) !width:10%;|Hyperion OS4(PPC) !width:10%;|MorphOS(PPC) |- |<!--Sub Menu-->Web Online Browser [], |<!--AROS-->[http://archives.arosworld.org/index.php?function=browse&cat=network/browser Odyssey 2.0], [https://www.arosworld.org/infusions/forum/viewthread.php?thread_id=1175&highlight=odyssey&rowstart=100 Odyssey 3.0], |<!--Amiga OS-->[https://aminet.net/comm/www Amelinium], [https://blog.alb42.de/programs/amifox/ amifox] with [https://github.com/alb42/wrp wrp server], IBrowse*, Voyager*, [https://github.com/amigazen/aweb3/ AWeb 3.6 src], [https://github.com/matjam/aweb AWeb Src], [http://aminet.net/package/comm/www/NetSurf-m68k-sources Netsurf], [], |<!--AmigaOS4-->[ Odyssey OWB], [ Timberwolf (Firefox port 2011)], [http://amigaworld.net/modules/newbb/viewtopic.php?forum=32&topic_id=32847 OWB-mui], [http://strohmayer.org/owb/ OWB-Reaction], IBrowse*, [http://os4depot.net/index.php?function=showfile&file=network/browser/aweb.lha AWeb], Voyager, [http://www.os4depot.net/index.php?function=browse&cat=network/browser Netsurf], |<!--MorphOS-->Wayfarer, [http://fabportnawak.free.fr/owb/ Odyssey OWB], [ Netsurf], IBrowse*, AWeb, [], |- |<!--Sub Menu-->YouTube, Dailymotion website downloading videos audio [https://github.com/yt-dlp/yt-dlp yt-dlp], [], |<!--AROS-->[], [https://blog.alb42.de/amitube/ Amitube], |<!--Amiga OS-->[https://blog.alb42.de/amitube/ Amitube], [ smtube], |<!--AmigaOS4-->[https://blog.alb42.de/amitube/ Amitube], getVideo, Tubexx, [https://github.com/walkero-gr/aiostreams aiostreams], |<!--MorphOS-->[ ytsearch], [https://blog.alb42.de/amitube/ Amitube], [http://morphos.lukysoft.cz/en/vypis.php?kat=5 getVideo], Tubexx |- |<!--Sub Menu-->E-mailing SMTP POP3 IMAP based |<!--AROS-->[http://archives.arosworld.org/index.php?function=browse&cat=network/email SimpleMail], [http://sourceforge.net/projects/simplemail/files/ src], [https://github.com/jens-maus/yam YAM] |<!--Amiga OS-->[http://sourceforge.net/projects/simplemail/files/ SimpleMail], [https://github.com/jens-maus/yam YAM] |<!--AmigaOS4-->SimpleMail, YAM, |<!--MorphOS--> SimpleMail, YAM |- |<!--Sub Menu-->IRC |<!--AROS-->[http://archives.arosworld.org/index.php?function=browse&cat=network/chat WookieChat], [https://sourceforge.net/projects/wookiechat/ Wookiechat src], [http://archives.arosworld.org/index.php?function=browse&cat=network/chat AiRcOS], Jabberwocky, |<!--Amiga OS-->Wookiechat, AmIRC |<!--AmigaOS4-->Wookiechat |<!--MorphOS-->[http://morphos.lukysoft.cz/en/vypis.php?kat=5 Wookiechat], [http://morphos.lukysoft.cz/en/vypis.php?kat=5 AmIRC], |- |<!--Sub Menu-->Instant Messaging IM like [https://github.com/BlitterStudio/amidon Hollywood lang based Mastodon client], BlueSky AT protocol, Facebook(TM), Twitter X (TM), Bitlbee IRC Gateway and others |<!--AROS-->[https://github.com/kaffeine1/telegram-amiga telegram-amiga], [http://archives.arosworld.org/index.php?function=browse&cat=network/chat jabberwocky], |<!--Amiga OS-->[http://amitwitter.sourceforge.net/ AmiTwitter], CLIMM, SabreMSN, jabberwocky, |<!--AmigaOS4-->[http://amitwitter.sourceforge.net/ AmiTwitter], SabreMSN, |<!--MorphOS-->[http://amitwitter.sourceforge.net/ AmiTwitter], [http://morphos.lukysoft.cz/en/vypis.php?kat=5 PolyglotNG], SabreMSN, |- |<!--Sub Menu-->Torrents |<!--AROS-->[http://archives.arosworld.org/index.php?function=browse&cat=network/p2p ArTorr], |<!--Amiga OS--> |<!--AmigaOS4-->CTorrent, Transmission |<!--MorphOS-->MLDonkey, Beehive, [http://morphos.lukysoft.cz/en/vypis.php?kat=5 Transmission], CTorrent, |- |<!--Sub Menu-->FTP |<!--AROS-->Plugin included with Dopus Magellan, MarranoFTP, |<!--Amiga OS-->[http://aminet.net/package/comm/tcp/AmiFTP AmiFTP], AmiTradeCenter, ncFTP, |<!--AmigaOS4--> |<!--MorphOS-->[http://morphos.lukysoft.cz/en/vypis.php?kat=5 Pftp], [http://aminet.net/package/comm/tcp/AmiFTP-1.935-OS4 AmiFTP], |- |<!--Sub Menu-->WYSIWYG Web Site Editor |<!--AROS--> |<!--Amiga OS--> |<!--AmigaOS4--> |<!--MorphOS--> |- |<!--Sub Menu-->Internet Radio Streaming Audio [http://www.gnu.org/software/gnump3d/ gnump3d], [http://www.icecast.org/ Icecast2] Server (Broadcast) and Client (Listen), [ mpd], [http://darkice.sourceforge.net/ DarkIce], [http://www.dyne.org/software/muse/ Muse], |<!--AROS-->[https://archives.arosworld.org/index.php?function=browse&cat=audio/misc ], Mplayer (Icecast Client only), |<!--Amiga OS-->[https://github.com/sandlbn/TuneFinder TuneFinder C Src], [https://github.com/sandlbn/TuneFinderMUI TuneFinderMUI], [http://amigazeux.net/anr/ AmiNetRadio], [], [], |<!--AmigaOS4-->[http://www.tunenet.co.uk/ Tunenet], |<!--MorphOS-->Mplayer, AmiNetRadio, |- |<!--Sub Menu-->VoIP (Voice over IP) with SIP Client (Session Initiation Protocol) or Asterisk IAX2 Clients Softphone (skype like) |<!--AROS--> |<!--Amiga OS-->AmiPhone with Speak Freely, |<!--AmigaOS4--> |<!--MorphOS--> |- |<!--Sub Menu-->Weather Forecast |<!--AROS-->[http://sourceforge.net/projects/zunetools/files/ WeatherBar], [http://archives.arosworld.org/index.php?function=browse&cat=utility/workbench AWeather], [] |<!--Amiga OS-->[http://amigazeux.net/wetter/ Wetter], [https://github.com/emartisoft/AmiWeatherForecasts AmiWeatherForecasts src], |<!--AmigaOS4-->[http://os4depot.net/?function=showfile&file=utility/workbench/flipclock.lha FlipClock], |<!--MorphOS-->[http://amigazeux.net/wetter/ Wetter], |- |<!--Sub Menu-->Street Road Maps Route Planning GPS Tracking |<!--AROS-->[https://blog.alb42.de/programs/muimapparium/ MuiMapparium] [https://build.alb42.de/ Build of MuiMapp versions], |<!--Amiga OS-->AmiAtlas*, UKRoutePlus*, [http://blog.alb42.de/ AmOSM], |<!--AmigaOS4--> |<!--MorphOS-->[http://blog.alb42.de/programs/mapparium/ Mapparium], |- |<!--Sub Menu-->Clock and Date setting from the internet (either ntp or websites) [https://www.timeanddate.com/worldclock/ World Clock], [http://www.time.gov/ NIST], [], |<!--AROS-->[http://archives.arosworld.org/index.php?function=browse&cat=network/misc ntpsync], |<!--Amiga OS-->ntpsync |<!--AmigaOS4--> |<!--MorphOS--> |- |<!--Sub Menu-->Newsgroups |<!--AROS--> |<!--Amiga OS-->[http://newscoaster.sourceforge.net/ Newscoaster], [https://github.com/jens-maus/newsrog NewsRog], [ WorldNews], |<!--AmigaOS4--> |<!--MorphOS--> |- |} <nowiki>*</nowiki> Commercial product. ==Graphical Image Editing Art== {| class="wikitable sortable" |- !width:30%;|Image Editing !width:10%;|AROS(x86) !width:10%;|Commodore-Amiga OS 3.1(68k) !width:10%;|Hyperion OS4(PPC) !width:10%;|MorphOS(PPC) |- |<!--Sub Menu-->Pixel Raster Artwork [https://github.com/LibreSprite/LibreSprite LibreSprite based on GPL aseprite], [https://github.com/abetusk/hsvhero hsvhero], [], |<!--AROS-->[https://sourceforge.net/projects/zunetools/files/ZunePaint/ ZunePaint], [http://archives.arosworld.org/index.php?function=browse&cat=graphics/edit LunaPaint], [http://archives.arosworld.org/index.php?function=browse&cat=graphics/edit GrafX2], [ LodePaint needs OpenGL], |<!--Amiga OS-->[http://www.amigaforever.com/classic/download.html PPaint], GrafX2, [https://github.com/grovdata/Amiga_Sources/blob/master/software.md DeluxePaint], [http://www.amiforce.de/perfectpaint/perfectpaint.php PerfectPaint], Zoetrope, Brilliance2*, |<!--AmigaOS4-->[http://www.os4depot.net/index.php?function=browse&cat=graphics/edit LodePaint], GrafX2, |<!--MorphOS-->Sketch, Pixel*, GrafX2, [http://morphos.lukysoft.cz/en/vypis.php?kat=3 LunaPaint] |- |<!--Sub Menu-->Image viewing |<!--AROS-->[http://sourceforge.net/projects/zunetools/files/ ZuneView], [http://archives.arosworld.org/index.php?function=browse&cat=graphics/viewer LookHere], [http://archives.arosworld.org/index.php?function=browse&cat=graphics/viewer LoView], [http://archives.arosworld.org/index.php?function=browse&cat=graphics/viewer PicShow] , [http://amigaworld.net/modules/newbb/viewtopic.php?mode=viewtopic&topic_id=31400&forum=32&start=80&viewmode=flat&order=0#583458 Picture Album], |<!--Amiga OS-->PicShow, PicView, Photoalbum, |<!--AmigaOS4-->WarpView, PicShow, flPhoto, Thumbs, [http://amigaworld.net/modules/newbb/viewtopic.php?mode=viewtopic&topic_id=31400&forum=32&start=80&viewmode=flat&order=0#583458 Picture Album], |<!--MorphOS-->[http://morphos.lukysoft.cz/en/vypis.php?kat=3 ShowGirls], [http://amigaworld.net/modules/newbb/viewtopic.php?mode=viewtopic&topic_id=31400&forum=32&start=80&viewmode=flat&order=0#583458 Picture Album] |- |<!--Sub Menu-->Photography retouching / Image Manipulation like Photoshop(tm) |<!--AROS-->[http://archives.arosworld.org/index.php?function=browse&cat=graphics/edit RNOEffects], [https://sourceforge.net/projects/zunetools/files/ ZunePaint], [http://sourceforge.net/projects/zunetools/files/ ZuneView], |<!--Amiga OS-->[ Tecsoft Video Paint aka TVPaint], Photogenics*, ArtEffect*, ImageFX*, XiPaint, fxPaint, ImageMasterRT, Opalpaint, |<!--AmigaOS4-->WarpView, flPhoto, [http://www.os4depot.net/index.php?function=browse&cat=graphics/edit Photocrop] |<!--MorphOS-->[http://morphos.lukysoft.cz/en/vypis.php?kat=3 ShowGirls], ImageFX*, |- |<!--Sub Menu-->Manage RAW picture folder galleries like Darktable, RAWtherapy, etc |<!--AROS--> |<!--Amiga OS--> |<!--AmigaOS4--> |<!--MorphOS--> |- |<!--Sub Menu-->Graphic Format Converter - ICC profile support sRGB, Adobe RGB, XYZ and linear RGB |<!--AROS--> |<!--Amiga OS-->GraphicsConverter, ImageStudio, [http://www.coplabs.org/artpro.html ArtPro] |<!--AmigaOS4--> |<!--MorphOS--> |- |<!--Sub Menu-->Thumbnail Generator [], |<!--AROS-->[http://sourceforge.net/projects/zunetools/files/ ZuneView], [http://archives.arosworld.org/index.php?function=browse&cat=utility/shell Thumbnail Generator] |<!--Amiga OS--> |<!--AmigaOS4--> |<!--MorphOS--> |- |<!--Sub Menu-->Icon Editor |<!--AROS-->[http://archives.arosworld.org/index.php?function=browse&cat=graphics/iconedit Archives], [http://archives.arosworld.org/index.php?function=browse&cat=utility/workbench Icon Toolbox], |<!--Amiga OS--> |<!--AmigaOS4-->[http://www.os4depot.net/index.php?function=browse&cat=graphics/iconedit IconEditor] |<!--MorphOS--> |- |<!--Sub Menu-->2D Pixel Art Animation |<!--AROS-->Lunapaint |<!--Amiga OS-->PPaint, AnimatED, Scala*, GoldDisk MovieSetter*, Walt Disney's Animation Studio*, ProDAD*, [https://github.com/historicalsource/DeluxePaint DeluxePaint src], Brilliance |<!--AmigaOS4--> |<!--MorphOS-->[http://morphos.lukysoft.cz/en/vypis.php?kat=3 Titler] |- |<!--Sub Menu-->2D SVG based MovieSetter type |<!--AROS--> |<!--Amiga OS-->MovieSetter*, Fantavision* |<!--AmigaOS4--> |<!--MorphOS--> |- |<!--Sub Menu-->Morphing |<!--AROS-->[ GLMorph] |<!--Amiga OS--> |<!--AmigaOS4--> |<!--MorphOS--> |- |<!--Sub Menu-->2D Cad (qcad->LibreCAD, etc.) |<!--AROS--> |<!--Amiga OS-->Xcad, MaxonCAD |<!--AmigaOS4--> |<!--MorphOS--> |- |<!--Sub Menu-->3D Cad like FreeCad, BRL-CAD, OpenSCAD, AvoCADo, etc. using dxf, obj (vertices), blend, |<!--AROS--> |<!--Amiga OS-->XCad3d*, DynaCADD*, Cycas, |<!--AmigaOS4--> |<!--MorphOS--> |- |<!--Sub Menu-->3D Model Rendering of glft (json) gbl (png jpg), usdz (USD files with materials, textures, and animations), FBX Filmbox is a proprietary Autodesk format, |<!--AROS-->POV-Ray |<!--Amiga OS-->[http://www.discreetfx.com./amigaproducts.html CINEMA 4D]*, POV-Ray, Lightwave3D*, Real3D*, Caligari24*, Reflections/Monzoom*, [https://github.com/privatosan/RayStorm Raystorm src], Tornado 3D |<!--AmigaOS4-->Blender, POV-Ray, Yafray |<!--MorphOS-->Blender, POV-Ray, Yafray |- |<!--Sub Menu-->3D Format Converter [], [], |<!--AROS-->[https://archives.arosworld.org/?function=showfile&file=graphics/convert/ 3doc.i386-aros], [], |<!--Amiga OS--> |<!--AmigaOS4-->[http://www.os4depot.net/index.php?function=showfile&file=graphics/convert/ivcon.lha IVCon] |<!--MorphOS--> |- |<!--Sub Menu--> |<!--AROS--> |<!--Amiga OS--> |<!--AmigaOS4--> |<!--MorphOS--> |- |<!--Sub Menu-->Screen grabbing display |<!--AROS-->[ Screengrabber], [http://archives.arosworld.org/index.php?function=browse&cat=utility/misc snapit], [http://archives.arosworld.org/index.php?function=browse&cat=video/record screen recorder], [] |<!--Amiga OS--> |<!--AmigaOS4--> |<!--MorphOS--> |- |<!--Sub Menu-->Grab graphics music from apps [https://github.com/Malvineous/ripper6 ripper6], [], |<!--AROS--> |<!--Amiga OS--> |<!--AmigaOS4--> |<!--MorphOS--> |- |<!--Sub Menu--> |<!--AROS--> |<!--Amiga OS--> |<!--AmigaOS4--> |<!--MorphOS--> |- |} <nowiki>*</nowiki> Commercial product. [[#top|...to the top]] ==Office Application== {| class="wikitable sortable" |- !width:30%;|Office !width:10%;|AROS (x86) !width:10%;|[http://en.wikipedia.org/wiki/Amiga_software Commodore-Amiga OS 3.1] (68k) !width:10%;|[http://en.wikipedia.org/wiki/AmigaOS_4 Hyperion OS4] (PPC) !width:10%;|[http://en.wikipedia.org/wiki/MorphOS MorphOS] (PPC) |- |<!--Sub Menu-->Word-processing |<!--AROS-->[https://archives.arosworld.org/index.php?function=browse&cat=office/wordprocessing Cinnamon Writer], [https://finalwriter.godaddysites.com/ Final Writer 7*], [https://github.com/sodero/MUI-Vim/releases MUI-Vim], [https://www.arosworld.org/infusions/forum/viewthread.php?thread_id=1995&rowstart=20&pid=12668#post_12668 Slovo], [], |<!--AmigaOS-->[ Softwood FinalCopy II*], Haage AmigaWriter*, Digita WordWorth*, Softwood FinalWriter*, Micro-Systems Excellence 3*, Arnor Protext, Rashumon, [ InterWord], [ KindWords], [WordPerfect], [ New Horizons Flow], [ CygnusEd Pro], [ Micro-systems Scribble], |<!--AmigaOS4-->AbiWord, [ CinnamonWriter] |<!--MorphOS-->[ Cinnamon Writer], [http://www.meta-morphos.org/viewtopic.php?topic=1246&forum=53 scriba], [http://morphos.lukysoft.cz/en/index.php Papyrus Office], |- |<!--Sub Menu-->Spreadsheets |<!--AROS-->[https://blog.alb42.de/programs/leu/ Leu], [https://archives.arosworld.org/index.php?function=browse&cat=office/spreadsheet], |<!--AmigaOS-->[https://aminet.net/package/biz/spread/ignition-src Ignition Src 1.3], [MaxiPlan 500 Plus], [OXXI Plan/IT v2.0 Speadsheet], [ Superplan], [ Creative Developments TurboCalc], [ ProCalc], [ InterSpread], [Digita DGCalc], [ Gold Disk Advantage], [ Micro-systems Analyze!] |<!--AmigaOS4-->Gnumeric, [https://ignition-amiga.sourceforge.net/ Ignition], |<!--MorphOS-->[ ignition], [http://morphos.lukysoft.cz/en/vypis.php Papyrus Office], |- |<!--Sub Menu-->Presentations |<!--AROS-->[http://www.hollywoood-mal.com/ Hollywood]*, |<!--Amiga OS-->[http://www.hollywoood-mal.com/ Hollywood]*, MediaPoint, PointRider, Scala*, |<!--Amiga OS4-->[http://www.hollywoood-mal.com/ Hollywood]*, PointRider |<!--MorphOS-->[http://www.hollywoood-mal.com/ Hollywood]*, PointRider |- |<!--Sub Menu-->Databases |<!--AROS-->[http://sdb.freeforums.org/ SDB], [http://archives.arosworld.org/index.php?function=browse&cat=office/database BeeBase], |<!--Amiga OS-->Precision Superbase 4 Pro*, Arnor Prodata*, BeeBase, Datastore, FinalData*, AmigaBase, Fiasco, Twist2*, [Digita DGBase], [], |<!--AmigaOS4-->BeeBase, SQLite, |<!--MorphOS-->[http://morphos.lukysoft.cz/en/vypis.php?kat=6 BeeBase], |- |<!--Sub Menu-->PDF Viewing and editing digital signatures |<!--AROS-->[http://sourceforge.net/projects/arospdf/ ArosPDF via splash], [https://github.com/wattoc/AROS-vpdf vpdf wip], |<!--Amiga OS-->APDF |<!--AmigaOS4-->AmiPDF |<!--MorphOS-->APDF, vPDF, |- |<!--Sub Menu-->Printing |<!--AROS-->Postscript 3 laser printers and Ghostscript internal, [ GutenPrint], |<!--Amiga OS-->[http://www.irseesoft.de/tp_what.htm TurboPrint]* |<!--AmigaOS4-->(some native drivers), |<!--MorphOS-->early TurboPrint included, |- |<!--Sub Menu-->Note Taking markdown support like Obsidian like, joplin, OneNote, EverNotes, xournalpp, etc |<!--AROS--> |<!--Amiga OS--> |<!--AmigaOS4--> |<!--MorphOS--> |- |<!--Sub Menu-->Study and analyse, collect, organize, annotate, cite, and share |<!--AROS--> |<!--Amiga OS--> |<!--AmigaOS4--> |<!--MorphOS--> |- |<!--Sub Menu-->PIM Personal Information Manager - Day Diary Planner Calendar App |<!--AROS-->[ ], [ ], [ ], |<!--Amiga OS-->Digita Organiser*, On The Ball, Everyday Organiser, [ Contact Manager], |<!--AmigaOS4-->AOrganiser, |<!--MorphOS-->[http://polymere.free.fr/orga_en.html PolyOrga], |- |<!--Sub Menu-->Accounting |<!--AROS-->[http://archives.arosworld.org/index.php?function=browse&cat=office/misc ETB], LoanCalc, [ ], [ ], [ ], |[ Digita Home Accounts2], Accountant, Small Business Accounts, Account Master, [ Amigabok], |<!--AmigaOS4--> |<!--MorphOS--> |- |<!--Sub Menu-->Project Management Research |<!--AROS--> |<!--Amiga OS-->SuperGantt, SuperPlan, |<!--AmigaOS4--> |<!--MorphOS--> |- |<!--Sub Menu-->System Wide Search |<!--AROS-->[https://archives.arosworld.org/index.php?function=browse&cat=utility/filetool Finder], [], [], |<!--Amiga OS--> |<!--AmigaOS4--> |<!--MorphOS--> |- |<!--Sub Menu-->System Wide Dictionary - multilingual [http://sourceforge.net/projects/babiloo/ Babiloo], [http://code.google.com/p/stardict-3/ StarDict], |<!--AROS-->[ ], |<!--AmigaOS--> |<!--AmigaOS4--> |<!--MorphOS--> |- |<!--Sub Menu-->System wide Thesaurus - multi lingual |<!--AROS-->[ ], |Kuma K-Roget*, |<!--AmigaOS4--> |<!--MorphOS--> |- |<!--Sub Menu-->Sticky Desktop Notes (post it type) |<!--AROS-->[http://aminet.net/package/util/wb/amimemos.i386-aros AmiMemos], [https://aminet.net/package/util/wb/amimemos.src-aros AmiMemos Src], [], |<!--Amiga OS-->[http://aminet.net/package/util/wb/StickIt-2.00 StickIt v2], |<!--AmigaOS4--> |<!--MorphOS--> |- |<!--Sub Menu-->DTP Desktop Publishing |<!--AROS-->[http://archives.arosworld.org/index.php?function=browse&cat=graphics/edit RNOPublisher], |<!--Amiga OS-->[http://pagestream.org/ Pagestream]*, Professional Pro Page*, Saxon Publisher, Pagesetter, PenPal, |<!--AmigaOS4-->[http://pagestream.org/ Pagestream]* |<!--MorphOS-->[http://pagestream.org/ Pagestream]* |- |<!--Sub Menu-->Scanning |<!--AROS-->[ SCANdal], [], |<!--Amiga OS-->FxScan*, ScanQuix* |<!--AmigaOS4-->SCANdal (Sane) |<!--MorphOS-->SCANdal |- |<!--Sub Menu-->OCR |<!--AROS-->[http://archives.arosworld.org/index.php?function=browse&cat=graphics/convert gOCR] |<!--AmigaOS--> |<!--AmigaOS4--> |<!--MorphOS-->[http://morphos-files.net/categories/office/text Tesseract] |- |<!--Sub Menu-->Text Editing |<!--AROS-->Jano Editor (already installed as Editor), [http://archives.arosworld.org/index.php?function=browse&cat=development/edit EdiSyn], [http://archives.arosworld.org/index.php?function=browse&cat=utility/text/edit Annotate], [https://archives.arosworld.org/index.php?function=browse&cat=development/edit Vim], [http://archives.arosworld.org/index.php?function=browse&cat=utility/text/edit FrexxEd] [https://github.com/vidarh/FrexxEd src], [ NoWinEd], |<!--Amiga OS-->[https://aminet.net/package/text/edit/TurboText20 TurboText20 ttx], Annotate, MicroGoldED/CubicIDE*, CygnusED*, Protext*, NoWinED, |<!--AmigaOS4-->Notepad, Annotate, CygnusED*, NoWinED, |<!--MorphOS-->MorphOS ED, NoWinED, GoldED/CubicIDE*, CygnusED*, Annotate, |- |<!--Sub Menu-->Office Fonts [http://sourceforge.net/projects/fontforge/files/fontforge-source/ Font Designer] |<!--AROS-->[ ], [ ], |<!--Amiga OS-->TypeSmith*, SaxonScript (GetFont Adobe Type 1), |<!--AmigaOS4--> |<!--MorphOS--> |- |<!--Sub Menu-->Drawing Vector |<!--AROS-->[http://sourceforge.net/projects/amifig/ ZuneFIG previously AmiFIG] |<!--Amiga OS-->Drawstudio*, ProVector*, ArtExpression*, Professional Draw*, AmiFIG, MetaView, [https://gitlab.com/amigasourcecodepreservation/designworks Design Works Src], [], |<!--AmigaOS4-->MindSpace, [http://www.os4depot.net/index.php?function=browse&cat=graphics/edit amifig], |<!--MorphOS-->SteamDraw, [http://aminet.net/package/gfx/edit/amifig amiFIG], |- |<!--Sub Menu-->video conferencing (jitsi) |<!--AROS--> |<!--Amiga OS--> |<!--AmigaOS4--> |<!--MorphOS--> |- |<!--Sub Menu-->source code hosting |<!--AROS-->Gitlab, |<!--Amiga OS--> |<!--AmigaOS4--> |<!--MorphOS--> |- |<!--Sub Menu-->Remote Desktop (server) |<!--AROS-->[http://sourceforge.net/projects/zunetools/files/VNC_Server ArosVNCServer], |<!--Amiga OS-->[http://s.guillard.free.fr/AmiVNC/AmiVNC.htm AmiVNC], [http://dspach.free.fr/amiga/avnc/index.html AVNC] |<!--AmigaOS4-->[http://s.guillard.free.fr/AmiVNC/AmiVNC.htm AmiVNC] |MorphVNC, vncserver |- |<!--Sub Menu-->Remote Desktop (client) login and connect to another machine |<!--AROS-->[https://sourceforge.net/projects/zunetools/files/VNC_Client/ ArosVNC], [http://archives.arosworld.org/index.php?function=browse&cat=network/misc rdesktop], |<!--Amiga OS-->[http://twinvnc.free.fr/index.php?menu=01&lang=eng TwinVNC], [http://dspach.free.fr/amiga/vva/index.html VVA], [http://www.hd-zone.com/ RDesktop] |<!--AmigaOS4-->[http://twinvnc.free.fr/index.php?menu=01&lang=eng TwinVNC], [http://www.hd-zone.com/ RDesktop] |[http://twinvnc.free.fr/index.php?menu=01&lang=eng TwinVNC], [http://www.hd-zone.com/ RDesktop] |- |<!--Sub Menu-->notifications |<!--AROS--> |<!--Amiga OS-->Ranchero |<!--AmigaOS4-->Ringhio |<!--MorphOS-->MagicBeacon |- |<!--Sub Menu-->Biometric facial logins and fingerprint security features |<!--AROS--> |<!--Amiga OS--> |<!--AmigaOS4--> |<!--MorphOS--> |- |<!--Sub Menu--> |<!--AROS--> |<!--Amiga OS--> |<!--AmigaOS4--> |<!--MorphOS--> |- |<!--Sub Menu--> |<!--AROS--> |<!--Amiga OS--> |<!--AmigaOS4--> |<!--MorphOS--> |} <nowiki>*</nowiki> Commercial product. [[#top|...to the top]] ==Audio== {| class="wikitable sortable" |- !width:30%;|Audio !width:10%;|AROS(x86) !width:10%;|Commodore-Amiga OS 3.1(68k) !width:10%;|Hyperion OS4(PPC) !width:10%;|MorphOS(PPC) |- |<!--Sub Menu-->Playing playback Audio like MP3, [https://github.com/chrg127/gmplayer NSF], [https://github.com/kode54/lazyusf miniusf .usflib], [], etc |<!--AROS-->[http://archives.arosworld.org/index.php?function=browse&cat=video/play Mplayer], [ HarmonyPlayer hp], [http://www.a500.org/downloads/audio/index.xhtml playcdda] CDs, [ WildMidi Player], [https://bszili.morphos.me/ UADE mod player], [], [RNOTunes ], [ mp3Player], [], |<!--Amiga OS-->AmiNetRadio, AmigaAmp, playOGG, |<!--AmigaOS4-->TuneNet, SimplePlay, AmigaAmp, TKPlayer |AmiNetRadio, Mplayer, Kaya, AmigaAmp |- |<!--Sub Menu-->Editing Audio |<!--AROS-->[ Audio Evolution 4] |<!--Amiga OS-->[ Samplitude Opus Key], [https://sourceforge.net/projects/hd-rec/ HD-Rec Src], [http://www.sonicpulse.de/eng/news.html SoundFX], |<!--AmigaOS4-->[https://sourceforge.net/projects/hd-rec/ HD-Rec], AmiSoundED, [http://os4depot.net/?function=showfile&file=audio/record/audioevolution4.lha Audio Evolution 4] |[http://www.hd-rec.de/HD-Rec/index.php?site=home HD-Rec], |- |<!--Sub Menu-->Editing Tracker Music |<!--AROS-->[https://github.com/hitchhikr/protrekkr Protrekkr], [ Schism Tracker], [http://archives.arosworld.org/index.php?function=browse&cat=audio/tracker MilkyTracker], [http://www.hivelytracker.com/ HivelyTracker], [ Radium in AROS already], [http://www.a500.org/downloads/development/index.xhtml libMikMod], |<!--Amiga OS-->MilkyTracker, HivelyTracker, DigiBooster, Octamed SoundStudio, |<!--AmigaOS4-->MilkyTracker, HivelyTracker, GoatTracker |MilkyTracker, GoatTracker, DigiBooster, |- |<!--Sub Menu-->Editing Music [], [https://github.com/kmatheussen/camd CAMD] and/or staves and notes manuscript |<!--AROS-->[http://bnp.hansfaust.de/ Bars and Pipes for AROS], [ Audio Evolution], [], |<!--Amiga OS-->[http://bnp.hansfaust.de/ Bars'n'Pipes], MusicX* David "Talin" Joiner & Craig Weeks (for Notator-X), Deluxe Music Construction 2*, [https://github.com/timoinutilis/midi-sequencer-amigaos Horny c Src], HD-Rec, [https://aminet.net/package/mus/midi/dominatorV1_51 Dominator], |<!--AmigaOS4-->[https://sourceforge.net/p/hd-rec/code/HEAD/tree/ HD-Rec Src], Rockbeat, [http://bnp.hansfaust.de/download.html Bars'n'Pipes], [http://os4depot.net/index.php?function=browse&cat=audio/edit Horny], Audio Evolution 4, |<!--MorphOS-->Bars'n'Pipes, |- |<!--Sub Menu-->Sound Sampling |<!--AROS-->[https://archives.arosworld.org/index.php?function=browse&cat=audio/record Audio Evolution 4], [http://www.imica.net/SitePortalPage.aspx?siteid=1&did=162 Quick Record], [https://archives.arosworld.org/index.php?function=browse&cat=audio/misc SOX to get AIFF 16bit files], [https://github.com/aros-development-team/AROS/tree/master/workbench/tools/AHIRecord AHIRecord], |<!--Amiga OS-->[https://aminet.net/package/mus/edit/AudioEvolution3_src Audio Evolution 3 c src], [ Samplitude-MS Opus Key], Audiomaster IV*, |<!--AmigaOS4-->[https://github.com/timoinutilis/phonolith-amigaos phonolith c src], HD-Rec, Audio Evolution 4, |<!--MorphOS-->[https://sourceforge.net/p/hd-rec/code/HEAD/tree/ HD-Rec Src], Audio Evolution 4, |- |<!--Sub Menu-->Live Looping or Audio Misc - Groovebox like |<!--AROS--> |<!--Amiga OS--> |<!--AmigaOS4--> |<!--MorphOS--> |- |<!--Sub Menu-->CD/DVD burn |[https://code.google.com/p/amiga-fryingpan/ FryingPan], |<!--Amiga OS-->FryingPan, [http://www.estamos.de/makecd/#CurrentVersion MakeCD], |<!--AmigaOS4-->FryingPan, AmiDVD, |[http://www.amiga.org/forums/printthread.php?t=58736 FryingPan], Jalopeano, |- |<!--Sub Menu-->CD/DVD audio rip |Lame, [http://www.imica.net/SitePortalPage.aspx?siteid=1&cfid=0&did=167 Quick CDrip], |<!--Amiga OS-->Lame, |<!--AmigaOS4-->Lame, |Lame, |- |<!--Sub Menu-->MP3 v1 and v2 Tagger |<!--AROS-->id3ren (v1), [http://archives.arosworld.org/index.php?function=browse&cat=audio/edit mp3info], |<!--Amiga OS--> |<!--AmigaOS4--> | |- |<!--Sub Menu-->Audio Convert |<!--AROS-->[https://archives.arosworld.org/index.php?function=browse&cat=audio/misc Sox], [], |<!--Amiga OS-->[http://aminet.net/package/mus/misc/SoundBox SoundBox], [http://aminet.net/package/mus/misc/SoundBoxKey SoundBox Key], [http://aminet.net/package/mus/edit/SampleE SampleE], sox |<!--AmigaOS4--> |<!--MorphOS--> |- |<!--Sub Menu-->DJ mixing jamming |<!--AROS--> |<!--Amiga OS--> |<!--AmigaOS4--> |<!--MorphOS--> |- |<!--Sub Menu-->Radio Automation Software [http://www.rivendellaudio.org/ Rivendell], [http://code.campware.org/projects/livesupport/report/3 Campware LiveSupport], [http://www.sourcefabric.org/en/airtime/ SourceFabric AirTime], [http://www.ohloh.net/p/mediabox404 MediaBox404], |<!--AROS--> |<!--Amiga OS--> |<!--AmigaOS4--> |<!--MorphOS--> |- |<!--Sub Menu-->Speakers Audio Sonos Mains AC networked wired controlled *2005 ZP100 with ZP80 *2008 Zoneplayer ZP120 (multi-room wireless amp) ZP90 receiver only with CR100 controller, *2009 ZonePlayer S5, *2010 BR100 wireless Bridge (no support), *2011 Play:3 *2013 Bridge (no support), Play:1, *2016 Arc, Play:1, *Beam (Gen 2), Playbar, Ray, Era 100, Era 300, Roam, Move 2, *Sub (Gen 3), Sub Mini, Five, Amp S2 |<!--AROS-->SonosController |<!--Amiga OS-->SonosController |<!--AmigaOS4-->SonosController |<!--MorphOS-->SonosController |- |<!--Sub Menu-->Smart Speakers |<!--AROS--> |<!--Amiga OS--> |<!--AmigaOS4--> |<!--MorphOS--> |- |<!--Sub Menu--> |<!--AROS--> |<!--Amiga OS--> |<!--AmigaOS4--> |<!--MorphOS--> |- |<!--Sub Menu--> |<!--AROS--> |<!--Amiga OS--> |<!--AmigaOS4--> |<!--MorphOS--> |- |} <nowiki>*</nowiki> Commercial product. [[#top|...to the top]] ==Video Creativity and Production== {| class="wikitable sortable" |- !width:30%;|Video !width:10%;|AROS(x86) !width:10%;|Commodore-Amiga OS 3.1(68k) !width:10%;|Hyperion OS4(PPC) !width:10%;|MorphOS(PPC) |- |<!--Sub Menu-->Playing Video |<!--AROS-->[http://archives.arosworld.org/index.php?function=browse&cat=video/play Mplayer VAMP], [http://www.a500.org/downloads/video/index.xhtml CDXL player], [http://www.a500.org/downloads/video/index.xhtml IffAnimPlay], [], |<!--Amiga OS-->Frogger*, AMP2, MPlayer, RiVA*, MooViD*, |<!--AmigaOS4-->DvPlayer, MPlayer |<!--MorphOS-->MPlayer, Frogger, AMP2, VLC |- |<!--Sub Menu-->Streaming Video and game streaming like OBS studio, Parsec, [https://github.com/lizardbyte/sunshine sunshine], [https://github.com/moonlight-stream/moonlight-qt moonlight], etc |<!--AROS-->Mplayer, |<!--Amiga OS--> |<!--AmigaOS4-->Mplayer, Gnash, Tubexx |<!--MorphOS-->Mplayer, OWB, Tubexx |- |<!--Sub Menu-->Playing DVD |<!--AROS-->[http://a-mc.biz/ AMC]*, Mplayer |<!--Amiga OS-->AMP2, Frogger |<!--AmigaOS4-->[http://a-mc.biz/ AMC]*, DvPlayer*, AMP2, |<!--MorphOS-->Mplayer |- |<!--Sub Menu-->Screen Recording |<!--AROS-->[http://archives.arosworld.org/index.php?function=browse&cat=video/record Screenrecorder], [ ], [ ], [ ], [ ], |<!--Amiga OS--> |<!--AmigaOS4--> |<!--MorphOS-->Screenrecorder, |- |<!--Sub Menu-->Create and Edit Individual Video NLE |<!--AROS-->[ Mencoder], [ Quick Videos], [http://archives.arosworld.org/index.php?function=browse&cat=graphics/edit AVIbuild], [http://archives.arosworld.org/index.php?function=browse&cat=graphics/misc FrameBuild], FFMPEG, |<!--Amiga OS-->[ MainConcept Mainactor Broadcast*], [http://en.wikipedia.org/wiki/Video_Toaster Video Toaster*], MacroSystem MovieShop 4.3*, proDAD Adorage*, [ IOSpirit VHI studio]*, [Gold Disk ShowMaker], [], |<!--AmigaOS4-->FFMpeg/GUI |<!--MorphOS-->Blender, Mencoder, FFmpeg |- |<!--Sub Menu-->Subtitle editor |<!--AROS-->[https://aminet.net/package/text/edit/Slarti_Arosx86ABIv0 Slarti_Arosx86ABIv0], [], |<!--Amiga OS--> |<!--AmigaOS4--> |<!--MorphOS--> |- |<!--Sub Menu--> |<!--AROS--> |<!--Amiga OS--> |<!--AmigaOS4--> |<!--MorphOS--> |- |<!--Sub Menu-->IP-based video production workflows with High Dynamic Range (HDR), 10-bit color collaborative NDI, |<!--AROS--> |<!--Amiga OS--> |<!--AmigaOS4--> |<!--MorphOS--> |- |<!--Sub Menu-->Blogging like Lemmy or kbin |<!--AROS--> |<!--Amiga OS--> |<!--AmigaOS4--> |<!--MorphOS--> |- |<!--Sub Menu-->VR face recognition for Vtubers |<!--AROS--> |<!--Amiga OS--> |<!--AmigaOS4--> |<!--MorphOS--> |- |<!--Sub Menu-->VR chatting Live 2D models with Cubism type editor <pre> Model data (cmo3) Basic motions (can3) Background image (png) Set of files for embedding (runtime folder) • Model data (moc3) • Motion data (motion3.json) • Model settings file (model3.json) • Physics settings file (physics3.json) • Display auxiliary file (cdi3.json) </pre> |<!--AROS--> |<!--Amiga OS--> |<!--AmigaOS4--> |<!--MorphOS--> |- |<!--Sub Menu-->VR chatting chatters .VRML models - standardized 3D file format for VR avatars |<!--AROS--> |<!--Amiga OS--> |<!--AmigaOS4--> |<!--MorphOS--> |- |<!--Sub Menu-->V-tubers V-tubing like Vseeface with Openseeface tracker or Vpuppr (virtual puppet project) for 2d / 3d art models rigging rigged LIV |<!--AROS--> |<!--Amiga OS--> |<!--AmigaOS4--> |<!--MorphOS--> |- |<!--Sub Menu--> |<!--AROS--> |<!--Amiga OS--> |<!--AmigaOS4--> |<!--MorphOS--> |- |} <nowiki>*</nowiki> Commercial product. [[#top|...to the top]] ==Misc Application== {| class="wikitable sortable" |- !width:30%;|Misc Application !width:10%;|AROS(x86) !width:10%;|Commodore-Amiga OS 3.1 (68k) !width:10%;|Hyperion OS4(PPC) !width:10%;|MorphOS(PPC) |- |<!--Sub Menu-->File Management |<!--AROS-->DOpus4, [https://github.com/BlitterStudio/dopus5 DOpus Magellan aka DOpus 5], [ Scalos], [ ], |<!--Amiga OS-->DOpus2, DOpus 4, [http://sourceforge.net/projects/dopus5allamigas/files/?source=navbar DOpus Magellan DOpus5], ClassAction, FileMaster, [http://www.amiga.org/forums/showthread.php?t=4897 DirWork 2]*, [https://github.com/RudolphRiedel/DiskMaster2 DiskMaster2 src], |<!--AmigaOS4-->DOpus4, DOpus5, Filer, AmiDisk |<!--MorphOS-->DOpus4, DOpus5 |- |<!--Sub Menu-->File Verification / Repair |<!--AROS-->md5 (works in linux compiling shell), [http://archives.arosworld.org/index.php?function=browse&cat=utility/filetool workpar2] (PAR2), [http://zakalwe.fi/~shd/foss/cksfv/files/ compile cksfv from website], |<!--Amiga OS--> |<!--AmigaOS4--> |<!--MorphOS-->Par2, |- |Application Installer |<!--AROS-->[], [ InstallerNG], |<!--Amiga OS-->InstallerNG, Grunch, |<!--AmigaOS4-->Jack |<!--MorphOS-->Jack |- |<!--Sub Menu-->Compression archiver [https://github.com/FS-make-simple/paq9a paq9a], [], |<!--AROS-->XAD system is a toolkit designed for handling various file and disk archiver |<!--Amiga OS--> |<!--AmigaOS4-->[https://aminet.net/package/util/pack/decrunchmania_os4 Crunchmania CrM2 depacker], |<!--MorphOS--> |- |<!--Sub Menu-->Binary Hexadecimal Editor |<!--AROS-->[https://archives.arosworld.org/index.php?function=browse&cat=development/edit Zaphod], [], |<!--Amiga OS--> |<!--AmigaOS4--> |<!--MorphOS--> |- |<!--Sub Menu-->Repository |<!--AROS-->[ Git] |<!--Amiga OS--> |<!--AmigaOS4-->Git |<!--MorphOS--> |- |<!--Sub Menu-->Filesystem Partition Editor formatter Disk Management |<!--AROS-->[https://www.arosworld.org/infusions/forum/viewthread.php?thread_id=1440&highlight=partition&pid=8821#post_8821 QuickPart], [ HDToolBox] |<!--Amiga OS--> |<!--AmigaOS4--> |<!--MorphOS--> |- |<!--Sub Menu-->Filesystem Repair and backups |<!--AROS-->ArSFSDoctor, |<!--Amiga OS-->[https://aminet.net/package/disk/bakup/quarterback_src Quarterback Tools C and asm src], [ ], [ ], [ ], |<!--AmigaOS4--> |<!--MorphOS--> |- |<!--Sub Menu-->System Disk check, integrity and history [https://github.com/smartmontools/smartmontools smart tools], [], |<!--AROS--> |<!--Amiga OS-->[], |<!--AmigaOS4--> |<!--MorphOS--> |- |<!--Sub Menu-->Multiple File renaming |<!--AROS-->DOpus 4 or 5, |<!--Amiga OS--> |<!--AmigaOS4--> |<!--MorphOS--> |- |<!--Sub Menu-->Anti Virus |<!--AROS--> |<!--Amiga OS-->VChecker, |<!--AmigaOS4--> |<!--MorphOS--> |- |<!--Sub Menu-->Random Wallpaper Desktop changer [ DOpus5], [ Scalos], |<!--AROS--> |<!--Amiga OS--> |<!--AmigaOS4--> |<!--MorphOS--> |- |<!--Sub Menu-->Alarm Clock, Timer, Stopwatch, Countdown |<!--AROS-->[http://archives.arosworld.org/index.php?function=browse&cat=utility/workbench DClock], [http://aminet.net/util/time/AlarmClockAROS.lha AlarmClock], [], |<!--Amiga OS--> |<!--AmigaOS4--> |<!--MorphOS--> |- |<!--Sub Menu-->Fortune Cookie Quotes Sayings |<!--AROS-->[http://archives.arosworld.org/index.php?function=browse&cat=utility/misc AFortune], |<!--Amiga OS--> |<!--AmigaOS4--> |<!--MorphOS--> |- |<!--Sub Menu-->C/C++ IDE |<!--AROS-->[http://archives.arosworld.org/index.php?function=browse&cat=utility/text/edit FrexxEd], [https://github.com/vidarh/FrexxEd FrexxEd src], Annotate, Murks, |<!--Amiga OS-->[http://devplex.awardspace.biz/cubic/index.html Cubic IDE]*, Annotate, |<!--AmigaOS4-->CodeBench , [https://gitlab.com/boemann/codecraft CodeCraft], |<!--MorphOS-->[http://devplex.awardspace.biz/cubic/index.html Cubic IDE]*, Anontate, |- |<!--Sub Menu-->Computer Languages Translation [https://tetracorp.github.io/guide/reverse-engineering-amiga.html ], [https://amigasourcecodepreservation.gitlab.io/amiga-assembler-insider-guide/ ], [https://github.com/kermitfrog/Amiga-Re-Engineering Rust, Ghidra and FS-UAE], |<!--AROS--> |<!--Amiga OS-->[https://bitbucket.org/rhinoid/convert68000toc/src/main/ convert m68k seka asm-one to c], |<!--AmigaOS4--> |<!--MorphOS--> |- |<!--Sub Menu-->Gui Creators |<!--AROS-->[https://archives.arosworld.org/index.php?function=browse&cat=development/guitool MuiBuilder], |<!--Amiga OS--> |<!--AmigaOS4--> |<!--MorphOS-->[ MuiBuilder], |- |<!--Sub Menu-->Catalog .cd .ct Editors |<!--AROS-->FlexCat |<!--Amiga OS-->[http://www.geit.de/deu_simplecat.html SimpleCat], FlexCat |<!--AmigaOS4-->[http://aminet.net/package/dev/misc/simplecat SimpleCat], FlexCat |[http://www.geit.de/deu_simplecat.html SimpleCat], FlexCat |- |<!--Sub Menu--> |<!--AROS--> |<!--Amiga OS--> |<!--AmigaOS4--> |<!--MorphOS--> |- |<!--Sub Menu--> |<!--AROS--> |<!--Amiga OS--> |<!--AmigaOS4--> |<!--MorphOS--> |- |<!--Sub Menu--> |<!--AROS--> |<!--Amiga OS--> |<!--AmigaOS4--> |<!--MorphOS--> |- |} <nowiki>*</nowiki> Commercial product. ==Misc Application 2== {| class="wikitable sortable" |- !width:30%;|Misc Application !width:10%;|AROS(x86) !width:10%;|Commodore-Amiga OS 3.1(68k) !width:10%;|Hyperion OS4(PPC) !width:10%;|MorphOS(PPC) |- |<!--Sub Menu-->System |<!--AROS-->[ SysExplorer], [ SysMon], [ Scout], [], |<!--Amiga OS--> |<!--AmigaOS4--> |<!--MorphOS--> |- |<!--Sub Menu-->OSK On Screen Keyboard |<!--AROS-->[], |<!--Amiga OS-->[https://aminet.net/util/wb/OSK.lha OSK] |<!--AmigaOS4--> |<!--MorphOS--> |- |<!--Sub Menu-->Screen Magnifier Magnifying Glass Magnification |<!--AROS-->[http://www.onyxsoft.se/files/zoomit.lha ZoomIT], |<!--Amiga OS--> |<!--AmigaOS4--> |<!--MorphOS--> |- |<!--Sub Menu-->Comic Book CBR CBZ format reader viewer |<!--AROS-->[http://archives.arosworld.org/index.php?function=browse&cat=graphics/viewer comics], [http://archives.arosworld.org/index.php?function=browse&cat=graphics/viewer comicon], [], |<!--Amiga OS--> |<!--AmigaOS4--> |<!--MorphOS--> |- |<!--Sub Menu-->Ebook Reader |<!--AROS-->[https://blog.alb42.de/programs/#legadon Legadon EPUB],[] |<!--Amiga OS--> |<!--AmigaOS4--> |<!--MorphOS--> |- |<!--Sub Menu-->Ebook Converter |<!--AROS--> |<!--Amiga OS--> |<!--AmigaOS4--> |<!--MorphOS--> |- |<!--Sub Menu-->Text to Speech tts [https://github.com/JonathanFly/bark-installer Bark], [], |<!--AROS-->[http://archives.arosworld.org/index.php?function=browse&cat=audio/misc flite], |<!--Amiga OS-->[http://www.text2speech.com translator], |<!--AmigaOS4-->[http://www.os4depot.net/index.php?function=search&tool=simple FLite] |<!--MorphOS-->[http://se.aminet.net/pub/aminet/mus/misc/ FLite] |- |<!--Sub Menu-->Speech Voice Recognition Dictation - [http://sourceforge.net/projects/cmusphinx/files/ CMU Sphinx], [http://julius.sourceforge.jp/en_index.php?q=en/index.html Julius], [http://www.isip.piconepress.com/projects/speech/index.html ISIP], |<!--AROS--> |<!--Amiga OS--> |<!--AmigaOS4--> |<!--MorphOS--> |- |<!--Sub Menu-->Speech Voice Changer [], [], [], [], |<!--AROS--> |<!--Amiga OS--> |<!--AmigaOS4--> |<!--MorphOS--> |- |<!--Sub Menu-->Screen Display Blanker screensaver |<!--AROS-->Blanker Commodity (built in), [https://archives.arosworld.org/index.php?function=browse&cat=graphics/screenblanker GarshneBlanker], [http://sourceforge.net/projects/gblanker/ GBlanker Src], [], |<!--Amiga OS-->MultiCX, |<!--AmigaOS4--> |<!--MorphOS-->ModernArt Blanker, |- |} ==Misc Application 3== {| class="wikitable sortable" |- !width:30%;|Misc Application !width:10%;|AROS(x86) !width:10%;|Commodore-Amiga OS 3.1(68k) !width:10%;|Hyperion OS4(PPC) !width:10%;|MorphOS(PPC) |- |<!--Sub Menu-->Fractals mandelbrot, etc |<!--AROS-->[https://archives.arosworld.org/index.php?function=browse&cat=graphics/misc ], |<!--Amiga OS-->ZoneXplorer, |<!--AmigaOS4--> |<!--MorphOS--> |- |<!--Sub Menu-->Landscape Rendering |<!--AROS-->[https://archives.arosworld.org/index.php?function=browse&cat=graphics/raytrace WCS World Construction Set], |<!--Amiga OS-->[ Vista Pro], [http://en.wikipedia.org/wiki/World_Construction_Set World Construction Set] |<!--AmigaOS4-->[ WCS World Construction Set], |<!--MorphOS-->[ WCS World Construction Set], |- |<!--Sub Menu-->Astronomy [https://sourceforge.net/projects/skychart/ skychart freepascal], [], [], |<!--AROS-->[ Digital Almanac (ABIv0 only)], |<!--Amiga OS-->[http://aminet.net/search?query=planetarium Aminet search], [http://aminet.net/misc/sci/DA3V56ISO.zip Digital Almanac], [https://aminet.net/package/misc/sci/da3sourceV58 Src c V58], [ Galileo renamed to Distant Suns]*, [], |<!--AmigaOS4-->[http://sourceforge.net/projects/digital-almanac/ Digital Almanac], Distant Suns*, [http://www.digitaluniverse.org.uk/ Digital Universe]*, |<!--MorphOS-->[http://www.aminet.net/misc/sci/da3.lha Digital Almanac], [http://www.aminet.net/package/misc/sci/da3-mos-src Src c V56], |- |<!--Sub Menu-->Astrology [https://sourceforge.net/projects/skylendar/ skylendar], [https://github.com/CruiserOne/Astrolog Astrolog], [https://www.astrolog.org/astrolog/astfile.htm Astrology alt site], [https://saravali.github.io/download.html Maitreya], [https://github.com/alamahant/Asteria Asteria], |<!--AROS--> |<!--Amiga OS--> |<!--AmigaOS4--> |<!--MorphOS--> |- |<!--Sub Menu-->PCB design |<!--AROS--> |<!--Amiga OS-->[ ], [ ], [ ], |<!--AmigaOS4--> |<!--MorphOS--> |- |<!--Sub Menu-->Digital Signage |<!--AROS-->Hollywood, Hollywood Designer |<!--Amiga OS--> |<!--AmigaOS4--> |<!--MorphOS--> |- |<!--Sub Menu-->Genealogy History Family Tree Ancestry Records (FreeBMD, FreeREG, and FreeCEN file formats or GEDCOM GenTree) |<!--AROS--> |<!--Amiga OS--> [ Origins], [ Your Family Tree], [ ], [ ], [ ], |<!--AmigaOS4--> |<!--MorphOS--> |- |<!--Sub Menu-->Languages |<!--AROS--> |<!--Amiga OS-->Fun School, |<!--AmigaOS4--> |<!--MorphOS--> |- |<!--Sub Menu-->Mathematics ([http://www-fourier.ujf-grenoble.fr/~parisse/install_en.html Xcas], etc.), |<!--AROS-->[http://archives.arosworld.org/index.php?function=browse&cat=utility/scientific mathX] |<!--Amiga OS-->Maple V, mathX, Fun School, GCSE Maths, [ ], [ ], [ ], |<!--AmigaOS4-->Yacas |<!--MorphOS-->Yacas |- |<!--Sub Menu-->Maths Graph Function Plotting |<!--AROS-->[https://blog.alb42.de/programs/#MUIPlot MUIPlot], |<!--Amiga OS--> |<!--AmigaOS4--> |<!--MorphOS--> |- |<!--Sub Menu-->App Utility Launcher Dock toolbar |<!--AROS-->[http://archives.arosworld.org/index.php?function=browse&cat=utility/docky BoingBar], [], |<!--Amiga OS-->[https://github.com/adkennan/DockBot Dockbot], |<!--AmigaOS4--> |<!--MorphOS--> |- |<!--Sub Menu-->3D Printer [https://github.com/OrcaSlicer/OrcaSlicer OrcaSlicer] |<!--AROS--> |<!--Amiga OS--> |<!--AmigaOS4--> |<!--MorphOS--> |- |<!--Sub Menu-->BASIC Computer Language |<!--AROS-->[http://archives.arosworld.org/index.php?function=browse&cat=development/language Basic4SDL], [ Ace Basic], [ X-AMOS], [SDLBasic], [ Alvyn], |<!--Amiga OS-->[http://www.amiforce.de/main.php Amiblitz 3], [http://amos.condor.serverpro3.com/AmosProManual/contents/c1.html Amos Pro], [http://aminet.net/package/dev/basic/ace24dist ACE Basic], |<!--AmigaOS4--> |<!--MorphOS-->sdlBasic |- |<!--Sub Menu-->HAM radio, amateur radio, packet radio [], [], [], [https://cemaxecuter.com/ Dragon OS], [https://github.com/km4ack/73Linux with 73 link update], [https://www.youtube.com/watch?v=YAL5KNePRSg video for], |<!--AROS--> |<!--Amiga OS-->[https://www.amigarealm.com/amiga/amicomms/comm4.htm Comm4], [https://www.amigarealm.com/archives/comms/aarug/ TNC Terminal Node Controller with packets over serial connections on Yaesu or Woxum handheld], [https://aminet.net/comm/misc AmiCom], [ with 7Plus file encoder/decoder], [ mksstv], [ RTTYam], |<!--AmigaOS4--> |<!--MorphOS--> |- |<!--Sub Menu--> |<!--AROS--> |<!--Amiga OS--> |<!--AmigaOS4--> |<!--MorphOS--> |- |} <nowiki>*</nowiki> Commercial product. ==Games & Emulation== Some emulators/games require OpenGL to function and to adjust ahi prefs channels, frequency and unit0 and unit1 and [http://aros.sourceforge.net/documentation/users/shell/changetaskpri.php changetaskpri -1] Rom patching https://www.marcrobledo.com/RomPatcher.js/ https://www.romhacking.net/patch/ (ips, ups, bps, etc) and this other site supports the latter formats https://hack64.net/tools/patcher.php Free public domain roms for use with emulators can be found [http://www.pdroms.de/ here] as most of the rest are covered by copyright rules. If you like to read about old games see [http://retrogamingtimes.com/ here] and [http://www.armchairarcade.com/neo/ here] and a [http://www.vintagecomputing.com/ blog] about old computers. Possibly some of the [http://www.answers.com/topic/list-of-best-selling-computer-and-video-games best selling] of all time. [http://en.wikipedia.org/wiki/List_of_computer_system_emulators Wiki] with emulated systems list. [https://archive.gamehistory.org/ Archive of VGHF], [https://library.gamehistory.org/ Video Game History Foundation Library search] {| class="wikitable sortable" |- !width:10%;|Games [http://archives.arosworld.org/index.php?function=browse&cat=emulation/computer Emulation] !width:10%;|AROS(x86) !width:10%;|AmigaOS3(68k) !width:10%;|AmigaOS4(PPC) !width:10%;|MorphOS(PPC) |- |<!--Sub Menu-->Games Emulation Amstrad CPC |<!--AROS-->[http://archives.arosworld.org/index.php?function=browse&cat=emulation/computer], [ Caprice32 (OpenGL & pure SDL)], [ Arnold], [https://retroshowcase.gr/cpcbox-master/], |<!--Amiga OS--> |<!--AmigaOS4-->[http://os4depot.net/index.php?function=browse&cat=emulation/computer] |<!--MorphOS-->[http://morphos.lukysoft.cz/en/vypis.php?kat=2], |- |<!--Sub Menu-->Games Emulation Apple2 and 2GS |<!--AROS-->[http://archives.arosworld.org/index.php?function=browse&cat=emulation/computer], |<!--Amiga OS--> |<!--AmigaOS4--> |<!--MorphOS--> |- |<!--Sub Menu-->Games Emulation Arcade |<!--AROS-->[http://archives.arosworld.org/index.php?function=browse&cat=emulation/gamesystem Mame], [ SI Emu (ABIv0 only)], |<!--Amiga OS-->Mame, |<!--AmigaOS4-->[http://www.os4depot.net/index.php?function=browse&cat=emulation/gamesystem xmame], amiarcadia, |<!--MorphOS-->[http://morphos.lukysoft.cz/en/vypis.php?kat=2 Mame], |- |<!--Sub Menu-->Games Emulation Atari 2600 [], [], |<!--AROS-->[http://archives.arosworld.org/index.php?function=browse&cat=emulation/gamesystem Stella], |<!--Amiga OS--> |<!--AmigaOS4--> |<!--MorphOS--> |- |<!--Sub Menu-->Games Emulation Atari 5200 [https://github.com/wavemotion-dave/A5200DS A5200DS], [], |<!--AROS--> |<!--Amiga OS--> |<!--AmigaOS4--> |<!--MorphOS--> |- |<!--Sub Menu-->Games Emulation Atari 7800 |<!--AROS--> |<!--Amiga OS--> |<!--AmigaOS4--> |<!--MorphOS--> |- |<!--Sub Menu-->Games Emulation Atari 400 800 130XL [https://github.com/wavemotion-dave/A8DS A8DS], [], |<!--AROS-->[http://archives.arosworld.org/index.php?function=browse&cat=emulation/computer Atari800], |<!--Amiga OS--> |<!--AmigaOS4--> |<!--MorphOS--> |- |<!--Sub Menu-->Games Emulation Atari Lynx |<!--AROS-->[http://myfreefilehosting.com/f/6366e11bdf_1.93MB Handy (ABIv0 only)], |<!--Amiga OS--> |<!--AmigaOS4--> |<!--MorphOS--> |- |<!--Sub Menu-->Games Emulation Atari Jaguar |<!--AROS--> |<!--Amiga OS--> |<!--AmigaOS4--> |<!--MorphOS--> |- |<!--Sub Menu-->Games Emulation Bandai Wonderswan |<!--AROS--> |<!--Amiga OS--> |<!--AmigaOS4--> |<!--MorphOS--> |- |<!--Sub Menu-->Games Emulation BBC Micro and Acorn Electron [http://beehttps://bem-unix.bbcmicro.com/download.html BeebEm], [http://b-em.bbcmicro.com/ B-Em], [http://elkulator.acornelectron.co.uk/ Elkulator], [http://electrem.emuunlim.com/ ElectrEm], |<!--AROS--> |<!--Amiga OS--> |<!--AmigaOS4--> |<!--MorphOS--> |- |<!--Sub Menu-->Games Emulation Dragon 32 and Tandy CoCo [http://www.6809.org.uk/xroar/ xroar], [], |<!--AROS-->[], [], [], |<!--Amiga OS--> |<!--AmigaOS4--> |<!--MorphOS--> |- |<!--Sub Menu-->Games Emulation Commodore C16 Plus4 |<!--AROS--> |<!--Amiga OS--> |<!--AmigaOS4--> |<!--MorphOS--> |- |<!--Sub Menu-->Games Emulation Commodore C64 |<!--AROS-->[http://archives.arosworld.org/index.php?function=browse&cat=emulation/computer Vice (ABIv0 only)], [], |<!--Amiga OS-->Frodo, |<!--AmigaOS4-->[http://www.os4depot.net/index.php?function=browse&cat=emulation/gamesystem viceplus], |<!--MorphOS-->Vice, |- |<!--Sub Menu-->Games Emulation Commodore Amiga |<!--AROS-->[http://archives.arosworld.org/index.php?function=browse&cat=emulation/computer Janus UAE], Emumiga, |<!--Amiga OS--> |<!--AmigaOS4-->[http://os4depot.net/index.php?function=browse&cat=emulation/computer UAE], |<!--MorphOS-->[http://morphos.lukysoft.cz/en/vypis.php?kat=2 UAE], |- |<!--Sub Menu-->Games Emulation Japanese MSX MSX2 |<!--AROS--> |<!--Amiga OS--> |<!--AmigaOS4--> |<!--MorphOS--> |- |<!--Sub Menu-->Games Emulation Mattel Intelivision |<!--AROS--> |<!--Amiga OS--> |<!--AmigaOS4--> |<!--MorphOS--> |- |<!--Sub Menu-->Games Emulation Mattel Colecovision and Adam |<!--AROS--> |<!--Amiga OS--> |<!--AmigaOS4--> |<!--MorphOS--> |- |<!--Sub Menu-->Games Emulation Milton Bradley (MB) Vectrex [ Vectrex OpenGL], |<!--AROS--> |<!--Amiga OS--> |<!--AmigaOS4--> |<!--MorphOS--> |- |<!--Sub Menu-->Games Emulation PICO8 Pico-8 fantasy video game console [https://github.com/egordorichev/pemsa-sdl/ pemsa-sdl], [https://github.com/jtothebell/fake-08 fake-08], [https://github.com/Epicpkmn11/fake-08/tree/wip fake-08 fork], |<!--AROS--> |<!--Amiga OS--> |<!--AmigaOS4--> |<!--MorphOS--> |- |<!--Sub Menu-->Games Emulation Nintendo Gameboy |<!--AROS-->[http://archives.arosworld.org/index.php?function=browse&cat=emulation/gamesystem vba no sound], [], |<!--Amiga OS--> |<!--AmigaOS4-->[http://www.os4depot.net/index.php?function=browse&cat=emulation/gamesystem vba] |<!--MorphOS--> |- |<!--Sub Menu-->Games Emulation Nintendo NES |<!--AROS-->[ EmiNES], [http://archives.arosworld.org/index.php?function=browse&cat=emulation/gamesystem Fceu], [https://github.com/takahirox/nes-js?tab=readme-ov-file nes-js], [https://github.com/bfirsh/jsnes jsnes], [https://github.com/angelo-wf/NesJs NesJs], |<!--Amiga OS-->AmiNES, [http://www.dridus.com/~nyef/darcnes/ darcNES], |<!--AmigaOS4-->[http://www.os4depot.net/index.php?function=browse&cat=emulation/gamesystem amines] |<!--MorphOS--> |- |<!--Sub Menu-->Games Emulation Nintendo SNES |<!--AROS-->[http://archives.arosworld.org/index.php?function=browse&cat=emulation/gamesystem Zsnes], |<!--Amiga OS--> |<!--AmigaOS4-->[http://www.os4depot.net/index.php?function=browse&cat=emulation/gamesystem warpsnes] |<!--MorphOS-->[http://fabportnawak.free.fr/snes/ Snes9x], |- |<!--Sub Menu-->Games Emulation Nintendo N64 *HLE and plugins [ mupen64], [https://github.com/ares-emulator/ares ares], [https://github.com/N64Recomp/N64Recomp N64Recomp], [https://github.com/rt64/rt64 rt64], [https://github.com/simple64/simple64 Simple64], *LLE [], |<!--AROS-->[http://code.google.com/p/mupen64plus/ Mupen64+], |<!--Amiga OS-->[http://code.google.com/p/mupen64plus/ Mupen64+], [http://aminet.net/package/misc/emu/tr-981125_src TR64], |<!--AmigaOS4--> |<!--MorphOS--> |- |<!--Sub Menu-->[ Nintendo Gamecube Wii] |<!--AROS--> |<!--Amiga OS--> |<!--AmigaOS4--> |<!--MorphOS--> |- |<!--Sub Menu-->[ Nintendo Wii U] |<!--AROS--> |<!--Amiga OS--> |<!--AmigaOS4--> |<!--MorphOS--> |- |<!--Sub Menu-->[https://github.com/yuzu-emu Nintendo Switch] |<!--AROS--> |<!--Amiga OS--> |<!--AmigaOS4--> |<!--MorphOS--> |- |<!--Sub Menu-->Games Emulation NEC PC Engine |<!--AROS-->[], [], [https://github.com/yhzmr442/jspce js-pce], |[http://www.hugo.fr.fm/ Hugo], [http://mednafen.sourceforge.net/ Mednafen], |<!--AmigaOS4-->[http://www.os4depot.net/index.php?function=browse&cat=emulation/gamesystem tgemu] |<!--MorphOS--> |- |<!--Sub Menu-->Games Emulation Sega Master System (SMS) |<!--AROS-->[http://archives.arosworld.org/index.php?function=browse&cat=emulation/gamesystem Dega], [http://archives.arosworld.org/index.php?function=browse&cat=emulation/gamesystem sms], |<!--Amiga OS--> |<!--AmigaOS4-->[http://www.os4depot.net/index.php?function=browse&cat=emulation/gamesystem osmose] |<!--MorphOS--> |- |<!--Sub Menu-->Games Emulation Sega Genesis/Megadrive |<!--AROS-->[http://archives.arosworld.org/index.php?function=browse&cat=emulation/gamesystem gp no sound], [http://archives.arosworld.org/index.php?function=browse&cat=emulation/gamesystem DGen], |<!--Amiga OS-->[http://code.google.com/p/genplus-gx/ Genplus], |<!--AmigaOS4-->[http://www.os4depot.net/index.php?function=browse&cat=emulation/gamesystem genesisplus] |<!--MorphOS--> |- |<!--Sub Menu-->Games Emulation Sega Saturn *HLE [https://mednafen.github.io/ mednafen], [http://yabause.org/ yabause], [], *LLE [], [], |<!--AROS-->? |<!--Amiga OS-->[http://yabause.org/ Yabause], |<!--AmigaOS4--> |<!--MorphOS--> |- |<!--Sub Menu-->Games Emulation Sega Dreamcast *HLE [https://github.com/flyinghead/flycast flycast], [https://code.google.com/archive/p/nulldc/downloads NullDC], *LLE [], [], |<!--AROS-->? |<!--Amiga OS--> |<!--AmigaOS4--> |<!--MorphOS--> |- |<!--Sub Menu-->Games Emulation Sinclair ZX80 and ZX81 |<!--AROS-->[http://archives.arosworld.org/index.php?function=browse&cat=emulation/computer], [], [], |<!--Amiga OS--> |<!--AmigaOS4--> |<!--MorphOS--> |- |<!--Sub Menu-->Games Emulation Sinclair Spectrum |[http://archives.arosworld.org/index.php?function=browse&cat=emulation/computer Fuse (crackly sound)], [http://archives.arosworld.org/index.php?function=browse&cat=emulation/computer SimCoupe], [ FBZX slow], [https://jsspeccy.zxdemo.org/ jsspeccy], [http://torinak.com/qaop/games qaop], |<!--Amiga OS-->[http://www.lasernet.plus.com/ Asp], [http://www.zophar.net/sinclair.html Speculator], [http://www.worldofspectrum.org/x128/index.html X128], |<!--AmigaOS4-->[http://www.os4depot.net/index.php?function=browse&cat=emulation/computer] |<!--MorphOS--> |- |<!--Sub Menu-->Games Emulation Sinclair QL |<!--AROS-->[http://archives.arosworld.org/index.php?function=browse&cat=emulation/computer], [], |<!--Amiga OS-->[http://aminet.net/package/misc/emu/QDOS4amiga1 QDOS4amiga] |<!--AmigaOS4--> |<!--MorphOS--> |- |<!--Sub Menu-->Games Emulation SNK NeoGeo Pocket |<!--AROS-->[http://archives.arosworld.org/index.php?function=browse&cat=emulation/gamesystem], |<!--Amiga OS--> |<!--AmigaOS4-->[http://www.os4depot.net/index.php?function=browse&cat=emulation/gamesystem gngeo], NeoPop, |<!--MorphOS--> |- |<!--Sub Menu-->Games Emulation Sony PlayStation |<!--AROS-->[http://archives.arosworld.org/index.php?function=browse&cat=emulation/gamesystem FPSE], |<!--Amiga OS--> |<!--AmigaOS4-->[http://www.os4depot.net/index.php?function=browse&cat=emulation/gamesystem FPSE] |<!--MorphOS--> |- |<!--Sub Menu-->[ Sony PS2] |<!--AROS--> |<!--Amiga OS--> |<!--AmigaOS4--> |<!--MorphOS--> |- |<!--Sub Menu-->[ Sony PS3] |<!--AROS--> |<!--Amiga OS--> |<!--AmigaOS4--> |<!--MorphOS--> |- |<!--Sub Menu-->[https://vita3k.org/ Sony Vita] |<!--AROS--> |<!--Amiga OS--> |<!--AmigaOS4--> |<!--MorphOS--> |- |<!--Sub Menu-->[https://github.com/shadps4-emu/shadPS4 PS4] |<!--AROS--> |<!--Amiga OS--> |<!--AmigaOS4--> |<!--MorphOS--> |- |<!--Sub Menu-->Games Emulation [http://en.wikipedia.org/wiki/Tangerine_Computer_Systems Tangerine] Oric and Atmos |<!--AROS-->[http://archives.arosworld.org/index.php?function=browse&cat=emulation/computer Oricutron] |<!--Amiga OS--> |<!--AmigaOS4-->[http://www.os4depot.net/index.php?function=browse&cat=emulation/gamesystem Oricutron] |<!--MorphOS-->[http://aminet.net/package/misc/emu/oricutron Oricutron] |- |<!--Sub Menu-->Games Emulation TI 99/4 99/4A [https://github.com/wavemotion-dave/DS994a DS994a], [], [https://js99er.net/#/ js99er], [], [http://aminet.net/package/misc/emu/TI4Amiga TI4Amiga], [http://aminet.net/package/misc/emu/TI4Amiga_src TI4Amiga src in c], |<!--AROS-->[http://archives.arosworld.org/index.php?function=browse&cat=emulation/computer], |<!--Amiga OS--> |<!--AmigaOS4--> |<!--MorphOS--> |- |<!--Sub Menu-->Games Emulation HP 38G 40GS 48 49G/50G Graphing Calculators |<!--AROS--> |<!--Amiga OS--> |<!--AmigaOS4--> |<!--MorphOS--> |- |<!--Sub Menu-->Games Emulation TI 58 83 84 85 86 - 89 92 Graphing Calculators |<!--AROS--> |<!--Amiga OS--> |<!--AmigaOS4--> |<!--MorphOS--> |- |<!--Sub Menu--> |<!--AROS--> |<!--Amiga OS--> |<!--AmigaOS4--> |<!--MorphOS--> |- |} {| class="wikitable sortable" |- !width:10%;|Games [https://www.rockpapershotgun.com/ General] !width:10%;|AROS(x86) !width:10%;|AmigaOS3(68k) !width:10%;|AmigaOS4(PPC) !width:10%;|MorphOS(PPC) |- style="background:lightgrey; text-align:center; font-weight:bold;" | Games [https://www.trackawesomelist.com/michelpereira/awesome-open-source-games/ Open Source and others] || AROS || Amiga OS || Amiga OS4 || Morphos |- |<!--Sub Menu-->Games Action like [https://github.com/opentomb/OpenTomb opentomb], [https://github.com/LostArtefacts/TRX TRX formerly Tomb1Main], [https://github.com/TombEngine TombEngine], [http://archives.arosworld.org/index.php?function=browse&cat=game/action Thrust], [https://github.com/fragglet/sdl-sopwith sdl sopwith], |<!--AROS-->[http://archives.arosworld.org/index.php?function=browse&cat=game/action], [https://archives.arosworld.org/index.php?function=browse&cat=game/action BOH], [], |<!--Amiga OS-->[https://github.com/BSzili/OpenLara/tree/amiga/src source of openlara SDL2], |<!--AmigaOS4--> |<!--MorphOS--> |- |<!--Sub Menu-->Games Adventure like [http://dotg.sourceforge.net/ DMJ], [https://github.com/kromenak/gengine Gabriel Knight 3], [http://www.sarien.net/ Sierra Sarien], [https://github.com/klembot/twinejs twine js], [], |<!--AROS-->[http://archives.arosworld.org/index.php?function=browse&cat=game/adventure dmagnetic], [https://archives.arosworld.org/?function=browse&cat=emulation/misc ScummVM], [https://archives.arosworld.org/index.php?function=browse&cat=game/roleplaying frotz infocom], [], |<!--Amiga OS--> |<!--AmigaOS4--> |<!--MorphOS--> |- |<!--Sub Menu-->Games Board like [https://github.com/aperture-software/colditz-escape escape from colditz], [], |<!--AROS-->[http://archives.arosworld.org/index.php?function=browse&cat=game/board], [http://amigan.1emu.net/releases Africa] |<!--Amiga OS--> |<!--AmigaOS4--> |<!--MorphOS--> |- |<!--Sub Menu-->Games Cards |<!--AROS-->[https://archives.arosworld.org/index.php?function=browse&cat=game/card ], [], |<!--AmigaOS-->[http://home.arcor.de/amigasolitaire/e/welcome.html Reko], [https://github.com/samskivert/beschei-en beschei Src], |<!--AmigaOS4--> |<!--MorphOS--> |- |<!--Sub Menu-->Games Misc [https://github.com/michelpereira/awesome-open-source-games Awesome open], [https://github.com/bobeff/open-source-games General Open Source], [https://github.com/SAT-R/sa2 Sonic Advance 2], [https://github.com/velorek1/cwordle Wordle type], |<!--AROS-->[http://archives.arosworld.org/index.php?function=browse&cat=game/misc], [], |<!--Amiga OS--> |<!--AmigaOS4--> |<!--MorphOS--> |- |<!--Sub Menu-->Games FPS like [https://aminet.net/package/game/shoot/D1X_Rebirth_AGA Descent D1X src], [https://github.com/DescentDevelopers/Descent3 Descent 3], [https://github.com/Fewnity/Counter-Strike-Nintendo-DS Counter-Strike-Nintendo-DS], [https://github.com/Aleph-One-Marathon/alephone Bungie Marathon 1994], [https://zdoom.org/downloads UzDoom opengl 3.3], [https://github.com/ZDoom/gzdoom gzdoom opengl 3+], [https://zdoom.org/downloads LZDoom opengl 2.1], |<!--AROS-->Doom, Quake, [http://archives.arosworld.org/index.php?function=browse&cat=game/fps Quake 3 Arena (OpenGL)], [http://archives.arosworld.org/index.php?function=browse&cat=game/fps Cube (OpenGL)], [http://archives.arosworld.org/index.php?function=browse&cat=game/fps Assault Cube (OpenGL)], [http://archives.arosworld.org/index.php?function=browse&cat=game/fps Cube 2 Sauerbraten (OpenGL)], [http://fodquake.net/test/ FodQuake QuakeWorld], [https://archives.arosworld.org/index.php?function=browse&cat=game/fps Duke Nukem 3D], [https://archives.arosworld.org/index.php?function=browse&cat=game/fps Darkplaces Nexuiz Xonotic], [http://archives.arosworld.org/index.php?function=browse&cat=game/fps Doom 3 SDL (OpenGL)], [http://archives.arosworld.org/index.php?function=browse&cat=game/fps Hexenworld and Hexen 2], [https://archives.arosworld.org/index.php?function=browse&cat=game/fps Aliens vs Predator Gold 2000 avp (openGL)], [https://archives.arosworld.org/index.php?function=browse&cat=game/fps Odamex (openGL doom)], [https://archives.arosworld.org/?function=showfile&file=game/fps/ zgloom], [], [https://archives.arosworld.org/?function=showfile&file=game/fps/ ab3dhd], [], |<!--Amiga OS-->Doom, Quake, AB3D, Fears, Breathless, Gloom, |<!--AmigaOS4-->Doom, Quake, |<!--MorphOS-->[http://morphos.lukysoft.cz/en/vypis.php?kat=12 Doom], Quake, Quake 3 Arena, [https://github.com/OpenXRay/xray-16 S.T.A.L.K.E.R Xray] |- |<!--Sub Menu-->Games MMORG like |<!--AROS-->[ Eternal Lands (OpenGL)], |<!--Amiga OS--> |<!--AmigaOS4--> |<!--MorphOS--> |- |<!--Sub Menu-->Games Platform like |<!--AROS-->[http://archives.arosworld.org/index.php?function=browse&cat=game/platform], [ Maze of Galious], [ Gish]*(openGL), [ Mega Mario], [https://archives.arosworld.org/?function=showfile&file=game/platform/ thextech SMBX], [http://www.gianas-return.de/ Giana's Return], [http://www.sqrxz.de/ Sqrxz], [www.sqrxz2.de/ Sqrxz 2], [http://www.sqrxz.de/sqrxz-3/ Sqrxz 3], [http://www.sqrxz.de/sqrxz-4/ Sqrxz 4], [http://archives.arosworld.org/index.php?function=browse&cat=game/platform Cave Story], [https://bszili.morphos.me/ Frogatto], [https://bszili.morphos.me/ OpenJazz], [https://archives.arosworld.org/?function=showfile&file=game/platform/ pekkakana2], [ Aquaria], [https://archives.arosworld.org/?function=showfile&file=game/platform/ sonic CD], [], |<!--Amiga OS-->[ Giana Sisters], [], |<!--AmigaOS4--> |<!--MorphOS--> |- |<!--Sub Menu-->Games Puzzle [https://github.com/mariopartyrd/marioparty4/tree/port Party], [https://github.com/mdodis/OpenSolomonsKey OpenSolomonsKey], [], |<!--AROS-->[http://archives.arosworld.org/index.php?function=browse&cat=game/puzzle], [ Cubosphere (OpenGL)], [http://archives.arosworld.org/index.php?function=browse&cat=game/puzzle Candy Crisis], [http://bszili.morphos.me/ TailTale], |<!--Amiga OS--> |<!--AmigaOS4--> |<!--MorphOS--> |- |<!--Sub Menu-->Games Racing [ Trigger Rally], [ VDrift], [http://www.ultimatestunts.nl/index.php?page=2&lang=en Ultimate Stunts], [http://maniadrive.raydium.org/ Mania Drive], [https://github.com/plowteam/donut Simpsons Hit and Run], [], |<!--AROS-->[ Super Tux Kart (OpenGL)], [http://www.dusabledanslherbe.eu/AROSPage/F1Spirit.30.html F1 Spirit (OpenGL)], [http://bszili.morphos.me/index.html MultiRacer], [https://bszili.morphos.me/ Speed Dreams], [], |<!--AmigaOS--> |<!--AmigaOS4-->[http://bszili.morphos.me/index.html Speed Dreams], |<!--MorphOS-->[http://morphos.lukysoft.cz/en/vypis.php?kat=12], [http://bszili.morphos.me/index.html TORCS], |- |<!--Sub Menu-->Games 1st first person DRPG [https://wiki.rpg.net/index.php/Open_Game_Systems Misc], [https://github.com/OpenEnroth/OpenEnroth OpenEnroth MM], [] |<!--AROS-->[https://github.com/BSzili/aros-stuff Arx Libertatis], [http://www.playfuljs.com/a-first-person-engine-in-265-lines/ js raycaster], [https://github.com/Dorthu/es6-crpg webgl], [https://github.com/sonountaleban/AmiShockolate System Shock], [], [], |<!--AmigaOS-->Phantasie, Faery Tale, Dungeon Master, |<!--AmigaOS4--> |<!--MorphOS--> |- |<!--Sub Menu-->Games 3rd third person action CRPG [https://sourceforge.net/projects/sumwars/ Summoning Wars], [https://www.solarus-games.org/ Solarus], [https://wiki.rpg.net/index.php/Open_Game_Systems Misc], [https://github.com/alexbatalov/fallout1-ce fallout ce], [https://github.com/rwengine/openrw gta3], [https://github.com/gta-reversed/gta-reversed gta3 sa], [https://github.com/mrxenginner/reVC gta3 vc revc], |<!--AROS-->[https://archives.arosworld.org/?function=showfile&file=game/strategy/ fheroes2 homm2], [https://archives.arosworld.org/?function=showfile&file=game/roleplaying/ breakhack], [https://archives.arosworld.org/?function=showfile&file=game/roleplaying/ devilutionx diablo 1 hellfire], [https://archives.arosworld.org/?function=showfile&file=game/roleplaying/ fallout 1], [https://archives.arosworld.org/?function=showfile&file=game/strategy/ stratagus], [https://archives.arosworld.org/?function=showfile&file=game/strategy/ hostile-takeover], [], |<!--Amiga OS--> |<!--AmigaOS4--> |<!--MorphOS--> |- |<!--Sub Menu-->Games isometric RPG [https://sourceforge.net/projects/sumwars/ Summoning Wars], [https://www.solarus-games.org/ Solarus], [https://wiki.rpg.net/index.php/Open_Game_Systems Misc], [https://github.com/topics/dungeon?l=javascript Dungeon], [], [https://github.com/clintbellanger/heroine-dusk JS Dusk], |<!--AROS-->[http://archives.arosworld.org/index.php?function=browse&cat=game/roleplaying nethack], [https://archives.arosworld.org/index.php?function=browse&cat=game/roleplaying GemRB], [], |<!--Amiga OS--> |<!--AmigaOS4--> |<!--MorphOS--> |- |<!--Sub Menu-->Games card based RPG [https://github.com/open-duelyst/duelyst Duelyst], [], [], |<!--AROS--> |<!--Amiga OS--> |<!--AmigaOS4--> |<!--MorphOS--> |- |<!--Sub Menu-->Games turn based tactics RPG [], [], [], [], [], [], |<!--AROS-->[https://archives.arosworld.org/index.php?function=browse&cat=game/strategy UFO AI], [http://play.freeciv.org/ FreeCiv], [], [], |<!--Amiga OS--> |<!--AmigaOS4--> |<!--MorphOS--> |- |<!--Sub Menu-->Games Strategy [http://rtsgus.org/ RTSgus], [http://stargus.sourceforge.net/ Stargus], [https://github.com/KD-lab-Open-Source/Perimeter Perimeter], [https://matty77.itch.io/conflict-3049 conflict-3049], [], |<!--AROS-->[http://archives.arosworld.org/index.php?function=browse&cat=game/strategy MegaGlest (OpenGL)], [https://archives.arosworld.org/?function=showfile&file=game/strategy/ signus], [https://www.arosworld.org/infusions/forum/viewthread.php?thread_id=1443&rowstart=140&pid=12446#post_12446 Wargus warcraft 2 setup], |<!--Amiga OS--> |<!--AmigaOS4--> |<!--MorphOS-->[http://morphos.lukysoft.cz/en/vypis.php?kat=12] |- |<!--Sub Menu-->Games Rhythm, Beat, Step [], [], [https://clonehero.net/ clonehero], [https://github.com/MatteoGodzilla/Dj-Engine Dj-Engine], |<!--AROS-->[https://archives.arosworld.org/index.php?function=browse&cat=game/misc Frets on Fire], [], |<!--Amiga OS--> |<!--AmigaOS4--> |<!--MorphOS--> |- |<!--Sub Menu-->Games Shoot Em Ups [http://www.mhgames.org/oldies/formido/ Formido], [http://code.google.com/p/violetland/ Violetland], ||<!--AROS-->[https://archives.arosworld.org/index.php?function=browse&cat=game/action Open Tyrian], [http://www.parallelrealities.co.uk/projects/starfighter.php Starfighter], [ Alien Blaster], [https://github.com/OpenFodder/openfodder OpenFodder], [https://archives.arosworld.org/?function=showfile&file=game/action/ tbftss The Battle for the Solar System: the Pandora War] |<!--AmigaOS--> |<!--AmigaOS4-->[http://www.parallelrealities.co.uk/projects/starfighter.php Starfighter], [ The Battle for the Solar System: the Pandora War] |<!--MorphOS--> |- |<!--Sub Menu-->Games Simulations [http://scp.indiegames.us/ Freespace 2], [http://www.heptargon.de/gl-117/gl-117.html GL117], [http://code.google.com/p/corsix-th/ Theme Hospital], [http://code.google.com/p/freerct/ Rollercoaster Tycoon], [http://hedgewars.org/ Hedgewars], [https://github.com/raceintospace/raceintospace raceintospace], [https://github.com/Return-To-The-Roots RTTR Settlers 2], [https://github.com/OoliteProject/oolite oolite elite], [https://github.com/fesh0r/newkind newkind elite], [], |<!--AROS--> |<!--Amiga OS-->SimCity, SimAnt, Sim Hospital, Theme Park, |<!--AmigaOS4--> |<!--MorphOS-->[http://morphos.lukysoft.cz/en/vypis.php?kat=12] |- |<!--Sub Menu-->Games Life Sim [https://github.com/ACreTeam/forest Animal Crossing], [ ], [], [], |<!--AROS--> |<!--Amiga OS--> |<!--AmigaOS4--> |<!--MorphOS--> |- |<!--Sub Menu-->Games Horror [https://github.com/Mikompilation/MikuPan Fatal Frame], [ ], [], [], |<!--AROS--> |<!--Amiga OS--> |<!--AmigaOS4--> |<!--MorphOS--> |- |<!--Sub Menu-->Games Sandbox Voxel Open World Exploration [https://github.com/ClassiCube/ Classicube],[http://www.michaelfogleman.com/craft/ Craft], [https://github.com/tothpaul/DelphiCraft DelphiCraft],[https://www.minetest.net/ Luanti formerly Minetest], [ infiniminer], |<!--AROS--> |<!--Amiga OS--> |<!--AmigaOS4--> |<!--MorphOS--> |- |<!--Sub Menu-->Battle Royale [https://bruh.io/ Play.Bruh.io], [https://www.coolmathgames.com/0-copter Copter Royale], [https://surviv.io/ Surviv.io], [https://nuggetroyale.io/#Ketchup Nugget Royale], [https://miniroyale2.io/ Miniroyale2.io], |<!--AROS--> |<!--Amiga OS--> |<!--AmigaOS4--> |<!--MorphOS--> |- |<!--Sub Menu-->Games Tower Defense [https://chriscourses.github.io/tower-defense/ HTML5], [https://github.com/SBardak/Tower-Defense-Game TD C++], [https://github.com/bdoms/love_defense LUA and LOVE], [https://github.com/HyOsori/Osori-WebGame HTML5], [https://github.com/PascalCorpsman/ConfigTD ConfigTD Pascal], [https://github.com/GloriousEggroll/wine-ge-custom Wine], [] |<!--AROS--> |<!--Amiga OS--> |<!--AmigaOS4--> |<!--MorphOS--> |- |<!--Sub Menu-->Games Visual Novel Engines [https://github.com/diane1f0cd/VisualNovelTemplate Visual Novel Template], [https://github.com/Kirilllive/tuesday-js Tuesday JS], [https://github.com/tejasnayak25/vnsutra vnsutra], [https://github.com/weetabix-su/renpsp-dev RenPSP], [https://github.com/Galladite27/ONScripter-EN ONScripter-EN], [https://github.com/NathanGuilhot/VNES-Raylib https://github.com/NathanGuilhot/VNES VNES in Raylib], [], |<!--AROS--> |<!--Amiga OS--> |<!--AmigaOS4--> |<!--MorphOS--> |- |<!--Sub Menu-->Games Virtual Reality VR [https://gitlab.com/madsbuvi/openmw openmw vr], [https://github.com/Team-Beef-Studios/BeefRaiderXR BeefRaiderXR], |<!--AROS--> |<!--Amiga OS--> |<!--AmigaOS4--> |<!--MorphOS--> |- |<!--Sub Menu-->Games Virtual Table Top VTT [ Roll20], [https://www.owlbear.rodeo/ owlbear rodeo], [], [], |<!--AROS--> |<!--Amiga OS--> |<!--AmigaOS4--> |<!--MorphOS--> |- |<!--Sub Menu-->Games Computer assisted TableTop TTRPG OSR [https://www.rpgsolo.com/play.php RPGSolo], [https://github.com/fpsvogel/solo-ttrpgs Solo TTRPG], [], [], |<!--AROS--> |<!--Amiga OS--> |<!--AmigaOS4--> |<!--MorphOS--> |- |<!--Sub Menu-->Games 2D 3D Engines [https://github.com/fegennari/3DWorld 3DWorld], [https://github.com/GarageGames/Torque3D Torque3D], [https://github.com/gameplay3d/GamePlay GamePlay 3D], [https://www.babylonjs.com/ BabylonJS ], [ Godot], [ Ogre], [ Crystal Space], [https://github.com/JacobHess03/ Dragon-Quest like], [https://github.com/bjornbytes/lovr Lua LOVE for 2D LOVR for 3D], [], |<!--AROS-->[https://www.arkhamdev.net/wiki.htm?id=agx Arkham Development antiryadgx 8.9 lts with register], [], |<!--Amiga OS--> |<!--AmigaOS4--> |<!--MorphOS--> |- |<!--Sub Menu-->Games C based game frameworks [https://github.com/orangeduck/Corange Corange], [https://github.com/scottcgi/Mojoc Mojoc], [https://orx-project.org/ Orx], [https://github.com/ioquake/ioq3 Quake 3], [https://www.mapeditor.org/ Tiled], [https://www.raylib.com/ 2d Raylib], [https://github.com/Rabios/awesome-raylib other raylib], [https://github.com/MrFrenik/gunslinger Gunslinger], [https://o3de.org/ o3d], [http://archives.aros-exec.org/index.php?function=browse&cat=development/library GLFW], [], |<!--AROS-->[http://archives.arosworld.org/index.php?function=browse&cat=development/library Raylib 5], |<!--Amiga OS--> |<!--AmigaOS4--> |<!--MorphOS--> |- |<!--Sub Menu-->Games RPGMaker MV/MZ-compatible projects [https://github.com/Psychronic-Games/RPGReactor RPGReactor js], |<!--AROS--> |<!--Amiga OS--> |<!--AmigaOS4--> |<!--MorphOS--> |- |<!--Sub Menu-->Games Virtual Pinball [https://github.com/vpinball/vpinball vpinball], [], |<!--AROS--> |<!--Amiga OS--> |<!--AmigaOS4--> |<!--MorphOS--> |- |<!--Sub Menu-->Games unpack unarc [], [], |<!--AROS--> |<!--Amiga OS--> |<!--AmigaOS4--> |<!--MorphOS--> |} ==Application Guides== [[#top|...to the top]] ===Web Browser=== OWB is now at version 2.0 (which got an engine refresh, from July 2015 to February 2019) and 3.0. This latest version has a good support for many/most web sites, even YouTube web page now works. This improved compatibility comes at the expense of higher RAM usage (now 1GB RAM is the absolute minimum). Also, keep in mind that the lack of a JIT (Just-In-Time) JS compiler on the 32 bit version, makes the web surfing a bit slow. Only the 64 bit version of OWB 2.0 will have JIT enabled, thus benefitting of more speed. There are tooltypes that can be added to the icon to provide further features JIT, MSE etc Certificates from [https://curl.se/docs/caextract.html ca certs], DNS tracking blocking with [https://easylist.to/easylist/easylist.txt easylist.txt] in PROGDIR:Conf before starting browser with enabled AdBlock [https://github.com/easylist/easylist/tree/master easylist], [https://gitlab.com/eyeo anti abp], [https://firebog.net/ big blocklist], [https://github.com/StevenBlack/hosts Steves], [], [], This can be enabled with OWB Odyssey with Windows -> Content Blocking and Windows -> Messages and enter https://www.youtube.com/api/stats/ads* https://www.youtube.com/pagead/adview* https://www.youtube.com#@##player-ads* into your custom filters Element blocker browser extension might be needed for [https://github.com/easylist/easylist/wiki/Youtube-Issues youtube], [ mid roll], [ pre roll], [ ], OWB speed is much better when running from RAM Disk, the best way is to add the below into your S:User-Startup which copies OWB drawer from Extras:Internet/OWB to RAM Disk: So add this : <pre> copy Extras:Internet/OWB Ram:OWB/ ALL CLONE >NIL: copy Extras:Internet/OWB.info Ram: >NIL: </pre> Open RAM Disk and open OWB drawer and double click on OWB icon so that the above icon tooltypes are activated Problems are that the copy time is long (around 20 seconds added in the background), but we can make it faster if we delete useless files from the OWB drawer (docs, …) If you don’t copy the drawer back onto the HD, you won’t save your cache, cookies, passwords… So you need a script for it. Error messages SSL error "cant verify with ca-certificates", check bios clock time date is correct Error 6, try checking networking prefs settings and Save / Use preferences again or a '''few times''' otherwise the network chipset may not be compatible with Aros [https://www.google.com/search?q=%s&udm=14 Google search without AI overview] ===E-mail=== YAM does not support SSL and most mail providers now switched to encrypted SMTP/POP3 connections ====SimpleMail==== SimpleMail supports IMAP and appears to work with GMail, but it's never been reliable enough, it can crash with large mailboxes. Please read more on this [http://www.freelists.org/list/simplemail-usr User list] GMail Be sure to activate the pop3 usage in your gmail account setup / configuration first. pop3: pop.gmail.com Use SSL: Yes Port: 995 smtp: smtp.gmail.com (with authentication) Use Authentication: Yes Use SSL: Yes Port: 465 or 587 Hotmail/MSN/outlook/Microsoft Mail mid-2017, all outlook.com accounts will be migrated to Office 365 / Exchange Most users are currently on POP which does not allow showing folders and many other features (technical limitations of POP3). With Microsoft IMAP you will get folders, sync read/unread, and show flags. You still won't get push though, as Microsoft has not turned on the IMAP Idle command as at Sept 2013. If you want to try it, you need to first remove (you can't edit) your pop account (long-press the account on the accounts screen, delete account). Then set it up this way: 1. Email/Password 2. Manual 3. IMAP 4. * Incoming: imap-mail.outlook.com, port 993, SSL/TLS should be checked * Outgoing: smtp-mail.outlook.com, port 587, SSL/TLS should be checked * POP server name pop-mail.outlook.com, port 995, POP encryption method SSL Yahoo Mail On April 24, 2002 Yahoo ceased to offer POP access to its free mail service. Introducing instead a yearly payment feature, allowing users POP3 and IMAP server support, along with such benefits as larger file attachment sizes and no adverts. Sorry to see Yahoo leaving its users to cough up for the privilege of accessing their mail. Understandable, when competing against rivals such as Gmail and Hotmail who hold a large majority of users and were hacked in 2014 as well. Incoming Mail (IMAP) Server * Server - imap.mail.yahoo.com * Port - 993 * Requires SSL - Yes Outgoing Mail (SMTP) Server * Server - smtp.mail.yahoo.com * Port - 465 or 587 * Requires SSL - Yes * Requires authentication - Yes Your login info * Email address - Your full email address (name@domain.com) * Password - Your account's password * Requires authentication - Yes Note that you need to enable “Web & POP Access” in your Yahoo Mail account to send and receive Yahoo Mail messages through any other email program. You will have to enable “Allow your Yahoo Mail to be POPed” under “POP and Forwarding”, to send and receive Yahoo mails through any other email client. Cannot be done since 2002 unless the customer pays Yahoo a subscription subs fee to have access to SMTP and POP3 * Set the POP server for incoming mails as pop.mail.yahoo.com. You will have to enable “SSL” and use 995 for Port. * “Account Name or Login Name” – Your Yahoo Mail ID i.e. your email address without the domain “@yahoo.com”. * “Email Address” – Your Yahoo Mail address i.e. your email address including the domain “@yahoo.com”. E.g. myname@yahoo.com * “Password” – Your Yahoo Mail password. Yahoo! Mail Plus users may have to set POP server as plus.pop.mail.yahoo.com and SMTP server as plus.smtp.mail.yahoo.com. * Set the SMTP server for outgoing mails as smtp.mail.yahoo.com. You will also have to make sure that “SSL” is enabled and use 465 for port. you must also enable “authentication” for this to work. ====YAM Yet Another Mailer==== YAM does not support SSL and most mail providers have now switched to encrypted SMTP/POP3 connections This email client is POP3 only if the SSL library is available [http://www.freelists.org/list/yam YAM Freelists] One of the downsides of using a POP3 mailer unfortunately - you have to set an option not to delete the mail if you want it left on the server. IMAP keeps all the emails on the server. Possible issues Sending mail issues is probably a matter of using your ISP's SMTP server, though it could also be an SSL issue. getting a "Couldn't initialise TLSv1 / SSL error Use of on-line e-mail accounts with this email client is not possible as it lacks the OpenSSL AmiSSl v3 compatible library GMail Incoming Mail (POP3) Server - requires SSL: pop.gmail.com Use SSL: Yes Port: 995 Outgoing Mail (SMTP) Server - requires TLS: smtp.gmail.com (use authentication) Use Authentication: Yes Use STARTTLS: Yes (some clients call this SSL) Port: 465 or 587 Account Name: your Gmail username (including '@gmail.com') Email Address: your full Gmail email address (username@gmail.com) Password: your Gmail password Anyway, the SMTP is pop.gmail.com port 465 and it uses SSLLv3 Authentication. The POP3 settings are for the same server (pop.gmail.com), only on port 995 instead. Outlook.com access <pre > Outlook.com SMTP server address: smtp.live.com Outlook.com SMTP user name: Your full Outlook.com email address (not an alias) Outlook.com SMTP password: Your Outlook.com password Outlook.com SMTP port: 587 Outlook.com SMTP TLS/SSL encryption required: yes </pre > Yahoo Mail <pre > “POP3 Server” – Set the POP server for incoming mails as pop.mail.yahoo.com. You will have to enable “SSL” and use 995 for Port. “SMTP Server” – Set the SMTP server for outgoing mails as smtp.mail.yahoo.com. You will also have to make sure that “SSL” is enabled and use 465 for port. you must also enable “authentication” for this to work. “Account Name or Login Name” – Your Yahoo Mail ID i.e. your email address without the domain “@yahoo.com”. “Email Address” – Your Yahoo Mail address i.e. your email address including the domain “@yahoo.com”. E.g. myname@yahoo.com “Password” – Your Yahoo Mail password. </pre > Yahoo! Mail Plus users may have to set POP server as plus.pop.mail.yahoo.com and SMTP server as plus.smtp.mail.yahoo.com. Note that you need to enable “Web & POP Access” in your Yahoo Mail account to send and receive Yahoo Mail messages through any other email program. You will have to enable “Allow your Yahoo Mail to be POPed” under “POP and Forwarding”, to send and receive Yahoo mails through any other email client. Cannot be done since 2002 unless the customer pays Yahoo a monthly fee to have access to SMTP and POP3 Microsoft Outlook Express Mail 1. Get the files to your PC. By whatever method get the files off your Amiga onto your PC. In the YAM folder you have a number of different folders, one for each of your folders in YAM. Inside that is a file usually some numbers such as 332423.283. YAM created a new file for every single email you received. 2. Open up a brand new Outlook Express. Just configure the account to use 127.0.0.1 as mail servers. It doesn't really matter. You will need to manually create any subfolders you used in YAM. 3. You will need to do a mass rename on all your email files from YAM. Just add a .eml to the end of it. Amazing how PCs still rely mostly on the file name so it knows what sort of file it is rather than just looking at it! There are a number of multiple renamers online to download and free too. 4. Go into each of your folders, inbox, sent items etc. And do a select all then drag the files into Outlook Express (to the relevant folder obviously) Amazingly the file format that YAM used is very compatible with .eml standard and viola your emails appear. With correct dates and working attachments. 5. If you want your email into Microsoft Outlook. Open that up and create a new profile and a new blank PST file. Then go into File Import and choose to import from Outlook Express. And the mail will go into there. And viola.. you have your old email from your Amiga in a more modern day format. ===FTP=== Magellan has a great FTP module. It allows transferring files from/to a FTP server over the Internet or the local network and, even if FTP is perceived as a "thing of the past", its usability is all inside the client. The FTP thing has a nice side effect too, since every Icaros machine can be a FTP server as well, and our files can be easily transferred from an Icaros machine to another with a little configuration effort. First of all, we need to know the 'server' IP address. Server is the Icaros machine with the file we are about to download on another Icaros machine, that we're going to call 'client'. To do that, move on the server machine and 1) run Prefs/Services to be sure "FTP file transfer" is enabled (if not, enable it and restart Icaros); 2) run a shell and enter this command: ifconfig -a Make a note of the IP address for the network interface used by the local area network. For cabled devices, it usually is net0:. Now go on the client machine and run Magellan: Perform these actions: 1) click on FTP; 2) click on ADDRESS BOOK; 3) click on "New". You can now add a new entry for your Icaros server machine: 1) Choose a name for your server, in order to spot it immediately in the address book. Enter the IP address you got before. 2) click on Custom Options: 1) go to Miscellaneous in the left menu; 2) Ensure "Passive Transfers" is NOT selected; 3) click on Use. We need to deactivate Passive Transfers because YAFS, the FTP server included in Icaros, only allows active transfers at the current stage. Now, we can finally connect to our new file source: 1) Look into the address book for the newly introduced server, be sure that name and IP address are right, and 2) click on Connect. A new lister with server's "MyWorkspace" contents will appear. You can now transfer files over the network choosing a destination among your local (client's) volumes. Can be adapted to any FTP client on any platform of your choice, just be sure your client allows Active Transfers as well. ===IRC Internet Relay Chat=== Jabberwocky is ideal for one-to-one social media communication, use IRC if you require one to many. Just type a message in ''lowercase''' letters and it will be posted to all in the [ AROS irc channel]. Please do not use UPPER CASE as it is a sign of SHOUTING which is annoying. Other things to type in - replace <message> with a line of text and <nick> with a person's name <pre> /help /list /who /whois <nick> /msg <nick> <message> /query <nick> <message>s /query /away <message> /away /quit <going away message> </pre> [http://irchelp.org/irchelp/new2irc.html#smiley Intro guide here]. IRC Primer can be found here in [http://www.irchelp.org/irchelp/ircprimer.html html], [http://www.irchelp.org/irchelp/text/ircprimer.txt TXT], [http://www.kei.com/irc/IRCprimer1.1.ps PostScript]. Issue the command /me <text> where <text> is the text that should follow your nickname. Example: /me slaps ajk around a bit with a large trout /nick <newNick> /nickserv register <password> <email address> /ns instead of /nickserv, while others might need /msg nickserv /nickserv identify <password> Alternatives: /ns identify <password> /msg nickserv identify <password> ==== IRC WookieChat ==== WookieChat is the most complete internet client for communication across the IRC Network. WookieChat allows you to swap ideas and communicate in real-time, you can also exchange Files, Documents, Images and everything else using the application's DCC capabilities. add smilies drawer/directory run wookiechat from the shell and set stack to 1000000 e.g. wookiechat stack 1000000 select a server / server window * nickname * user name * real name - optional Once you configure the client with your preferred screen name, you'll want to find a channel to talk in. servers * New Server - click on this to add / add extra - change details in section below this click box * New Group * Delete Entry * Connect to server * connect in new tab * perform on connect Change details * Servername - change text in this box to one of the below Server: * Port number - no need to change * Server password * Channel - add #channel from below * auto join - can click this * nick registration password, Click Connect to server button above <pre> Server: irc.freenode.net Channel: #aros </pre> irc://irc.freenode.net/aros <pre> Server: chat.amigaworld.net Channel: #amigaworld or #amigans </pre> <pre> On Sunday evenings USA time usually starting around 3PM EDT (1900 UTC) Server:irc.superhosts.net Channel #team*amiga </pre> <pre> BitlBee and Minbif are IRCd-like gateways to multiple IM networks Server: im.bitlbee.org Port 6667 Seems to be most useful on WookieChat as you can be connected to several servers at once. One for Bitlbee and any messages that might come through that. One for your normal IRC chat server. </pre> [http://www.bitlbee.org/main.php/servers.html Other servers], <pre> #Amiga.org - irc.synirc.net eu.synirc.net dissonance.nl.eu.synirc.net (IPv6: 2002:5511:1356:0:216:17ff:fe84:68a) twilight.de.eu.synirc.net zero.dk.eu.synirc.net us.synirc.net avarice.az.us.synirc.net envy.il.us.synirc.net harpy.mi.us.synirc.net liberty.nj.us.synirc.net snowball.mo.us.synirc.net - Ports 6660-6669 7001 (SSL) </pre> <pre> Multiple server support "Perform on connect" scripts and channel auto-joins Automatic Nickserv login Tabs for channels and private conversations CTCP PING, TIME, VERSION, SOUND Incoming and Outgoing DCC SEND file transfers Colours for different events Logging and automatic reloading of logs mIRC colour code filters Configurable timestamps GUI for changing channel modes easily Configurable highlight keywords URL Grabber window Optional outgoing swear word filter Event sounds for tabs opening, highlighted words, and private messages DCC CHAT support Doubleclickable URL's Support for multiple languages using LOCALE Clone detection Auto reconnection to Servers upon disconnection Command aliases Chat display can be toggled between AmIRC and mIRC style Counter for Unread messages Graphical nicklist and graphical smileys with a popup chooser </pre> ====IRC Aircos ==== Double click on Aircos icon in Extras:Networking/Apps/Aircos. It has been set up with a guest account for trial purposes. Though ideally, choose a nickname and password for frequent use of irc. ====IRC and XMPP Jabberwocky==== Servers are setup and close down at random You sign up to a server that someone else has setup and access chat services through them. The two ways to access chat from jabberwocky <pre > Jabberwocky -> Server -> XMPP -> open and ad-free Jabberwocky -> Server -> Transports (Gateways) -> Proprietary closed systems </pre > The Jabber.org service connects with all IM services that use XMPP, the open standard for instant messaging and presence over the Internet. The services we connect with include Google Talk (closed), Live Journal Talk, Nimbuzz, Ovi, and thousands more. However, you can not connect from Jabber.org to proprietary services like AIM, ICQ, MSN, Skype, or Yahoo because they don’t yet use XMPP components (XEP-0114) '''but''' you can use Jabber.com's servers and IM gateways (MSN, ICQ, Yahoo etc.) instead. The best way to use jabberwocky is in conjunction with a public jabber server with '''transports''' to your favorite services, like gtalk, Facebook, yahoo, ICQ, AIM, etc. You have to register with one of the servers, [https://list.jabber.at/ this list] or [http://www.jabberes.org/servers/ another list], [http://xmpp.net/ this security XMPP list], Unfortunately jabberwocky can only connect to one server at a time so it is best to check what services each server offers. If you set it up with separate Facebook and google talk accounts, for example, sometimes you'll only get one or the other. Jabberwocky open a window where the Jabber server part is typed in as well as your Nickname and Password. Jabber ID (JID) identifies you to the server and other users. Once registered the next step is to goto Jabberwocky's "Windows" menu and select the "Agents" option. The "Agents List" window will open. Roster (contacts list) [http://search.wensley.org.uk/ Chatrooms] (MUC) are available File Transfer - can send and receive files through the Jabber service but not with other services like IRC, ICQ, AIM or Yahoo. All you need is an installed webbrowser and OpenURL. Clickable URLs - The message window uses Mailtext.mcc and you can set a URL action in the MUI mailtext prefs like SYS:Utils/OpenURL %s NEWWIN. There is no consistent Skype like (H.323 VoIP) video conferencing available over Jabber. The move from xmpp to Jingle should help but no support on any amiga-like systems at the moment. [http://aminet.net/package/dev/src/AmiPhoneSrc192 AmiPhone] and [http://www.lysator.liu.se/%28frame,faq,nobg,useframes%29/ahi/v4-site/ Speak Freely] was an early attempt voice only contact. SIP and Asterisk are other PBX options. Facebook If you're using the XMPP transport provided by Facebook themselves, chat.facebook.com, it looks like they're now requiring SSL transport. This means jabberwocky method below will no longer work. The best thing to do is to create an ID on a public jabber server which has a Facebook gateway. <pre > 1. launch jabberwocky 2. if the login window doesn't appear on launch, select 'account' from the jabberwocky menu 3. your jabber ID will be user@chat.facebook.com where user is your user ID 4. your password is your normal facebook password 5. to save this for next time, click the popup gadget next to the ID field 6. click the 'add' button 7. click the 'close' button 8. click the 'connect' button </pre > you're done. you can also click the 'save as default account' button if you want. jabberwocky configured to auto-connect when launching the program, but you can configure as you like. there is amigaguide documentation included with jabberwocky. [http://amigaworld.net/modules/newbb/viewtopic.php?topic_id=37085&forum=32 Read more here] for Facebook users, you can log-in directly to Facebook with jabberwocky. just sign in as @chat.facebook.com with your Facebook password as the password Twitter For a few years, there has been added a twitter transport. Servers include [http://jabber.hot-chilli.net/ jabber.hot-chili.net], and . An [http://jabber.hot-chilli.net/tag/how-tos/ How-to] :Read [http://jabber.hot-chilli.net/2010/05/09/twitter-transport-working/ more] Instagram no support at the moment best to use a web browser based client ICQ The new version (beta) of StriCQ uses a newer ICQ protocol. Most of the ICQ Jabber Transports still use an older ICQ protocol. You can only talk one-way to StriCQ using the older Transports. Only the newer ICQv7 Transport lets you talk both ways to StriCQ. Look at the server lists in the first section to check. Register on a Jabber server, e.g. this one works: http://www.jabber.de/ Then login into Jabberwocky with the following login data e.g. xxx@jabber.de / Password: xxx Now add your ICQ account under the window->Agents->"Register". Now Jabberwocky connects via the Jabber.de server with your ICQ account. Yahoo Messenger although yahoo! does not use xmpp protocol, you should be able to use the transport methods to gain access and post your replies MSN early months of 2013 Microsoft will ditch MSN Messenger client and force everyone to use Skype...but MSN protocol and servers will keep working as usual for quite a long time.... Occasionally the Messenger servers have been experiencing problems signing in. You may need to sign in at www.outlook.com and then try again. It may also take multiple tries to sign in. (This also affects you if you’re using Skype.) You have to check each servers' Agents List to see what transports (MSN protocol, ICQ protocol, etc.) are supported or use the list address' provided in the section above. Then register with each transport (IRC, MSN, ICQ, etc.) to which you need access. After registering you can Connect to start chatting. msn.jabber.com/registered should appear in the window. From this [http://tech.dir.groups.yahoo.com/group/amiga-jabberwocky/message/1378 JW group] guide which helps with this process in a clear, step by step procedure. 1. Sign up on MSN's site for a passport account. This typically involves getting a Hotmail address. 2. Log on to the Jabber server of your choice and do the following: * Select the "Windows/Agents" menu option in Jabberwocky. * Select the MSN Agent from the list presented by the server. * Click the Register button to open a new window asking for: **Username = passort account email address, typically your hotmail address. **Nick = Screen name to be shown to anyone you add to your buddy list. **Password = Password for your passport account/hotmail address. * Click the Register button at the bottom of the new window. 3. If all goes well, you will see the MSN Gateway added to your buddy list. If not, repeat part 2 on another server. Some servers may show MSN in their list of available agents, but have not updated their software for the latest protocols used by MSN. 4. Once you are registered, you can now add people to your buddy list. Note that you need to include the '''msn.''' ahead of the servername so that it knows what gateway agent to use. Some servers may use a slight variation and require '''msg.gate.''' before the server name, so try both to see what works. If my friend's msn was amiga@hotmail.co.uk and my jabber server was @jabber.meta.net.nz.. then amiga'''%'''hotmail.com@'''msn.'''jabber.meta.net.nz or another the trick to import MSN contacts is that you don't type the hotmail URL but the passport URL... e.g. Instead of: goodvibe%hotmail.com@msn.jabber.com You type: goodvibe%passport.com@msn.jabber.com And the thing about importing contacts I'm afraid you'll have to do it by hand, one at the time... Google Talk any XMPP server will work, but you have to add your contacts manually. a google talk user is typically either @gmail.com or @talk.google.com. a true gtalk transport is nice because it brings your contacts to you and (can) also support file transfers to/from google talk users. implement Jingle a set of extensions to the IETF's Extensible Messaging and Presence Protocol (XMPP) support ended early 2014 as Google moved to Google+ Hangouts which uses it own proprietary format ===Video Player MPlayer=== Many of the menu features (such as doubling) do not work with the current version of mplayer but using 4:3 mplayer -vf scale=800:600 file.avi 16:9 mplayer -vf scale=854:480 file.avi if you want gui use; mplayer -gui 1 <other params> file.avi <pre > stack 1000000 ; using AspireOS 1.xx ; copy FROM SYS:Extras/Multimedia/MPlayer/ TO RAM:MPlayer ALL CLONE > Nil: ; using Icaros Desktop 1.x ; copy FROM SYS:Tools/MPlayer/ TO RAM:MPlayer ALL CLONE > Nil: ; using Icaros Desktop 2.x ; copy FROM SYS:Utilities/MPlayer/ TO RAM:MPlayer ALL CLONE > Nil: cd RAM:MPlayer run MPlayer -gui > Nil: ;run MPlayer -gui -ao ahi_dev -playlist http://www.radio-paralax.de/listen.pls > Nil: </pre > $ mplayer rtsp://127.0.0.1:554/sample_300kbit.mp4 MPlayer supports multicast streaming, and rtp/rtsp protocols (it might require [http://www.live555.com/openRTSP/ live555 library] to work with some streams). But you might have to build it where it's disabled. Also, multicast won't work with some AmiTCP-likes. MIAMI supported it, though. AROS supports IPv4 (old but works) and this includes the needed address space for RTP. If you mean multicast via RTP - mplayer handles it. You can even force UDP over TCP -rtsp-stream-over-tcp If the rtsp Real Time Streaming Protocol server needs authentification: -user -passwd MPlayer - Menu - Open Playlist and load already downloaded .pls or .m3u file - auto starts around 4 percent cache MPlayer - Menu - Open Stream and copy one of the .pls lines below into space allowed, press OK and press play button on main gui interface Old 8bit 16bit remixes chip tune game music http://www.radio-paralax.de/listen.pls http://scenesat.com/ http://www.shoutcast.com/radio/Amiga http://www.theoldcomputer.com/retro_radio/RetroRadio_Main.htm http://www.kohina.com/ http://www.remix64.com/ http://retrogamer.net/forum/ http://retroasylum.podomatic.com/rss2.xml http://retrogamesquad.com/ http://www.retronauts.com/ http://monsterfeet.com/noquarter/ http://www.retrogamingradio.com/ http://www.radiofeeds.co.uk/mp3.asp [[#top|...to the top]] ====ZunePaint==== simplified typical workflow * importing and organizing and photo management * making global and regional local correction(s) - recalculation is necessary after each adjustment as it is not in real-time * exporting your images in the best format available with the preservation of metadata Whilst achieving 80% of a great photo with just a filter, the remaining 20% comes from a manual fine-tuning of specific image attributes. For photojournalism, documentary, and event coverage, minimal touching is recommended. Stick to Camera Raw for such shots, and limit changes to level adjustment, sharpness, noise reduction, and white balance correction. For fashion or portrait shoots, a large amount of adjustment is allowed and usually ends up far from the original. Skin smoothing, blemish removal, eye touch-ups, etc. are common. Might alter the background a bit to emphasize the subject. Product photography usually requires a lot of sharpening, spot removal, and focus stacking. For landscape shots, best results are achieved by doing the maximum amount of preparation before/while taking the shot. No amount of processing can match timing, proper lighting, correct gear, optimal settings, etc. Excessive post-processing might give you a dramatic shot but best avoided in the long term. * White Balance - Left Amiga or F12 and K and under "Misc color effects" tab with a pull down for White Balance - color temperature also known as AKA tint (movies) or tones (painting) - warm temp raise red reduce green blue - cool raise blue lower red green * Exposure - exposure compensation, highlight/shadow recovery * Noise Reduction - during RAW development or using external software * Lens Corrections - distortion, vignetting, chromatic aberrations * Detail - capture sharpening and local contrast enhancement * Contrast - black point, levels (sliders) and curves tools (F12 and K) * Framing - straighten () and crop (F12 and F) * Refinements - color adjustments and selective enhancements - Left Amiga or F12 and K for RGB and YUV histogram tabs - * Resizing - enlarge for a print or downsize for the web or email (F12 and D) * Output Sharpening - customized for your subject matter and print/screen size White Balance - F12 and K scan your image for a shade which was meant to be white (neutral with each RGB value being equal) like paper or plastic which is in the same light as the subject of the picture. Use the dropper tool to select this color, similar colours will shift and you will have selected the perfect white balance for your part of the image - for the whole picture make sure RAZ or CLR button at the bottom is pressed before applying to the image above. Exposure correction F12 and K - YUV Y luminosity - RGB extra red tint - move red curve slightly down and move blue green curves slightly up Workflows in practice * Undo - Right AROS key or F12 and Z * Redo - Right AROS key or F12 and R First flatten your image (if necessary) and then do a rotation until the picture looks level. * Crop the picture. Click the selection button and drag a box over the area of the picture you want to keep. Press the crop button and the rest of the photo will be gone. * Adjust your saturation, exposure, hue levels, etc., (right AROS Key and K for color correction) until you are happy with the photo. Make sure you zoom in all of the way to 100% and look the photo over, zoom back out and move around. Look for obvious problems with the picture. * After coloring and exposure do a sharpen (Right AROS key and E for Convolution and select drop down option needed), e.g. set the matrix to 5x5 (roughly equivalent Amount to 60%) and set the Radius to 1.0. Click OK. And save your picture Implemented or would like to see for simplification and ease of use basic filters (presets) like black and white, monochrome, edge detection (sobel), motion/gaussian blur, * negative, sepiatone, retro vintage, night vision, colour tint, color gradient, color temperature, glows, fire, lightning, lens flare, emboss, filmic, pixelate mezzotint, antialias, etc. adjust / cosmetic tools such as crop, * reshaping tools, straighten, smear, smooth, perspective, liquify, bloat, pucker, push pixels in any direction, dispersion, transform like warp, blending with soft light, page-curl, whirl, ripple, fisheye, neon, etc. * red eye fixing, blemish remover, skin smoothing, teeth whitener, make eyes look brighter, desaturate, effects like oil paint, cartoon, pencil sketch, charcoal, noise/matrix like sharpen/unsharpen, (right AROS key with A for Artistic effects) * blend two image, gradient blend, masking blend, explode, implode, custom collage, surreal painting, comic book style, needlepoint, stained glass, watercolor, mosaic, stencil/outline, crayon, chalk, etc. borders such as * dropshadow, rounded, blurred, color tint, picture frame, film strip polaroid, bevelled edge, etc. brushes e.g. * frost, smoke, etc. and manual control of fix lens issues including vignetting (darkening), color fringing and barrel distortion, and chromatic and geometric aberration - lens and body profiles perspective correction levels - directly modify the levels of the tone-values of an image, by using sliders for highlights, midtones and shadows curves - Color Adjustment and Brightness/Contrast color balance one single color transparent (alpha channel (color information/selections) for masking and/or blending ) for backgrounds, etc. Threshold indicates how much other colors will be considered mixture of the removed color and non-removed colors decompose layer into a set of layers with each holding a different type of pattern that is visible within the image any selection using any selecting tools like lasso tool, marquee tool etc. the selection will temporarily be save to alpha If you create your image without transparency then the Alpha channel is not present, but you can add later. File formats like .psd (Photoshop file has layers, masks etc. contains edited sensor data. The original sensor data is no longer available) .xcf .raw .hdr Image Picture Formats * low dynamic range (JPEG, PNG, TIFF 8-bit), 16-bit (PPM, TIFF), typically as a 16-bit TIFF in either ProPhoto or AdobeRGB colorspace - TIFF files are also fairly universal – although, if they contain proprietary data, such as Photoshop Adjustment Layers or Smart Filters, then they can only be opened by Photoshop making them proprietary. * linear high dynamic range (HDR) images (PFM, [http://www.openexr.com/ ILM .EXR], jpg, [http://aminet.net/util/dtype cr2] (canon tiff based), hdr, NEF, CRW, ARW, MRW, ORF, RAF (Fuji), PEF, DCR, SRF, ERF, DNG files are RAW converted to an Adobe proprietary format - a container that can embed the raw file as well as the information needed to open it) An old version of [http://archives.aros-exec.org/index.php?function=browse&cat=graphics/convert dcraw] There is no single RAW file format. Each camera manufacturer has one or more unique RAW formats. RAW files contain the brightness levels data captured by the camera sensor. This data cannot be modified. A second smaller file, separate XML file, or within a database with instructions for the RAW processor to change exposure, saturation etc. The extra data can be changed but the original sensor data is still there. RAW is technically least compatible. A raw file is high-bit (usually 12 or 14 bits of information) but a camera-generated TIFF file will be usually converted by the camera (compressed, downsampled) to 8 bits. The raw file has no embedded color balance or color space, but the TIFF has both. These three things (smaller bit depth, embedded color balance, and embedded color space) make it so that the TIFF will lose quality more quickly with image adjustments than the raw file. The camera-generated TIFF image is much more like a camera processed JPEG than a raw file. A strong advantage goes to the raw file. The power of RAW files, such as the ability to set any color temperature non-destructively and will contain more tonal values. The principle of preserving the maximum amount of information to as late as possible in the process. The final conversion - which will always effectively represent a "downsampling" - should prevent as much loss as possible. Once you save it as TIFF, you throw away some of that data irretrievably. When saving in the lossy JPEG format, you get tremendous file size savings, but you've irreversibly thrown away a lot of image data. As long as you have the RAW file, original or otherwise, you have access to all of the image data as captured. Keyboard equivalence with Photoshop(tm) would help File PHOTOSHOP SHORTCUT GIMP New Ctrl+n New Open Ctrl+o Open Close Ctrl+w Close Save Ctrl+s Save Save as Shift+Ctrl+s Save as Revert F12 Revert Print Ctrl+p Print Exit Ctrl+q Quit Edit PHOTOSHOP SHORTCUT GIMP Undo/Redo (1 level) Ctrl+z Undo (Redo is Shift+Ctrl+z) Cut Ctrl+x Cut Copy Ctrl+c Copy Paste Ctrl+v Paste Paste Into Shift+Ctrl+v Paste Into Fill with FG color Alt+Backspace Fill with FG color Fill with BG color Control+Backspace Fill with BG color Image/Colors PHOTOSHOP SHORTCUT GIMP Levels Ctrl+l Levels Auto Contrast Shift+Ctrl+Alt+l Stretch Contrast (same?) Curves Ctrl+m Curves Color Balance Ctrl+b Color Balance Hue/Saturation Ctrl+u Hue-Saturation Desaturate Shift+Ctrl+u Desaturate Invert Ctrl+i Invert Default Colors d Default Colors Switch Colors x Switch Colors Layer PHOTOSHOP SHORTCUT GIMP New Layer Shift+Ctrl+n New Layer Layer via Copy Ctrl+j Duplicate Layer Bring (layer) to Front Shift+Ctrl+] Layer to Top Send (layer) to Back Shift+Ctrl+[ Layer to Bottom Bring (layer) Forward Ctrl+] Raise Layer Send (layer) Backward Ctrl+[ Lower Layer Select Top Layer Shift+Alt+] Select Top Layer Select Bottom Layer Shift+Alt+[ Select Bottom Layer Select One Layer Forward Alt+] Select Previous Layer Select One Layer Backward Alt+[ Select Next Layer Merge Down Ctrl+e Merge Down Merge Visible Shift+Ctrl+e Merge Visible Preserve Transparency / Keep Transparency Cycle Modes Forwards Shift+= Next Layer Mode Cycle Modes Backwards Shift+- Previous Layer Mode Select PHOTOSHOP SHORTCUT GIMP Select All Ctrl+a Select All Deselect Ctrl+d Select None Inverse Shift+Ctrl+i Invert Feather Ctrl+Alt+d Feather View PHOTOSHOP SHORTCUT GIMP Zoom In Ctrl+= Zoom In Zoom Out Ctrl+- Zoom Out Fit on Screen Ctrl+0 Zoom to Fit Window Actual Pixels Ctrl+Alt+0 Zoom 1:1 Show/Hide Extras Ctrl+h Toggle Show Selection (close enough?) Show/Hide Guides Ctrl+' Toggle Show Guides Show/Hide Grid Ctrl+Alt+' Toggle Show Grid Show/Hide Rulers Ctrl+r Toggle Show Rulers Snap Ctrl+; Snap to Guides Scroll View Up Page Up Scroll Page Up Scroll View Down Page Down Scroll Page Down Scroll View Left Ctrl+Page Up Scroll Page Left Scroll View Right Ctrl+Page Down Scroll Page Right Window/Dialogs PHOTOSHOP SHORTCUT GIMP ? F5 Tools Dialog Color Tab F6 Colors Dialog Layers Tab F7 Layers Dialog Info Tab F8 Image Information Tools PHOTOSHOP SHORTCUT GIMP Rectangular Marquee Tool m Rect Select Tool Elliptical Marquee Tool Shift+m Ellipse Select Tool *This is a toggle between 'Elliptical Marquee Tool' and 'Rectangular Marquee Tool' in Photoshop Move Tool v Move Tool Lasso Tool l Free Select Tool Magic Wand Tool w Fuzzy Select Tool Crop Tool c Crop & Resize Tool Airbrush Tool j Airbrush Tool Paintbrush Tool b Paintbrush Tool Clone Stamp Tool s Clone Stamp Tool Eraser Tool e Eraser Tool Gradient Tool g Blend Tool Paint Bucket Tool Shift+g Bucket Fill Tool *This is a toggle between 'Paint Bucket Tool' and 'Gradient Tool' in Photoshop Blur Tool r Convolve Tool Dodge Tool o DodgeBurn Tool Type Tool t Text Tool Pen Tool p Bezier Select Tool Eye Dropper Tool i Color Picker Tool Zoom Tool z Magnify Tool Previous Brush , Previous Brush Next Brush . Next Brush First Brush Shift+< First Brush Last Brush Shift+> Last Brush Decrease Brush Size [ Decrease Brush Size Increase Brush Size ] Increase Brush Size Decrease Brush Hardness { Decrease Brush Hardness Increase Brush Hardness } Increase Brush Hardness Help PHOTOSHOP SHORTCUT GIMP Help F1 Help Context Help Shift+F1 Context Help Misc. PHOTOSHOP SHORTCUT GIMP Last Filter Ctrl+f Repeat Last Filter ? Shift+Ctrl+f Reshow Last Filter Preferences Ctrl+k Preferences Liquify Shift+Ctrl+x IWarp (close enough?) Toggle Quick Mask q Toggle Quick Mask Spotlights - triangle of white opaque shape Cutting out and/or replacing unwanted background or features - select large areas with the selection option like the Magic Wand tool (aka Color Range) or the Lasso (quick and fast) with feather 2 to soften edge or the pen tool which adds points/lines/Bézier curves (better control but slower), hold down the shift button as you click to add extra points/areas of the subject matter to remove. Increase the tolerance to cover more areas. To subtract from your selection hold down alt as you're clicking. * Layer masks are a better way of working than Erase they clip (black hides/hidden white visible/reveal). Clone Stamp can be simulated by and brushes for other areas. * Leave the fine details like hair, fur, etc. to later with lasso and the shift key to draw a line all the way around your subject. Gradient Mapping - Inverse - Mask. i.e. Refine your selected image with edge detection and using the radius and edge options / adjuster (increase/decrease contrast) so that you will capture more fine detail from the background allowing easier removal. Remove fringe/halo saving image as png rather than jpg/jpeg to keep transparency background intact. Implemented [http://colorizer.org/ colour model representations] [http://paulbourke.net/texture_colour/colourspace/ Mathematical approach] - Photo stills are spatially 2d (h and w), but are colorimetrically 3d (r g and b, or H L S, or Y U V etc.) as well. * RGB - split cubed mapped color model for photos and computer graphics hardware using the light spectrum (adding and subtracting) * YUV - Y-Lightness U-blue/yellow V-red/cyan (similar to YPbPr and YCbCr) used in the PAL, NTSC, and SECAM composite digital TV color [http://crewofone.com/2012/chroma-subsampling-and-transcoding/#comment-7299 video] Histograms White balanced (neutral) if the spike happens in the same place in each channel of the RGB graphs. If not, you're not balanced. If you have sky you'll see the blue channel further off to the right. RGB is best one to change colours. These elements RGB is a 3-channel format containing data for Red, Green, and Blue in your photo scale between 0 and 255. The area in a picture that appears to be brighter/whiter contains more red color as compared to the area which is relatively darker. Similarly in the green channel the area that appears to be darker contains less amount of green color as compared to the area that appears to be brighter. Similarly in the blue channel the area appears to be darker contains less amount of blue color as compared to the area that appears to be brighter. Brightness luminance histogram also matches the green histogram more than any other color - human eye interprets green better e.g. RGB rough ratio 15/55/30% RGBA (RGB+A, A means alpha channel) . The alpha channel is used for "alpha compositing", which can mostly be associated as "opacity". AROS deals in RGB with two digits for every color (red, green, blue), in ARGB you have two additional hex digits for the alpha channel. The shadows are represented by the left third of the graph. The highlights are represented by the right third. And the midtones are, of course, in the middle. The higher the black peaks in the graph, the more pixels are concentrated in that tonal range (total black area). By moving the black endpoint, which identifies the shadows (darkness) and a white light endpoint (brightness) up and down either sides of the graph, colors are adjusted based on these points. By dragging the central one, can increased the midtones and control the contrast, raise shadows levels, clip or softly eliminate unsafe levels, alter gamma, etc... in a way that is much more precise and creative . RGB Curves * Move left endpoint (black point) up or right endpoint (white point) up brightens * Move left endpoint down or right endpoint down darkens Color Curves * Dragging up on the Red Curve increases the intensity of the reds in the image but * Dragging down on the Red Curve decreases the intensity of the reds and thus increases the apparent intensity of its complimentary color, cyan. Green’s complimentary color is magenta, and blue’s is yellow. <pre> Red <-> Cyan Green <->Magenta Blue <->Yellow </pre> YUV Best option to analyse and pull out statistical elements of any picture (i.e. separate luminance data from color data). The line in Y luma tone box represents the brightness of the image with the point in the bottom left been black, and the point in the top right as white. A low-contrast image has a concentrated clump of values nearer to the center of the graph. By comparison, a high-contrast image has a wider distribution of values across the entire width of the Histogram. A histogram that is skewed to the right would indicate a picture that is a bit overexposed because most of the color data is on the lighter side (increase exposure with higher value F), while a histogram with the curve on the left shows a picture that is underexposed. This is good information to have when using post-processing software because it shows you not only where the color data exists for a given picture, but also where any data has been clipped (extremes on edges of either side): that is, it does not exist and, therefore, cannot be edited. By dragging the endpoints of the line and as well as the central one, can increased the dark/shadows, midtones and light/bright parts and control the contrast, raise shadows levels, clip or softly eliminate unsafe levels, alter gamma, etc... in a way that is much more precise and creative . The U and V chroma parts show color difference components of the image. It’s useful for checking whether or not the overall chroma is too high, and also whether it’s being limited too much Can be used to create a negative image but also With U (Cb), the higher value you are, the more you're on the blue primary color. If you go to the low values then you're on blue complementary color, i.e. yellow. With V (Cr), this is the same principle but with Red and Cyan. e.g. If you push U full blue and V full red, you get magenta. If you push U full yellow and V full Cyan then you get green. YUV simultaneously adds to one side of the color equation while subtracting from the other. using YUV to do color correction can be very problematic because each curve alters the result of each other: the mutual influence between U and V often makes things tricky. You may also be careful in what you do to avoid the raise of noise (which happens very easily). Best results are obtained with little adjustments sunset that looks uninspiring and needs some color pop especially for the rays over the hill, a subtle contrast raise while setting luma values back to the legal range without hard clipping. Free royalty pictures, [www.freeimages.com ], [http://imageshack.us/ ], [http://photobucket.com/ ], [http://rawpixels.net/], [], [], [], ====Lunapaint==== Pixel based drawing app with onion-skin animation function Blocking, Shading, Coloring, adding detail <pre> b BRUSH e ERASER alt eyedropper v layer tool z ZOOM / MAGNIFY < > n spc panning m marque q lasso w same color selection / region </pre> <pre> , LM RM v V f filter F . size p , pick color [] last / next color </pre> There is not much missing in Lunapaint to be as good as FlipBook and then you have to take into account that Flipbook is considered to be amongst the best and easiest to use animation software out there. Ok to be honest Flipbook has some nice features that require more heavy work but those aren't so much needed right away, things like camera effects, sound, smart fill, export to different movie file formats etc. Tried Flipbook with my tablet and compared it to Luna. The feeling is the same when sketching. LunaPaint is very responsive/fluent to draw with. Just as Flipbook is, and that responsiveness is something its users have mentioned as one of the positive sides of said software. author was learning MUI. Some parts just have to be rewritten with proper MUI classes before new features can be added. * add [Frame Add] / [Frame Del] * whole animation feature is impossible to use. If you draw 2 color maybe but if you start coloring your cells then you get in trouble * pickup the entire image as a brush, not just a selection ? And consequently remove the brush from memory when one doesn't need it anymore. can pick up a brush and put it onto a new image but cropping isn't possible, nor to load/save brushes. * Undo is something I longed for ages in Lunapaint. * to import into the current layer, other types of images (e.g. JPEG) besides RAW64. * implement graphic tablet features support **GENERAL DRAWING** Miss it very much: UNDO ERASER COLORPICKER - has to show on palette too which color got picked. BACKGROUND COLOR -Possibility to select from "New project screen" Miss it somewhat: ICON for UNDO ICON for ERASER ICON for CLEAR SCREEN ( What can I say? I start over from scratch very often ) BRUSH - possibility to cut out as brush not just copy off image to brush **ANIMATING** Miss it very much: NUMBER OF CELLS - Possibity to change total no. of cells during project ANIM BRUSH - Possibility to pick up a selected part of cells into an animbrush Miss it somewhat: ADD/REMOVE FRAMES: Add/remove single frame In general LunaPaint is really well done and it feels like a new DeluxePaint version. It works with my tablet. Sure there's much missing of course but things can always be added over time. So there is great potential in LunaPaint that's for sure. Animations could be made in it and maybe put together in QuickVideo, saving in .gif or .mng etc some day. LAYERS -Layers names don't get saved globally in animation frames -Layers order don't change globally in an animation (perhaps as default?). EXPORTING IMAGES -Exporting frames to JPG/PNG gives problems with colors. (wrong colors. See my animatiopn --> My robot was blue now it's "gold" ) I think this only happens if you have layers. -Trying to flatten the layers before export doesn't work if you have animation frames only the one you have visible will flatten properly all other frames are destroyed. (Only one of the layers are visible on them) -Exporting images filenames should be for example e.g. file0001, file0002...file0010 instead as of now file1, file2...file10 LOAD/SAVE (Preferences) -Make a setting for the default "Work" folder. * Destroyed colors if exported image/frame has layers * mystic color cycling of the selected color while stepping frames back/forth (annoying) <pre> Deluxe Paint II enhanced key shortcuts NOTE: @ denotes the ALT key [Technique] F1 - Paint F2 - Single Colour F3 - Replace F4 - Smear F5 - Shade F6 - Cycle F7 - Smooth M - Colour Cycle [Brush] B - Restore O - Outline h - Halve brush size H - Double brush size x - Flip brush on X axis X - Double brush size on X axis only y - Flip on Y Y - Double on Y z - Rotate brush 90 degrees Z - Stretch [Stencil] ` - Stencil On [Miscellaneous] F9 - Info Bar F10 - Selection Bar @o - Co-Ordinates @a - Anti-alias @r - Colourise @t - Translucent TAB - Colour Cycle [Picture] L - Load S - Save j - Page to Spare(Flip) J - Page to Spare(Copy) V - View Page Q - Quit [General Keys] m - Magnify < - Zoom In > - Zoom Out [ - Palette Colour Up ] - Palette Colour Down ( - Palette Colour Left ) - Palette Colour Right , - Eye Dropper . - Pixel / Brush Toggle / - Symmetry | - Co-Ordinates INS - Perspective Control +/- - Brush Size (Fine Control) w - Unfilled Polygon W - Filled Polygon e - Unfilled Ellipse E - Filled Ellipse r - Unfilled Rectangle R - Filled Rectangle t - Type/text tool a - Select Font u/U - Undo d - Brush D - Filled Non-Uniform Polygon f/F - Fill Options g/G - Grid h/H - Brush Size (Coarse Control) K - Clear c - Unfilled Circle C - Filled Circle v - Line b - Scissor Select and Toggle B - Brush {,} - Toggle between two background colours </pre> ====Lodepaint==== Pixel based painting artwork app ====Grafx2==== Pixel based painting artwork app aesprite like [https://www.youtube.com/watch?v=59Y6OTzNrhk aesprite workflow keys and tablet use], [], ====Vector Graphics ZuneFIG==== Vector Image Editing of files .svg .ps .eps *Objects - raise lower rotate flip aligning snapping *Path - unify subtract intersect exclude divide *Colour - fill stroke *Stroke - size *Brushes - *Layers - *Effects - gaussian bevels glows shadows *Text - *Transform - AmiFIG ([http://epb.lbl.gov/xfig/frm_introduction.html xfig manual]) [[File:MyScreen.png|thumb|left|alt=Showing all Windows open in AmiFIG.|All windows available to AmiFIG.]] for drawing simple to intermediate vector graphic images for scientific and technical uses and for illustration purposes for those with talent ;Menu options * Load - fig format but import(s) SVG * Save - fig format but export(s) eps, ps, pdf, svg and png * PAN = Ctrl + Arrow keys * Deselect all points There is no selected object until you apply the tool, and the selected object is not highlighted. ;Metrics - to set up page and styles - first window to open on new drawings ;Tools - Drawing Primitives - set Attributes window first before clicking any Tools button(s) * Shapes - circles, ellipses, arcs, splines, boxes, polygon * Lines - polylines * Text "T" button * Photos - bitmaps * Compound - Glue, Break, Scale * POINTs - Move, Add, Remove * Objects - Move, Copy, Delete, Mirror, Rotate, Paste use right mouse button to stop extra lines, shapes being formed and the left mouse to select/deselect tools button(s) * Rotate - moves in 90 degree turns centered on clicked POINT of a polygon or square ;Attributes which provide change(s) to the above primitives * Color * Line Width * Line Style * arrowheads ;Modes Choose from freehand, charts, figures, magnet, etc. ;Library - allows .fig clip-art to be stored * compound tools to add .fig(s) together ;FIG 3.2 [http://epb.lbl.gov/xfig/fig-format.html Format] as produced by xfig version 3.2.5 <pre> Landscape Center Inches Letter 100.00 Single -2 1200 2 4 0 0 50 -1 0 12 0.0000 4 135 1050 1050 2475 This is a test.01 </pre> # change the text alignment within the textbox. I can choose left, center, or right aligned by either changing the integer in the second column from 0 (left) to 1 or 2 (center, or right). # The third integer in the row specifies fontcolor. For instance, 0 is black, but blue is 1 and Green3 is 13. # The sixth integer in the bottom row specifies fontface. 0 is Times-Roman, but 16 is Helvetica (a MATLAB default). # The seventh number is fontsize. 12 represents a 12pt fontsize. Changing the fontsize of an item really is as easy as changing that number to 20. # The next number is the counter-clockwise angle of the text. Notice that I have changed the angle to .7854 (pi/4 rounded to four digits=45 degrees). # twelfth number is the position according to the standard “x-axis” in Xfig units from the left. Note that 1200 Xfig units is equivalent to once inch. # thirteenth number is the “y-position” from the top using the same unit convention as before. * The nested text string is what you entered into the textbox. * The “01″ present at the end of that line in the .fig file is the closing tag. For instance, a change to \100 appends a @ symbol at the end of the period of that sentence. ; Just to note there are no layers, no 3d functions, no shading, no transparency, no animation [[#top|...to the top]] ===Audio=== # AHI uses linear panning/balance, which means that in the center, you will get -6dB. If an app uses panning, this is what you will get. Note that apps like Audio Evolution need panning, so they will have this problem. # When using AHI Hifi modes, mixing is done in 32-bit and sent as 32-bit data to the driver. The Envy24HT driver uses that to output at 24-bit (always). # For the Envy24/Envy24HT, I've made 16-bit and 24-bit inputs (called Line-in 16-bit, Line-in 24-bit etc.). There is unfortunately no app that can handle 24-bit recording. ====Music Mods==== Digital module (mods) trackers are music creation software using samples and sometimes soundfonts, audio plugins (VST, AU or RTAS), MIDI. Generally, MODs are similar to MIDI in that they contain note on/off and other sequence messages that control the mod player. Unlike (most) midi files, however, they also contain sound samples that the sequence information actually plays. MOD files can have many channels (classic amiga mods have 4, corresponding to the inbuilt sound channels), but unlike MIDI, each channel can typically play only one note at once. However, since that note might be a sample of a chord, a drumloop or other complex sound, this is not as limiting as it sounds. Like MIDI, notes will play indefinitely if they're not instructed to end. Most trackers record this information automatically if you play your music in live. If you're using manual note entry, you can enter a note-off command with a keyboard shortcut - usually Caps Lock. In fact when considering file size MOD is not always the best option. Even a dummy song wastes few kilobytes for nothing when a simple SID tune could be few hundreds bytes and not bigger than 64kB. AHX is another small format, AHX tunes are never larger than 64kB excluding comments. [https://www.youtube.com/watch?v=rXXsZfwgil Protrekkr] (previously aka [w:Juan_Antonio_Arguelles_Rius|NoiseTrekkr]) If Protrekkr does not start, please check if the Unit 0 has been setup in the AHI prefs and still not, go to the directory utilities/protrekkr and double click on the Protrekkr icon *Sample *Note - Effect *Track (column) - Pattern - Order It all starts with the Sample which is used to create Note(s) in a Track (column of a tracker) The Note can be changed with an Effect. A Track of Note(s) can be collected into a Pattern (section of a song) and these can be given Order to create the whole song. Patience (notes have to be entered one at a time) or playing the bassline on a midi controller (faster - see midi section above). Best approach is to wait until a melody popped into your head. *Up-tempo means the track should be reasonably fast, but not super-fast. *Groovy and funky imply the track should have some sort of "swing" feel, with plenty of syncopation or off beat emphasis and a recognizable, melodic bass line. *Sweet and happy mean upbeat melodies, a major key and avoiding harsh sounds. *Moody - minor key First, create a quick bass sound, which is basically a sine wave, but can be hand drawn for a little more variance. It could also work for the melody part, too. This is usually a bass guitar or some kind of synthesizer bass. The bass line is often forgotten by inexperienced composers, but it plays an important role in a musical piece. Together with the rhythm section the bass line forms the groove of a song. It's the glue between the rhythm section and the melodic layer of a song. The drums are just pink noise samples, played at different frequencies to get a slightly different sound for the kick, snare, and hihats. Instruments that fall into the rhythm category are bass drums, snares, hi-hats, toms, cymbals, congas, tambourines, shakers, etc. Any percussive instrument can be used to form part of the rhythm section. The lead is the instrument that plays the main melody, on top of the chords. There are many instruments that can play a lead section, like a guitar, a piano, a saxophone or a flute. The list is almost endless. There is a lot of overlap with instruments that play chords. Often in one piece an instrument serves both roles. The lead melody is often played at a higher pitch than the chords. Listened back to what was produced so far, and a counter-melody can be imagined, which can be added with a triangle wave. To give the ends of phrases some life, you can add a solo part with a crunchy synth. By hitting random notes in the key of G, then edited a few of them. For the climax of the song, filled out the texture with a gentle high-pitch pad… …and a grungy bass synth. The arrow at A points at the pattern order list. As you see, the patterns don't have to be in numerical order. This song starts with pattern "00", then pattern "02", then "03", then "01", etcetera. Patterns may be repeated throughout a song. The B arrow points at the song title. Below it are the global BPM and speed parameters. These determine the tempo of the song, unless the tempo is altered through effect commands during the song. The C arrow points at the list of instruments. An instrument may consist of multiple samples. Which sample will be played depends on the note. This can be set in the Instrument Editing screen. Most instruments will consist of just one sample, though. The sample list for the selected instrument can be found under arrow D. Here's a part of the main editing screen. This is where you put in actual notes. Up to 32 channels can be used, meaning 32 sounds can play simultaneously. The first six channels of pattern "03" at order "02" are shown here. The arrow at A points at the row number. The B arrow points at the note to play, in this case a C4. The column pointed at by the C arrow tells us which instrument is associated with that note, in this case instrument #1 "Kick". The column at D is used (mainly) for volume commands. In this case it is left empty which means the instrument should play at its default volume. You can see the volume column being used in channel #6. The E column tells us which effect to use and any parameters for that effect. In this case it holds the "F" effect, which is a tempo command. The "04" means it should play at tempo 4 (a smaller number means faster). Base pattern When I create a new track I start with what I call the base pattern. It is worthwhile to spend some time polishing it as a lot of the ideas in the base pattern will be copied and used in other patterns. At least, that's how I work. Every musician will have his own way of working. In "Wild Bunnies" the base pattern is pattern "03" at order "02". In the section about selecting samples I talked about the four different categories of instruments: drums, bass, chords and leads. That's also how I usually go about making the base pattern. I start by making a drum pattern, then add a bass line, place some chords and top it off with a lead. This forms the base pattern from which the rest of the song will grow. Drums Here's a screenshot of the first four rows of the base pattern. I usually reserve the first four channels or so for the drum instruments. Right away there are a couple of tricks shown here. In the first channel the kick, or bass drum, plays some notes. Note the alternating F04 and F02 commands. The "F" command alters the tempo of the song and by quickly alternating the tempo; the song will get some kind of "swing" feel. In the second channel the closed hi-hat plays a fairly simple pattern. Further down in the channel, not shown here, some open hi-hat notes are added for a bit of variation. In the third and fourth channel the snare sample plays. The "8" command is for panning. One note is panned hard to the left and the other hard to the right. One sample is played a semitone lower than the other. This results in a cool flanging effect. It makes the snare stand out a little more in the mix. Bass line There are two different instruments used for the bass line. Instrument #6 is a pretty standard synthesized bass sound. Instrument #A sounds a bit like a slap bass when used with a quick fade out. By using two different instruments the bass line sounds a bit more ”human”. The volume command is used to cut off the notes. However, it is never set to zero. Setting the volume to a very small value will result in a reverb-like effect. This makes the song sound more "live". The bass line hints at the chords that will be played and the key the song will be in. In this case the key of the song is D-major, a positive and happy key. Chords The D major chords that are being played here are chords stabs; short sounds with a quick decay (fade out). Two different instruments (#8 and #9) are used to form the chords. These instruments are quite similar, but have a slightly different sound, panning and volume decay. Again, the reason for this is to make the sound more human. The volume command is used on some chords to simulate a delay, to achieve more of a live feel. The chords are placed off-beat making for a funky rhythm. Lead Finally the lead melody is added. The other instruments are invaluable in holding the track together, but the lead melody is usually what catches people's attention. A lot of notes and commands are used here, but it looks more complex than it is. A stepwise ascending melody plays in channel 13. Channel 14 and 15 copy this melody, but play it a few rows later at a lower volume. This creates an echo effect. A bit of panning is used on the notes to create some stereo depth. Like with the bass line, instead of cutting off notes the volume is set to low values for a reverb effect. The "461" effect adds a little vibrato to the note, which sounds nice on sustained notes. Those paying close attention may notice the instrument used here for the lead melody is the same as the one used for the bass line (#6 "Square"), except played two or three octaves higher. This instrument is a looped square wave sample. Each type of wave has its own quirks, but the square wave (shown below) is a really versatile wave form. Song structure Good, catchy songs are often carefully structured into sections, some of which are repeated throughout the song with small variations. A typical pop-song structure is: Intro - Verse - Chorus - Verse - Chorus - Bridge - Chorus. Other single sectional song structures are <pre> Strophic or AAA Song Form - oldest story telling with refrain (often title of the song) repeated in every verse section melody AABA Song Form - early popular, jazz and gospel fading during the 1960s AB or Verse/Chorus Song Form - songwriting format of choice for modern popular music since the 1960s Verse/Chorus/Bridge Song Form ABAB Song Form ABAC Song Form ABCD Song Form AAB 12-Bar Song Form - three four-bar lines or sub-sections 8-Bar Song Form 16-Bar Song Form Hybrid / Compound Song Forms </pre> The most common building blocks are: #INTRODUCTION(INTRO) #VERSE #REFRAIN #PRE-CHORUS / RISE / CLIMB #CHORUS #BRIDGE #MIDDLE EIGHT #SOLO / INSTRUMENTAL BREAK #COLLISION #CODA / OUTRO #AD LIB (OFTEN IN CODA / OUTRO) The chorus usually has more energy than the verse and often has a memorable melody line. As the chorus is repeated the most often during the song, it will be the part that people will remember. The bridge often marks a change of direction in the song. It is not uncommon to change keys in the bridge, or at least to use a different chord sequence. The bridge is used to build up tension towards the big finale, the last repetition of chorus. Playing RCTRL: Play song from row 0. LSHIFT + RCTRL: Play song from current row. RALT: Play pattern from row 0. LSHIFT + RALT: Play pattern from current row. Left mouse on '>': Play song from row 0. Right mouse on '>': Play song from current row. Left mouse on '|>': Play pattern from row 0. Right mouse on '|>': Play pattern from current row. Left mouse on 'Edit/Record': Edit mode on/off. Right mouse on 'Edit/Record': Record mode on/off. Editing LSHIFT + ESCAPE: Switch large patterns view on/off TAB: Go to next track LSHIFT + TAB: Go to prev. track LCTRL + TAB: Go to next note in track LCTRL + LSHIFT + TAB: Go to prev. note in track SPACE: Toggle Edit mode On & Off (Also stop if the song is being played) SHIFT SPACE: Toggle Record mode On & Off (Wait for a key note to be pressed or a midi in message to be received) DOWN ARROW: 1 Line down UP ARROW: 1 Line up LEFT ARROW: 1 Row left RIGHT ARROW: 1 Row right PREV. PAGE: 16 Arrows Up NEXT PAGE: 16 Arrows Down HOME / END: Top left / Bottom right of pattern LCTRL + HOME / END: First / last track F5, F6, F7, F8, F9: Jump to 0, 1/4, 2/4, 3/4, 4/4 lines of the patterns + - (Numeric keypad): Next / Previous pattern LCTRL + LEFT / RIGHT: Next / Previous pattern LCTRL + LALT + LEFT / RIGHT: Next / Previous position LALT + LEFT / RIGHT: Next / Previous instrument LSHIFT + M: Toggle mute state of the current channel LCTRL + LSHIFT + M: Solo the current track / Unmute all LSHIFT + F1 to F11: Select a tab/panel LCTRL + 1 to 4: Select a copy buffer Tracking 1st and 2nd keys rows: Upper octave row 3rd and 4th keys rows: Lower octave row RSHIFT: Insert a note off / and * (Numeric keypad) or F1 F2: -1 or +1 octave INSERT / BACKSPACE: Insert or Delete a line in current track or current selected block. LSHIFT + INSERT / BACKSPACE: Insert or Delete a line in current pattern DELETE (NOT BACKSPACE): Empty a column or a selected block. Blocks (Blocks can also be selected with the mouse by holding the right button and scrolling the pattern with the mouse wheel). LCTRL + A: Select entire current track LCTRL + LSHIFT + A: Select entire current pattern LALT + A: Select entire column note in a track LALT + LSHIFT + A: Select all notes of a track LCTRL + X: Cut the selected block and copy it into the block-buffer LCTRL + C: Copy the selected block into the block-buffer LCTRL + V: Paste the data from the block buffer into the pattern LCTRL + I: Interpolate selected data from the first to the last row of a selection LSHIFT + ARROWS PREV. PAGE NEXT PAGE: Select a block LCTRL + R: Randomize the select columns of a selection, works similar to CTRL + I (interpolating them) LCTRL + U: Transpose the note of a selection to 1 seminote higher LCTRL + D: Transpose the note of a selection to 1 seminote lower LCTRL + LSHIFT + U: Transpose the note of a selection to 1 seminote higher (only for the current instrument) LCTRL + LSHIFT + D: Transpose the note of a selection to 1 seminote lower (only for the current instrument) LCTRL + H: Transpose the note of a selection to 1 octave higher LCTRL + L: Transpose the note of a selection to 1 octave lower LCTRL + LSHIFT + H: Transpose the note of a selection to 1 octave higher (only for the current instrument) LCTRL + LSHIFT + L: Transpose the note of a selection to 1 octave lower (only for the current instrument) LCTRL + W: Save the current selection into a file Misc LALT + ENTER: Switch between full screen / windowed mode LALT + F4: Exit program (Windows only) LCTRL + S: Save current module LSHIFT + S: Switch top right panel to synths list LSHIFT + I: Switch top right panel to instruments list <pre> C-x xh xx xx hhhh Volume B-x xh xx xx hhhh Jump to A#x xh xx xx hhhh hhhh Slide F-x xh xx xx hhhh Tempo D-x xh xx xx hhhh Pattern Break G#x xh xx xx hhhh </pre> h Hex 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F 10 11 12 13 d Dec 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 The Set Volume command: C. Input a note, then move the cursor to the effects command column and type a C. Play the pattern, and you shouldn't be able to hear the note you placed the C by. This is because the effect parameters are 00. Change the two zeros to a 40(Hex)/64(Dec), depending on what your tracker uses. Play back the pattern again, and the note should come in at full volume. The Position Jump command next. This is just a B followed by the position in the playing list that you want to jump to. One thing to remember is that the playing list always starts at 0, not 1. This command is usually in Hex. Onto the volume slide command: A. This is slightly more complex (much more if you're using a newer tracker, if you want to achieve the results here, then set slides to Amiga, not linear), due to the fact it depends on the secondary tempo. For now set a secondary tempo of 06 (you can play around later), load a long or looped sample and input a note or two. A few rows after a note type in the effect command A. For the parameters use 0F. Play back the pattern, and you should notice that when the effect kicks in, the sample drops to a very low volume very quickly. Change the effect parameters to F0, and use a low volume command on the note. Play back the pattern, and when the slide kicks in the volume of the note should increase very quickly. This because each part of the effect parameters for command A does a different thing. The first number slides the volume up, and the second slides it down. It's not recommended that you use both a volume up and volume down at the same time, due to the fact the tracker only looks for the first number that isn't set to 0. If you specify parameters of 8F, the tracker will see the 8, ignore the F, and slide the volume up. Using a slide up and down at same time just makes you look stupid. Don't do it... The Set Tempo command: F, is pretty easy to understand. You simply specify the BPM (in Hex) that you want to change to. One important thing to note is that values of lower than 20 (Hex) sets the secondary tempo rather than the primary. Another useful command is the Pattern Break: D. This will stop the playing of the current pattern and skip to the next one in the playing list. By using parameters of more than 00 you can also specify which line to begin playing from. Command 3 is Portamento to Note. This slides the currently playing note to another note, at a specified speed. The slide then stops when it reaches the desired note. <pre> C-2 1 000 - Starts the note playing --- 000 C-3 330 - Starts the slide to C-3 at a speed of 30. --- 300 - Continues the slide --- 300 - Continues the slide </pre> Once the parameters have been set, the command can be input again without any parameters, and it'll still perform the same function unless you change the parameters. This memory function allows certain commands to function correctly, such as command 5, which is the Portamento to Note and Volume Slide command. Once command 3 has been set up command 5 will simply take the parameters from that and perform a Portamento to Note. Any parameters set up for command 5 itself simply perform a Volume Slide identical to command A at the same time as the Portamento to Note. This memory function will only operate in the same channel where the original parameters were set up. There are various other commands which perform two functions at once. They will be described as we come across them. C-3 04 .. .. 09 00 ---> C-3 04 .. .. 09 00 C-3 04 .. .. 09 00 ---> C-3 04 .. .. 09 02 C-3 04 .. .. 09 00 ---> C-3 04 .. .. 09 05 C-3 04 .. .. 09 00 ---> C-3 04 .. .. 09 08 C-3 04 .. .. 09 00 ---> C-3 04 .. .. 09 0A C-3 04 .. .. 09 00 ---> C-3 04 .. .. 09 0D C-3 04 .. .. 09 10 ---> C-3 04 .. .. 09 10 (You can also switch on the Slider Rec to On, and perform parameter-live-recording, such as cutoff transitions, resonance or panning tweaking, etc..) Note: this command only works for volume/panning and fx datas columns. The next command we'll look at is the Portamento up/down: 1 and 2. Command 1 slides the pitch up at a specified speed, and 2 slides it down. This command works in a similar way to the volume slide, in that it is dependent on the secondary tempo. Both these commands have a memory dependent on each other, if you set the slide to a speed of 3 with the 1 command, a 2 command with no parameters will use the speed of 3 from the 1 command, and vice versa. Command 4 is Vibrato. Vibrato is basically rapid changes in pitch, just try it, and you'll see what I mean. Parameters are in the format of xy, where x is the speed of the slide, and y is the depth of the slide. One important point to remember is to keep your vibratos subtle and natural so a depth of 3 or less and a reasonably fast speed, around 8, is usually used. Setting the depth too high can make the part sound out of tune from the rest. Following on from command 4 is command 6. This is the Vibrato and Volume Slide command, and it has a memory like command 5, which you already know how to use. Command 7 is Tremolo. This is similar to vibrato. Rather than changing the pitch it slides the volume. The effect parameters are in exactly the same format. vibrato effect (0x1dxy) x = speed y = depth (can't be used if arpeggio (0x1b) is turned on) <pre> C-7 00 .. .. 1B37 <- Turn Arpeggio effect on --- .. .. .. 0000 --- .. .. .. 0000 --- .. .. .. 0000 --- .. .. .. 1B38 <- Change datas --- .. .. .. 0000 --- .. .. .. 0000 --- .. .. .. 0000 --- .. .. .. 1B00 <- Turn it off </pre> Command 9 is Sample Offset. This starts the playback of the sample from a different place than the start. The effect parameters specify the sample offset, but only very roughly. Say you have a sample which is 8765(Hex) bytes long, and you wanted it to play from position 4321(Hex). The effect parameter could only be as accurate as the 43 part, and it would ignore the 21. Command B is the Playing List/Order Jump command. The parameters specify the position in the Playing List/Order to jump to. When used in conjunction with command D you can specify the position and the line to play from. Command E is pretty complex, as it is used for a lot of different things, depending on what the first parameter is. Let's take a trip through each effect in order. Command E0 controls the hardware filter on an Amiga, which, as a low pass filter, cuts off the highest frequencies being played back. There are very few players and trackers on other system that simulate this function, not that you should need to use it. The second parameter, if set to 1, turns on the filter. If set to 0, the filter gets turned off. Commands E1/E2 are Fine Portamento Up/Down. Exactly the same functions as commands 1/2, except that they only slide the pitch by a very small amount. These commands have a memory the same as 1/2 as well. Command E3 sets the Glissando control. If parameters are set to 1 then when using command 3, any sliding will only use the notes in between the original note and the note being slid to. This produces a somewhat jumpier slide than usual. The best way to understand is to try it out for yourself. Produce a slow slide with command 3, listen to it, and then try using E31. Command E4 is the Set Vibrato Waveform control. This command controls how the vibrato command slides the pitch. Parameters are 0 - Sine, 1 - Ramp Down (Saw), 2 - Square. By adding 4 to the parameters, the waveform will not be restarted when a new note is played e.g. 5 - Sine without restart. Command E5 sets the Fine Tune of the instrument being played, but only for the particular note being played. It will override the default Fine Tune for the instrument. The parameters range from 0 to F, with 0 being -8 and F being +8 Fine Tune. A parameter of 8 gives no Fine Tune. If you're using a newer tracker that supports more than -8 to +8 e.g. -128 to +128, these parameters will give a rough Fine Tune, accurate to the nearest 16. Command E6 is the Jump Loop command. You mark the beginning of the part of a pattern that you want to loop with E60, and then specify with E6x the end of the loop, where x is the number of times you want it to loop. Command E7 is the Set Tremolo Waveform control. This has exactly the same parameters as command E4, except that it works for Tremolo rather than Vibrato. Command E9 is for Retriggering the note quickly. The parameter specifies the interval between the retrigs. Use a value of less than the current secondary tempo, or else the note will not get retrigged. Command EA/B are for Fine Volume Slide Up/Down. Much the same as the normal Volume Slides, except that these are easier to control since they don't depend on the secondary tempo. The parameters specify the amount to slide by e.g. if you have a sample playing at a volume of 08 (Hex) then the effect EA1 will slide this volume to 09 (Hex). A subsequent effect of EB4 would slide this volume down to 05 (Hex). Command EC is the Note Cut. This sets the volume of the currently playing note to 0 at a specified tick. The parameters should be lower than the secondary tempo or else the effect won't work. Command ED is the Note Delay. This should be used at the same time as a note is to be played, and the parameters will specify the number of ticks to delay playing the note. Again, keep the parameters lower than the secondary tempo, or the note won't get played! Command EE is the Pattern Delay. This delays the pattern for the amount of time it would take to play a certain number of rows. The parameters specify how many rows to delay for. Command EF is the Funk Repeat command. Set the sample loop to 0-1000. When EFx is used, the loop will be moved to 1000- 2000, then to 2000-3000 etc. After 9000-10000 the loop is set back to 0- 1000. The speed of the loop "movement" is defined by x. E is two times as slow as F, D is three times as slow as F etc. EF0 will turn the Funk Repeat off and reset the loop (to 0-1000). effects 0x41 and 0x42 to control the volumes of the 2 303 units There is a dedicated panel for synth parameter editing with coherent sections (osc, filter modulation, routing, so on) the interface is much nicer, much better to navigate with customizable colors, the reverb is now customizable (10 delay lines), It accepts newer types of Waves (higher bit rates, at least 24). Has a replay routine. It's pretty much your basic VA synth. The problem isn't with the sampler being to high it's the synth is tuned two octaves too low, but if you want your samples tuned down just set the base note down 2 octaves (in the instrument panel). so the synth is basically divided into 3 sections from left to right: oscillators/envelopes, then filter and LFO's, and in the right column you have mod routings and global settings. for the oscillator section you have two normal oscillators (sine, saw, square, noise), the second of which is tunable, the first one tunes with the key pressed. Attached to OSC 1 is a sub-oscillator, which is a sawtooth wave tuned one octave down. The phase modulation controls the point in the duty cycle at which the oscillator starts. The ADSR envelope sliders (grouped with oscs) are for modulation envelope 1 and 2 respectively. you can use the synth as a sampler by choosing the instrument at the top. In the filter column, the filter settings are: 1 = lowpass, 2 = highpass, 3 = off. cutoff and resonance. For the LFOs they are LFO 1 and LFO 2, the ADSR sliders in those are for the LFO itself. For the modulation routings you have ENV 1, LFO 1 for the first slider and ENV 2, LFO 2 for the second, you can cycle through the individual routings there, and you can route each modulation source to multiple destinations of course, which is another big plus for this synth. Finally the glide time is for portamento and master volume, well, the master volume... it can go quite loud. The sequencer is changed too, It's more like the one in AXS if you've used that, where you can mute tracks to re-use patterns with variation. <pre> Support for the following modules formats: 669 (Composer 669, Unis 669), AMF (DSMI Advanced Module Format), AMF (ASYLUM Music Format V1.0), APUN (APlayer), DSM (DSIK internal format), FAR (Farandole Composer), GDM (General DigiMusic), IT (Impulse Tracker), IMF (Imago Orpheus), MOD (15 and 31 instruments), MED (OctaMED), MTM (MultiTracker Module editor), OKT (Amiga Oktalyzer), S3M (Scream Tracker 3), STM (Scream Tracker), STX (Scream Tracker Music Interface Kit), ULT (UltraTracker), UNI (MikMod), XM (FastTracker 2), Mid (midi format via timidity) </pre> Possible plugin options include [http://lv2plug.in/ LV2], ====Midi - Musical Instrument Digital Interface==== A midi file typically contains music that plays on up to 16 channels (as per the midi standard), but many notes can simultaneously play on each channel (depending on the limit of the midi hardware playing it). '''Timidity''' Although usually already installed, you can uncompress the [http://www.libsdl.org/projects/SDL_mixer/ timidity.tar.gz (14MB)] into a suitable drawer like below's SYS:Extras/Audio/ assign timidity: SYS:Extras/Audio/timidity added to SYSːs/User-Startup '''WildMidi playback''' '''Audio Evolution 4 (2003) 4.0.23 (from 2012)''' *Sync Menu - CAMD Receive, Send checked *Options Menu - MIDI Machine Control - Midi Bar Display - Select CAMD MIDI in / out - Midi Remote Setup MCB Master Control Bus *Sending a MIDI start-command and a Song Position Pointer, you can synchronize audio with an external MIDI sequencer (like B&P). *B&P Receive, start AE, add AudioEvolution.ptool in Bars&Pipes track, press play / record in AE then press play in Pipes *CAMD Receive, receive MIDI start or continue commands via camd.library sync to AE *MIDI Machine Control *Midi Bar Display *Select CAMD MIDI in / out *Midi Remote Setup - open requester for external MIDI controllers to control app mixer and transport controls cc remotely Channel - mixer(vol, pan, mute, solo), eq, aux, fx, Subgroup - Volume, Mute, Solo Transport - Start, End, Play, Stop, Record, Rewind, Forward Misc - Master vol., Bank Down, Bank up <pre> q - quit First 3 already opened when AE started F1 - timeline window F2 - mixer F3 - control F4 - subgroups F5 - aux returns F6 - sample list i - Load sample to use space - start/stop play b - reset time 0:00 s - split mode r - open recording window a - automation edit mode with p panning, m mute and v volume [ / ] - zoom in / out : - previous track * - next track x c v f - cut copy paste cross-fade g - snap grid </pre> '''[http://bnp.hansfaust.de/ Bars n Pipes sequencer]''' BarsnPipes debug ... in shell Menu (right mouse) *Song - Songs load and save in .song format but option here to load/save Midi_Files .mid in FORMAT0 or FORMAT1 *Track - *Edit - *Tool - *Timing - SMTPE Synchronizing *Windows - *Preferences - Multiple MIDI-in option Windows (some of these are usually already opened when Bars n Pipes starts up for the first time) *Workflow -> Tracks, .... Song Construction, Time-line Scoring, Media Madness, Mix Maestro, *Control -> Transport (or mini one), Windows (which collects all the Windows icons together-shortcut), .... Toolbox, Accessories, Metronome, Once you have your windows placed on the screen that suits your workflow, Song -> Save as Default will save the positions, colors, icons, etc as you'd like them If you need a particular setup of Tracks, Tools, Tempos etc, you save them all as a new song you can load each time Right mouse menu -> Preferences -> Environment... -> ScreenMode - Linkages for Synch (to Slave) usbmidi.out.0 and Send (Master) usbmidi.in.0 - Clock MTC '''Tracks''' #Double-click on B&P's icon. B&P will then open with an empty Song. You can also double-click on a song icon to open a song in B&P. #Choose a track. The B&P screen will contain a Tracks Window with a number of tracks shown as pipelines (Track 1, Track 2, etc...). To choose a track, simply click on the gray box to show an arrow-icon to highlight it. This icon show whether a track is chosen or not. To the right of the arrow-icon, you can see the icon for the midi-input. If you double-click on this icon you can change the MIDI-in setup. #Choose Record for the track. To the right of the MIDI-input channel icon you can see a pipe. This leads to another clickable icon with that shows either P, R or M. This stands for Play, Record or Merge. To change the icon, simply click on it. If you choose P, this track can only play the track (you can't record anything). If you choose R, you can record what you play and it overwrites old stuff in the track. If you choose M, you merge new records with old stuff in the track. Choose R now to be able to make a record. #Chose MIDI-channel. On the most right part of the track you can see an icon with a number in it. This is the MIDI-channel selector. Here you must choose a MIDI-channel that is available on your synthesizer/keyboard. If you choose General MIDI channel 10, most synthesizer will play drum sounds. To the left of this icon is the MIDI-output icon. Double-click on this icon to change the MIDI-output configuration. #Start recording. The next step is to start recording. You must then find the control buttons (they look like buttons on a CD-player). To be able to make a record. you must click on the R icon. You can simply now press the play button (after you have pressed the R button) and play something on you keyboard. To playback your composition, press the Play button on the control panel. #Edit track. To edit a track, you simply double click in the middle part of a track. You will then get a new window containing the track, where you can change what you have recorded using tools provided. Take also a look in the drop-down menus for more features. Videos to help understand [https://www.youtube.com/watch?v=A6gVTX-9900 small intro], [https://www.youtube.com/watch?v=abq_rUTiSA4&t=3s Overview], [https://www.youtube.com/watch?v=ixOVutKsYQo Workplace Setup CC PC Sysex], [https://www.youtube.com/watch?v=dDnJLYPaZTs Import Song], [https://www.youtube.com/watch?v=BC3kkzPLkv4 Tempo Mapping], [https://www.youtube.com/watch?v=sd23kqMYPDs ptool Arpeggi-8], [https://www.youtube.com/watch?v=LDJq-YxgwQg PlayMidi Song], [https://www.youtube.com/watch?v=DY9Pu5P9TaU Amiga Midi], [https://www.youtube.com/watch?v=abq_rUTiSA4 Learning Amiga bars and Pipes], Groups like [https://groups.io/g/barsnpipes/topics this] could help '''Tracks window''' * blue "1 2 3 4 5 6 7 8 Group" and transport tape deck VCR-type controls * Flags * [http://theproblem.alco-rhythm.com/org/bp.html Track 1, Track2, to Track 16, on each Track there are many options that can be activated] Each Track has a *Left LHS - Click in grey box to select what Track to work on, Midi-In ptool icon should be here (5pin plug icon), and many more from the Toolbox on the Input Pipeline *Middle - (P, R, M) Play, Record, Merge/Multi before the sequencer line and a blue/red/yellow (Thru Mute Play) Tap *Right RHS - Output pipeline, can have icons placed uopn it with the final ptool icon(s) being the 5pin icon symbol for Midi-OUT Clogged pipelines may need Esc pressed several times '''Toolbox (tools affect the chosen pipeline)''' After opening the Toolbox window you can add extra Tools (.ptool) for the pipelines like keyboard(virtual), midimonitor, quick patch, transpose, triad, (un)quantize, feedback in/out, velocity etc right mouse -> Toolbox menu option -> Install Tool... and navigate to Tool drawer (folder) and select requried .ptool Accompany B tool to get some sort of rythmic accompaniment, Rythm Section and Groove Quantize are examples of other tools that make use of rythms [https://aminet.net/search?query=bars Bars & Pipes pattern format .ptrn] for drawer (folder). Load from the Menu as Track or Group '''Accessories (affect the whole app)''' Accessories -> Install... and goto the Accessories drawer for .paccess like adding ARexx scripting support '''Song Construction''' <pre> F1 Pencil F2 Magic Wand F3 Hand F4 Duplicator F5 Eraser F6 Toolpad F7 Bounding box F8 Lock to A-B-A A-B-A strip, section, edit flags, white boxes, </pre> Bars&Pipes Professional offers three track formats; basic song tracks, linear tracks — which don't loop — and finally real‑time tracks. The difference between them is that both song and linear tracks respond to tempo changes, while real‑time tracks use absolute timing, always trigger at the same instant regardless of tempo alterations '''Tempo Map''' F1 Pencil F2 Magic Wand F3 Hand F4 Eraser F5 Curve F6 Toolpad Compositions Lyrics, Key, Rhythm, Time Signature '''Master Parameters''' Key, Scale/Mode '''Track Parameters''' Dynamics '''Time-line Scoring''' '''Media Madness''' '''Mix Maestro''' *ACCESSORIES Allows the importation of other packages and additional modules *CLIPBOARD Full cut, copy and paste operations, enabling user‑definable clips to be shared between tracks. *INFORMATION A complete rundown on the state of the current production and your machine. *MASTER PARAMETERS Enables global definition of time signatures, lyrics, scales, chords, dynamics and rhythm changes. *MEDIA MADNESS A complete multimedia sequencer which allows samples, stills, animation, etc *METRONOME Tempo feedback via MIDI, internal Amiga audio and colour cycling — all three can be mixed and matched as required. *MIX MAESTRO Completely automated mixdown with control for both volume and pan. All fader alterations are memorised by the software *RECORD ACTIVATION Complete specification of the data to be recorded/merged. Allows overdubbing of pitch‑bend, program changes, modulation etc *SET FLAGS Numeric positioning of location and edit flags in either SMPTE or musical time *SONG CONSTRUCTION Large‑scale cut and paste of individual measures, verses or chorus, by means of bounding box and drag‑n‑drop mouse selections *TEMPO MAP Tempo change using a variety of linear and non‑linear transition curves *TEMPO PALETTE Instant tempo changes courtesy of four user‑definable settings. *TIMELINE SCORING Sequencing of a selection of songs over a defined period — ideal for planning an entire set for a live performance. *TOOLBOX Selection screen for the hundreds of signal‑processing tools available *TRACKS Opens the main track window to enable recording, editing and the use of tools. *TRANSPORT Main playback control window, which also provides access to user‑ defined flags, loop and punch‑in record modes. Bars and Pipes Pro 2.5 is using internal 4-Byte IDs, to check which kind of data are currently processed. Especially in all its files the IDs play an important role. The IDs are stored into the file in the same order they are laid out in the memory. In a Bars 'N' Pipes file (no matter which kind) the ID "NAME" (saved as its ANSI-values) is stored on a big endian system (68k-computer) as "NAME". On a little endian system (x86 PC computer) as "EMAN". The target is to make the AROS-BnP compatible to songs, which were stored on a 68k computer (AMIGA). If possible, setting MIDI channels for Local Control for your keyboard http://www.fromwithin.com/liquidmidi/archive.shtml MIDI files are essentially a stream of event data. An event can be many things, but typically "note on", "note off", "program change", "controller change", or messages that instruct a MIDI compatible synth how to play a given bit of music. * Channel - 1 to 16 - * Messages - PC presets, CC effects like delays, reverbs, etc * Sequencing - MIDI instruments, Drums, Sound design, * Recording - * GUI - Piano roll or Tracker, Staves and Notes MIDI events/messages like step entry e.g. Note On, Note Off MIDI events/messages like PB, PC, CC, Mono and Poly After-Touch, Sysex, etc MIDI sync - Midi Clocks (SPS Measures), Midi Time Code (h, m, s and frames) SMPTE Individual track editing with audition edits so easier to test any changes. Possible to stop track playback, mix clips from the right edit flag and scroll the display using arrow keys. Step entry, to extend a selected note hit the space bar and the note grows accordingly. Ability to cancel mouse‑driven edits by simply clicking the right mouse button — at which point everything snaps back into its original form. Lyrics can now be put in with syllable dividers, even across an entire measure or section. Autoranging when you open a edit window, the notes are automatically displayed — working from the lowest upwards. Flag editing, shift‑click on a flag immediately open the bounds window, ready for numeric input. Ability to cancel edits using the right‑hand mouse button, plus much improved Bounding Box operations. Icons other than the BarsnPipes icon -> PUBSCREEN=BarsnPipes (cannot choose modes higher than 8bit 256 colors) Preferences -> Menu in Tracks window - Send MIDI defaults OFF Prefs -> Environment -> screenmode (saved to BarsnPipes.prefs binary file) Customization -> pics in gui drawer (folder) - Can save as .song files and .mid General Midi SMF is a “Standard Midi File” ([http://www.music.mcgill.ca/~ich/classes/mumt306/StandardMIDIfileformat.html SMF0, SMF1 and SMF2]), [https://github.com/stump/libsmf libsmf], [https://github.com/markc/midicomp MIDIcomp], [https://github.com/MajicDesigns/MD_MIDIFile C++ src], [], [https://github.com/newdigate/midi-smf-reader Midi player], * SMF0 All MIDI data is stored in one track only, separated exclusively by the MIDI channel. * SMF1 The MIDI data is stored in separate tracks/channels. * SMF2 (rarely used) The MIDI data is stored in separate tracks, which are additionally wrapped in containers, so it's possible to have e.g. several tracks using the same MIDI channels. Would it be possible to enrich Bars N’Pipes with software synth and sample support along with audio recording and mastering tools like in the named MAC or PC music sequencers? On the classic AMIGA-OS this is not possible because of missing CPU-power. The hardware of the classic AMIGA is not further developed. So we must say (unfortunately) that those dreams can’t become reality BarsnPipes is best used with external MIDI-equipment. This can be a keyboard or synthesizer with MIDI-connectors. <pre> MIDI can control 16 channels There are USB-MIDI-Interfaces on the market with 16 independent MIDI-lines (multi-port), which can handle 16 MIDI devices independently – 16×16 = 256 independent MIDI-channels or instruments handle up to 16 different USB-MIDI-Interfaces (multi-device). That is: 16X16X16 = 4096 independent MIDI-channels – theoretically </pre> <pre> Librarian MIDI SYStem EXplorer (sysex) - PatchEditor and used to be supplied as a separate program like PatchMeister but currently not at present It should support MIDI.library (PD), BlueRibbon.library (B&P), TriplePlayPlus, and CAMD.library (DeluxeMusic) and MIDI information from a device's user manual and configure a custom interface to access parameters for all MIDI products connected to the system Supports ALL MIDI events and the Patch/Librarian data is stored in MIDI standard format Annette M.Crowling, Missing Link Software, Inc. </pre> Composers <pre> [https://x.com/hirasawa/status/1403686519899054086 Susumu Hirasawa] </pre> <pre> 1988 Todor Fay and his wife Melissa Jordan Gray, who founded the Blue Ribbon Inc 1992 Bars&Pipes Pro published November 2000, Todor Fay announcement to release the sourcecode of Bars&Pipes Pro 2.5c beta end of May 2001, the source of the main program and the sources of some tools and accessories were in a complete and compileable state end of October 2009 stop further development of BarsnPipes New for now on all supported systems and made freeware 2013 Alfred Faust diagnosed with incureable illness, called „Myastenia gravis“ (weak muscles) </pre> Protrekkr How to use Midi In/Out in Protrekkr ? First of all, midi in & out capabilities of this program are rather limited. # Go to Misc. Setup section and select a midi in or out device to use (ptk only supports one device at a time). # Go to instrument section, and select a MIDI PRG (the default is N/A, which means no midi program selected). # Go to track section and here you can assign a midi channel to each track of ptk. # Play notes :]. Note off works. F'x' note cut command also works too, and note-volume command (speed) is supported. Also, you can change midicontrollers in the tracker, using '90' in the panning row: <pre> C-3 02 .. .. 0000.... --- .. .. 90 xxyy.... << This will set the value --- .. .. .. 0000.... of the controller n.'xx' to 'yy' (both in hex) --- .. .. .. 0000.... </pre> So "--- .. .. 90 2040...." will set the controller number $20(32) to $40(64). You will need the midi implementation table of your gear to know what you can change with midi controller messages. N.B. Not all MIDI devices are created equal! Although the MIDI specification defines a large range of MIDI messages of various kinds, not every MIDI device is required to work in exactly the same way and respond to all the available messages and ways of working. For example, we don't expect a wind synthesiser to work in the same way as a home keyboard. Some devices, the older ones perhaps, are only able to respond to a single channel. With some of those devices that channel can be altered from the default of 1 (probably) to another channel of the 16 possible. Other devices, for instance monophonic synthesisers, are capable of producing just one note at a time, on one MIDI channel. Others can produce many notes spread across many channels. Further devices can respond to, and transmit, "breath controller" data (MIDI controller number 2 (CC#2)) others may respond to the reception of CC#2 but not be able to create and to send it. A controller keyboard may be capable of sending "expression pedal" data, but another device may not be capable of responding to that message. Some devices just have the basic GM sound set. The "voice" or "instrument" is selected using a "Program Change" message on its own. Other devices have a greater selection of voices, usually arranged in "banks", and the choice of instrument is made by responding to "Bank Select MSB" (MIDI controller 0 (CC#0)), others use "Bank Select LSB" (MIDI controller number 32 (CC#32)), yet others use both MSB and LSB sent one after the other, all followed by the Program Change message. The detailed information about all the different voices will usually be available in a published MIDI Data List. MIDI Implementation Chart But in the User Manual there is sometimes a summary of how the device works, in terms of MIDI, in the chart at the back of the manual, the MIDI Implementation Chart. If you require two devices to work together you can compare the two implementation charts to see if they are "compatible". In order to do this we will need to interpret that chart. The chart is divided into four columns headed "Function", "Transmitted" (or "Tx"), "Received" (or "Rx"), or more correctly "Recognised", and finally, "Remarks". <pre> The left hand column defines which MIDI functions are being described. The 2nd column defines what the device in question is capable of transmitting to another device. The 3rd column defines what the device is capable of responding to. The 4th column is for explanations of the values contained within these previous two columns. </pre> There should then be twelve sections, with possibly a thirteenth containing extra "Notes". Finally there should be an explanation of the four MIDI "modes" and what the "X" and the "O" mean. <pre> Mode 1: Omni On, Poly; Mode 2: Omni On, Mono; Mode 3: Omni Off, Poly; Mode 4: Omni Off, Mono. </pre> O means "yes" (implemented), X means "no" (not implemented). Sometimes you will find a row of asterisks "**************", these seem to indicate that the data is not applicable in this case. Seen in the transmitted field only (unless you've seen otherwise). Lastly you may find against some entries an asterisk followed by a number e.g. *1, these will refer you to further information, often on a following page, giving more detail. Basic Channel But the very first set of boxes will tell us the "Basic Channel(s)" that the device sends or receives on. "Default" is what happens when the device is first turned on, "changed" is what a switch of some kind may allow the device to be set to. For many devices e.g. a GM sound module or a home keyboard, this would be 1-16 for both. That is it can handle sending and receiving on all MIDI channels. On other devices, for example a synthesiser, it may by default only work on channel 1. But the keyboard could be "split" with the lower notes e.g. on channel 2. If the synth has an arppegiator, this may be able to be set to transmit and or receive on yet another channel. So we might see the default as "1" but the changed as "1-16". Modes. We need to understand Omni On and Off, and Mono and Poly, then we can decipher the four modes. But first we need to understand that any of these four Mode messages can be sent to any MIDI channel. They don't necessarily apply to the whole device. If we send an "Omni On" message (CC#125) to a MIDI channel of a device, we are, in effect, asking it to respond to e.g. a Note On / Off message pair, received on any of the sixteen channels. Sound strange? Read it again. Still strange? It certainly is. We normally want a MIDI channel to respond only to Note On / Off messages sent on that channel, not any other. In other words, "Omni Off". So "Omni Off" (CC#124) tells a channel of our MIDI device to respond only to messages sent on that MIDI channel. "Poly" (CC#127) is for e.g. a channel of a polyphonic sound module, or a home keyboard, to be able to respond to many simultaneous Note On / Off message pairs at once and produce musical chords. "Mono" (CC#126) allows us to set a channel to respond as if it were e.g. a flute or a trumpet, playing just one note at a time. If the device is capable of it, then the overlapping of notes will produce legato playing, that is the attack portion of the second note of two overlapping notes will be removed resulting in a "smoother" transition. So a channel with a piano voice assigned to it will have Omni Off, Poly On (Mode 3), a channel with a saxophone voice assigned could be Omni Off, Mono On (Mode 4). We call these combinations the four modes, 1 to 4, as defined above. Most modern devices will have their channels set to Mode 3 (Omni Off, Poly) but be switchable, on a per channel basis, to Mode 4 (Omni Off, Mono). This second section of data will include first its default value i.e. upon device switch on. Then what Mode messages are acceptable, or X if none. Finally, in the "Altered" field, how a Mode message that can't be implemented will be interpreted. Usually there will just be a row of asterisks effectively meaning nothing will be done if you try to switch to an unimplemented mode. Note Number <pre> The next row will tell us which MIDI notes the device can send or receive, normally 0-127. The second line, "True Voice" has the following in the MIDI specification: "Range of received note numbers falling within the range of true notes produced by the instrument." My interpretation is that, for instance, a MIDI piano may be capable of sending all MIDI notes (0 to 127) by transposition, but only responding to the 88 notes (21 to 108) of a real piano. </pre> Velocity This will tell us whether the device we're looking at will handle note velocity, and what range from 1-127, or maybe just 64, it transmits or will recognise. So usually "O" plus a range or "X" for not implemented. After touch This may have one or two lines two it. If a one liner the either "O" or "X", yes or no. If a two liner then it may include "Keys" or "Poly" and "Channel". This will show whether the device will respond to Polyphonic after touch or channel after touch or neither. Pitch Bend Again "O" for implemented, "X" for not implemented. (Many stage pianos will have no pitch bend capability.) It may also, in the notes section, state whether it will respond to the full 14 bits, or not, as usually encoded by the pitch bend wheel. Control Change This is likely to be the largest section of the chart. It will list all those controllers, starting from CC#0, Bank Select MSB, which the device is capable of sending, and those that it will respond to using "O" or "X" respectively. You will, almost certainly, get some further explanation of functionality in the remarks column, or in more detail elsewhere in the documentation. Of course you will need to know what all the various controller numbers do. Lots of the official technical specifications can be found at the [www.midi.org/techspecs/ MMA], with the table of messages and control change [www.midi.org/techspecs/midimessages.php message numbers] Program Change Again "O" or "X" in the Transmitted or Recognised column to indicate whether or not the feature is implemented. In addition a range of numbers is shown, typically 0-127, to show what is available. True # (number): "The range of the program change numbers which correspond to the actual number of patches selected." System Exclusive Used to indicate whether or not the device can send or recognise System Exclusive messages. A short description is often given in the Remarks field followed by a detailed explanation elsewhere in the documentation. System Common - These include the following: <pre> MIDI Time Code Quarter Frame messages (device synchronisation). Song Position Pointer Song Select Tune Request </pre> The section will indicate whether or not the device can send or respond to any of these messages. System Real Time These include the following: <pre> Timing Clock - often just written as "Clock" Start Stop Continue </pre> These three are usually just referred to as "Commands" and listed. Again the section will indicate which, if any, of these messages the device can send or respond to. <pre> Aux. Messages Again "O" or "X" for implemented or not. Aux. = Auxiliary. Active Sense = Active Sensing. </pre> Often with an explanation of the action of the device. Notes The "Notes" section can contain any additional comments to clarify the particular implementation. Some of the explanations have been drawn directly from the MMA MIDI 1.0 Detailed Specification. And the detailed explanation of some of the functions will be found there, or in the General MIDI System Level 1 or General MIDI System Level 2 documents also published by the MMA. OFFICIAL MIDI SPECIFICATIONS SUMMARY OF MIDI MESSAGES Table 1 - Summary of MIDI Messages The following table lists the major MIDI messages in numerical (binary) order (adapted from "MIDI by the Numbers" by D. Valenti, Electronic Musician 2/88, and updated by the MIDI Manufacturers Association.). This table is intended as an overview of MIDI, and is by no means complete. WARNING! Details about implementing these messages can dramatically impact compatibility with other products. We strongly recommend consulting the official MIDI Specifications for additional information. MIDI 1.0 Specification Message Summary Channel Voice Messages [nnnn = 0-15 (MIDI Channel Number 1-16)] {| class="wikitable sortable" width="90%" ! width="10%" |Status D7----D0 ! width="10%" |Data Byte(s) D7----D0 ! width="20%" |Description |- |<!--Status-->1000nnnn || <!--Data-->0kkkkkkk 0vvvvvvv || <!--Description-->Note Off event. This message is sent when a note is released (ended). (kkkkkkk) is the key (note) number. (vvvvvvv) is the velocity. |- |<!--Status-->1001nnnn || <!--Data-->0kkkkkkk 0vvvvvvv || <!--Description-->Note On event. This message is sent when a note is depressed (start). (kkkkkkk) is the key (note) number. (vvvvvvv) is the velocity. |- |<!--Status-->1010nnnn || <!--Data-->0kkkkkkk 0vvvvvvv || <!--Description-->Polyphonic Key Pressure (Aftertouch). This message is most often sent by pressing down on the key after it "bottoms out". (kkkkkkk) is the key (note) number. (vvvvvvv) is the pressure value. |- |<!--Status-->1011nnnn || <!--Data-->0ccccccc 0vvvvvvv || <!--Description-->Control Change. This message is sent when a controller value changes. Controllers include devices such as pedals and levers. Controller numbers 120-127 are reserved as "Channel Mode Messages" (below). (ccccccc) is the controller number (0-119). (vvvvvvv) is the controller value (0-127). |- |<!--Status-->1100nnnn || <!--Data-->0ppppppp || <!--Description-->Program Change. This message sent when the patch number changes. (ppppppp) is the new program number. |- |<!--Status-->1101nnnn || <!--Data-->0vvvvvvv || <!--Description-->Channel Pressure (After-touch). This message is most often sent by pressing down on the key after it "bottoms out". This message is different from polyphonic after-touch. Use this message to send the single greatest pressure value (of all the current depressed keys). (vvvvvvv) is the pressure value. |- |<!--Status-->1110nnnn || <!--Data-->0lllllll 0mmmmmmm || <!--Description-->Pitch Bend Change. This message is sent to indicate a change in the pitch bender (wheel or lever, typically). The pitch bender is measured by a fourteen bit value. Center (no pitch change) is 2000H. Sensitivity is a function of the receiver, but may be set using RPN 0. (lllllll) are the least significant 7 bits. (mmmmmmm) are the most significant 7 bits. |} Channel Mode Messages (See also Control Change, above) {| class="wikitable sortable" width="90%" ! width="10%" |Status D7----D0 ! width="10%" |Data Byte(s) D7----D0 ! width="20%" |Description |- |<!--Status-->1011nnnn || <!--Data-->0ccccccc 0vvvvvvv || <!--Description-->Channel Mode Messages. This the same code as the Control Change (above), but implements Mode control and special message by using reserved controller numbers 120-127. The commands are: *All Sound Off. When All Sound Off is received all oscillators will turn off, and their volume envelopes are set to zero as soon as possible c = 120, v = 0: All Sound Off *Reset All Controllers. When Reset All Controllers is received, all controller values are reset to their default values. (See specific Recommended Practices for defaults) c = 121, v = x: Value must only be zero unless otherwise allowed in a specific Recommended Practice. *Local Control. When Local Control is Off, all devices on a given channel will respond only to data received over MIDI. Played data, etc. will be ignored. Local Control On restores the functions of the normal controllers. c = 122, v = 0: Local Control Off c = 122, v = 127: Local Control On * All Notes Off. When an All Notes Off is received, all oscillators will turn off. c = 123, v = 0: All Notes Off (See text for description of actual mode commands.) c = 124, v = 0: Omni Mode Off c = 125, v = 0: Omni Mode On c = 126, v = M: Mono Mode On (Poly Off) where M is the number of channels (Omni Off) or 0 (Omni On) c = 127, v = 0: Poly Mode On (Mono Off) (Note: These four messages also cause All Notes Off) |} System Common Messages System Messages (0xF0) The final status nybble is a “catch all” for data that doesn’t fit the other statuses. They all use the most significant nybble (4bits) of 0xF, with the least significant nybble indicating the specific category. The messages are denoted when the MSB of the second nybble is 1. When that bit is a 0, the messages fall into two other subcategories. System Common If the MSB of the second second nybble (4 bits) is not set, this indicates a System Common message. Most of these are messages that include some additional data bytes. System Common Messages Type Status Byte Number of Data Bytes Usage <pre> Time Code Quarter Frame 0xF1 1 Indicates timing using absolute time code, primarily for synthronization with video playback systems. A single location requires eight messages to send the location in an encoded hours:minutes:seconds:frames format*. Song Position 0xF2 2 Instructs a sequencer to jump to a new position in the song. The data bytes form a 14-bit value that expresses the location as the number of sixteenth notes from the start of the song. Song Select 0xF3 1 Instructs a sequencer to select a new song. The data byte indicates the song. Undefined 0xF4 0 Undefined 0xF5 0 Tune Request 0xF6 0 Requests that the receiver retunes itself**. </pre> *MIDI Time Code (MTC) is significantly complex. Please see the MIDI Specification **While modern digital instruments are good at staying in tune, older analog synthesizers were prone to tuning drift. Some analog synthesizers had an automatic tuning operation that could be initiated with this command. System Exclusive If you’ve been keeping track, you’ll notice there are two status bytes not yet defined: 0xf0 and 0xf7. These are used by the System Exclusive message, often abbreviated at SysEx. SysEx provides a path to send arbitrary data over a MIDI connection. There is a group of predefined messages for complex data, like fine grained control of MIDI Time code machinery. SysEx is also used to send manufacturer defined data, such as patches, or even firmware updates. System Exclusive messages are longer than other MIDI messages, and can be any length. The messages are of the following format: 0xF0, 0xID, 0xdd, ...... 0xF7 The message is bookended with distinct bytes. It opens with the Start Of Exclusive (SOX) data byte, 0xF0. The next one to three bytes after the start are an identifier. Values from 0x01 to 0x7C are one-byte vendor IDs, assigned to manufacturers who were involved with MIDI at the beginning. If the ID is 0x00, it’s a three-byte vendor ID - the next two bytes of the message are the value. <pre> ID 0x7D is a placeholder for non-commercial entities. ID 0x7E indicates a predefined Non-realtime SysEx message. ID 0x7F indicates a predefined Realtime SysEx message. </pre> After the ID is the data payload, sent as a stream of bytes. The transfer concludes with the End of Exclusive (EOX) byte, 0xF7. The payload data must follow the guidelines for MIDI data bytes – the MSB must not be set, so only 7 bits per byte are actually usable. If the MSB is set, it falls into three possible scenarios. An End of Exclusive byte marks the ordinary termination of the SysEx transfer. System Real Time messages may occur within the transfer without interrupting it. The recipient should handle them independently of the SysEx transfer. Other status bytes implicitly terminate the SysEx transfer and signal the start of new messages. Some inexpensive USB-to-MIDI interfaces aren’t capable of handling messages longer than four bytes. {| class="wikitable sortable" width="90%" ! width="10%" |Status D7----D0 ! width="10%" |Data Byte(s) D7----D0 ! width="20%" |Description |- |<!--Status-->11110000 || <!--Data-->0iiiiiii [0iiiiiii 0iiiiiii] 0ddddddd --- --- 0ddddddd 11110111 || <!--Description-->System Exclusive. This message type allows manufacturers to create their own messages (such as bulk dumps, patch parameters, and other non-spec data) and provides a mechanism for creating additional MIDI Specification messages. The Manufacturer's ID code (assigned by MMA or AMEI) is either 1 byte (0iiiiiii) or 3 bytes (0iiiiiii 0iiiiiii 0iiiiiii). Two of the 1 Byte IDs are reserved for extensions called Universal Exclusive Messages, which are not manufacturer-specific. If a device recognizes the ID code as its own (or as a supported Universal message) it will listen to the rest of the message (0ddddddd). Otherwise, the message will be ignored. (Note: Only Real-Time messages may be interleaved with a System Exclusive.) |- |<!--Status-->11110001 || <!--Data-->0nnndddd || <!--Description-->MIDI Time Code Quarter Frame. nnn = Message Type dddd = Values |- |<!--Status-->11110010 || <!--Data-->0lllllll 0mmmmmmm || <!--Description-->Song Position Pointer. This is an internal 14 bit register that holds the number of MIDI beats (1 beat= six MIDI clocks) since the start of the song. l is the LSB, m the MSB. |- |<!--Status-->11110011 || <!--Data-->0sssssss || <!--Description-->Song Select. The Song Select specifies which sequence or song is to be played. |- |<!--Status-->11110100 || <!--Data--> || <!--Description-->Undefined. (Reserved) |- |<!--Status-->11110101 || <!--Data--> || <!--Description-->Undefined. (Reserved) |- |<!--Status-->11110110 || <!--Data--> || <!--Description-->Tune Request. Upon receiving a Tune Request, all analog synthesizers should tune their oscillators. |- |<!--Status-->11110111 || <!--Data--> || <!--Description-->End of Exclusive. Used to terminate a System Exclusive dump. |} System Real-Time Messages {| class="wikitable sortable" width="90%" ! width="10%" |Status D7----D0 ! width="10%" |Data Byte(s) D7----D0 ! width="20%" |Description |- |<!--Status-->11111000 || <!--Data--> || <!--Description-->Timing Clock. Sent 24 times per quarter note when synchronization is required. |- |<!--Status-->11111001 || <!--Data--> || <!--Description-->Undefined. (Reserved) |- |<!--Status-->11111010 || <!--Data--> || <!--Description-->Start. Start the current sequence playing. (This message will be followed with Timing Clocks). |- |<!--Status-->11111011 || <!--Data--> || <!--Description-->Continue. Continue at the point the sequence was Stopped. |- |<!--Status-->11111100 || <!--Data--> || <!--Description-->Stop. Stop the current sequence. |- |<!--Status-->11111101 || <!--Data--> || <!--Description-->Undefined. (Reserved) |- |<!--Status-->11111110 || <!--Data--> || <!--Description-->Active Sensing. This message is intended to be sent repeatedly to tell the receiver that a connection is alive. Use of this message is optional. When initially received, the receiver will expect to receive another Active Sensing message each 300ms (max), and if it does not then it will assume that the connection has been terminated. At termination, the receiver will turn off all voices and return to normal (non- active sensing) operation. |- |<!--Status-->11111111 || <!--Data--> || <!--Description-->Reset. Reset all receivers in the system to power-up status. This should be used sparingly, preferably under manual control. In particular, it should not be sent on power-up. |} Advanced Messages Polyphonic Pressure (0xA0) and Channel Pressure (0xD0) Some MIDI controllers include a feature known as Aftertouch. While a key is being held down, the player can press harder on the key. The controller measures this, and converts it into MIDI messages. Aftertouch comes in two flavors, with two different status messages. The first flavor is polyphonic aftertouch, where every key on the controller is capable of sending its own independent pressure information. The messages are of the following format: <pre> 0xnc, 0xkk, 0xpp n is the status (0xA) c is the channel nybble kk is the key number (0 to 127) pp is the pressure value (0 to 127) </pre> Polyphonic aftertouch is an uncommon feature, usually found on premium quality instruments, because every key requires a separate pressure sensor, plus the circuitry to read them all. Much more commonly found is channel aftertouch. Instead of needing a discrete sensor per key, it uses a single, larger sensor to measure pressure on all of the keys as a group. The messages omit the key number, leaving a two-byte format <pre> 0xnc, 0xpp n is the status (0xD) c is the channel number pp is the pressure value (0 to 127) </pre> Pitch Bend (0xE0) Many keyboards have a wheel or lever towards the left of the keys for pitch bend control. This control is usually spring-loaded, so it snaps back to the center of its range when released. This allows for both upward and downward bends. Pitch Bend Wheel The wheel sends pitch bend messages, of the format <pre> 0xnc, 0xLL, 0xMM n is the status (0xE) c is the channel number LL is the 7 least-significant bits of the value MM is the 7 most-significant bits of the value </pre> You’ll notice that the bender data is actually 14 bits long, transmitted as two 7-bit data bytes. This means that the recipient needs to reassemble those bytes using binary manipulation. 14 bits results in an overall range of 214, or 0 to 16,383. Because it defaults to the center of the range, the default value for the bender is halfway through that range, at 8192 (0x2000). Control Change (0xB0) In addition to pitch bend, MIDI has provisions for a wider range of expressive controls, sometimes known as continuous controllers, often abbreviated CC. These are transmitted by the remaining knobs and sliders on the keyboard controller shown below. Continuous Controllers These controls send the following message format: <pre> 0xnc, 0xcc, 0xvv n is the status (0xB) c is the MIDI channel cc is the controller number (0-127) vv is the controller value (0-127) </pre> Typically, the wheel next to the bender sends controller number one, assigned to modulation (or vibrato) depth. It is implemented by most instruments. The remaining controller number assignments are another point of confusion. The MIDI specification was revised in version 2.0 to assign uses for many of the controllers. However, this implementation is not universal, and there are ranges of unassigned controllers. On many modern MIDI devices, the controllers are assignable. On the controller keyboard shown in the photos, the various controls can be configured to transmit different controller numbers. Controller numbers can be mapped to particular parameters. Virtual synthesizers frequently allow the user to assign CCs to the on-screen controls. This is very flexible, but it might require configuration on both ends of the link and completely bypasses the assignments in the standard. Program Change (0xC0) Most synthesizers have patch storage memory, and can be told to change patches using the following command: <pre> 0xnc, 0xpp n is the status (0xc) c is the channel pp is the patch number (0-127) </pre> This allows for 128 sounds to be selected, but modern instruments contain many more than 128 patches. Controller #0 is used as an additional layer of addressing, interpreted as a “bank select” command. Selecting a sound on such an instrument might involve two messages: a bank select controller message, then a program change. Audio & Midi are not synchronized, what I can do ? Buy a commercial software package but there is a nasty trick to synchronize both. It's a bit hardcore but works for me: Simply put one line down to all midi notes on your pattern (use Insert key) and go to 'Misc. Setup', adjust the latency and just search a value that will make sound sync both audio/midi. The stock Sin/Saw/Pulse and Rnd waveforms are too simple/common, is there a way to use something more complex/rich ? You have to ability to redirect the waveforms of the instruments through the synth pipe by selecting the "wav" option for the oscillator you're using for this synth instrument, samples can be used as wavetables to replace the stock signals. Sound banks like soundfont (sf2) or Kontakt2 are not supported at the moment ====DAW Audio Evolution 4==== Audio Evolution 4 gives you unsurpassed power for digital audio recording and editing on the Amiga. The latest release focusses on time-saving non-linear and non-destructive editing, as seen on other platforms. Besides editing, Audio Evolution 4 offers a wide range of realtime effects, including compression, noise gate, delays, reverb, chorus and 3-band EQ. Whether you put them as inserts on a channel or use them as auxillaries, the effect parameters are realtime adjustable and can be fully automated. Together with all other mixing parameters, they can even be controlled remotely, using more ergonomic MIDI hardware. Non-linear editing on the time line, including cut, copy, paste, move, split, trim and crossfade actions The number of tracks per project(s) is unlimited .... AHI limits you to recording only two at a time. i.e. not on 8 track sound cards like the Juli@ or Phase 88. sample file import is limited to 16bit AIFF (not AIFC, important distinction as some files from other sources can be AIFC with aiff file extention). and 16bit WAV (pcm only) Most apps use the Music Unit only but a few apps also use Unit (0-3) instead or as well. * Set up AHI prefs so that microphone is available. (Input option near the bottom) stereo++ allows the audio piece to be placed anywhere and the left-right adjusted to sound positionally right hifi best for music playback if driver supports this option Load 16bit .aif .aiff only sample(s) to use not AIFC which can have the same ending. AIFF stands for Audio Interchange File Format sox recital.wav recital.aiff sox recital.wav −b 16 recital.aiff channels 1 rate 16k fade 3 norm sox input.wav output.aiff bass −b 16 rate 48k performs the same format translation, but also applies four effects (down-mix to one channel, sample rate change, fade-in, nomalize), and stores the result at a bit-depth of 16. rec −c 2 radio.aiff trim 0 30:00 records half an hour of stereo audio play existing-file.wav 24bit PCM WAV or AIFF do not work *No stream format handling. So no way to pass on an AC3 encoded stream unmodified to the digital outputs through AHI. *No master volume handling. Each application has to set its own volume. So each driver implements its own custom driver-mixer interface for handling master volumes, mute and preamps. *Only one output stream. So all input gets mixed into one output. *No automatic handling of output direction based on connected cables. *No monitor input selection. Only monitor volume control. select the correct input (Don't mistake enabled sound for the correct input.) The monitor will feedback audio to the lineout and hp out no matter if you have selected the correct input to the ADC. The monitor will provide sound for any valid input. This will result in free mixing when recording from the monitor input instead of mic/line because the monitor itself will provide the hardware mixing for you. Be aware that MIC inputs will give two channel mono. Only Linein will give real stereo. Now for the not working part. Attempt to record from linein in the AE4 record window, the right channel is noise and the left channel is distorted. Even with the recommended HIFI 16bit Stereo++ mode at 48kHz. Channels Monitor Gain Inout Output Advanced settings - Debugging via serial port * Options -> Soundcard In/Out * Options -> SampleRate * Options -> Preferences F6 for Sample File List Setting a grid is easy as is measuring the BPM by marking a section of the sample. Is your kick drum track "not in time" ? If so, you're stumped in AE4 as it has no fancy variable time signatures and definitely no 'track this dodgy rhythm' function like software of the nature of Logic has. So if your drum beat is freeform you will need to work in freeform mode. (Real music is free form anyway). If the drum *is* accurate and you are just having trouble measuring the time, I usually measure over a range of bars and set the number of beats in range to say 16 as this is more accurate, Then you will need to shift the drum track to match your grid *before* applying the grid. (probably an iterative process as when the grid is active samples snap to it, and when inactive you cannot see it). AE4 does have ARexx but the functions are more for adding samples at set offsets and starting playback / recording. These are the usual features found in DAWs... * Recording digital audio, midi sequencer and mixer * virtual VST instruments and plug-ins * automation, group channels, MIDI channels, FX sends and returns, audio and MIDI editors and music notation editor * different track views * mixer and track layout (but not the same as below) * traditional two windows (track and mixer) Mixing - mixdown Could not figure out how to select what part I wanted to send to the aux, set it to echo and return. Pretty much the whole echo effect. Or any effect. Take look at page17 of the manual. When you open the EQ / Aux send popup window you will see 4 sends. Now from the menu choose the windows menu. Menus->Windows-> Aux Returns Window or press F5 You will see a small window with 4 volume controls and an effects button for each. Click a button and add an effects to that aux channel, then set it up as desired (note the reverb effect has a special AUX setting that improves its use with the aux channel, not compulsory but highly useful). You set the amount of 'return' on the main mix in the Aux Return window, and the amount sent from each main mixer channel in the popup for that channel. Again the aux sends are "prefade" so the volume faders on each channel do not affect them. Tracking Effects - fade in To add some echoes to some vocals, tried to add an effect on a track but did not come out. This is made more complicated as I wanted to mute a vocal but then make it echo at the muting point. Want to have one word of a vocal heard and then echoed off. But when the track is mute the echo is cancelled out. To correctly understand what is happening here you need to study the figure at the bottom of page 15 on the manual. You will see from that that the effects are applied 'prefade' So the automation you applied will naturally mute the entire signal. There would be a number of ways to achieve the goal, You have three real time effects slots, one for smoothing like so Sample -> Amplify -> Delay Then automate the gain of the amplify block so that it effectively mutes the sample just before the delay at the appropriate moment, the echo effect should then be heard. Getting the effects in the right order will require experimentation as they can only be added top down and it's not obvious which order they are applied to the signal, but there only two possibilities, so it wont take long to find out. Using MUTE can cause clicks to the Amplify can be used to mute more smoothly so that's a secondary advantage. Signal Processing - Overdub [[#top|...to the top]] ===Office=== ====Spreadsheet Leu==== Support for some xlsx, and ods functions ====Spreadsheet Ignition==== ; Needs ABIv1 to be completed before more can be done File formats supported * ascii #?.txt and #?.csv (single sheets with data only). * igs and TurboCalc(WIP) #?.tc for all sheets with data, formats and formulas. There is '''no''' support for xls, xlsx, ods or uos ([http://en.wikipedia.org/wiki/Uniform_Office_Format Uniform Unified Office Format]) at the moment. * Always use Esc key after editing Spreadsheet cells. * copy/paste seems to copy the first instance only so go to Edit -> Clipboard to manage the list of remembered actions. * Right mouse click on row (1 or 2 or 3) or column header (a or b or c) to access optimal height or width of the row or column respectively * Edit -> Insert -> Row seems to clear the spreadsheet or clears the rows after the inserted row until undo restores as it should be... Change Sheet name by Object -> Sheet -> Properties Click in the cell which will contain the result, and click '''down arrow button''' to the right of the formula box at the bottom of the spreadsheet and choose the function required from the list provided. Then click on the start cell and click on the bottom right corner, a '''very''' small blob, which allows stretching a bounding box (thick grey outlines) across many cells This grey bounding box can be used to '''copy a formula''' to other cells. Object -> Cell -> Properties to change cell format - Currency only covers DM and not $, Euro, Renminbi, Yen or Pound etc. Shift key and arrow keys selects a range of cells, so that '''formatting can be done to all highlighted cells'''. View -> Overview then select ALL with one click (in empty cell in the top left hand corner of the sheet). Default mode is relative cell referencing e.g. a1+a2 but absolute e.g. $a$1+$a$2 can be entered. * #sheet-name to '''absolute''' reference another sheet-name cell unless reference() function used. ;Graphs use shift key and arrow keys to select a bunch of cells to be graph'ed making sure that x axes represents and y axes represents * value() - 0 value, 1 percent, 2 date, 3 time, 4 unit ... ;Dates * Excel starts a running count from the 1st Jan 1900 and Ignition starts from 1st Jan 1AD '''(maybe this needs to change)''' Set formatting Object -> Cell -> Properties and put date in days ;Time Set formatting Object -> Cell -> Properties and put time in seconds taken ;Database (to be done by someone else) type - standard, reference (bezug), search criterion (suchkriterium), * select a bunch of cells and Object -> Database -> Define to set Datenbank (database) and Felder (fields not sure how?) * Neu (new) or loschen (delete) to add/remove database headings e.g. Personal, Start Date, Finish Date (one per row?) * Object -> Database -> Index to add fields (felder) like Surname, First Name, Employee ID, etc. to ? Filtering done with dbfilter(), dbproduct() and dbposition(). Activities with dbsum(), dbaverage(), dbmin() and dbmax(). Table sorting - ;Scripts (Arexx) ;Excel(TM) to Ignition - commas ''',''' replaced by semi-colons ''';''' to separate values within functions *SUM(), *AVERAGE(), MAX(), MIN(), INT(), PRODUCT(), MEDIAN(), VAR() becomes Variance(), Percentile(), *IF(), AND, OR, NOT *LEFT(), RIGHT(), MID() becomes MIDDLE(), LEN() becomes LENGTH(), *LOWER() becomes LOWERCASE(), UPPER() becomes UPPERCASE(), * DATE(yyyy,mm,dd) becomes COMPUTEDATE(dd;mm;yyyy), *TODAY(), DAY(),WEEK(), MONTH(),=YEAR(TODAY()), *EOMONTH() becomes MONTHLENGTH(), *NOW() should be date and time becomes time only, SECOND(), MINUTE(), HOUR(), *DBSUM() becomes DSUM(), ;Missing and possibly useful features/functions needed for ignition to have better support of Excel files There is no Merge and Join Text over many cells, no protect and/or freeze row or columns or books but can LOCK sheets, no define bunch of cells as a name, Macros (Arexx?), conditional formatting, no Solver, no Goal Seek, no Format Painter, no AutoFill, no AutoSum function button, no pivot tables, (30 argument limit applies to Excel) *HLOOKUP(), VLOOKUP(), [http://production-scheduling.com/excel-index-function-most-useful/ INDEX(), MATCH()], CHOOSE(), TEXT(), *TRIM(), FIND(), SUBSTITUTE(), CONCATENATE() or &, PROPER(), REPT(), *[https://acingexcel.com/excel-sumproduct-function/ SUMPRODUCT()], ROUND(), ROUNDUP(), *ROUNDDOWN(), COUNT(), COUNTA(), SUMIF(), COUNTIF(), COUNTBLANK(), TRUNC(), *PMT(), PV(), FV(), POWER(), SQRT(), MODE(), TRUE, FALSE, *MODE(), LARGE(), SMALL(), RANK(), STDEV(), *DCOUNT(), DCOUNTA(), WEEKDAY(), ;Excel Keyboard [http://dmcritchie.mvps.org/excel/shortx2k.htm shortcuts needed to aid usability in Ignition] <pre> Ctrl Z - Undo Ctrl D - Fill Down Ctrl R - Fill right Ctrl F - Find Ctrl H - Replace Ctrl 1 - Formatting of Cells CTRL SHIFT ~ Apply General Formatting ie a number Ctrl ; - Todays Date F2 - Edit cell F4 - toggle cell absolute / relative cell references </pre> ====Document Scanning - Scandal==== Scanner usually needs to be connected via a USB port and not via a hub or extension lead. Check in Trident Prefs -> Devices that the USB Scanner is not bound to anything (e.g. Bindings None) If not found then reboot the computer and recheck. Start Scandal, choose Settings from Menu strip at top of screen and in Scanner Driver choose the ?#.device of the scanner (e.g. epson2.device). The next two boxes - leave empty as they are for morphos SCSI use only or put ata.device (use the selection option in bigger box below) and Unit as 0 this is needed for gt68xx * gt68xx - no editing needed in s/gt68xx.conf but needs a firmware file that corresponds to the scanner [http://www.meier-geinitz.de/sane/gt68xx-backend/ gt68xx firmwares] in sys:s/gt68xx. * epson2 - Need to edit the file epson2.conf in sys/s that corresponds to the scanner being used '''Save''' the settings but do not press the Use button (aros freezes) Back to the Picture Scan window and the right-hand sections. Click on the '''Information''' tab and press Connect button and the scanner should now be detected. Go next to the '''Scanner''' tab next to Information Tab should have Color, Black and White, etc. and dpi settings now. Selecting an option Color, B/W etc. can cause dpi settings corruption (especially if the settings are in one line) so set '''dpi first'''. Make sure if Preview is set or not. In the '''Scan''' Tab, press Scan and the scanner will do its duty. Be aware that nothing is saved to disk yet. In the Save tab, change format JPEG, PNG or IFF DEEP. Tick incremental and base filename if necessary and then click the Save button. The image will now be saved to permanent storage. The driver ignores a device if it is already bond to another USB class, rejects it from being usable. However, open Trident prefs, select your device and use the right mouse button to open. Select "NONE" to prevent poseidon from touching the device. Now save settings. It should always work now. [[#top|...to the top]] ===Emulators=== ==== Amiberry ==== ==== Amiga Emu - Janus UAE ==== With Amibridge, AROS attempts to make the UAE emulator seem embedded within but it still is acting as an app There is no dynarec m68k for each hardware that Aros supports or direct patching of motorola calls to AROS hardware accelerated ones unless the emulator has that included Try starting Janus with a priority of -1 like this little script: <pre> cd sys:system/AmiBridge/emulator changetaskpri -1 run janus-uae -f my_uaerc.config >nil: cd sys:prefs endcli </pre> This stops Janus hogging all the CPU time. ===Miscellaneous=== ====Screensaver Blanker==== Most blankers on the amiga (i.e. aros) run as commodities (they are in the tools/commodities drawer). Double click on blanker. Control is with an app called Exchange, which you need to run first (double click on app) or run QUIET sys:tools/commodities/Exchange >NIL: but subsequently can use (Cntrl Alt h). Icon tool types (may be broken) or command line options <pre> seconds=number </pre> Once the timing is right then add the following to s:icaros-sequence or s:user-startup e.g. for 5 minutes run QUIET sys:tools/commodities/Blanker seconds=300 >NIL: *[http://archives.aros-exec.org/index.php?function=showfile&file=graphics/screenblanker/gblanker.i386-aros.zip Garshneblanker] can make Aros unstable or slow. Certain blankers crashes in Icaros 2.0.x like Dragon, Executor. *[ Acuario AROS version], the aquarium screen saver. Startup: extras:acuariofv-aros/acuario Kill: c:break name=extras:acuariofv-aros/acuario Managed to start Acuario by the Executor blanker. <pre> cx_priority= cx_popkey= ie CX_POPKEY="Shift F1" cx_popup=Yes or No </pre> <pre> Qualifier String Input Event Class ---------------- ----------------- "lshift" IEQUALIFIER_LSHIFT "rshift" IEQUALIFIER_RSHIFT "capslock" IEQUALIFIER_CAPSLOCK "control" IEQUALIFIER_CONTROL "lalt" IEQUALIFIER_LALT "ralt" IEQUALIFIER_RALT "lcommand" IEQUALIFIER_LCOMMAND "rcommand" IEQUALIFIER_RCOMMAND "numericpad" IEQUALIFIER_NUMERICPAD "repeat" IEQUALIFIER_REPEAT "midbutton" IEQUALIFIER_MIDBUTTON "rbutton" IEQUALIFIER_RBUTTON "leftbutton" IEQUALIFIER_LEFTBUTTON "relativemouse" IEQUALIFIER_RELATIVEMOUSE </pre> <pre> Synonym Synonym String Identifier ------- ---------- "shift" IXSYM_SHIFT /* look for either shift key */ "caps" IXSYM_CAPS /* look for either shift key or capslock */ "alt" IXSYM_ALT /* look for either alt key */ Highmap is one of the following strings: "space", "backspace", "tab", "enter", "return", "esc", "del", "up", "down", "right", "left", "f1", "f2", "f3", "f4", "f5", "f6", "f7", "f8", "f9", "f10", "help". </pre> [[#top|...to the top]] ==== World Construction Set WCS (Version 2.031) ==== WCS is a fractal landscape software such as Scenery Animator, Vista Pro and Panorama. Open sourced February 2022, World Construction Set [https://3dnature.com/downloads/legacy-software/ legally and for free] and [https://github.com/AlphaPixel/3DNature c source]. Announced August 1994 this version dates from April 1996 developed by Gary R. Huber and Chris "Xenon" Hanson" from Questar <pre> Assign "WCSProjects:" "Volume:Dir/Dir/WCSProjects" Assign "WCSFrames:" "Volume:Dir/Dir/WCSFrames" </pre> <pre> Load projects .proj by accessing pull down menu Project -> Open then click on CanyonSunset.proj OK to changing .par file and enlarge Status Log window to show what is happening Render by pull down menu Modules -> Render with End equal 1 not 300 then click bottom middle button Render </pre> [https://www.youtube.com/watch?v=CxQDmf1ZWG0 Youtube walkthrough of above], [], [], Also try working with the already built file ColoDemo - Then open with the drop-down menu: Project/Open, then WCSProject:ColoDemo.proj Which allows you to use altimetric DEM files already included and Loading scene parameters from ColoDemo.par Once this is done, save everything with a new name to start working exclusively on your project. Then drop-down menu and select Save As ("NewName".proj name), then drop-down menu to open parameter and select Save All ( .par name) After launching the software, there is a the Module Control Panel composed of five icons. It is a dock type shortcut of the first few functions of the drop-down menu *Database - Load (#?.proj), Append, Create, Edit, Save, Dir List (of WCSProject drawer), *Data Ops - Extract / Convert Interp DEM, Import DLG, DXF, WDB and export LW map 3d formats *Map View - Database file Loader leading to Map View Control with option to the Database Editor *Parameters - Editor for Motion, Color, Ecosystem, Clouds, Waves, management of altimeter files DEM, sclock settings etc *Render - rendering terrain These are more in the pull down menu but not in the dock *Motion Editor *Color Editor *Ecosys Editor Simple minimal workflow *Load database (1st icon - 1st) *Set parameters and save .par file (4th icon) *Render scene (5th icon) [https://www.youtube.com/watch?v=ZbTwwR2qcc4 Youtube], [], <pre> .proj new project name which creates a drawer of additional files .binary array, ascii array .xyz , z buffer, DTED .dt0, vista 1990s dem, iff conversion .Obj with .elev, .frd with .hdr maps, - digital elevation model (DEM) is a 3D representation of elevation data in various formats USGS 7.5MinDEM, .par </pre> Since for the time being no project is loaded, a query window indicates a procedural error when clicking on the rendering icon (right end of the bar). The menu is quite traditional; it varies according to the activity of the windows. To display any altimetric file in the "Mapview" (third icon of the panel), There are three possibilities: * Loading of a demonstration project. * The import of a DEM file, followed by texturing and packaging from the "Database-Editor" and the "Color-Editor". * The creation of an altimetric file in WCS format, then texturing. The altimeter file editing (display in the menu) is only made possible if the "Mapview" window is active. The software is made up of many windows and won't be able to describe them all. Know that "Color-Editor" and the "Data-Editor" comprise sufficient functions for obtaining an almost real rendering quality. You have the possibility of inserting vector objects in the "Data-Editor" (creation of roads, railways, etc.) The Map View (MapView) window *Database - Objects and Topos *View - Align, Center, Zoom, Pan, Move *Draw - Maps and distance *Object - Find, highlight, add points, conform topo, duplicate *Motion - Camera, Focus, path, elevation *Windows - DEM designer, Cloud (.cld) and wave (.wve) editor, You will notice that by selecting this window and simply moving the pointer to various points on the map you will see latitude and longitude values ​​change, along with the height. Drop-down menu and Modules, then select MapView and change the width of the window with the map to arrange it in the best way on the screen. With the Auto button the center. Window that then displays the contents of my DEM file, in this case the Grand Canyon. MapView allows you to observe the shape of the landscape from above ZOOM button Press the Zoom button and then with the pointer position on a point on the map, press the left mouse button and then move to the opposite corner to circumscribe the chosen area and press the left mouse button again, then we will see the enlarged area selected on the map. Would add that there is a box next to the Zoom button that allows the direct insertion of a value which, the larger it is, the smaller the magnification and the smaller the value, the stronger the magnification. At each numerical change you will need to press the DRAW button to update the view. PAN button Under Zoom you will find the PAN button which allows you to move the map at will in all directions by the amount you want. This is done by drawing a line in one direction, then press PAN and point to an area on the map with the pointer and press the left mouse button. At this point, leave it and move the pointer in one direction by drawing a line and press the left mouse button again to trigger the movement of the map on the screen (origin and end points). Do some experiments and then use the Auto button immediately below to recenter everything. There are parameters such as TOPO, VEC to be left checked and immediately below one that allows different views of the map with the Style command (Single, Multi, Surface, Emboss, Slope, Contour), each with its own particularities to highlight different details. Now you have the first basics to manage your project visually on the map. Close the MapView window and go further... Let's start working on ECOSYSTEMS If we select Emboss from the MapView Style command we will have a clear idea of ​​how the landscape appears, realizing that it is a predominantly desert region of our planet. Therefore we will begin to act on any vegetation present and the appearance of the landscape. With WCS we will begin to break down the elements of the landscape by assigning defined characteristics. It will be necessary to determine the classes of the ecosystem (Class) with parameters of Elevation Line (maximum altitude), Relative Elevation (arrangement on basins or convexities with respectively positive or negative parameters), Min Slope and Max Slope (slope). WCS offers the possibility of making ecosystems coexist on the same terrain with the UnderEco function, by setting a Density value. Ecosys Ecosystem Editor Let's open it from Modules, then Ecosys Editor. In the left pane you will find the list of ecosystems referring to the files present in our project. It will be necessary to clean up that box to leave only the Water and Snow landscapes and a few other predefined ones. We can do this by selecting the items and pressing the Remove button (be careful not for all elements the button is activated, therefore they cannot all be eliminated). Once this is done we can start adding new ecosystems. Scroll through the various Unused and as soon as the Name item at the top is activated allowing you to write, type the name of your ecosystem, adding the necessary parameters. <pre> Ecosystem1: Name: RockBase Class: Rock Density: 80 MinSlope: 15 UnderEco: Terrain Ecosystem2: Name: RockIncl Clss: Rock Density: 80 MinSlope: 30 UnderEco: Terrain Ecosystem3: Name: Grass Class Low Veg Density: 50 Height: 1 Elev Line : 1500 Rel El Eff: 5 Max Slope: 10 – Min Slope: 0 UnderEco: Terrain Ecosistema4: Name: Shrubs Class: Low Veg Density: 40 Height: 8 Elev Line: 3000 Rel El Eff: -2 Max Slope: 20 Min Slope : 5 UnderEco: Terrain Ecosistema5: Name: Terrain Class: Ground Density: 100 UnderEco: Terrain </pre> Now we need to identify an intermediate ecosystem that guarantees a smooth transition between all, therefore we select as Understory Ecosystem the one called Terrain in all ecosystems, except Snow and Water . Now we need to 'emerge' the Colorado River in the Canyon and we can do this by raising the sea level to 900 (Sea Level) in the Ecosystem called Water. Please note that the order of the ecosystem list gives priority to those that come after. So our list must have the following order: Water, Snow, Shrubs, RockIncl, RockBase, Terrain. It is possible to carry out all movements with the Swap button at the bottom. To put order you can also press Short List. Press Keep to confirm all the work done so far with Ecosystem Editor. Remember every now and then to save both the Project 'Modules/Save' and 'Parameter/Save All' EcoModels are made up of .etp .fgp .iff8 for each model Color Editor Now it's time to define the colors of our scene and we can do this by going to Modules and then Color Editor. In the list we focus on our ecosystems, created first. Let's go to the bottom of the list and select the first white space, assigning the name 'empty1', with a color we like and then we will find this element again in other environments... It could serve as an example for other situations! So we move to 'grass' which already exists and assign the following colors: R 60 G 70 B50 <pre> 'shrubs': R 60 G 80 B 30 'RockIncl' R 110 G 65 B 60 'RockBase' R 110 G 80 B 80 ' Terrain' R 150 G 30 B 30 <pre> Now we can work on pre-existing colors <pre> 'SunLight' R 150 G 130 B 130 'Haze and Fog' R 190 G 170 B 170 'Horizon' R 209 G 185 B 190 'Zenith' R 140 G 150 B 200 'Water' R 90 G 125 B 170 </pre> Ambient R 0 G 0 B 0 So don't forget to close Color Editor by pressing Keep. Go once again to Ecosystem Editor and assign the corresponding color to each environment by selecting it using the Ecosystem Color button. Press it several times until the correct one appears. Then save the project and parameters again, as done previously. Motion Editor Now it's time to take care of the framing, so let's go to Modules and then to Motion Editor. An extremely feature-rich window will open. Following is the list of parameters regarding the Camera, position and other characteristics: <pre> -Camera Altitude: 7.0 -Camera Latitude: 36.075 -Camera Longitude: 112.133 -Focus Attitude: -2.0 -Focus Latitude: 36.275 -Focus Longitude: 112.386 -Camera : 512 → rendering window -Camera Y: 384 → rendering window -View Arc: 80 → View width in degrees -Sun Longitude: 172 -Sun Latitude: -0.9 -Haze Start: 3.8 -Haze Range: 78, 5 </pre> As soon as the values ​​shown in the relevant sliders have been modified, we will be ready to open the CamView window to observe the wireframe preview. Let's not consider all the controls that will appear. Well from the Motion Editor if you have selected Camera Altitude and open the CamView panel, you can change the height of the camera by holding down the right mouse button and moving the mouse up and down. To update the view, press the Terrain button in the adjacent window. As soon as you are convinced of the position, confirm again with Keep. You can carry out the same work with the other functions of the camera, such as Focus Altitude... Let's now see the next positioning step on the Camera map, but let's leave the CamView preview window open while we go to Modules to open the window at the same time MapView. We will thus be able to take advantage of the view from the other together with a subjective one. From the MapView window, select with the left mouse button and while it is pressed, move the Camera as desired. To update the subjective preview, always click on Terrain. While with the same procedure you can intervene on the direction of the camera lens, by selecting the cross and with the left button pressed you can choose the desired view. So with the pressure of Terrain I update the Preview. Possibly can enlarge or reduce the Map View using the Zoom button, for greater precision. Also write that the circle around the cameras indicates the beginning of the haze, there are two types (haze and fog) linked to the altitude. Would also add that the camera height is editable through the Motion Editor panel. The sun Let's see that changing the position of the sun from the Motion Editor. Press the SUN button at the bottom right and set the time and the date. Longitude and latitude are automatically obtained by the program. Always open the View Arc command from the Motion Editor panel, an item present in the Parameter List box. Once again confirm everything with Keep and then save again. Animation The animation part is not left-back and also occupies a window. The settings possibilities are enormous. A time line with dragging functions ("slide", "drag"...) comparable to that of LightWave completes this window. A small window is available for positioning the stars as a function of a date, in order to vary the seasons and their various events (and yes...). At the bottom of the "Motion-Editor", a "cam-view" function will give you access to a control panel. Different preview modes are possible. The rendering is also accessible through a window. No less than nine pages compose it. At this level, you will be able to determine the backup name of your images ("path"), the type of texture to be calculated, the resolution of the images, activate or deactivate functions such as the depth buffer ("zbuffer"), the blur, the background image, etc. Once all these parameters have been set, all you have to do is click on the "Render" button. For rendering go to Modules and then Render. Select the resolution, then under IMA select the name of the image. Move to FRA and indicate the level of fractal detail which of 4 is quite good. Then Keep to confirm and then reopen the window, pressing Render you will see the result. The image will be opened with any viewing program. Strengths: * Multi-window. * Quality of rendering. * Accuracy. * Opening, preview and rendering on CyberGraphX screen. * Extract / Convert Interp DEM, Import DLG, DXF, WDB and export LW map 3d formats * The "zbuffer" function. Weaknesses: * No OpenGL management * Calculation time. * No network computing tool. ====Writing CD / DVD - Frying Pan==== Can be backup DVDs (4GB ISO size limit due to use of FileInfoBlock), create audio cds from mp3's, and put .iso files on discs If using for the first time - click Drive button and Device set to ata.device and unit to 0 (zero) Click Tracks Button - Drive 1 - Create New Disc or Import Existing Disc Image (iso bin/cue etc.) - Session File open cue file If you're making a data cd, with files and drawers from your hard drive, you should be using the ISO Builder.. which is the MUI page on the left. ("Data/Audio Tracks" is on the right). You should use the "Data/Audio tracks" page if you want to create music cds with AIFF/WAV/MP3 files, or if you download an .iso file, and you want to put it on a cd. Click WRITE Button - set write speed - click on long Write button Examples Easiest way would be to burn a DATA CD, simply go to "Tracks" page "ISO Builder" and "ADD" everything you need to burn. On the "Write" page i have "Masterize Disc (DAO)", "Close Disc" and "Eject after Write" set. One must not "Blank disc before write" if one uses a CDR AUDIO CD from MP3's are as easy but tricky to deal with. FP only understands one MP3 format, Layer II, everything else will just create empty tracks Burning bootable CD's works only with .iso files. Go to "Tracks" page and "Data/Audio Tracks" and add the .iso ====odf==== Every ODF file is a collection of several subdocuments within a package (ZIP file), each of which stores part of the complete document. * content.xml – Document content and automatic styles used in the content. * styles.xml – Styles used in the document content and automatic styles used in the styles themselves. * meta.xml – Document meta information, such as the author or the time of the last save action. * settings.xml – Application-specific settings, such as the window size or printer information. To read document follow these steps: * Extracting .ods file. * Getting content.xml file (which contains sheets data). * Creating XmlDocument object from content.xml file. * Creating DataSet (that represent Spreadsheet file). * With XmlDocument select “table:table” elements, and then create adequate DataTables. * Parse child’s of “table:table” element and fill DataTables with those data. * At the end, return DataSet and show it in application’s interface. To write document follow these steps: * Extracting template.ods file (.ods file that we use as template). * Getting content.xml file. * Creating XmlDocument object from content.xml file. * Erasing all “table:table” elements from the content.xml file. * Reading data from our DataSet and composing adequate “table:table” elements. * Adding “table:table” elements to content.xml file. * Zipping that file as new .ods file. XLS file format The XLS file format contains streams, substreams, and records. These sheet substreams include worksheets, macro sheets, chart sheets, dialog sheets, and VBA module sheets. All the records in an XLS document start with a 2-byte unsigned integer to specify Record Type (rt), and another for Count of Bytes (cb). A record cannot exceed 8224 bytes. If larger than the rest is stored in one or more continue records. * Workbook stream **Globals substream ***BoundSheet8 record - info for Worksheet substream i.e. name, location, type, and visibility. (4bytes the lbPlyPos FilePointer, specifies the position in the Workbook stream where the sheet substream starts) **Worksheet substream (sheet) - Cell Table - Row record - Cells (2byte=row 2byte=column 2byte=XF format) ***Blank cell record ***RK cell record 32-bit number. ***BoolErr cell record (2-byte Bes structure that may be either a Boolean value or an error code) ***Number cell record (64-bit floating-point number) ***LabelSst cell record (4-byte integer that specifies a string in the Shared Strings Table (SST). Specifically, the integer corresponds to the array index in the RGB field of the SST) ***Formula cell record (FormulaValue structure in the 8 bytes that follow the cell structure. The next 6 bytes can be ignored, and the rest of the record is a CellParsedFormula structure that contains the formula itself) ***MulBlank record (first 2 bytes give the row, and the next 2 bytes give the column that the series of blanks starts at. Next, a variable length array of cell structures follows to store formatting information, and the last 2 bytes show what column the series of blanks ends on) ***MulRK record ***Shared String Table (SST) contains all of the string values in the workbook. ACCRINT(), ACCRINTM(), AMORDEGRC(), AMORLINC(), COUPDAYBS(), COUPDAYS(), COUPDAYSNC(), COUPNCD(), COUPNUM(), COUPPCD(), CUMIPMT(), CUMPRINC(), DB(), DDB(), DISC(), DOLLARDE(), DOLLARFR(), DURATION(), EFFECT(), FV(), FVSCHEDULE(), INTRATE(), IPMT(), IRR(), ISPMT(), MDURATION(), MIRR(), NOMINAL(), NPER(), NPV(), ODDFPRICE(), ODDFYIELD(), ODDLPRICE(), ODDLYIELD(), PMT(), PPMT(), PRICE(), PRICEDISC(), PRICEMAT(), PV(), RATE(), RECEIVED(), SLN(), SYD(), TBILLEQ(), TBILLPRICE(), TBILLYIELD(), VDB(), XIRR(), XNPV(), YIELD(), YIELDDISC(), YIELDMAT(), <pre> </pre> <pre> </pre> <pre> </pre> {{BookCat}} 7u31zf2ibqckv0gupaomufxv2ocm63g Set Theory/Constructing Numbers 0 251391 4654469 4618217 2026-07-14T17:27:52Z R. Henrik Nilsson 3395618 similary > similarly 4654469 wikitext text/x-wiki Note: I have not checked this thoroughly. __TOC__ One of the most familiar ''entities'' in mathematics are ''numbers''. From pre-school to advanced levels, ''numbers'' are intimately linked with mathematics. But what are these ''numbers'', mathematically speaking? This section will show the way mathematicians construct number systems. We will start from the axioms of set theory ('''ZFC''' Set Theory) and construct ''numbers'' in a purely set-theoritical method. ==The Natural numbers <math>\mathbb{N}</math>== With these axioms in hand we can start building the numbers. Our focus here is to quick start and build all the commonly used numbers. Hence, we wont focus on developing all properties that sets have, trusting that the user will agree that our constructions are sound enough and proofs of all properties proved strictly through these axioms do exist. Our first target is to make the basic counting numbers, also called natural numbers. The axiom of infinity says that a set ''X'' exists which satisfies the property that it contains the empty set and the set and, whenever a set ''y'' is a member of ''X'', then <math>S(y)\!</math> is also a member of ''X''. There may or may not exist any other such sets. Taking the intersection of all such sets we get the set of natural numbers '''N'''. Clearly it is the smallest such set. Also as <math>\varnothing</math> is a member of '''N''', so is, <math>\{\varnothing\}</math>, and so is <math>\{\varnothing\,\{\varnothing\}\}</math> and so on. Intutively it is obvious that no other kind of members are there as '''N''' was the smallest such set. We let <math>0=\varnothing</math> to match with our intuition that 0 should be defined as "nothing". Next we define <math>1=\{\varnothing\}</math> to match with our intuition that 1 should convey the notion of "one-ness" which a set having a solitary element does. Similarly we define, <math>2=\{\varnothing\,\{\varnothing\}\}</math> and so on. Hence we have mathematically defined the set of natural numbers. We will define addition and multiplication for natural numbers as follows: Let <math>x^+=S(x)\!</math>. Then we can recursively define addition by <math>a + (b^+) = (a + b)^+</math>. (Hence <math>1+1=1+0^+=(1+0)^+=1^+=2</math> and so on. Note that <math>0^+=1</math>.) Similarly multiplication is defined recursively by <math>x\times0=0</math> and <math>x\times S(y) = (x\times y) + x</math>. Such definitions are justified owing to a particular theorem in maths called recursion theorem, but we needn't go there. A few examples are usually sufficient to convince oneself of the validity of these definitions. ==The Integers== Once more we will take a leap and assume that the reader trusts us when we say that all usual properties of natural numbers can be established in our constructed system of natural numbers. The reason we avoid doing that here is because we wish to avoid getting tied up in formal arguments, and sidetrack our goal to provide a quick mathematical build-up of the numbers. Next we tackle the integers. Since we need some brief extraneous concepts in our toolbox for this purpose (which all are defined and their properties established consistent with the axioms of set theory) we shall briefly mention those. First up is the concept of an ordered pair (a,b) which is defined as the set {{a},{a,b}} and using this a 3-tuple (a,b,c) is defined as the ordered pair (a,(b,c)) i.e. {{a}{{b},{b,c}}}. Similarly, 4-tuples, 5-tuples etc may be defined. Next is the concept of functions and relations which we trust the reader is aware of from calculus. Finally, we talk of equivalence relations and equivalence classes. A given relation ~ on a set ''A'' is said to be an equivalence relation if and only if it is reflexive, symmetric and transitive. Equivalently, for all ''a'', ''b'' and ''c'' in ''A'': *''a'' ~ ''a''. (Reflexivity) *if ''a'' ~ ''b'' then ''b'' ~ ''a''. (Symmetry) *if ''a'' ~ ''b'' and ''b'' ~ ''c'' then ''a'' ~ ''c''. (Transitivity) The equivalence class of ''a'' under ~, denoted [''a''], is defined as <math>[a] = \{b\in A | a\sim b\}</math>. For example, if A is the set of all cars, and ~ is the equivalence relation "has the same color as", then one particular equivalence class consists of all green cars. Another example deals with functions: any function f : X → Y defines an equivalence relation on X by x1 ~ x2 if and only if f(x1) = f(x2). The equivalence class of x is the set of all elements in X which get mapped to f(x), i.e. the class [x] is the inverse image of f(x). [[File:Relative numbers representation.svg|thumb|alt=Representation of equivalence classes for the numbers -5 to 5 |Red Points represent ordered pairs of natural numbers. Linked red points are equivalence classes representing the blue integers at the end of the line. |upright=2]] Now the set of integers can be formally defined as the set of equivalence classes of a particular relation. That relation is defined between ordered pairs of natural numbers (not between the natural numbers themselves but between their pairs). The intuition is that (''a'', ''b'') stands for the result of subtracting ''b'' from ''a''. To confirm our expectation that {{nowrap|1 &minus; 2}} and {{nowrap|4 &minus; 5}} denote the same number, we define an equivalence relation ~ on these pairs with the following rule: :<math> (a,b) \sim (c,d) \,\! </math> precisely when :<math>a+d = b+c. \,\!</math> Addition and multiplication of integers can be defined in terms of the equivalent operations on the natural numbers; denoting by [(''a'',''b'')] the equivalence class having (''a'',''b'') as a member, one has: :<math>[(a,b)]+[(c,d)] := [(a+c,b+d)].\,</math> :<math>[(a,b)]\cdot[(c,d)] := [(ac+bd,ad+bc)].\,</math> The negation (or additive inverse) of an integer is obtained by reversing the order of the pair: :<math>-[(a,b)] := [(b,a)].\,</math> Hence subtraction can be defined as the addition of the additive inverse: :<math>[(a,b)]-[(c,d)] := [(a+d,b+c)].\,</math> The standard ordering on the integers is given by: :<math>[(a,b)]<[(c,d)]\,</math> if and only if <math>a+d < b+c.\,</math> It is easily verified that these definitions are independent of the choice of representatives of the equivalence classes. Every equivalence class has a unique member that is of the form (''n'',0) or (0,''n'') (or both at once). The natural number ''n'' is identified with the class [(''n'',0)] (in other words the natural numbers are embedded into the integers by map sending ''n'' to [(''n'',0)]), and the class [(0,''n'')] is denoted −''n'' (this covers all remaining classes, and gives the class [(0,0)] a second time since −0&nbsp;=&nbsp;0. Thus, [(''a'',''b'')] is denoted by :<math>\begin{cases} a-b, & \mbox{if } a \ge b \\ -(b-a), & \mbox{if } a < b. \end{cases} </math> If the natural numbers are identified with the corresponding integers, this convention creates no ambiguity. This notation recovers the familiar representation of the integers as {... −3,−2,−1, 0, 1, 2, 3, ...}. Some examples are: :<math>\begin{align} 0 &= [(0,0)] &= [(1,1)] &= \cdots & &= [(k,k)] \\ 1 &= [(1,0)] &= [(2,1)] &= \cdots & &= [(k+1,k)] \\ -1 &= [(0,1)] &= [(1,2)] &= \cdots & &= [(k,k+1)] \\ 2 &= [(2,0)] &= [(3,1)] &= \cdots & &= [(k+2,k)] \\ -2 &= [(0,2)] &= [(1,3)] &= \cdots & &= [(k,k+2)]. \end{align}</math> ==The Rational numbers== Next stop: the rationals! Those who have done a course in algebra may recognize the construction that follows as precisely being the one by which an integral domain is embedded in a field. (And indeed it is no big wonder as the integers form an integral domain and the rationals a field.) For those who think fields are open spaces and are thinking about agriculture, not to worry. We provide the full construction below. [[File:RationalRepresentation.pdf|thumb|right|300px|a diagram showing a representation of the equivalent classes of pairs of integers]] Mathematically the construction is similar as when we constructed the integers out of the naturals. We consider the following relation between all ordered pairs of integers (''m'',''n''), with ''n'' ≠ 0. Specifically, the relation is (''m''<sub>1</sub>,''n''<sub>1</sub>) ~ (''m''<sub>2</sub>,''n''<sub>2</sub>) if, and only if, {{nowrap|1=''m''<sub>1</sub>''n''<sub>2</sub> &minus; ''m''<sub>2</sub>''n''<sub>1</sub> = 0.}} We can define addition and multiplication of these pairs with the following rules: : <math>\left(m_1, n_1\right) + \left(m_2, n_2\right) := \left(m_1n_2 + n_1m_2, n_1n_2\right)</math> : <math>\left(m_1, n_1\right) \times \left(m_2, n_2\right) := \left(m_1m_2, n_1n_2\right)</math> and, if ''m''<sub>2</sub> ≠ 0, division by : <math>\frac{\left(m_1, n_1\right)} {\left(m_2, n_2\right)} := \left(m_1n_2, n_1m_2\right).</math> The equivalence relation (''m''<sub>1</sub>,''n''<sub>1</sub>) ~ (''m''<sub>2</sub>,''n''<sub>2</sub>) if, and only if, {{nowrap|1=''m''<sub>1</sub>''n''<sub>2</sub> &minus; ''m''<sub>2</sub>''n''<sub>1</sub> = 0}} is a congruence relation, i.e. it is compatible with the addition and multiplication defined above, and we may define the set of all rational numbers '''Q''' to be the set of all equivalence classes under this relation. We denote by [(''m''<sub>1</sub>,''n''<sub>1</sub>)] the equivalence class containing (''m''<sub>1</sub>,''n''<sub>1</sub>). If (''m''<sub>1</sub>,''n''<sub>1</sub>) ~ (''m''<sub>2</sub>,''n''<sub>2</sub>) then, by definition, (''m''<sub>1</sub>,''n''<sub>1</sub>) belongs to [(''m''<sub>2</sub>,''n''<sub>2</sub>)] and (''m''<sub>2</sub>,''n''<sub>2</sub>) belongs to [(''m''<sub>1</sub>,''n''<sub>1</sub>)]; in this case we can write [(''m''<sub>1</sub>,''n''<sub>1</sub>)] = [(''m''<sub>2</sub>,''n''<sub>2</sub>)]. Given any equivalence class [(''m'',''n'')] there are a countably infinite number of representation, since :<math> \cdots = [(-2m,-2n)] = [(-m,-n)] = [(m,n)] = [(2m,2n)] = \cdots. </math> The canonical choice for [(''m'',''n'')] is chosen so that gcd(''m'',''n'') = 1, i.e. ''m'' and ''n'' share no common factors, i.e. ''m'' and ''n'' are coprime. For example, we would write [(1,2)] instead of [(2,4)] or [(&minus;12,&minus;24)], even though [(1,2)] = [(2,4)] = [(&minus;12,&minus;24)]. The integers may be considered to be rational numbers by the embedding that maps ''m'' to [(''m'', 1)]. ==The Reals== The Real Numbers await us! For starters we need the concept of Dedekind cuts. A Dedekind cut, named after Richard Dedekind, is a partition of the rational numbers into two non-empty parts A and B, such that all elements of A are less than all elements of B, and A contains no greatest element. The cut itself is, conceptually, the "gap" defined between A and B. In other words, A contains every rational number less than the cut, and B contains every rational number greater than the cut. For convenience we may take the lower set A as the representative of any given Dedekind cut A, B, since A completely determines B. We now define the set of real numbers to be the set of all Dedekind cuts. In more detail, a real number <math>r</math> is any subset of the set <math>\textbf{Q}</math> of rational numbers that fulfills the following conditions: # <math>r</math> is not empty # <math>r \neq \textbf{Q}</math> # ''r'' is closed downwards. In other words, for all <math>x, y \in \textbf{Q}</math> such that <math>x < y</math>, if <math>y \in r</math> then <math>x \in r</math> # ''r'' contains no greatest element. In other words, there is no <math>x \in r</math> such that for all <math>y \in r</math>, <math>y \leq x</math> * We form the set <math> \textbf{R} </math> of real numbers as the set of all Dedekind cuts <math>A</math> of <math> \textbf{Q} </math>. * We embed the rational numbers into the reals by identifying the rational number <math>q</math> with the set of all smaller rational numbers <math> \{ x \in \textbf{Q} : x < q \} </math>. * Addition. <math>A + B := \{a + b: a \in A \land b \in B\}</math> * Defining multiplication is less straightforward. ** if <math>A, B \geq 0</math> then <math> A \times B := \{ a \times b : a \geq 0 \land a \in A \land b \geq 0 \land b \in B \} \cup \{ x \in \mathrm{Q} : x < 0 \}</math> ** if either <math>A\,</math> or <math>B\,</math> is negative, we use the identities <math> A \times B = -(A \times -B) = -(-A \times B) = (-A \times -B) \,</math> to convert <math>A\,</math> and/or <math>B\,</math> to positive numbers and then apply the definition above. ==The Complex numbers== Are we done? Not quite. The set of complex numbers which the reader has no doubt encountered still awaits us. Fortunately, it does not require such a detailed development as the reals and we quickly obtain it as follows. Let '''C''' be the set '''R'''<sup>2</sup> of ordered pairs (''a'', ''b'') of real numbers. '''C''' is defined as the set of complex numbers. In this notation, the above formulas for addition and multiplication read : <math>(a, b) + (c, d) = (a + c, b + d)\,</math> : <math> (a, b) \cdot (c, d) = (ac - bd, bc + ad)\,</math> It is then just a matter of notation to express (a, b) as a + ib. Addition and multiplication are defined naturally. ==Bibliography== * ''Naive Set Theory'' by Halmos. * [[GFDL|GNU Free Documentation License]] {{status|25%}} {{BookCat}} {{chapnav|Relations|Orderings}} badzoqi83aic5gge8a12d3cyfbz8e8z Chess Opening Theory/1. e4/1...e6/2. d4/2...d5/3. Nc3/3...Nf6/4. e5 0 266638 4654418 4443909 2026-07-14T12:55:11Z Greenman 7490 Remove oddly-specific, but with no context, stats. 4654418 wikitext text/x-wiki {{Chess Opening Theory/Position|= |Classical variation| |rd|nd|bd|qd|kd|bd| |rd|= |pd|pd|pd| | |pd|pd|pd|= | | | | |pd|nd| | |= | | | |pd|pl| | | |= | | | |pl| | | | |= | | |nl| | | | | |= |pl|pl|pl| | |pl|pl|pl|= |rl| |bl|ql|kl|bl|nl|rl|= || }} = Classical Defence/Steinitz Variation = Black's Knight on f6 is attacked, granting white space and a tempo with the e5 pawn push. Most often Black retreats it to [[/4...Nfd7|d7]] as Black's only 2 other viable moves, Ng8 and Ne4, either give white a significant development advantage or allow white to compromise Black's central pawn structure by exchanging Knights. This variation is one of the highest-scoring against the French. == Theory table == {{Chess Opening Theory/Table}}. <table border="0" cellspacing="0" cellpadding="4"> <tr> <th align "center">1. e4 e6 2. d4 d5 3. Nc3 Nf6 4. e5</th> </tr> <tr> <th></th> <th align="left">4</th> </tr> <tr> <th align="right">Main Line</th> <td>(e5)<br>[[/4...Nfd7|Nfd7]]</td> <td>=</td> </tr> </table> {{ChessMid}} == References == {{reflist}} {{Wikipedia|French Defence}} {{BCO2}} {{Chess Opening Theory/Footer}} f2ujsmdfus60kp0ubhiyzkbvtwan7vt Chess Opening Theory/1. e4/1...e6/2. d4/2...d5/3. Nc3/3...Nf6/4. Bg5/4...Bb4 0 295807 4654411 4649846 2026-07-14T12:36:42Z Greenman 7490 no need for dating in the text too 4654411 wikitext text/x-wiki {{Chess Opening Theory/Position|= |McCutcheon variation| |rd|nd|bd|qd|kd| | |rd|= |pd|pd|pd| | |pd|pd|pd|= | | | | |pd|nd| | |= | | | |pd| | |bl| |= | |bd| |pl|pl| | | |= | | |nl| | | | | |= |pl|pl|pl| | |pl|pl|pl|= |rl| | |ql|kl|bl|nl|rl|= }} The McCutcheon variation first became well-known as the result of an 1885 simultaneous exhibition game played in New York by World Champion Steinitz as White against John Lindsay McCutcheon, a lawyer from Pennsylvania. McCutcheon won convincingly in just 28 moves, and thus brought attention to the variation. It is still considered to be a sound defense for Black. There is no record of a previous game with this variation, so it is possible (though impossible to prove) that McCutcheon created a true novelty. {{Wikipedia|French Defence}} {{ChessMid}} {{ChessFooter}} bhxn3looggrxkjfqi1bsf0m7sif4yu3 Scouting/BSA/Fish and Wildlife Management Merit Badge 0 376231 4654541 3124105 2026-07-15T11:36:19Z ~2026-39789-70 3614523 /* */ animal 4654541 wikitext text/x-wiki {{Meritbadgedisclaimer|animal=manimal}} [[Image:Status iucn3.1.svg|thumb|600px|International Union for Conservation of Nature (IUCN) Red List]] ==Requirement 1== Describe the meaning and purposes of fish and wildlife conservation and management. ==Requirement 2== List and discuss at least three major problems that continue to threaten your state's fish and wildlife resources. ==Requirement 3== Describe some practical ways in which everyone can help with the fish and wildlife effort. ==Requirement 4== List and describe five major fish and wildlife management practices used by managers in your state. ==Requirement 5== '''Do <u>ONE</u> of the following:''' :A. Construct, erect, and check regularly at least two artificial nest boxes (wood duck, bluebird, squirrel, etc.) and keep written records for one nesting season. :B. Construct, erect, and check regularly bird feeders and keep written records of the kinds of birds visiting the feeders. :C. Design and implement a backyard wildlife habitat improvement project and report the results. :D. Design and construct a wildlife blind near a game trail, water hole, salt lick, bird feeder, or birdbath and take good photographs or make sketches from the blind of any combination of 10 wild birds, mammals, reptiles, or amphibians. ==Requirement 6== '''Do <u>ONE</u> of the following:''' :A. Observe and record 25 species of wildlife. Your list may include mammals, birds, reptiles, amphibians, and fish. Write down when and where each animal was seen. :B. List the wildlife species in your state that are classified as [[w:Lists_of_IUCN_Red_List_endangered_species|endangered]], [[w:IUCN_Red_List|threatened], exotic, game species, furbearers, or migratory game birds. :C. Start a scrapbook of North American wildlife. Insert markers to divide the book into separate parts for mammals, birds, reptiles, amphibians, and fish. Collect articles on such subjects as life histories, habitat, behavior, and feeding habits on all of the five categories and place them in your notebook accordingly. Articles and pictures may be taken from newspapers or science, nature and outdoor magazines; or from other sources including the Internet (with your parent's permission). Enter at least five articles on mammals, five on birds, five on reptiles, five on amphibians, and five on fish. Put each animal in alphabetical order. Include pictures whenever possible. ==Requirement 7== '''Do <u>ONE</u> of the following:''' :A. Determine the [[w:Estimating_the_age_of_fish|age of five species of fish]] from scale samples or identify various age classes of one species in a lake and report the results. :B. Conduct a [http://www.merriam-webster.com/dictionary/creel%20census creel census] on a small lake to estimate catch per unit effort. :C. Examine the stomach contents of three fish and record the findings. It is not necessary to catch any fish for this option. You may (must) visit a cleaning station set up for fishermen or find another, similar alternative. :D. Make a freshwater aquarium. Include at least four species of native plants and four species of animal life, such as [[w:Whirligig_beetle|whirligig beetles]], freshwater shrimp, tadpoles, water snails, and [[w:Golden_shiner|golden shiners]]. After 60 days or observation, discuss with your counselor the life cycles, food chains, and management needs you have recognized. After completing requirement 7d to your counselor's satisfaction, with your counselor's assistance, check local laws to determine what you should do with the specimens you have collected. ==Requirement 8== Using resources found at the library and in periodicals, books, and the Internet (with your parent's permission), learn about three different kinds of work done by fish and wildlife managers. Find out the education and training requirements for each position. ==External links== * [http://meritbadge.org/wiki/index.php/Fish_and_Wildlife_Management {{SUBPAGENAME}}] with Workbook PDF, current requirements, and resources. * [http://www.slideshare.net/moultrietech/wildlife-management-power-point Merit Badge Presentation] from Moultrie Technical College {{Naturemeritbadges}} {{EarningmeritbadgesintheBoyScoutsofAmerica}} {{BookCat}} 43vdjjcmxxh27hvefr5jmbgqumsmlyu Chess Opening Theory/1. e4/1...e5/2. f4/2...exf4/3. Bc4/3...Qh4/4. Ke2 0 381100 4654412 4420799 2026-07-14T12:37:43Z Greenman 7490 ce 4654412 wikitext text/x-wiki {{Chess Opening Theory/Position|= |King's gambit| |rd|nd|bd| |kd|bd|nd|rd|= |pd|pd|pd|pd| |pd|pd|pd|= | | | | | | | | |= | | | | | | | | |= | | |bl| |pl|pd| |qd|= | | | | | | | | |= |pl|pl|pl|pl|kl| |pl|pl|= |rl|nl|bl|ql| | |nl|rl|= || }} This move places the king in a bad place, but has the advantage of not blocking the h1-rook. In fact, now the h1-rook can be easily activated with a later Rf1. Black could kick the bishop away with 4.b5 (5.Bxb5? Qh5+ wins the bishop) or can rip open the f file with 4.f5!? and try to take advantage of the poor and vulnerable placement of the white King. Not 5.exf5?? f3+! and Black wins the bishop as well. {{BookCat}} == '''Theory table''' == ==4..f5== ==4..b5== 93q41xr6oo2o2h7q46qyhohssqvov78 OpenSCAD User Manual/Customizer 0 407712 4654500 4642148 2026-07-14T22:53:35Z ~2026-39659-03 3614430 /* Drop down box */ chaveiro_santos_pintor.scad 4654500 wikitext text/x-wiki == Customizer == {{requires|2019.05}} The Customizer feature provides a graphic user interface for editing model parameters. With this feature one does not need to edit the code to change the values of the parameters / variables. Programmers can create templates for a given model, and customize these further to adapt to different needs / users. Sets of parameter <u>values</u> can also be saved, which effectively saves a variant of a particular model. ===Activation of Customizer panel=== If the Customizer panel is not displayed, use the menu toggle '''Window > Hide customizer''' to make it visible. === Supported Variables === The customizer displays all variables that meet the following criteria: * The variable is assigned in the main file. Customizer will not display variables from files brought in via ''include'' and ''use'' (though with ''include'', they can still be referenced in the calling script). * The variable has a simple literal value -- string, number, or boolean -- or a list of up to four numeric literals. * The variable is not assigned in a "Hidden" section, as defined by a line containing only the comment '''/* [Hidden] */''' (details below). * The assignment statement must appear before the first { syntax element. Some scripts contain an empty module near the top for just this purpose, for instance: <syntaxhighlight lang="c++"> module __Customizer_Limit__ () {} // Hide following assignments from Customizer. debug_mode = false; </syntaxhighlight> Because it appears after a {, the Customizer does not display the variable '''debug_mode'''. This is an old-fashioned way of ending the list of customizable parameters -- the comment '''/* [Hidden] */''' is considered a best-practice way to do this now. '''Note:''' It is possible to enter a module or function containing no { character, which would ''not'' stop the Customizer from displaying subsequent variables. <syntaxhighlight lang="c++"> module does_not_stop_customizer () echo("Some text"); shown_by_customizer = true; // still displayed by Customizer </syntaxhighlight> As mentioned above, only simple literals and arrays of up to four numbers are available as parameters. Examples for literals are: a = "Text"; b = 123; c = 456.789; d = [1,2,3,4]; Expressions (even trivial examples) like e = str("String"," ","concat"); f = 12 + 0.5; are not supported as parameters. === Syntax support for generation of the customization form === <syntaxhighlight lang="c++"> // variable description variable name = defaultValue; // possible values </syntaxhighlight> The description comment must be adjusted to the left column of the source file, without spaces. Following is the syntax for how to define different types of widgets in the form: // =============================== // CHAVEIRO SANTOS PINTOR // Base redonda + logo em relevo // =============================== $fn = 180; // Medidas diametro = 50; espessura = 3; relevo = 1; borda = 2; furo = 5; dist_furo = 20; // Base difference(){ cylinder(h=espessura,d=diametro); translate([0,dist_furo,0]) cylinder(h=10,d=furo); } // Relevo do logotipo translate([0,0,espessura]) linear_extrude(height=relevo) scale(0.12) translate([-430,-530]) import("Design-sem-nome.svg"); ====Slider==== Only numbers are allowed in this one, specify any of the following:[[File:OpenSCAD-2017-11-05-experimental-build-costumizer-2.png|thumb|experimental-build customizer example 2]]<syntaxhighlight lang="c++"> // slider widget for number with max. value sliderWithMax =34; // [50] // slider widget for number in range sliderWithRange =34; // [10:100] //step slider for number stepSlider=2; //[0:5:100] // slider widget for number in range sliderCentered =0; // [-10:0.1:10] </syntaxhighlight> Note that this <syntaxhighlight lang="c++"> // slider widget for number with max. value sliderWithMax =34; // [50] </syntaxhighlight> is mainly for compatibility with [http://www.thingiverse.com Thingiverse] ====Checkbox==== [[File:OpenSCAD-2017-11-05-experimental-build-costumizer-3.png|thumb|experimental-build customizer example 3]]Not supported by Thingiverse.<syntaxhighlight lang="c++"> //description Variable = true; </syntaxhighlight> ====Spinbox ==== [[File:OpenSCAD-2017-11-05-experimental-build-costumizer-4.png|thumb|experimental-build customizer example 4]]<syntaxhighlight lang="c++"> // spinbox with step size 1 Spinbox= 5; // spinbox with step size 0.5 Spinbox= 5.5; // .5 </syntaxhighlight> ====Textbox==== [[File:OpenSCAD-2017-11-05-experimental-build-costumizer-5.png|thumb|experimental-build configurator example 5]]'''NOTE:''' The text box example only works in release version 2021.01, it may not work in future versions!<syntaxhighlight lang="c++"> // Text box for string String="hello"; // Text box for string with length 8 String="length"; //8 </syntaxhighlight> ====Special vector==== [[File:OpenSCAD-2017-11-05-experimental-build-costumizer-6.png|thumb|experimental-build configurator example 6]]<syntaxhighlight lang="c++"> //Spin box for vector with less than or equal to 4 elements Vector2=[12,34]; Vector3=[12,34,45]; Vector4=[12,34,45,23]; </syntaxhighlight> You can also set a range for the vector: <syntaxhighlight lang="c++"> VectorRange3=[12,34,46]; //[1:2:50] VectorRange4=[12,34,45,23]; //[1:50] </syntaxhighlight> ====Unavailable customizations==== Some desirable customization constraints are '''not supported''' currently. * Multi-line text boxes. * Directly editable (non-spinbox) numeric values: <syntaxhighlight lang="c++"> SerialNumber = 0; //[::non-negative integer] Offset = 10.0; //[::float] </syntaxhighlight> === Creating Tabs === Parameters can be grouped into '''tabs'''. This feature allows related parameters to be associated into groups. The syntax is very similar the Thingiverse rules for tabs. To create a tab, use a multi-line block comment like this: /* [Tab Name] */ Also possible, but not recommended: /* [Tab] [Name] */ Three tabs names have a special functionality; ==== [Global] ==== Parameters in the Global tab are always shown on every tab no matter which tab is selected. No tab is shown for Global parameters; they appear in all the tabs. ==== [Hidden] ==== Parameters in the Hidden tab (with first letter uppercase) are never displayed. Not even the tab is shown. This prevents global variables that have not been parameterized for the Thingiverse or OpenSCAD Customizer from showing up in the Customizer interface or widget. Included for compatibility with Thingiverse. You can have multiples segments under the Hidden group. See also [[#hidden_parameters]] ==== parameters==== Parameters that are not under any tab are displayed under a tab named “parameters”. In Thingiverse, these parameters are listed with no tab. === Example showcasing most features === [[File:OpenSCAD-2017-11-05-experimental-build-costumizer-tabs.png|thumb]] <syntaxhighlight lang="c++"> /* [Drop down box:] */ // combo box for number Numbers=2; // [0, 1, 2, 3] // combo box for string Strings="foo"; // [foo, bar, baz] //labeled combo box for numbers Labeled_values=10; // [10:L, 20:M, 30:XL] //labeled combo box for string Labeled_value="S"; // [S:Small, M:Medium, L:Large] /*[ Slider ]*/ // slider widget for number slider =34; // [10:100] //step slider for number stepSlider=2; //[0:5:100] /* [Checkbox] */ //description Variable = true; /*[Spinbox] */ // spinbox with step size 1 Spinbox = 5; /* [Textbox] */ // Text box for string String="hello"; /* [Special vector] */ //Text box for vector with less than or equal to 4 elements Vector1=[12]; //[0:2:50] Vector2=[12,34]; //[0:2:50] Vector3=[12,34,46]; //[0:2:50] Vector4=[12,34,46,24]; //[0:2:50] /* [Hidden] */ debugMode = true; </syntaxhighlight> === Saving Parameters value in JSON file === This feature gives the user the ability to save the values of all parameters. JSON parameter values can be then reused through the command line. ==== Cmdline ==== <syntaxhighlight lang="shell"> openscad -o model-2.stl -p parameters.json -P model-2 model.scad </syntaxhighlight> <syntaxhighlight lang="shell"> openscad -o <output-file> -p <parameteric-file (JSON File) > -P <NameOfSet> <input-file SCAD file > </syntaxhighlight> * -p is used to give input JSON file in which parameters are saved. Not an option, there is no default * -P is used to give the name of the set of the parameters written in JSON file. And JSON file is written in the following format:<syntaxhighlight lang="json"> { "parameterSets": { "FirstSet": { "Labeled_values": "13", "Numbers": "18", "Spinbox": "35", "Vector": "[2, 34, 45, 12, 23, 56]", "slider": "2", "stepSlider": "12", "string": "he" }, "SecondSet": { "Labeled_values": "10", "Numbers": "8", "Spinbox": "5", "Vector": "[12, 34, 45, 12, 23, 56]", "slider": "12", "stepSlider": "2", "string": "hello" } }, "fileFormatVersion": "1" } </syntaxhighlight><syntaxhighlight lang="json"> { "parameterSets":{ "set-name ":{ "parameter-name " :"value ", "parameter-name " :"value " }, "set-name ":{ "parameter-name " :"value ", "parameter-name " :"value " }, }, "fileFormatVersion": "1" } </syntaxhighlight> ====Superseding a parameter in a customizer set==== Parameter from a customizer set CANNOT be superseded with the option '-D param=newvalue' As this can be useful for defining e.g. a part or a variant, you shall create a specific parameter name to be displayed in the customizer and make a copy to be used in the program. This parameter copy CAN be re-allocated in the command line. As an example, you can set in the public data: <syntaxhighlight lang="c++"> /*[part]*/ //Selected part cpart = 1; // [some part:1, other part:2, special part:3] part = cpart; ... if(part==1) {...} else if(part==2) {...} else if(part==3) {...} </syntaxhighlight> and in the batch command: <syntaxhighlight lang="shell"> openscad -o model-2_part1.stl -D part=1 -p parameters.json -P model-2 model.scad openscad -o model-2_part2.stl -D part=2 -p parameters.json -P model-2 model.scad openscad -o model-2_part3.stl -D part=3 -p parameters.json -P model-2 model.scad </syntaxhighlight> ==== GUI ==== Through GUI you can easily apply and save Parameter in JSON file using Present section in Customizer explained below. In customizer, the first line of options is as follows: # '''Automatic Preview:''' If checked, the preview of the model is automatically updated when you change any parameter in Customizer, else you must click the preview button or press F5 after you update parameters in the Customizer. # '''Show Details:''' ## '''Show Details:''' If chosen, the description for the parameter appears below the parameter name. ## '''Inline Details:''' If chosen, the description for the parameter appears next to the parameter name. Long descriptions get clipped. This option is a compromise between vertical space usage and retaining part of the description. ## '''Hide Details:''' Details are suppressed although you still can view the description by hovering the cursor over the input widget. # '''Reset''' button: When clicked, it resets the values of all input widgets for the parameter to the defaults provided in SCAD file. Next comes Preset section: It consist of four buttons: ; combo Box : It is used to select the set of parameters to be used ; + button :add new set of the parameters ; – button : It is used to delete the set selected in combo Box. ; save preset button : save/overwrite the current preset and finally below Preset Section is the Place where you can play with the parameters. You can also refer to two examples that are Part of OpenSCAD to learn more: # Parametric/sign.scad # Parametric/candlStand.scad ==== manually create datasets ==== You can manually create a dataset by modifying the JSON file according above format and defining your own variables. When a dataset is loaded, '''only''' the parameters defined in the dataset are modified, other parameters are '''not''' set to defaults. This allow one to create partial datasets consisting of modifiers, not complete dataset. ==== hidden parameters ==== Variables belonging to the hidden group are stored in the JSON file, but are '''not''' retrieved from the JSON file. Meaning: If a variable is moved from the hidden group to an other group, it also becomes applicable. This allows a designer to use the hidden group for reserved variables, that become customizable (and assigned with a different default) in a future version, without breaking existing preset. A hidden variable can also be used as a "last saved with" indicator, that can be read by manually viewing the JSON file. The idea is, that the customizer only modifies variables that the user can see and control from the customizer UI. === Tips and Tricks === ==== Set Range and Stepping ==== The customizer tries to guess an appropriate range and stepping, but may give inconsistent results depending on your design intent. For example, the customizer also treats numbers like 0.0, 1.0, 2.0 etc. as integers. The customizer also does not know whether negative numbers make sense. It is therefore recommended to supply range and step as comments. Keep in mind, that if in doubt, the user can always modify the SCAD file. Do not hesitate to limit the range. For instance, in the design of a smart phone holder, limit the size to reasonable smart phone sizes. If someone wants to use your smart phone holder as a tablet holder, he always can directly edit the SCAD file itself. This act also makes the user aware, that the design was not meant as a tablet holder and that he or she might need for example to modify the support structure ==== Scroll Wheel ==== The buttons on the spinboxes are small, but you can use the scroll wheel on your mouse to change the value comfortably. First, click on the spin box to focus the spin box. === Examples === ==== color ===== <pre> cubeColor = [1,0.5,0]; //[0:0.1:1] sphereColor = "blue"; // [red, green, blue] echo(cubeColor); color(cubeColor) cube(); color(sphereColor) sphere(); </pre> === Notes === I saved the Thingiverse Customizer documentation, originally [https://customizer.makerbot.com/docs here], to the Internet Archive [https://web.archive.org/web/20211027060014/https://customizer.makerbot.com/docs here], just in case. {{BookCat}} h7s5hmg0hv87g5dbton0dmvknpo5hoz 4654502 4654500 2026-07-15T00:34:01Z Codename Noreste 3441010 [[WB:REVERT|Reverted]] edit by [[Special:Contributions/~2026-39659-03|~2026-39659-03]] ([[User talk:~2026-39659-03|talk]]) to last version by ~2026-37917-89 4642148 wikitext text/x-wiki == Customizer == {{requires|2019.05}} The Customizer feature provides a graphic user interface for editing model parameters. With this feature one does not need to edit the code to change the values of the parameters / variables. Programmers can create templates for a given model, and customize these further to adapt to different needs / users. Sets of parameter <u>values</u> can also be saved, which effectively saves a variant of a particular model. ===Activation of Customizer panel=== If the Customizer panel is not displayed, use the menu toggle '''Window > Hide customizer''' to make it visible. === Supported Variables === The customizer displays all variables that meet the following criteria: * The variable is assigned in the main file. Customizer will not display variables from files brought in via ''include'' and ''use'' (though with ''include'', they can still be referenced in the calling script). * The variable has a simple literal value -- string, number, or boolean -- or a list of up to four numeric literals. * The variable is not assigned in a "Hidden" section, as defined by a line containing only the comment '''/* [Hidden] */''' (details below). * The assignment statement must appear before the first { syntax element. Some scripts contain an empty module near the top for just this purpose, for instance: <syntaxhighlight lang="c++"> module __Customizer_Limit__ () {} // Hide following assignments from Customizer. debug_mode = false; </syntaxhighlight> Because it appears after a {, the Customizer does not display the variable '''debug_mode'''. This is an old-fashioned way of ending the list of customizable parameters -- the comment '''/* [Hidden] */''' is considered a best-practice way to do this now. '''Note:''' It is possible to enter a module or function containing no { character, which would ''not'' stop the Customizer from displaying subsequent variables. <syntaxhighlight lang="c++"> module does_not_stop_customizer () echo("Some text"); shown_by_customizer = true; // still displayed by Customizer </syntaxhighlight> As mentioned above, only simple literals and arrays of up to four numbers are available as parameters. Examples for literals are: a = "Text"; b = 123; c = 456.789; d = [1,2,3,4]; Expressions (even trivial examples) like e = str("String"," ","concat"); f = 12 + 0.5; are not supported as parameters. === Syntax support for generation of the customization form === <syntaxhighlight lang="c++"> // variable description variable name = defaultValue; // possible values </syntaxhighlight> The description comment must be adjusted to the left column of the source file, without spaces. Following is the syntax for how to define different types of widgets in the form: ====Drop down box==== [[File:OpenSCAD-2017-11-05-experimental-build-configurator-1.png|thumb|experimental-build customizer example 1]]<syntaxhighlight lang="c++"> // combo box for number Numbers=2; // [0, 1, 2, 3] // combo box for string Strings="foo"; // [foo, bar, baz] //labeled combo box for numbers Labeled_values=10; // [10:S, 20:M, 30:L] //labeled combo box for string Labeled_value="S"; // [S:Small, M:Medium, L:Large] </syntaxhighlight> ====Slider==== Only numbers are allowed in this one, specify any of the following:[[File:OpenSCAD-2017-11-05-experimental-build-costumizer-2.png|thumb|experimental-build customizer example 2]]<syntaxhighlight lang="c++"> // slider widget for number with max. value sliderWithMax =34; // [50] // slider widget for number in range sliderWithRange =34; // [10:100] //step slider for number stepSlider=2; //[0:5:100] // slider widget for number in range sliderCentered =0; // [-10:0.1:10] </syntaxhighlight> Note that this <syntaxhighlight lang="c++"> // slider widget for number with max. value sliderWithMax =34; // [50] </syntaxhighlight> is mainly for compatibility with [http://www.thingiverse.com Thingiverse] ====Checkbox==== [[File:OpenSCAD-2017-11-05-experimental-build-costumizer-3.png|thumb|experimental-build customizer example 3]]Not supported by Thingiverse.<syntaxhighlight lang="c++"> //description Variable = true; </syntaxhighlight> ====Spinbox ==== [[File:OpenSCAD-2017-11-05-experimental-build-costumizer-4.png|thumb|experimental-build customizer example 4]]<syntaxhighlight lang="c++"> // spinbox with step size 1 Spinbox= 5; // spinbox with step size 0.5 Spinbox= 5.5; // .5 </syntaxhighlight> ====Textbox==== [[File:OpenSCAD-2017-11-05-experimental-build-costumizer-5.png|thumb|experimental-build configurator example 5]]'''NOTE:''' The text box example only works in release version 2021.01, it may not work in future versions!<syntaxhighlight lang="c++"> // Text box for string String="hello"; // Text box for string with length 8 String="length"; //8 </syntaxhighlight> ====Special vector==== [[File:OpenSCAD-2017-11-05-experimental-build-costumizer-6.png|thumb|experimental-build configurator example 6]]<syntaxhighlight lang="c++"> //Spin box for vector with less than or equal to 4 elements Vector2=[12,34]; Vector3=[12,34,45]; Vector4=[12,34,45,23]; </syntaxhighlight> You can also set a range for the vector: <syntaxhighlight lang="c++"> VectorRange3=[12,34,46]; //[1:2:50] VectorRange4=[12,34,45,23]; //[1:50] </syntaxhighlight> ====Unavailable customizations==== Some desirable customization constraints are '''not supported''' currently. * Multi-line text boxes. * Directly editable (non-spinbox) numeric values: <syntaxhighlight lang="c++"> SerialNumber = 0; //[::non-negative integer] Offset = 10.0; //[::float] </syntaxhighlight> === Creating Tabs === Parameters can be grouped into '''tabs'''. This feature allows related parameters to be associated into groups. The syntax is very similar the Thingiverse rules for tabs. To create a tab, use a multi-line block comment like this: /* [Tab Name] */ Also possible, but not recommended: /* [Tab] [Name] */ Three tabs names have a special functionality; ==== [Global] ==== Parameters in the Global tab are always shown on every tab no matter which tab is selected. No tab is shown for Global parameters; they appear in all the tabs. ==== [Hidden] ==== Parameters in the Hidden tab (with first letter uppercase) are never displayed. Not even the tab is shown. This prevents global variables that have not been parameterized for the Thingiverse or OpenSCAD Customizer from showing up in the Customizer interface or widget. Included for compatibility with Thingiverse. You can have multiples segments under the Hidden group. See also [[#hidden_parameters]] ==== parameters==== Parameters that are not under any tab are displayed under a tab named “parameters”. In Thingiverse, these parameters are listed with no tab. === Example showcasing most features === [[File:OpenSCAD-2017-11-05-experimental-build-costumizer-tabs.png|thumb]] <syntaxhighlight lang="c++"> /* [Drop down box:] */ // combo box for number Numbers=2; // [0, 1, 2, 3] // combo box for string Strings="foo"; // [foo, bar, baz] //labeled combo box for numbers Labeled_values=10; // [10:L, 20:M, 30:XL] //labeled combo box for string Labeled_value="S"; // [S:Small, M:Medium, L:Large] /*[ Slider ]*/ // slider widget for number slider =34; // [10:100] //step slider for number stepSlider=2; //[0:5:100] /* [Checkbox] */ //description Variable = true; /*[Spinbox] */ // spinbox with step size 1 Spinbox = 5; /* [Textbox] */ // Text box for string String="hello"; /* [Special vector] */ //Text box for vector with less than or equal to 4 elements Vector1=[12]; //[0:2:50] Vector2=[12,34]; //[0:2:50] Vector3=[12,34,46]; //[0:2:50] Vector4=[12,34,46,24]; //[0:2:50] /* [Hidden] */ debugMode = true; </syntaxhighlight> === Saving Parameters value in JSON file === This feature gives the user the ability to save the values of all parameters. JSON parameter values can be then reused through the command line. ==== Cmdline ==== <syntaxhighlight lang="shell"> openscad -o model-2.stl -p parameters.json -P model-2 model.scad </syntaxhighlight> <syntaxhighlight lang="shell"> openscad -o <output-file> -p <parameteric-file (JSON File) > -P <NameOfSet> <input-file SCAD file > </syntaxhighlight> * -p is used to give input JSON file in which parameters are saved. Not an option, there is no default * -P is used to give the name of the set of the parameters written in JSON file. And JSON file is written in the following format:<syntaxhighlight lang="json"> { "parameterSets": { "FirstSet": { "Labeled_values": "13", "Numbers": "18", "Spinbox": "35", "Vector": "[2, 34, 45, 12, 23, 56]", "slider": "2", "stepSlider": "12", "string": "he" }, "SecondSet": { "Labeled_values": "10", "Numbers": "8", "Spinbox": "5", "Vector": "[12, 34, 45, 12, 23, 56]", "slider": "12", "stepSlider": "2", "string": "hello" } }, "fileFormatVersion": "1" } </syntaxhighlight><syntaxhighlight lang="json"> { "parameterSets":{ "set-name ":{ "parameter-name " :"value ", "parameter-name " :"value " }, "set-name ":{ "parameter-name " :"value ", "parameter-name " :"value " }, }, "fileFormatVersion": "1" } </syntaxhighlight> ====Superseding a parameter in a customizer set==== Parameter from a customizer set CANNOT be superseded with the option '-D param=newvalue' As this can be useful for defining e.g. a part or a variant, you shall create a specific parameter name to be displayed in the customizer and make a copy to be used in the program. This parameter copy CAN be re-allocated in the command line. As an example, you can set in the public data: <syntaxhighlight lang="c++"> /*[part]*/ //Selected part cpart = 1; // [some part:1, other part:2, special part:3] part = cpart; ... if(part==1) {...} else if(part==2) {...} else if(part==3) {...} </syntaxhighlight> and in the batch command: <syntaxhighlight lang="shell"> openscad -o model-2_part1.stl -D part=1 -p parameters.json -P model-2 model.scad openscad -o model-2_part2.stl -D part=2 -p parameters.json -P model-2 model.scad openscad -o model-2_part3.stl -D part=3 -p parameters.json -P model-2 model.scad </syntaxhighlight> ==== GUI ==== Through GUI you can easily apply and save Parameter in JSON file using Present section in Customizer explained below. In customizer, the first line of options is as follows: # '''Automatic Preview:''' If checked, the preview of the model is automatically updated when you change any parameter in Customizer, else you must click the preview button or press F5 after you update parameters in the Customizer. # '''Show Details:''' ## '''Show Details:''' If chosen, the description for the parameter appears below the parameter name. ## '''Inline Details:''' If chosen, the description for the parameter appears next to the parameter name. Long descriptions get clipped. This option is a compromise between vertical space usage and retaining part of the description. ## '''Hide Details:''' Details are suppressed although you still can view the description by hovering the cursor over the input widget. # '''Reset''' button: When clicked, it resets the values of all input widgets for the parameter to the defaults provided in SCAD file. Next comes Preset section: It consist of four buttons: ; combo Box : It is used to select the set of parameters to be used ; + button :add new set of the parameters ; – button : It is used to delete the set selected in combo Box. ; save preset button : save/overwrite the current preset and finally below Preset Section is the Place where you can play with the parameters. You can also refer to two examples that are Part of OpenSCAD to learn more: # Parametric/sign.scad # Parametric/candlStand.scad ==== manually create datasets ==== You can manually create a dataset by modifying the JSON file according above format and defining your own variables. When a dataset is loaded, '''only''' the parameters defined in the dataset are modified, other parameters are '''not''' set to defaults. This allow one to create partial datasets consisting of modifiers, not complete dataset. ==== hidden parameters ==== Variables belonging to the hidden group are stored in the JSON file, but are '''not''' retrieved from the JSON file. Meaning: If a variable is moved from the hidden group to an other group, it also becomes applicable. This allows a designer to use the hidden group for reserved variables, that become customizable (and assigned with a different default) in a future version, without breaking existing preset. A hidden variable can also be used as a "last saved with" indicator, that can be read by manually viewing the JSON file. The idea is, that the customizer only modifies variables that the user can see and control from the customizer UI. === Tips and Tricks === ==== Set Range and Stepping ==== The customizer tries to guess an appropriate range and stepping, but may give inconsistent results depending on your design intent. For example, the customizer also treats numbers like 0.0, 1.0, 2.0 etc. as integers. The customizer also does not know whether negative numbers make sense. It is therefore recommended to supply range and step as comments. Keep in mind, that if in doubt, the user can always modify the SCAD file. Do not hesitate to limit the range. For instance, in the design of a smart phone holder, limit the size to reasonable smart phone sizes. If someone wants to use your smart phone holder as a tablet holder, he always can directly edit the SCAD file itself. This act also makes the user aware, that the design was not meant as a tablet holder and that he or she might need for example to modify the support structure ==== Scroll Wheel ==== The buttons on the spinboxes are small, but you can use the scroll wheel on your mouse to change the value comfortably. First, click on the spin box to focus the spin box. === Examples === ==== color ===== <pre> cubeColor = [1,0.5,0]; //[0:0.1:1] sphereColor = "blue"; // [red, green, blue] echo(cubeColor); color(cubeColor) cube(); color(sphereColor) sphere(); </pre> === Notes === I saved the Thingiverse Customizer documentation, originally [https://customizer.makerbot.com/docs here], to the Internet Archive [https://web.archive.org/web/20211027060014/https://customizer.makerbot.com/docs here], just in case. {{BookCat}} pekgnosiwkpexz3hntepx95nz9z39ad Chess Opening Theory/1. e4/1...c5/2. c3/2...d5/3. exd5 0 438003 4654490 4483013 2026-07-14T21:30:31Z Greenman 7490 /* Statistics */ Remove stats 4654490 wikitext text/x-wiki {{Chess Opening Theory/Position|Sicilian, Alapin|50=|37=|38=|39=|40=|41=|42=|43=|44=|45=pl|46=|47=|48=|49=|51=pl|35=|52=pl|53=|54=pl|55=|56=pl|57=pl|58=pl|59=rl|60=nl|61=bl|62=ql|63=kl|64=bl|65=nl|36=|34=||17=pd|rd|nd|bd|qd|kd|bd|nd|rd|pd|pd|||pd|pd|18=pd|33=|19=|20=|21=|22=|23=|24=|25=|26=|27=|28=|29=pd|30=pl|31=|32=|66=rl}} == 3. exd5 == The natural move; eliminating the tension in the center, while bringing Black's queen to a more vulnerable position. Although White cannot immediately attack the Queen because of the pawn on c3, in some lines the Queen can be pinned to a captured pawn on d4 (eg. 4. d4 cxd4 5. Nf3), or become a target later down the line with moves such as c4. However, the Black Queen on d5 is often one of Black's biggest assets, as it assists in ideas such as Bg4 and is exceedingly hard to kick out before White castles. 3. exd5 is the most common move after [[Chess Opening Theory/1. e4/1...c5/2. c3/2...d5|2...d5]], followed by [[Chess Opening Theory/1. e4/1...c5/2. c3/2...d5/3. d3|3. d3]] and [[Chess Opening Theory/1. e4/1...c5/2. c3/2...d5/3. e5|3. e5]]. 6ujshn2k4wq1ky4icf5n8a81607mc3f Maxima/Operators 0 438289 4654506 4654379 2026-07-15T02:15:03Z Idavidmiller 3577687 4654506 wikitext text/x-wiki == Maxima Operators == <blockquote>''"Standards are great! That's why there are so many of them, and they change so often."'' ''"What once was forbidden is now required."'' – Unknown</blockquote> === Mathematical Notation and Operators === Mathematical notation was conceived of by different contributors and adopted over a period of time until the present . Standards are important. They help ensure that efforts are consistent and predictable. But if there are standards for notation, then these tend to be ''de facto'' in the absence of some imposed or adopted contextual guidance. Notation is important as this is the means by which mathematical expressions are composed. Much of what is now considered "standard" notation was in use before the advent of computers and programming software. Software such as Maxima that has as its purpose "doing" at least some of what is meant by "mathematics," must provide the means by which mathematical expressions can be composed. Standard or conventional mathematical notation in general is not well-suited for this purpose. Hence, there has been the effort to "shoe horn" expressions into a form that is better suited for composing expressions that conforms to software programming syntax, instead of developing software systems that can compose and interpret the full spectrum of existing mathematical expressions, presumably because the former is technically simpler. There has been more success in the form of output expressions in terms of conforming to standard mathematical notation. Maxima is mostly about mathematical expressions, and these expressions are composed of operators and atoms. Atoms are relatively the simpler ingredient for use in composing expressions – numerical and string data types, but also identifiers, especially those that are not assigned a value, and hence may be considered variables. Operators are the ingredient where much of the "heavy lifting" occurs with respect to expression composition, and operators need some means to be expressed. Maxima operators are all some sort of "function" (or in Lisp, a procedure) in the programming language sense of the word. This is important to understand. Even something as simple as the expression of a sum is a based on a function. For example, consider the Maxima expressions:<syntaxhighlight lang="maxima"> (%i1) e+3; (%o1) e+3 (%i2) :lisp #$[e+3]$ ((MLIST SIMP) ((MPLUS SIMP) 3 $E)) </syntaxhighlight> Notice that a sum is simply the Lisp procedure <code>MPLUS</code>. What is true here for the <code>+</code> operator is true in general – operators are either implicitly or explicitly a function in the programming sense of the word. For those used to conventional mathematical notation, this fact can take some getting used to. What this means in practice when composing Maxima expressions is that the form of the input may often not resemble what looks like conventional mathematical notation regardless of how well the output or value of the expressions represents the form of conventional mathematical notation. Maxima user interfaces such as ''wxMaxima'' and ''GNU TeXmacs'' are capable of rendering the output of Maxima expressions in a way that repreosents conventional mathematical notation quite well. However, once again, the input expressions in these and similar user interfaces always are explicitly and literally composed of Maxima atoms and operators. There is a sense in which then, Maxima imposes an alternative form of mathematical notation for input purposes. This quite simply put is the current state of affairs with respect to doing what Maxima does using a language and syntax that is compatible with computers. There is a last subsection of this section that provides some insight into the issue of conventional mathematical notation and mathematical computer software systems such as Maxima. This subsection is included for those that have an interest. === Maxima Operators === .++. === Some Information Related to Mathematical Notation === '''There is no single, universally enforced standard that dictates mathematical notation across all branches of math'''. Instead, notation is decentralized, evolving organically and varying by '''discipline''', '''publisher''', and '''subfield'''. [1, 2, 3] However, there are widely accepted conventions and formal frameworks that serve as references: 1. The ISO Standard The closest thing to a universal style guide is the '''ISO 31-11''' (now succeeded by '''ISO 80000-2'''). * '''Who uses it:''' Primarily applied scientists, physicists, and engineering bodies. Pure mathematicians largely ignore it in favor of their own sub-field traditions. * '''Core Rule:''' It mandates the use of '''italic fonts for variables''' (e.g., <math>E = mc^2</math>) and '''upright (roman) fonts for mathematical constants''' (e.g., e or π). [7, 8] 2. Disciplinary Conventions Mathematical notation broadly divides into four categories depending on the context: * '''Operational Symbols:''' e.g., <math>+, -, \times, \div, =</math> * '''Set & Logic Symbols:''' e.g., <math>\in, \notin, \forall, \exists</math> * '''Functional Notation:''' e.g., <math>f(x), \sin(\theta)</math> * '''Structural/Relational Notation:''' e.g.,<math>\sum, \int, \cup, \cap</math> [2] Within these categories, sub-fields develop distinct dialects. For example, a partial derivative might be written as <math>\frac{\partial f}{\partial x}</math> in calculus, <math>f_x</math> in differential equations, or <math>\partial_x f</math> in differential geometry. 3. Practical Usage Because notation evolves so quickly, papers and textbooks typically rely on '''context''' and explicit definitions rather than a rigid central authority. For typesetting, the international default for mathematical texts is '''LaTeX''', which establishes formatting norms but not the mathematical meaning itself. [1, 2, 9, 10] To explore this topic further, the '''Wikipedia Mathematical Notation''' page provides a solid overview of common symbols and their regional variants. [7] [1] <nowiki>https://mathoverflow.net/questions/33152/is-there-a-reference-containing-standard-mathematical-notations</nowiki> [2] <nowiki>https://mathematicsauthority.com/mathematical-notation-guide/</nowiki> [3] <nowiki>https://math.stackexchange.com/questions/4738809/is-there-one-universal-standard-for-mathematical-notation</nowiki> [4] <nowiki>https://en.wikipedia.org/wiki/ISO_31-11</nowiki> [5] <nowiki>https://mathoverflow.net/questions/33152/is-there-a-reference-containing-standard-mathematical-notations</nowiki> [6] <nowiki>https://hsm.stackexchange.com/questions/19089/why-does-mathematical-notation-and-terminology-stop-being-standard-after-calculu</nowiki> [7] <nowiki>https://en.wikipedia.org/wiki/Mathematical_notation</nowiki> [8] <nowiki>https://nhigham.com/2016/01/28/typesetting-mathematics-according-to-the-iso-standard/</nowiki> [9] <nowiki>https://www2.cde.ca.gov/cacs/math?c0=14,8&c1=5</nowiki> [10] <nowiki>https://math.stackexchange.com/questions/1202594/there-is-a-logical-or-mathematical-symbol-for-compatibility-incompatibility</nowiki> The definitive, encyclopedic reference for the history of mathematical symbols is <mark>Florian Cajori's ''A History of Mathematical Notations''</mark>. This foundational text details the origin, evolution, and dissemination of virtually every mathematical symbol. You can access the full A History Of Mathematical Notations Vol I text online via the Internet Archive. [1, 2, 3] For a quick, scannable breakdown of specific symbols, turn to the Wikipedia History of mathematical notation. This resource highlights major eras and the mathematicians who standardized our modern system. [1, 2, 3] Key Resources by Topic * Textbook Classic: Read or borrow Florian Cajori's unabridged work via Internet Archive for a deep dive into specific symbols. [1, 2] * General Summary: Use the Wikipedia History of mathematical notation for a curated list of who invented specific operators. [1] * Functions & Operations: Visit the MacTutor History of Mathematics archive, maintained by the University of St Andrews, to track individual symbols (e.g., \(+\), \(-\), \(\times \), \(\div \), and \(f(x)\)). [1, 2, 3] * The Future of Notation: Read Stephen Wolfram's Mathematical Notation: Past and Future to learn how the history of notation shapes modern computation. [1] <blockquote> ''"Now I have to tell you that I had always assumed that mathematical notation was too haphazard to be used as any kind of thing that a computer could reasonably interpret in a rigorous way. But at the beginning of the 1990s we got interested in making Mathematica be able to interact with mathematical notation. And so we realized that we really had to figure out what was going on with mathematical notation.'' ''Neil Soiffer had spent quite a number of years working on editing and interpreting mathematical notation, and when he joined our company in 1991, he started trying to convince me that one really could work with mathematical notation in a reasonable way, for both output and input.'' ''The output side was pretty straightforward: after all, TROFF and TeX already did a moderately good job with that.'' ''The issue was input.'' ''Well, actually, one already learned something from output. One learned that at least at some level, a lot of mathematical notation could be represented in some kind of context-free form. Because one knew that in TeX, for instance, one could set things up in a tree of nested boxes.'' ''But how about input? Well, one of the biggest things was something that always comes up in parsing: if you have a string of text, with operands and operators, how do you tell what groups with what?"<br />'' – Stephen Wolfram</blockquote>{{Bookcat}} {{Status|0%}} 8h5vfpl9b6edbzefh7r7u1u9i915qol The Linux Kernel/Security 0 438686 4654520 4641056 2026-07-15T07:54:18Z Conan 3188 Cryptographic API 4654520 wikitext text/x-wiki {{DISPLAYTITLE:Security support in Linux kernel}} == New features == === Lockdown === Since Linux 5.4. ⚲ API: : /sys/kernel/security/lockdown : {{The Linux Kernel/man|7|kernel_lockdown}} &ndash; kernel image access prevention feature === Landlock === Landlock allows to sandbox applications. 👁 example: {{The Linux Kernel/source|samples/landlock/sandboxer.c}} 📚 References: : {{The Linux Kernel/doc|Landlock: unprivileged access control|userspace-api/landlock.html}} : {{The Linux Kernel/doc|Landlock|security/landlock.html}} === Randomize kernel stack offset === : {{The Linux Kernel/include|linux/randomize_kstack.h}} : {{The Linux Kernel/id|add_random_kstack_offset}} == Cryptographic API == See [[The Linux Kernel/Human interfaces#Cryptography|Cryptography]] for the full crypto API section. : /proc/crypto &ndash; registered algorithms with driver, module, priority and selftest status : /proc/sys/crypto/fips_enabled &ndash; indicates FIPS 140 mode is active : [https://github.com/sosreport/sos/blob/main/sos/report/plugins/crypto.py sos crypto plugin] &ndash; diagnostics collection for crypto subsystem == Hardware vulnerability mitigations == CPU {{w|Speculative execution|speculative execution}} mitigations for vulnerabilities like {{w|Spectre (security vulnerability)|Spectre}}, {{w|Microarchitectural Data Sampling|MDS}}, {{w|Retbleed|SRSO}}, {{w|Virtual machine escape|VMSCAPE}}. These mitigations can impact real-time latency. 🗝️ Acronyms : IBPB &ndash; {{w|Indirect Branch Prediction Barrier}}, flushes branch predictor on context switches to prevent cross-process speculation attacks : IBRS &ndash; Indirect Branch Restricted Speculation : STIBP &ndash; Single Thread Indirect Branch Predictors : SSBD &ndash; {{w|Speculative Store Bypass|Speculative Store Bypass Disable}} ⚲ API : /sys/devices/system/cpu/vulnerabilities/ ⚙️ Internals : {{The Linux Kernel/source|arch/x86/kernel/cpu/bugs.c}} &ndash; x86 CPU bug mitigations 📖 References : {{The Linux Kernel/doc|Hardware vulnerabilities|admin-guide/hw-vuln}} {{BookCat}} imz5o3x6cmkbh5cd57giittjspk2d04 User talk:Kittycataclysm 3 442343 4654507 4636680 2026-07-15T06:00:14Z JaredMcKenzie 3528493 /* Slander */ new section 4654507 wikitext text/x-wiki {| class="wikitable" |+ ! colspan="3" |Talk Page Archives |- |[[User talk:Kittycataclysm/Archive 2022|2022]] |[[User talk:Kittycataclysm/Archive 2023|2023]] |[[User talk:Kittycataclysm/Archive 2024|2024]] |} == That IP range calculator == Following [[phab:T381138|T381138]], I have now become the maintainer of the IP range calculator you like. You can find it [[toolforge:ftools/general/ip-range-calc.html|here]]. [[User:JJPMaster|JJP]]<sub>[[User talk:JJPMaster|Mas]]<sub>[[Special:Contributions/JJPMaster|ter]]</sub></sub> ([[wikt:she|she]]/[[wikt:they|they]]) 23:10, 9 January 2025 (UTC) :Thank you for the heads-up! —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 01:56, 10 January 2025 (UTC) == A merge and unmerge from two years ago == I was browsing through the history merge log when I saw that you merged [[Cookbook:Chicken Bog]] into [[Cookbook:Chicken Bog I]], and then promptly reverted it. What happened here exactly? Could I correct it? [[User:JJPMaster|JJP]]<sub>[[User talk:JJPMaster|Mas]]<sub>[[Special:Contributions/JJPMaster|ter]]</sub></sub> ([[wikt:she|she]]/[[wikt:they|they]]) 15:55, 10 January 2025 (UTC) :Good question! I can't remember what I was trying to do, but it looks like I didn't succeed at what I wanted based on the log comment. You're just trying to history merge to get [[Cookbook:Chicken Bog I]] to have continuity of history? —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 16:35, 10 January 2025 (UTC) ::I think I figured out your mistake: it outright moved the revisions from the first page to the second, rather than copying them. This would have caused the other two [[Cookbook:Chicken Bog]] pages to have incomplete histories. I think the only solution would be to XML import the pre-April 2023 revisions from the first page to the other three, and I'm not sure if that's the best idea, and I am technically unable to do so. [[User:JJPMaster|JJP]]<sub>[[User talk:JJPMaster|Mas]]<sub>[[Special:Contributions/JJPMaster|ter]]</sub></sub> ([[wikt:she|she]]/[[wikt:they|they]]) 16:49, 10 January 2025 (UTC) == Undeletion request == I wouldn't be surprised if you expected this, but I'd like to ask you to undelete the subpages of [[Rotorcraft Fundamentals]] you just deleted with the summary "Use of copyrighted work without permission. Please read Terms of Use: page needs to be imported for attribution", so that I can do that. [[User:JJPMaster|JJP]]<sub>[[User talk:JJPMaster|Mas]]<sub>[[Special:Contributions/JJPMaster|ter]]</sub></sub> ([[wikt:she|she]]/[[wikt:they|they]]) 19:54, 14 January 2025 (UTC) :Done! —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 19:57, 14 January 2025 (UTC) ::Upon further investigation, this might actually be a rare case where an [[WB:UT|unmerged transwiki]] is ''preferred'' (this is part of why I stopped calling them "bad transwikis"), since only a small portion of the Wikipedia article (with over 2,000 revisions) was copied over. Importation is generally only needed if the ''majority'' of the page is copied across wikis. I'll just leave a null edit providing attribution and add {{tlx|Copied}}. [[User:JJPMaster|JJP]]<sub>[[User talk:JJPMaster|Mas]]<sub>[[Special:Contributions/JJPMaster|ter]]</sub></sub> ([[wikt:she|she]]/[[wikt:they|they]]) 21:19, 14 January 2025 (UTC) == Reusing [[Cookbook:8 Desserts in 1 Pan]] on wikiHow == Hi, I am a user on wikiHow, see [[wikihow:User:Xeverything11]]. I would like to create a new recipe on wikiHow. I wanted to let us know if I can give permission to reuse your contributions to this recipe from Wikibooks to wikiHow. I (as a copyright holder) created this recipe on Wikibooks, but you contributed to this recipe. If not, I'll use the revision before you contributed since I was the only author. Wikibooks uses CC-BY-SA 4.0 while wikiHow uses CC-BY-NC-SA 3.0, which both licenses are incompatible due to ShareAlike conditions. Thanks [[User:Xeverything11|Xeverything11]] ([[User talk:Xeverything11|discuss]] • [[Special:Contributions/Xeverything11|contribs]]) 08:27, 15 January 2025 (UTC) :@[[User:Xeverything11|Xeverything11]] I'm personally fine with this as long as proper attribution is given back to the original recipe page here. Cheers —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 02:52, 20 January 2025 (UTC) ::I adapted this [[wikihow:Make-8-Desserts-in-1-Pan|recipe]] on wikiHow with attribution, and got a Rising Star (an achievement used for best new articles on wikiHow). Thank you! [[User:Xeverything11|Xeverything11]] ([[User talk:Xeverything11|discuss]] • [[Special:Contributions/Xeverything11|contribs]]) 19:49, 24 January 2025 (UTC) == Wikibooks community == Hi, @[[User:Kittycataclysm|Kittycataclysm]]! I am trying to contribute more to English Wikibooks. My main contributions will focus on the Cookbook, especially on Indonesian recipes. Do you have a community group where we can discuss and share ideas together? I am looking forward to join. Thank you! [[User:Raflinoer32|Raflinoer32]] ([[User talk:Raflinoer32|discuss]] • [[Special:Contributions/Raflinoer32|contribs]]) 08:47, 16 January 2025 (UTC) :@[[User:Raflinoer32|Raflinoer32]] Sorry I missed this, and welcome! Are you asking about a Cookbook-specific area for discussion? Cheers —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 02:39, 20 January 2025 (UTC) ::Yes. Do you know place for this? ::Thank you ::[[User:Raflinoer32|Raflinoer32]] ([[User talk:Raflinoer32|discuss]] • [[Special:Contributions/Raflinoer32|contribs]]) 09:41, 21 January 2025 (UTC) :::Honestly, there's not a centralized Cookbook-specific discussion space, especially since there aren't currently a ton of active contributors. Some people ask questions at [[Cookbook talk:Table of Contents]]. I'm currently the most consistently active and involved Cookbook editor, so feel free to ask me questions! —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 01:46, 22 January 2025 (UTC) == Congratulations! == [[File:Admin T-shirt.svg|thumb|You get this now.]] You are now a permanent administrator. Welcome to the team (I am entitled to say this because I technically got the extension a few hours before you did)!{{FBDB}} [[User:JJPMaster|JJP]]<sub>[[User talk:JJPMaster|Mas]]<sub>[[Special:Contributions/JJPMaster|ter]]</sub></sub> ([[wikt:she|she]]/[[wikt:they|they]]) 10:33, 29 January 2025 (UTC) :Thanks :) —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 13:29, 29 January 2025 (UTC) == Is there a way to contact a Steward on WikiBooks? == Hi {{PAGENAME}}, Is there a way to contact a Steward on WB? I tried to find who the active Stewards are here at [[Special:ActiveUsers?username=&groups%5B%5D=steward&wpFormIdentifier=specialactiveusers]] but nothing shows up. The reason I am asking is that I believe that all individual Wikimania-wikis should have a backward link to the [[Wikimania-wiki]], but I just visited the [[wikimania 2014 wiki]] and could not find this backward link. I tried to ask about this on the [[Wikimania 2014 main-page talk]] but disovered that the Stewards have protected it. Is there a way wikibookians can communicate with Stewards at WB? Thanks in advance for answering this non-urgent question, and apologies for all the red-links which I can bluify if needed. Cheers [[User:Ottawahitech|Ottawahitech]] ([[User talk:Ottawahitech|discuss]] • [[Special:Contributions/Ottawahitech|contribs]]) 16:37, 7 February 2025 (UTC) :@[[User:Ottawahitech|Ottawahitech]] You can ask this on somewhere like [[metawiki:Steward requests/Miscellaneous]]. [[User:Leaderboard|Leaderboard]] ([[User talk:Leaderboard|discuss]] • [[Special:Contributions/Leaderboard|contribs]]) 17:01, 7 February 2025 (UTC) <s>:@[[User:Ottawahitech|Ottawahitech]] seconding what Leaderboard said—we no longer have any active stewards at enWB.</s> Had a brain fade there and mixed up stewards with bureaucrats. Yes, meta is the place for this. Cheers —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 19:15, 7 February 2025 (UTC) ::@Kittycataclysm,@[[User:Leaderboard|Leaderboard]], or anyone else: ::Some wikibookians prefer for various reasons to post only at wb. I myself am indef-blocked at META so could not participate at [[metawiki:Steward requests/Miscellaneous]] even if I waned to. ::Since [[Wikimania]] is a topic of interest to all members of the [[wikimedia movement]] why can't wikibookians talk to thier elected representatives here? [[User:Ottawahitech|Ottawahitech]] ([[User talk:Ottawahitech|discuss]] • [[Special:Contributions/Ottawahitech|contribs]]) 20:56, 7 February 2025 (UTC) :::@[[User:Ottawahitech|Ottawahitech]] I can check with the blocking admin to see if they'd be willing to unblock you, if you'd like. The reason things like these are done at Meta is that Meta is a cross-project coordination platform - stewards ''cannot'' be expected to watch every project after all. Now you could message any steward here on Wikibooks if you really wanted to, but that is not normally a good idea. [[User:Leaderboard|Leaderboard]] ([[User talk:Leaderboard|discuss]] • [[Special:Contributions/Leaderboard|contribs]]) 02:26, 8 February 2025 (UTC) ::::Wikimania is the annual conference celebrating all the free knowledge projects hosted by the Wikimedia Foundation (WMF). It is a wikimedia initiative which is meant to help all of our projects (including wikibooks), gain more readership, educate more wiki-editors, foster better communications, and much more. The wmf has been hosting a Wikimania-wiki dedicated to each Wikimania annual event since 2004. These wikis contain a wealth of information, but can benefit from wiki-improvements, starting from spelling and grammar errors that detract from their to appeal to the general membership. It would be nice if Stewards paid more attention to it. ::::@[[User:Leaderboard|Leaderboard]], I truly appreciate your offer, but I posted this here not in order to get someone to advocate for one unblocking at META. As I said earlier: ::::* "Some wikibookians prefer for various reasons to post only at wb" ::::* "The reason I am asking is that I believe that all individual Wikimania-wikis should have a backward link to the Wikimania-wiki, but I just visited the wikimania 2014 wiki and could not find this backward link. I tried to ask about this on the Wikimania 2014 main-page talk but disovered that the Stewards have protected it" ::::I would much rather see more wikimedia members question blocking in general at META. One cannot run such large movement of people from different backgrounds and nationalities simply by silencing minorities IMIO. [[User:Ottawahitech|Ottawahitech]] ([[User talk:Ottawahitech|discuss]] • [[Special:Contributions/Ottawahitech|contribs]]) 20:12, 8 February 2025 (UTC) == [[Crystal ball]] == That page appears to be a mixture of isolated paragraphs from [[w:Crystal ball|Crystal ball]], hence my tag. [[User:JJPMaster|JJP]]<sub>[[User talk:JJPMaster|Mas]]<sub>[[Special:Contributions/JJPMaster|ter]]</sub></sub> ([[wikt:she|she]]/[[wikt:they|they]]) 03:04, 9 February 2025 (UTC) :Yep, that seems correct! I also queried it simply because it does not seem suitable for inclusion at all. —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 03:09, 9 February 2025 (UTC) == Question about an edit suggestion == Hi Kittycataclysm, Thanks for the great work you do as an admin! I wanted to clarify a suggestion you made on a recently published page I’m working on. You recommended splitting it into smaller sections—would you suggest creating separate pages for these sections, or would a higher-level header for some topics be sufficient? Any specific recommendations you have would be greatly appreciated! Here’s the link to the page I’m referring to: [[Funding and Finance of Transportation Projects in the United States of America]] Thank you! [[User:Svrmustafa|Svrmustafa]] ([[User talk:Svrmustafa|discuss]] • [[Special:Contributions/Svrmustafa|contribs]]) 18:19, 18 February 2025 (UTC) :Hi @[[User:Svrmustafa|Svrmustafa]], and thanks for asking! Splitting refers to creating new pages, each with a smaller amount of content. The main page should then contain a table of contents, and each page can contain a navigation template for easier navigation. I'll create the table of contents based on the current work and move some content to one of those pages as an example for you; then, you can do the rest. Cheers —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 00:26, 19 February 2025 (UTC) ::Following up on this—I noticed that you use the term "paper". However, technically Wikibooks hosts books not papers, so you should probably change this wording. Cheers —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 00:38, 19 February 2025 (UTC) == Talkback == {{Talkback|Cookbook talk:Chilli Crab|Recipe Questions}} [[User:Cactusisme|Cactusisme]] ([[User talk:Cactusisme|discuss]] • [[Special:Contributions/Cactusisme|contribs]]) 09:54, 19 February 2025 (UTC) :@[[User:Kittycataclysm|Kittycataclysm]] I also made [[Cookbook:Prata|this]] [[User:Cactusisme|Cactusisme]] ([[User talk:Cactusisme|discuss]] • [[Special:Contributions/Cactusisme|contribs]]) 10:15, 19 February 2025 (UTC) == Hello == Can you look at my latest recipe? [[User:Cactusisme|Cactusisme]] ([[User talk:Cactusisme|discuss]] • [[Special:Contributions/Cactusisme|contribs]]) 00:10, 28 February 2025 (UTC) :I saw it! It needs a few corrections, which I'll note. What's the origin of the recipe? —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 03:23, 28 February 2025 (UTC) ::@[[User:Kittycataclysm|Kittycataclysm]] How do you write recipe summary, correct headers [[User:Cactusisme|Cactusisme]] ([[User talk:Cactusisme|discuss]] • [[Special:Contributions/Cactusisme|contribs]]) 06:04, 28 February 2025 (UTC) :::Please see [[Cookbook:Policy/Recipe template]]. What's the origin of the recipe? —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 13:08, 28 February 2025 (UTC) ::::ok [[User:Cactusisme|Cactusisme]] ([[User talk:Cactusisme|discuss]] • [[Special:Contributions/Cactusisme|contribs]]) 02:33, 1 March 2025 (UTC) == Cookbook == Hi there, Kittycataclysm. I wandered over here from Wikipedia, and I'm quite enamoured with this cookbook. I noticed you seem to be the one maintaining it, and I thought I'd reach out. Can I really just start cranking out recipes from public domain cookbooks and my family recipes? It's that simple? I was also wondering about the featured recipes section. There's not very many in there, and I imagine there's not very many folks around to do reviews compared to GAR on Wikipedia. How do you handle content review? Thanks. [[User:MediaKyle|MediaKyle]] ([[User talk:MediaKyle|discuss]] • [[Special:Contributions/MediaKyle|contribs]]) 01:51, 1 March 2025 (UTC) :Hi @[[User:MediaKyle|MediaKyle]] and welcome! For some context, the Cookbook has been around since the very beginning of Wikibooks, but it had gotten into a bit of disarray over the course of about two decades by the time I found it. I started the long process of overhauling, standardizing, and expanding it just over four years ago—I finished standardizing the recipe formatting and quality a while back and am currently working my way through the ingredient pages before moving on to equipment, techniques, and cuisines. You can absolutely add any public domain recipes as well as your own recipes—they just need to conform to the [[Cookbook:Policy/Recipe template|recipe template]] and [[Cookbook:Policy|Cookbook policy overall]]. It's even better if you've made the recipe and can contribute a nice picture and specific guidance/instructions/notes! Please feel free to ask me any questions. Cheers —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 02:27, 1 March 2025 (UTC) ::Oh, and regarding the featured recipes section, I actually haven't gotten around to looking into that yet—there's been a lot to do! —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 02:28, 1 March 2025 (UTC) ::That's great, thanks a lot for your response. This is just delightful. Maybe content review is something that we could collaborate on. There's a lot of recipes in here and it would be nice to know which ones are the best. Question for you, [[:Category:Brown sauces]] is really bothering me. How can I move that to Brown sauce recipes? [[User:MediaKyle|MediaKyle]] ([[User talk:MediaKyle|discuss]] • [[Special:Contributions/MediaKyle|contribs]]) 02:29, 1 March 2025 (UTC) :::Good catch on that category! It seems like it was created two decades ago and never got corrected—feel free to recategorize those recipes. Thank you also for introducing the hideprefix parameter to the category trees—I didn't realize that was an option, and it reduces the visual clutter! —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 02:38, 1 March 2025 (UTC) ::::My pleasure! As I continue to look at the categories, this is actually worse than I thought. We have both [[:Category:Sauce recipes]] and [[:Category:Recipes for condiments]] and I suspect that's just the beginning. I want to go through and categorize everything properly, but the bones aren't even there... How long do I have to be here before it'll let me create and move around categories? [[User:MediaKyle|MediaKyle]] ([[User talk:MediaKyle|discuss]] • [[Special:Contributions/MediaKyle|contribs]]) 02:40, 1 March 2025 (UTC) :::::Regarding the categories, the category overhauling is in progress, since I address the category when I overhaul the associated page. The variation in titling is actually somewhat deliberate—I started changing it from "____ recipes" in certain cases to solve a particular categorization problem. Sometimes, there is an item that is used in recipes as an ingredient but for which there are also recipes. For example, [[:Category:Recipes for bread]] versus [[:Category:Recipes using bread]]. The different naming scheme is necessary to properly delineate the categories, and I'm working on implementing it a bit more consistently as I go. While you're still getting started, it would be great if you could check with me when something looks odd or out of place—that way I can take a look and weigh in on whether that's normal or not and maybe provide some context. Just off the top of my head, I think you will have to wait for autoreview status to make move changes. —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 02:56, 1 March 2025 (UTC) ::::::I see what you're saying, I've been trying to wrap my head around that. Maybe it would be beneficial to try to put together some sort of a Cookbook MOS regarding category structure? It's kind of all over the place right now. Using your bread example, would it perhaps make more sense to have [[:Category:Bread recipes]] and [[:Category:Recipes using bread]]? There would be no ambiguity with just those two categories, but when you add the extra [[:Category:Recipes for bread]], that's when things start getting a little whacky. What do you think? [[User:MediaKyle|MediaKyle]] ([[User talk:MediaKyle|discuss]] • [[Special:Contributions/MediaKyle|contribs]]) 03:05, 1 March 2025 (UTC) :::::::Either that or get rid of [[:Category:Bread recipes]] and keep the other two. But one of these categories gotta go, I reckon. [[User:MediaKyle|MediaKyle]] ([[User talk:MediaKyle|discuss]] • [[Special:Contributions/MediaKyle|contribs]]) 03:07, 1 March 2025 (UTC) ::::::::I see you already had the same thought as me. I think all categories should include "for" or "using". Take for example, [[:Category:Recipes for pancakes]] as opposed to [[:Category:Pancake recipes]]. Well obviously there's no recipes using pancakes. But for something like [[:Category:Recipes for gravy]], there may also be a need for [[:Category:Recipes using gravy]]. The lack of consistency in this regard means the only way to achieve consistency across the categories is by changing them over to that format. Sorry for clogging up your talk page! [[User:MediaKyle|MediaKyle]] ([[User talk:MediaKyle|discuss]] • [[Special:Contributions/MediaKyle|contribs]]) 03:18, 1 March 2025 (UTC) :::::::::Same heads-up as below—migrating this over to [[Cookbook talk:Table of Contents]] —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 23:10, 4 March 2025 (UTC) :Also, on [[Cookbook:Table of Contents]], could you please add a wikilink for [[Cookbook:Breakfast]], and maybe add cooknav to the top for seamless navigation between all the top level articles? Can't edit that article yet. [[User:MediaKyle|MediaKyle]] ([[User talk:MediaKyle|discuss]] • [[Special:Contributions/MediaKyle|contribs]]) 02:47, 1 March 2025 (UTC) == More Table of Content Edits == Hello again. I've been going through everything and this is my list of suggestions for edits to the table of contents. Unfortunately there's not much else I can do for now, because without autoconfirmed my ability to change anything is very limited. I was going to ask for someone to check off the confirmed box for me at RfP but I can't post there either, so I guess I'll be back in four days. * Fix Bread wikilink * Remove "Creaming" from techniques, redirected to Mixing * [[Cookbook:History of Food and Cooking]] points to redirect, needs capitalized * [[Cookbook:Low-Carb]] points to redirect, needs capitalized * [[Cookbook:Cuisine of the Mediterranean]] to [[Cookbook:Mediterranean Cuisine]] for parity * Remove the S from the cuisine wikilinks on ToC, currently redirecting * Create [[:Category:Lunch recipes]], wikilink to ToC * Wikilink [[Cookbook:Dessert]] under Meals * Get rid of "Brunch"; will just be confusing alongside a breakfast and lunch category * Create [[Cookbook:East Asian Cuisine]] so I can add the recipes from [[:Category:East Asian recipes]] to it; currently is a redlink on the ToC * Change "Introductory Matter" header to just "Introduction" * Appendix and Equipment sections switch places Cheers, [[User:MediaKyle|MediaKyle]] ([[User talk:MediaKyle|discuss]] • [[Special:Contributions/MediaKyle|contribs]]) 11:46, 1 March 2025 (UTC) :I took the liberty of doing it myself in my userspace. You can just copy it over from [[User:MediaKyle/sandbox]]. Figured I'd save you the trouble of trying to figure out what I'm talking about. [[User:MediaKyle|MediaKyle]] ([[User talk:MediaKyle|discuss]] • [[Special:Contributions/MediaKyle|contribs]]) 14:15, 1 March 2025 (UTC) :Circling back to this! It seems like your suggestions are getting at a couple different things. I'll try to go through them point-by-point below: :* {{xt|Fix Bread wikilink}} {{done}} :* {{xt|Remove "Creaming" from techniques, redirected to Mixing}} see below comments on TOC. :* {{xt|Cookbook:History of Food and Cooking points to redirect, needs capitalized}} {{not done}} for now because I don't fully understand the urgency and I want to triage/prioritize things for you, but please feel free to make this change yourself once you can! :* {{xt|Cookbook:Low-Carb points to redirect, needs capitalized}} {{not done}} for same reason as above. :* {{xt|Cookbook:Cuisine of the Mediterranean to Cookbook:Mediterranean Cuisine for parity}} {{not done}} for now just because we do have a lot of cuisine pages that follow the form "Cuisine of ____". It could be good to standardize, and I had been planning to do that once I got around to the cuisines. :* {{xt|Remove the S from the cuisine wikilinks on ToC, currently redirecting}} {{not done}} for same reason as other redirects :* {{xt|Create Category:Lunch recipes, wikilink to ToC}} Not quite sure what you mean here, and I didn't see what it corresponded to in your linked sandbox page :* {{xt|Wikilink Cookbook:Dessert under Meals}} {{done}} :* {{xt|Get rid of "Brunch"; will just be confusing alongside a breakfast and lunch category}} I'm not sure about this—brunch is in many places considered a separate entity, and I don't necessarily think it would cause confusion. But, overall it's hard to determine whether it should have its own page and TOC link because I haven't actually gotten around to evaluating the meal pages and what role they should play. See also the TOC notes below. :* {{xt|Create Cookbook:East Asian Cuisine so I can add the recipes from Category:East Asian recipes to it; currently is a redlink on the ToC}} {{done}} for now; however, I'm not sure yet whether it will ultimately make sense to keep that as a content page. I think content pages should be reasonably focused, and it may not be the best to have a cuisine page that is so broad. This is something I planned to consider once I made my way around the overhauling the cuisines. :* {{xt|Change "Introductory Matter" header to just "Introduction"}} The reason I made it "Introductory Matter" instead of "Introduction" is because there's already a chapter itself titled "Introduction"—it felt odd to have the entire section titled that as well. Happy to discuss other header options (e.g. "Front Matter", which is a generally accepted book term) :* {{xt|Appendix and Equipment sections switch places}} see below comments on TOC. :* '''Comments on the TOC:''' So, I think a fundamental issue with the current TOC is that it somewhat arbitrarily picks and chooses individual pages to link. It also sometimes direct-links to categories and sometimes to content pages, which I don't think we should do. Because the cookbook is so expansive, it's been established that manual indices intending to capture detail in large areas don't really make sense and quickly get bulky and out-of-date. This is why categorytree is such a useful tool! After thinking on it for a while and making some small tweaks, I think I'd ultimately like to overhaul the TOC and come to a solution that keeps a few broad headers/links to the small handful of the primary content pages while perhaps stashing away more detailed and self-updating lists in a collapsible way to reduce clutter but allow for customizable user navigation. Much to think about, and I'll probably workshop some things on the side to see how they feel. :Let me know if I've misunderstood anything! Cheers —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 03:24, 3 March 2025 (UTC) ::Thanks for the notes! Here's my thoughts: ::* On the Cuisine titling, it actually seems like [[Cookbook:Cuisine of the Mediterranean]] and [[Cookbook:East Asian cuisines]] are the only ones that don't follow the naming scheme, i.e. "[[Cookbook:African Cuisine]]", and I think that shorter titles are preferable where it makes sense. ::* On your note about East Asian Cuisine, I actually had the same thought after going through the cuisine pages. Having three separate pages for different kinds of Asian cuisine does seem a little silly, doesn't it? Do you think it might be better to combine all of them under one "Asian Cuisine", but put the different locales under separate headers? ::* On Brunch - I honestly think there's way too much ambiguity around what exactly constitutes as "brunch" to keep that in. I feel as though the term brunch more applies to the time you're eating, rather than the kind of food. I think it would be easier to keep meals that include commonly accepted breakfast foods in the Breakfast category, and things that don't fit neatly into that, into the Lunch category. This would prevent any dilemmas in the future where we can't decide whether something is breakfast or brunch. ::* You're right that it looks a little awkward to have the header as Introduction when there's a page called introduction. I still think that to say "Introductory Matter", or "Front Matter" as you mentioned, is a little long-winded and reflects a more academic tone than needed for a cookbook. Upon further reflection, I think maybe rather than worrying about the header at this point, we should perhaps think about trying to compile all of those short introductory type pages into one comprehensive introductory page. Then we likely won't even need a header for it on the ToC. ::* The ToC is definitely a bit cluttered, and it bothers me too that there's a real lack of consistency across whether the wikilinks lead to a page or a category. I'm not sure how I would feel about cutting away too much of the navigation from it, though, because just about every page on there does have a reason to be there, it's just that they're not presented very nicely. Some of it can certainly get nested or combined though. I'll play around with it over the next few days in my sandbox as well and let you know if I come up with anything. ::* As an aside, the first thing on my to-do list once my autoconfirmed comes through is to start subcategorizing all of the recipes so that they're all nicely sorted in the category trees. When you have a chance, I'd love to hear your thoughts on what we should use as the standard naming for categories. Once we determine this, I think we can also take the liberty of updating the cookbook MoS to reflect it. ::Cheers, [[User:MediaKyle|MediaKyle]] ([[User talk:MediaKyle|discuss]] • [[Special:Contributions/MediaKyle|contribs]]) 11:33, 3 March 2025 (UTC) :::Note: After writing this, I realized what you were getting at about slashing away some of the subpages. Maybe we can come up with a system where all of those subpages are under their main subpage rather than on the ToC. For example, all the Cuisines are under [[Cookbook:Cuisines]], all techniques under [[Cookbook:Cooking Techniques]], to keep the subpages off the main ToC. Also, I wonder if maybe we should try to make a centralized discussion for this somewhere, in case anyone else wants to join in at some point? [[User:MediaKyle|MediaKyle]] ([[User talk:MediaKyle|discuss]] • [[Special:Contributions/MediaKyle|contribs]]) 11:45, 3 March 2025 (UTC) ::::Heads-up: to make it easier to keep track of these and since I think they deserve their own discussions, I'm going to gradually migrate them over individually to [[Cookbook talk:Table of Contents]]. Cheers —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 22:52, 4 March 2025 (UTC) :::::Good idea. Can you remove the semi-protection from that talk page? I see no reason why it should be protected. [[User:MediaKyle|MediaKyle]] ([[User talk:MediaKyle|discuss]] • [[Special:Contributions/MediaKyle|contribs]]) 23:23, 4 March 2025 (UTC) == Cookbook ToC == Hi [[User:Kittycataclysm|Kittycataclysm]]. I was just wondering why you didn't respond to my above message, and started a separate sandbox for the ToC instead? It seems as though you don't really want to collaborate. It would be nice if we could work on this together. [[User:MediaKyle|MediaKyle]] ([[User talk:MediaKyle|discuss]] • [[Special:Contributions/MediaKyle|contribs]]) 22:43, 2 March 2025 (UTC) :@[[User:MediaKyle|MediaKyle]] thanks for the ping! I'm sorry you feel like I don't want to collaborate—the opposite is true, and please understand that this is good-faith editing. The reason I haven't responded to the above points is mostly since you've been modifying a bunch of content and adding suggestions lately, and I've been working my way through these while continuing with my routine contributions and real life as well—things happen a little more slowly here than on other projects, and I'm the one person dedicated to the cookbook right now. The reason I created that sandbox was because I saw [[Wikibooks:Reading room/General#Modernize the shelves|your comment]] at the reading room and wanted to play around and think about your suggestion without touching the actual TOC. You're right that it's not the best, and it's been something I've been thinking about for a bit now. Please understand also that it can be overwhelming when a new editor unfamiliar with the Cookbook begins making a high volume of edits and suggestions without having much experience with it or its history—this isn't to say that you don't have good ideas or things worth contributing. In fact, you have already made a few helpful changes, as I've mentioned. I just want to do this properly and take the time to evaluate your suggestions together with the current efforts that are underway, and that can take a bit. Cheers —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 23:03, 2 March 2025 (UTC) ::Thanks for getting back to me. While I may be new to Wikibooks, I'm certainly not new to MediaWiki, and I've been working with small wiki projects for a number of years. Perhaps it's been a misunderstanding to some degree, but I've found my reception here to be unusually unwelcoming. The way to do this properly, as you said, would be to have discussions and form consensus. Yesterday, when you reached out to me about adding hideroot to the pages, I gave you my rationale and was more than happy to have a discussion about it, but you did not reply. I noticed a similar situation happened with [https://en.wikibooks.org/wiki/User_talk:Ottawahitech#Category_sorting Ottawahitech], regarding category sorting. I'm aware that you're the main person looking after the cookbook right now, which is why I reached out to you right from the get go. ::I understand why you would want to create your own sandbox to play around with options for the ToC, but I'm sure you can understand why it would draw my attention that you would do this without implementing any of the wikilink fixes I mentioned, or making an attempt to discuss it further. This came across to me as not wanting my help. ::I invite you to check out my page on Wikipedia. I've made contributions across quite a wide area of topics there, as well as the other Wikimedia projects, and this is the first time I've encountered any sort of resistance to my contributions. I think Wikibooks has enormous potential, and I'm very excited to contribute to helping it grow. On most projects, this would be something to be encouraged. I don't feel like "I'm sorry that you feel that way" was really an appropriate response. [[User:MediaKyle|MediaKyle]] ([[User talk:MediaKyle|discuss]] • [[Special:Contributions/MediaKyle|contribs]]) 23:59, 2 March 2025 (UTC) :::I think you're right that this has been a mix of misunderstanding and miscommunication, and I think I can understand how things came across as unwelcoming! For whatever it's worth, I absolutely plan on circling back to the various discussions at hand (I have all the relevant pages open to return to), but it seems like the order I did things made it seem like I was ignoring you (if I'm understanding correctly). I am pretty busy, so sometimes items on my to-do list do get lost/shunted or it takes me a bit to get around to something—please don't hesitate to give me a ping if it seems like I'm taking a while to get back to something. Looking forward to more collaboration! —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 00:49, 3 March 2025 (UTC) ::::I'm glad you can understand where I'm coming from. To clarify, my intent is not to try to rush you, or to try to push you to make changes that you don't agree with. It's really easy to misinterpret things over the Internet, and I think a short message can go a long way. I apologize if I've caused you any undue stress by coming into the cookbook and unleashing a flurry of alterations, but do rest assured that I'm not married to any of my changes, I'm always open for discussion, and I want to see the cookbook improve just like you do. The great thing about wikis is that no change is permanent. I think we'll have it in tip-top shape in no time! [[User:MediaKyle|MediaKyle]] ([[User talk:MediaKyle|discuss]] • [[Special:Contributions/MediaKyle|contribs]]) 01:19, 3 March 2025 (UTC) == [[Cookbook:Polish Doughnuts (Paczki)]] == Do you see any reason not to just add this to Featured Recipes? At least we know this one works, and it seems like this is now one of the few recipes to have a picture that actually aligns with the recipe used. I was thinking later on we'll come up with a content review system where a couple editors will actually try the recipes nominated for FR, but in the absence of that I'd just add it to the list. [[User:MediaKyle|MediaKyle]] ([[User talk:MediaKyle|discuss]] • [[Special:Contributions/MediaKyle|contribs]]) 12:25, 4 March 2025 (UTC) :I'm fine with adding it to the featured recipes. You're right that we'll want to come up with a good system for this going forward, though it's lower down on my personal priority list at moment. Cheers —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 22:15, 4 March 2025 (UTC) == [[Cookbook:Cream Cheese American Buttercream]] == Hi! I am a wikiHow user and I am planning to adapt this recipe to wikiHow. Since you contributed to this recipe, I wanted to know if I can get permission to reuse your contributions to this recipe. Thanks. [[User:Xeverything11|Xeverything11]] ([[User talk:Xeverything11|discuss]] • [[Special:Contributions/Xeverything11|contribs]]) 21:41, 4 March 2025 (UTC) :@[[User:Xeverything11|Xeverything11]] that's fine with me as long as proper attribution and linking back to the original recipe page here are included at the top. —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 22:28, 4 March 2025 (UTC) == [[A Companion to Our Literary Journey]] == Hi! I feel that we have started to outline the scope in a clearer and more precise way and that’s the work we are going to do with the students this and for the next years, adding more sections and content. Do you think that would be enough? [[User:Ferdi2005|Ferdi2005]] ([[User talk:Ferdi2005|discuss]] • [[Special:Contributions/Ferdi2005|contribs]]) 22:43, 6 March 2025 (UTC) :Hi @[[User:Ferdi2005|Ferdi2005]]! Yes, this seems to be reasonably outlined. Cheers —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 01:51, 7 March 2025 (UTC) == Exercising care with copyright == When deleting a page as a copyright violation, it is important that you '''do not quote any content from the deleted page'''. If you do, then your log entry is itself a copyright violation. I have redacted a recent deletion that you performed because of this. If you want to make sure that none of your past deletions have been problematic for this reason, you can [[quarry:query/90444|run this SQL query]] to get a list of every deletion that could be eligible for redaction. [[User:JJPMaster|JJP]]<sub>[[User talk:JJPMaster|Mas]]<sub>[[Special:Contributions/JJPMaster|ter]]</sub></sub> ([[wikt:she|she]]/[[wikt:they|they]]) 18:32, 21 March 2025 (UTC) :Hi @[[User:JJPMaster|JJPMaster]] and thank you for the message. In the most recent instance that I think you're referencing, I do not see any material in the edit summary that posed a significant risk—I don't believe the few listed words would be a copyright concern. However, I do understand your concern! Cheers —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 22:31, 21 March 2025 (UTC) == Splitting Pages == Hi I have recently made the book on the [[History of the Nawabs of Bengal]] and you gave a notice on how you believe it should be split into smaller bits. As I am still new to wikibooks I don't know how to do this. Can you please assist me on renaming the page so I can split the page into multiple pages? @[[User:Kittycataclysm|Kittycataclysm]] [[User:Greatswrd|Greatswrd]] ([[User talk:Greatswrd|discuss]] • [[Special:Contributions/Greatswrd|contribs]]) 19:47, 29 March 2025 (UTC) :@[[User:Greatswrd|Greatswrd]]: You did it. I've removed the tag. [[User:JJPMaster|JJP]]<sub>[[User talk:JJPMaster|Mas]]<sub>[[Special:Contributions/JJPMaster|ter]]</sub></sub> ([[wikt:she|she]]/[[wikt:they|they]]) 22:44, 29 March 2025 (UTC) :Like @[[User:JJPMaster|JJPMaster]] said, you're all set! —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 23:53, 29 March 2025 (UTC) ::Thanks! @[[User:JJPMaster|JJPMaster]] @[[User:Kittycataclysm|Kittycataclysm]] [[User:Greatswrd|Greatswrd]] ([[User talk:Greatswrd|discuss]] • [[Special:Contributions/Greatswrd|contribs]]) 10:24, 30 March 2025 (UTC) == Minecraft book == Is it good creating pages like this, [[Minecraft#Husk]]? [[User:Cactusisme|Cactusisme]] ([[User talk:Cactusisme|discuss]] • [[Special:Contributions/Cactusisme|contribs]]) 12:43, 9 May 2025 (UTC) :@[[User:Cactusisme|Cactusisme]] what do you mean? —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 21:18, 10 May 2025 (UTC) ::are we allowed to create pages like that? like for every mob [[User:Cactusisme|Cactusisme]] ([[User talk:Cactusisme|discuss]] • [[Special:Contributions/Cactusisme|contribs]]) 10:02, 11 May 2025 (UTC) :::To be honest, I don't think the structure and formatting of the book is very good. Several of the mob pages, for example, have very little information and aren't particularly helpful on their own. If I were working on it, I would restructure the book. —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 14:09, 11 May 2025 (UTC) ::::I am planning to do that. [[User:Cactusisme|Cactusisme]] ([[User talk:Cactusisme|discuss]] • [[Special:Contributions/Cactusisme|contribs]]) 04:19, 12 May 2025 (UTC) == Request to Review Adjusted User Page (XoriantTeam) == Hello [[User:Kittycataclysm|Kittycataclysm]], I hope you're well. I noticed that my user page ([[User:XoriantTeam]]) was recently deleted for appearing promotional or inappropriate for Wikibooks. Thank you for keeping the community standards in check. I’ve since revised the content with closer attention to neutrality and compliance with Wikibooks guidelines. My intent is to participate constructively, especially in areas related to digital engineering and educational content creation. If possible, I’d appreciate your help reviewing the revised version. I'm happy to share it or upload it as a file if there’s a preferred method. Please let me know how best to proceed. I welcome any suggestions and will gladly make further adjustments. Best regards, XoriantTeam [[User:XoriantTeam|XoriantTeam]] ([[User talk:XoriantTeam|discuss]] • [[Special:Contributions/XoriantTeam|contribs]]) 11:02, 15 May 2025 (UTC) :Hi there—you can publish an updated user page, but I'd caution you against talking about your company. Keep it limited to your involvement with Wikibooks. You may contribute productively here, but further promotional materials are grounds for an indefinite block. —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 12:30, 15 May 2025 (UTC) == Planning to use AWB to update categories on the cookbook == Hello. I noticed in recent changes that you were moving some categories using HotCat (e.g. moving Category:Chile recipes to Category:Recipes using chile), which can be time-consuming. Therefore, I plan to help you with moving the cookbook categories by adding myself to enabledusers and enabledbots in [[Wikibooks:AutoWikiBrowser/CheckPageJSON]]. Would this be fine if I assist you and to add myself to the check page? I am familiar with using AWB after testing on a non-Wikimedia project. Thank you. [[User:Codename Noreste|Codename Noreste]] ([[User talk:Codename Noreste|discuss]] • [[Special:Contributions/Codename Noreste|contribs]]) 04:42, 8 June 2025 (UTC) :Hi @[[User:Codename Noreste|Codename Noreste]]—thank you for the tip! I just installed JWB, so this should make my mass cat changes much faster. Thanks again! —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 13:11, 8 June 2025 (UTC) :: Thank you for the information. Also, is it okay if I change (for example) [[:Category:Vinegar recipes]] to [[:Category:Recipes using vinegar]] (I can redirect the former category to the latter), given that we should move {{tq|Category:[ingredient] recipes}} to {{tq|Category:Recipes using [ingredient]}} for consistency? [[User:Codename Noreste|Codename Noreste]] ([[User talk:Codename Noreste|discuss]] • [[Special:Contributions/Codename Noreste|contribs]]) 16:57, 8 June 2025 (UTC) :::Sure thing—go ahead! —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 17:53, 8 June 2025 (UTC) == Tool for even faster category changes == See [[:c:Help:Gadget-Cat-a-lot#As_your_user_gadget]]. I just [https://en.wikibooks.org/w/index.php?title=User:Koavf/common.js&action=history installed it] and used it dozens of times in a click. Let me know if you need any help. —[[User:Koavf|Justin (<span style="color:grey">ko'''a'''vf</span>)]]<span style="color:red">❤[[User talk:Koavf|T]]☮[[Special:Contributions/Koavf|C]]☺[[Special:Emailuser/Koavf|M]]☯</span> 00:36, 19 June 2025 (UTC) :@[[User:Koavf|Koavf]] Thanks! I'm having a little trouble activating it, but I'll keep trying. —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 00:54, 19 June 2025 (UTC) ::A lot of times, a purge will do the trick. See [[:mw:Purge]]. Usually just <kbd>Ctrl+Shift+R</kbd> once or twice. —[[User:Koavf|Justin (<span style="color:grey">ko'''a'''vf</span>)]]<span style="color:red">❤[[User talk:Koavf|T]]☮[[Special:Contributions/Koavf|C]]☺[[Special:Emailuser/Koavf|M]]☯</span> 00:55, 19 June 2025 (UTC) :::Took several purges, but we're set now! —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 01:16, 19 June 2025 (UTC) == Advice on when I should run for adminship == Hi, I hope you are doing well. I am asking for some advice on when I should run for enwikibooks adminship, given the following below: Currently, I am doing some optimizations for dark mode on this project, and some of the message box/MediaWiki interface/template pages might be outdated, fully protected, or can use a little help using mw-parser-output. These unfortunately might hinder the process of updating these pages/templates for Vector 2022's dark mode.<br> Additionally, I have a solid expertise with edit filters, as I have requested some administrators to update deprecated filter variables, switching filters from warn and disallow to disallow only, and I can also monitor the filter log for potential false positives (from local or global filters). A fellow English Wikibooks administrator also said to me that they are willing to support me in a few months when I run for adminship, as I am generally trusted. I hold two advanced global permissions, and I hold an edit filter helper permission on the English Wikipedia, to be sure. Thank you for your consideration. [[User:Codename Noreste|Codename Noreste]] ([[User talk:Codename Noreste|discuss]] • [[Special:Contributions/Codename Noreste|contribs]]) 01:02, 23 June 2025 (UTC) :Hi @[[User:Codename Noreste|Codename Noreste]]—good question! I agree that you are a trusted user, and I think it would be reasonable for you to run for adminship, especially given our need to fix up technical aspects of the project. If you don't plan to commit to Wikibooks long-term (i.e. you have some projects you'd like to take a few months to complete and then be done), you can always request temporary adminship. Cheers —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 17:30, 23 June 2025 (UTC) :: Thank you for your feedback, but I also plan to monitor for vandalism/spam, and to commit to reduce the administrative assistance reading room backlog, should I be elected for adminship (and I forgot to mention those). Anyway, regarding your feedback, I might run by August or even July, given that I've lately started contributing more often to Wikibooks. [[User:Codename Noreste|Codename Noreste]] ([[User talk:Codename Noreste|discuss]] • [[Special:Contributions/Codename Noreste|contribs]]) 18:29, 23 June 2025 (UTC) ::: [[User:Kittycataclysm|Kittycataclysm]], I am pinging you one more time to see if you have read my response above yours. Thank you. [[User:Codename Noreste|Codename Noreste]] ([[User talk:Codename Noreste|discuss]] • [[Special:Contributions/Codename Noreste|contribs]]) 16:34, 26 June 2025 (UTC) ::::Hi @[[User:Codename Noreste|Codename Noreste]]! I'm not sure what you mean—was there an additional question you had? Everything you've outlined seems quite reasonable. Cheers —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 18:26, 26 June 2025 (UTC) ::::: Apologies for the confusion, I don't have any questions to ask. I was clarifying that I can help with implementing edit requests and to block obvious vandals and spammers, aside from the skills I mentioned earlier. [[User:Codename Noreste|Codename Noreste]] ([[User talk:Codename Noreste|discuss]] • [[Special:Contributions/Codename Noreste|contribs]]) 18:32, 26 June 2025 (UTC) == how is it you feel able to interfere in my sandbox? == you deleted a page in my sandbox that was my way of providing my response to a request from an OpenSCAD dev team leader for a couple of text blurbs for use on a web page of the OpenSCAD site. now that you have deleted my page i have to recreate the texts from a screenshot to be able to offer the suggestions, which i will This kind of high handed treatment is what keeps me from being a wiki-anything contributor .. If it is Wiki policy to interfere in the documentation of an open source project because it is hosted on Wikibooks then i will take up the task of moving our online docs to a site where you cannot interfere. -- [[User:VulcanWikiEdit|VulcanWikiEdit]] ([[User talk:VulcanWikiEdit|discuss]] • [[Special:Contributions/VulcanWikiEdit|contribs]]) 21:56, 29 June 2025 (UTC) :Hi @[[User:VulcanWikiEdit|VulcanWikiEdit]]—thanks for bringing this to my attention. I now understand that this was intended to be in your user namespace—I've undeleted it and moved it to the correct namespace for you. Let me know if anything else comes up! Cheers —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 01:05, 30 June 2025 (UTC) ::ah .. err .. umm .. well that is a gentle answer to my ire. Thanks for being so gracious [[User:VulcanWikiEdit|VulcanWikiEdit]] ([[User talk:VulcanWikiEdit|discuss]] • [[Special:Contributions/VulcanWikiEdit|contribs]]) 20:29, 30 June 2025 (UTC) ::and .. isn't my sandbox in my namespace by default? [[User:VulcanWikiEdit|VulcanWikiEdit]] ([[User talk:VulcanWikiEdit|discuss]] • [[Special:Contributions/VulcanWikiEdit|contribs]]) 20:30, 30 June 2025 (UTC) :::No worries—it looks like you didn't add the prefix "User:" before writing out the full page titles, so the pages you created were technically in the project's Main space with the official published materials. Going forward, you can just double-check that the page title starts with "'''User:'''VulcanWikiEdit/sandbox", and that should keep everything in the right place! Cheers —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 21:36, 30 June 2025 (UTC) ::::BTW .. i love the play on cat lover name [[User:VulcanWikiEdit|VulcanWikiEdit]] ([[User talk:VulcanWikiEdit|discuss]] • [[Special:Contributions/VulcanWikiEdit|contribs]]) 15:35, 1 July 2025 (UTC) :::::Thank you! That's very kind. —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 18:46, 1 July 2025 (UTC) == Regarding the user Codename Tameirao == Could this be Matthew again (the Unicode LTA)? I believe it might be him based on his usage of edit summaries, and his usual edits to [[Unicode/Versions]]. I just blocked his recent account, and then I protected and stabilized that Unicode book. <span style="font-family:Verdana">[[User:Codename Noreste|<span style="color:#0024FF">'''''Codename Noreste'''''</span>]] ([[User talk:Codename Noreste|<span style="color:#A1000E">talk</span>]])</span> 23:51, 12 August 2025 (UTC) :I suspect you're right! That seems like a reasonable course of action. —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 00:56, 13 August 2025 (UTC) :: I recently encountered another possible LTA, see [[Special:Contributions/~2025-55706-6]] (as well as [[Unicode/Roadmap Blocks]]). I can email you more details if you want. <span style="font-family:Verdana">[[User:Codename Noreste|<span style="color:#0024FF">'''''Codename Noreste'''''</span>]] ([[User talk:Codename Noreste|<span style="color:#A1000E">talk</span>]])</span> 16:30, 9 September 2025 (UTC) :::I think this is the same LTA, yes! I've protected [[Unicode/Roadmap Blocks]], but I think it would be a good idea if we could automate this monitoring somewhat using the edit filter. —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 18:07, 9 September 2025 (UTC) :::: I don't think that was Matthew, as he typically uses edit summaries. The deleted page was not protected, as it was protected before you deleted it; I salted it from creation for one year. [[User:Codename Noreste|Codename Noreste]] ([[User talk:Codename Noreste|discuss]] • [[Special:Contributions/Codename Noreste|contribs]]) 20:22, 9 September 2025 (UTC) ::::: You might want to look at [[Special:Contributions/Freddy Fazbearing Others]]. '''[[User:Codename Noreste|<span style="color:#0024FF">Codename Noreste</span>]]''' ([[User talk:Codename Noreste|discuss]] • [[Special:Contributions/Codename Noreste|contribs]]) 04:18, 26 October 2025 (UTC) ::::::Thank you! I went ahead and blocked them. —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 01:54, 28 October 2025 (UTC) == IP block exempt == Hi Kitty, I currently have IP block exemption on enwiki, Commons and Wikidata as I use VPNs connected to my internet security software. Can you please grant me the right on wikibooks. I have a strong password and use two factor authentication. ''[[User:TarnishedPath|<b style="color:#ff0000;">Tar</b><b style="color:#ff7070;">nis</b><b style="color:#ffa0a0;">hed</b><b style="color:#420000;">Path</b>]]''<sup>[[User talk:TarnishedPath|<b style="color:#bd4004;">talk</b>]]</sup> 10:51, 22 August 2025 (UTC) :Hi @[[User:TarnishedPath|TarnishedPath]]! This doesn't sound unreasonable to me, but I think it would be good if you requested at [[Wikibooks:Requests for permissions]] so we can have a discussion—I have not granted this right before. Cheers —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 01:50, 23 August 2025 (UTC) ::Kitty, thanks for pointing me in the right direction. ''[[User:TarnishedPath|<b style="color:#ff0000;">Tar</b><b style="color:#ff7070;">nis</b><b style="color:#ffa0a0;">hed</b><b style="color:#420000;">Path</b>]]''<sup>[[User talk:TarnishedPath|<b style="color:#bd4004;">talk</b>]]</sup> 03:25, 23 August 2025 (UTC) ::See [[Wikibooks:Requests_for_permissions#TarnishedPath_(discuss_·_contribs_·_count_·_logs_·_block_log_·_rfp_·_rights)_(IP_Block_Exemption)]] ''[[User:TarnishedPath|<b style="color:#ff0000;">Tar</b><b style="color:#ff7070;">nis</b><b style="color:#ffa0a0;">hed</b><b style="color:#420000;">Path</b>]]''<sup>[[User talk:TarnishedPath|<b style="color:#bd4004;">talk</b>]]</sup> 03:35, 23 August 2025 (UTC) == You've got mail! == {{You've got mail|sig=<span style="font-family:Verdana">[[User:Codename Noreste|<span style="color:#0024FF">'''''Codename Noreste'''''</span>]] ([[User talk:Codename Noreste|<span style="color:#A1000E">talk</span>]])</span> 00:20, 6 September 2025 (UTC)}} :Thank you! —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 01:06, 6 September 2025 (UTC) == Are you able to import? == I made a few requests over at https://en.wikibooks.org/wiki/Wikibooks:Requests_for_import . [[User:2005-Fan|2005-Fan]] ([[User talk:2005-Fan|discuss]] • [[Special:Contributions/2005-Fan|contribs]]) 22:32, 4 October 2025 (UTC) : [[User:2005-Fan|2005-Fan]], I'll go ahead and start the imports. [[User:Codename Noreste|Codename Noreste]] ([[User talk:Codename Noreste|discuss]] • [[Special:Contributions/Codename Noreste|contribs]]) 16:29, 5 October 2025 (UTC) ::Thank you for your help [[User:2005-Fan|2005-Fan]] ([[User talk:2005-Fan|discuss]] • [[Special:Contributions/2005-Fan|contribs]]) 16:51, 5 October 2025 (UTC) ::: My apologies for not doing this sooner, because some database error appears when I am trying to mass import. [[User:Codename Noreste|Codename Noreste]] ([[User talk:Codename Noreste|discuss]] • [[Special:Contributions/Codename Noreste|contribs]]) 23:39, 5 October 2025 (UTC) ::::I also tried to make this import earlier and ran into issues with the software. I was hoping it was a temporary bug, but it seems to be persisting. —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 00:01, 6 October 2025 (UTC) :::::This seems like I should get involved. {{working}}... [[User:JJPMaster|JJP]]<sub>[[User talk:JJPMaster|Mas]]<sub>[[Special:Contributions/JJPMaster|ter]]</sub></sub> ([[wikt:she|she]]/[[wikt:they|they]]) 13:11, 6 October 2025 (UTC) :::::: I believe there are five pages that have massive page histories they fail to import here. [[User:Codename Noreste|Codename Noreste]] ([[User talk:Codename Noreste|discuss]] • [[Special:Contributions/Codename Noreste|contribs]]) 15:13, 6 October 2025 (UTC) :::::::I backed up the XMLs of them locally but im unsure how much that'd do. [[User:2005-Fan|2005-Fan]] ([[User talk:2005-Fan|discuss]] • [[Special:Contributions/2005-Fan|contribs]]) 15:18, 6 October 2025 (UTC) ::::::::Just became an importer. The reason is prob understandable but I cannot upload the XML file to here locally. [[User:2005-Fan|2005-Fan]] ([[User talk:2005-Fan|discuss]] • [[Special:Contributions/2005-Fan|contribs]]) 17:23, 10 October 2025 (UTC) == About the category parameter in the recipe summary template == When it uses a "recipe by type" category, should it use a "[type/food] recipes" name or "Recipes for [type/food]"? I recently operated JWB to change from [[:Category:Dessert recipes]] to [[:Category:Recipes for dessert]] in multiple Cookbook recipes, and from what I've said before, I've changed to ''Recipes for dessert'' in the category parameter of Cookbook recipes. Hope you don't mind that this was over more than 250 changes (not counting the recent category changes after moving some recipe categories). Thanks. '''[[User:Codename Noreste|<span style="color:#0024FF">Codename Noreste</span>]]''' ([[User talk:Codename Noreste|discuss]] • [[Special:Contributions/Codename Noreste|contribs]]) 02:07, 27 October 2025 (UTC) :Hi @[[User:Codename Noreste|Codename Noreste]]—those JWB changes you made seem fine to me! I'm not quite sure what you're asking in your first sentence, though. Assuming I understand correctly: in general, I think the default format should be whatever the actual category name is. BUT if there is a redirect, it ultimately shouldn't matter too much. And, because I'm not convinced of the utility of that infobox parameter in the first place (thinking of removing it), I'm not hugely concerned about it for the time being. Does this help? —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 18:21, 27 October 2025 (UTC) :: Probably, but I will say the following below (for my first sentence) to clarify: :: On the <code>|category =</code> parameter, when placing a recipe category name, should it either be {{tq|Sandwich recipes}} or {{tq|Recipes for sandwiches}}? I hope this clears the confusion. '''[[User:Codename Noreste|<span style="color:#0024FF">Codename Noreste</span>]]''' ([[User talk:Codename Noreste|discuss]] • [[Special:Contributions/Codename Noreste|contribs]]) 18:39, 27 October 2025 (UTC) == Please no more Unicode LTA == Please don't block me again. I promise I will edit Unicode stuff and add correct information. [[Special:Contributions/&#126;2025-30839-28|&#126;2025-30839-28]] ([[User talk:&#126;2025-30839-28|talk]]) 20:54, 1 November 2025 (UTC) :<small>I am a bit out of the loop, so correct me if I'm wrong - I'm assuming here</small> I think the point is that they want you to ''not'' edit the Unicode stuff? Also hi kitty, it's been a ... very long time.. <sup>&#8212; [[User:L10nM4st3r|<span style="color:#c71300">L10nM4st3r</span>]]</sup> / <sub>[[User talk:L10nM4st3r|<span style="color:#ce3f00">'''ROAR''' at me!</span>]]</sub> 01:13, 5 November 2025 (UTC) ::Ok so apparently not as long as I thought, but it feels like I've been away for at least a year lol <sup>&#8212; [[User:L10nM4st3r|<span style="color:#c71300">L10nM4st3r</span>]]</sup> / <sub>[[User talk:L10nM4st3r|<span style="color:#ce3f00">'''ROAR''' at me!</span>]]</sub> 01:23, 5 November 2025 (UTC) :::Nice to see you! —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 15:41, 5 November 2025 (UTC) == Administrator and reviewer user right combinations are not needed anymore == Given that administrators can review edits in addition to reviewers, I would suggest for you (and other administrators) to kindly remove the reviewer permission from (own) accounts. What I'm saying is that if one holds administrator and reviewer permissions together, they can remove the reviewer permission from their own account and retain their administrator permission. Thanks. [[User:Codename Noreste|<span style="color:#0024FF">Codename Noreste</span>]] ([[User talk:Codename Noreste|discuss]] • [[Special:Contributions/Codename Noreste|contribs]]) 16:06, 11 November 2025 (UTC) :Gotcha—is there a reason it's bad for one user to have both these rights? If so, I can remove my reviewer right. Otherwise, it seems fairly harmless? —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 19:26, 11 November 2025 (UTC) :: The thing is, administrators have the <code>review</code> user right, as well as some permissions in the reviewer user group in the administrator toolset. That means that having the reviewer user group together with the admin user group is redundant. Hope this explains it. [[User:Codename Noreste|<span style="color:#0024FF">Codename Noreste</span>]] ([[User talk:Codename Noreste|discuss]] • [[Special:Contributions/Codename Noreste|contribs]]) 19:59, 11 November 2025 (UTC) ::: @[[User:Kittycataclysm|Kittycataclysm]] <s>I'll do this tomorrow morning, as well as to remove autoreviewed user permissions from users who are reviewers.</s> ({{doing}}) [[User:Codename Noreste|<span style="color:#0024FF">Codename Noreste</span>]] ([[User talk:Codename Noreste|discuss]] • [[Special:Contributions/Codename Noreste|contribs]]) 03:24, 12 November 2025 (UTC) : I have removed the autoreviewed user permission from users who are reviewers. As for administrators, I will do so later today. [[User:Codename Noreste|<span style="color:#0024FF">Codename Noreste</span>]] ([[User talk:Codename Noreste|discuss]] • [[Special:Contributions/Codename Noreste|contribs]]) 03:40, 13 November 2025 (UTC) == Nesting in Open Book of Ecovillages and Eco Communities == Hi Kittycataclysm, I am editor of wikipedia since 2004. We have the habit if we have a concern using the talk page to clarify the case. I am not sure to delete meaningful content without previous notification and doing major redirection without agreeing the main contributor(s) is an adequate admin act and sign of good manner of host (see [[W:Wikipedia:Etiquette|Wikipedia:Etiquette]].) Yes, It will be not an average book but above the regular. This is the exact case: ''"this may be appropriate, such as with large textbooks that contain subsections with a lot of content."'' ''for to establish good structural and stylistic practices'' I have a data management certification. If you asking it will have 4 nest level on strict purpose. If you saw the introduction of the [[Open Book of Ecovillages and Eco Communities]] is/will be a global collection making effective collaboration over borders and continents. One structured + categorized(!) page for each community willing to show up. The Postal addresses has also same or larger deepness, this is unavoidable (Country/Postal Code/Location/Street/House/floor/door). Here will looks like: '''Eco-comm/Continent/Regio code/Community name''' The goal of this system to open bridge + experience highway for the communities using the same permaculture technics what collected parallelly in [[Open Book of Permaculture]]. That is also part of this knowledge base please dont do simplification steps on that without discussion. I am kindly asking to revert your edits in this book. After that I will put a notification template about "This book is under construction with major changes. Before contributing, please discuss and align your work with at least one of the main contributors listed in the Page History. Common clarifications/ guides are on the primary talk page." Thanks: [[User:Rodrigo|Rodrigo]] ([[User talk:Rodrigo|discuss]] • [[Special:Contributions/Rodrigo|contribs]]) 02:22, 12 November 2025 (UTC) :Hi @[[User:Rodrigo|Rodrigo]], and thank you both for your contributions and for reaching out! Yes, I did make the following changes to [[Open Book of Ecovillages and Eco Communities]]: :* I moved the pages from the [[Eco-comm]] namespace to the [[Open Book of Ecovillages and Eco Communities]] namespace, since the table of contents and pages for a given book should be under that book's namespace. :* I removed the links to Wikipedia that were on [[Open Book of Ecovillages and Eco Communities]], since outlinking has been discouraged at en.Wikibooks as a matter of practice. Compilations of links may not fall into WB scope as an instructional text, and [[Wikibooks:Requests for deletion/Piano Solo Music: An Encyclopedia|there is precedent for deleting them]]. But, I do see that the tool I used didn't just remove links to enWP, so I will restore the prior revision and ping the tool developer. :* I flagged it as needing denesting—you're right that nested entries can sometimes be appropriate. In this case, I was primarily flagging for a denest because the table of contents needs to be moved onto the main page, and it shouldn't have hidden navigation within the nested portions. :Could you clarify which of these edits you do not agree with so I can make sure they are individually addressed? As an aside, it could be helpful to create a [[Help:Local manuals of style|local manual of style]] for the book in order to clearly outline the expectations. Cheers —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 02:59, 12 November 2025 (UTC) ::My main concern not about moving and flagging but '''deleting''' [[Eco-comm]] against [[Wikibooks:Deletion policy]] and not mentioning in the clarification even after my notification. Should I note all administrators [[Wikibooks:Please do not bite the newcomers]] - or will they do speedy deleting one by one until I make them individually addressed? :::The <u> local manual of style</u> development is ongoing together with the sample pages. ::'''MAIN PAGE''' ::The '''Main page''' and '''Namespace''' is the [[Eco-comm]]. The '''Full Title''' or '''Cover''' is [[Open Book of Ecovillages and Eco Communities]]. Because of the high level of nesting the below extra-long-full-text-title to be avoided the Cover page is a redirection with preface/intro etc. ::'''NESTING ''' :::Featured book with 3 level nesting: [[Social and Cultural Foundations of American Education/Educational Change/Theory]] :::5 level nesting example: [[Development Cooperation Handbook/Designing and Executing Projects/Communication Management/Communication Planning/Develop a Conflict Management Strategy]] ::'''Categories''' The [[:Category:Eco-comm]] will let the users make practical sub-categories e.g. [[:Category:Eco-comm/Project/numundo]] [[:Category:Eco-comm/]] ::: ::[[User:Rodrigo|Rodrigo]] ([[User talk:Rodrigo|discuss]] • [[Special:Contributions/Rodrigo|contribs]]) 03:44, 18 November 2025 (UTC) :::Thank you for elaborating! I'm unfortunately not sure what you mean about deleting [[Eco-comm]]—are you referring to the fact that I moved it without leaving a redirect? Regarding the nesting, I do honestly think those other books you linked should have their navigation denested since I find their format difficult to parse, and they have some navigation issues. Looping in some other active admins (@[[User:Leaderboard|Leaderboard]] @[[User:MarcGarver|MarcGarver]] @[[User:JJPMaster|JJPMaster]] @[[User:Codename Noreste|Codename Noreste]] (@[[User:SHB2000|SHB2000]]) so they can get eyes on this and voice anything they think is important. Cheers —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 04:12, 18 November 2025 (UTC) ::::It makes no sense to have some crazy abbreviation as a "main page" or "namespace" (whatever that means in this context) for a book in order to allow it to be deep nested. Nobody needs to type the whole name of the nesting because that's what navigation templates do, and it is a simple matter to override the page title. I also take issue with the statement, above, "Before contributing, please discuss and align your work with at least one of the main contributors listed in the Page History." Anybody can edit, and nobody gets to own and control any work. Taken together, this complaint looks like a case of attempting to assert ownership and to operate against the normal practices of Wikibooks. As such, I am completely aligned with the changes made. [[User:MarcGarver|MarcGarver]] ([[User talk:MarcGarver|discuss]] • [[Special:Contributions/MarcGarver|contribs]]) 12:49, 18 November 2025 (UTC) :::::That. [[User:Leaderboard|Leaderboard]] ([[User talk:Leaderboard|discuss]] • [[Special:Contributions/Leaderboard|contribs]]) 14:59, 18 November 2025 (UTC) ::::Thanks @[[User:MarcGarver|MarcGarver]]@[[User:Leaderboard|Leaderboard]] for the contribution, btw the [[Development Cooperation Handbook/Designing and Executing Projects/Communication Management/Communication Planning/Develop a Conflict Management Strategy]] also looks crazy long, is'nt it? Lets continue in the [[Wikibooks:Reading_room/General]] keeping this page for personal messages. [[User:Rodrigo|Rodrigo]] ([[User talk:Rodrigo|discuss]] • [[Special:Contributions/Rodrigo|contribs]]) 23:07, 20 November 2025 (UTC) == Deletions of Wikibook subpages == Hello @[[User:Kittycataclysm|Kittycataclysm]], regarding the [[Thesis Writing Guide]] subpage deletions, should I just recreate them when I keep working on them or was there an automatic deletion that we could undo? This document will grow, but really slowly. Best, Tim [[User:TimBorgNetzWerk|TimBorgNetzWerk]] ([[User talk:TimBorgNetzWerk|discuss]] • [[Special:Contributions/TimBorgNetzWerk|contribs]]) 11:37, 16 December 2025 (UTC) :Hi @[[User:TimBorgNetzWerk|TimBorgNetzWerk]]! Since there was so little content on the deleted pages, my recommendation would just be for you to gradually recreate the chapters as you go. Does that make sense? Cheers —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 19:54, 17 December 2025 (UTC) ::Makes sense, not my ideal solution, but also not far from it :) The end result will be the same, the in-between will just feel a little bit weird from time to time. ::Thank you for taking time to curate and quality-control Wikibooks - wishing wonderful holidays and a happy new year! [[User:TimBorgNetzWerk|TimBorgNetzWerk]] ([[User talk:TimBorgNetzWerk|discuss]] • [[Special:Contributions/TimBorgNetzWerk|contribs]]) 20:43, 17 December 2025 (UTC) :::Thank you, and happy holidays to you as well :) —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 23:13, 17 December 2025 (UTC) == help with "Media Literacy and You" == {{re|Kittycataclysm}} What do I need to do to get a quality review of ''[[Media Literacy and You]]'', or whatever is needed to remove <nowiki>{{Qr-em|not clear how this is to be structured as a book}}</nowiki>? I ask, because you added that flag just over 2 hours after I created it. I later found that I had accidentally created it as an anonymous user. I've since started using my standard Wikiname, and I tried to respond to the requests both by creating a discussion on the "Discussion" page associated with that book and by upgrading the content. The upgrades included adding the "Introduction" chapter by revising an article on Wikiversity that convinced me to start this Wikibook. I have other articles that I plan to rewrite to create 9 of the remaining 11 chapters in the current table of contents, as indicated in this table of contents. ??? Thanks, [[User:DavidMCEddy|DavidMCEddy]] ([[User talk:DavidMCEddy|discuss]] • [[Special:Contributions/DavidMCEddy|contribs]]) 02:23, 8 February 2026 (UTC) :Hi @[[User:DavidMCEddy|DavidMCEddy]]! I removed the query flag, since this is clearly not a test page. I do have concerns about the suitability of this book for Wikibooks, since it seems to be more in line with essays and original research/analysis (which are [[Wikibooks:WIW|out of scope here]]). Wikiversity seems like a very suitable place for them—is there a specific reason you want to move them here? Cheers —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 16:24, 8 February 2026 (UTC) ::{{re|Kittycataclysm}} ::This book is intended to accelerate the diffusion of [[w:Media literacy|media literacy]] by making it easier for humans to (a) access training materials and (b) connect with research on the most important issues that concern them and (c) discuss those issues with others who may believe differently in a nonthreatening context that encourages dialogue and a shared search for what can honestly be said about any particular issue. This is an extension of "The wisdom of polarized crowds" discussed in [[Wikipedia:Reliability of Wikipedia]]. ::I don't know about you, but I'm frightened by the collapse of nuclear arms control agreements since the year 2000, by global warming, by the threats of the Trump administration to invade Canada and Greenland, etc. If this book project is successful, it will make a material contribution to reversing these trends -- unless this kind of dialogue is [[v:Responding to a nuclear attack|interrupted by a nuclear war]]. === Who is DavidMCEddy === ::I'm a [[w:Vietnam veteran|Vietnam-era veteran]] with a PhD in statistics and a publication record for which [https://www.researchgate.net/profile/Spencer-Graves-3 ReserchGate has found over 1,200 academic publications that have cited my work.] Since [https://xtools.wmcloud.org/ec/en.wikipedia.org/DavidMCEddy 2010 I have logged] * 6,000+ edits in each of Wikipedia and Wikiversity, * 1,000+ in Wikimedia Commons, * 30,000+ in Wikidata, and * almost 1,000 in other Wikimedia Foundation projects like Wikiquote and edits to the Spanish, French and German Wikipedias. This includes dozens of research reports posted to Wikiversity under [[v:Category:Freedom and abundance]] and 44 posts under [[v:Category:Media reform to improve democracy]] that provide a platform for documenting and discussing 44 episodes of a fortnightly "Media & Democracy" series of 29:00 mm:ss podcasts syndicated for the [https://pacificanetwork.org/stations-2/ Pacifica Radio Network] featuring the opinions of leading experts on the increase in political polarization and violence and what those experts think should be done about this. I've just posted another chapter to [[Media Literacy and You/The impact of the media on political economy since the time of the Pharaohs]]. I hope you will agree that this book can make a positive contribution to Wikibooks and to [[w:Jimmy Wales|Jimbo Wales]]' [[w:Wikipedia:Prime objective|Prime Directive]] to create "a world in which every single person on the planet is given free access to the sum of all human knowledge." Thanks, [[User:DavidMCEddy|DavidMCEddy]] ([[User talk:DavidMCEddy|discuss]] • [[Special:Contributions/DavidMCEddy|contribs]]) 01:19, 9 February 2026 (UTC) :@[[User:DavidMCEddy|DavidMCEddy]] Thank you and I understand this, but I am asking why you think this material is more suitable at Wikibooks rather than at Wikiversity. From what I can see, Wikiversity seems like the more appropriate home for it given our [[Wikibooks:WIW|scope]]. Cheers —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 01:59, 9 February 2026 (UTC) ::{{re|Kittycataclysm}} ::"Media Literacy and You" is textbook to support both self study and classes on media literacy. ::I have been posting content to Wikiversity since 2014 and have not encountered support there for books. A search just now turned up a hint of a book on Wikiversity, but I could not easily find anything on how to do it, etc. ::I think this "Media Literacy and You" project would lose the vast majority of its potential if it were not on Wikibooks. ::??? Thanks, [[User:DavidMCEddy|DavidMCEddy]] ([[User talk:DavidMCEddy|discuss]] • [[Special:Contributions/DavidMCEddy|contribs]]) 02:22, 9 February 2026 (UTC) {{outdent}} {{re|Kittycataclysm}} Will you please help me with the protocols of creating a book on Wikiversity? 1. I have found documentation that claims that Wikiversity supports such. However, the documentation seems incomplete, potentially out of date, etc. For example, I could not see how to follow the instructions for [[Wikiversity:Help:Books#Step 1: Enable the "Book creator" tool]]. So I posted a question to [[Wikiversity:Help talk:Books]]. 2. What do you suggest I do next? :I can create an article on Wikiversity titled, "Media Literacy and You", and port everything I've posted to Wikibooks there, then replace the pages on Wikibooks with redirects to [[Wikiversity:Media Literacy and You]], [[Wikiversity:Media Literacy and You/Introduction]], and [[Wikiversity:Media Literacy and You/The impact of the media on political economy since the time of the Pharaohs]]. :If you think that's the best way to build this book project, great. It would actually be easier for me, because there would be less translation between what I already have on Wikiversity and a version for Wikibooks. (Also, Wikiversity supports <nowiki>{{cite Q|...}}</nowiki>, which I have used extensively for years.) :Thanks for your help. [[User:DavidMCEddy|DavidMCEddy]] ([[User talk:DavidMCEddy|discuss]] • [[Special:Contributions/DavidMCEddy|contribs]]) 13:26, 9 February 2026 (UTC) :@[[User:DavidMCEddy|DavidMCEddy]] Unfortunately, I am not familiar with the exact workings of Wikiversity, so I can't be much help there. My personal recommendation is that you ask there for help on how best to structure your materials to match the WV requirements. If you'd like some additional opinions/insight, please feel free to also check in at the [[Wikibooks:Reading room/General|reading room]]. Cheers —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 02:22, 10 February 2026 (UTC) ::{{re|Kittycataclysm}} I believe I have finished migrating all of ''Media Literacy and You'' to Wikiversity and replacing the parts of it on Wikibooks with redirects. Comments? Thanks, [[User:DavidMCEddy|DavidMCEddy]] ([[User talk:DavidMCEddy|discuss]] • [[Special:Contributions/DavidMCEddy|contribs]]) 17:32, 10 February 2026 (UTC) == Thank you! == Heya, thanks for reviewing my stuff! Just to note, the first lesson page was done and so that'll need moving. If you want to discuss anything with me, I am easily reachable on Discord @ xiluosi233. I can explain philosophy, approach, and so on from my teaching experience if you want anything regarding that. [[User:Shira the Mogul|Shira the Mogul]] ([[User talk:Shira the Mogul|discuss]] • [[Special:Contributions/Shira the Mogul|contribs]]) 19:48, 17 February 2026 (UTC) :It appears [[An Introduction to the Han Script]] was moved wrong - should it not be [[General Literary Chinese from Scratch/An Introduction to the Han Script]]? [[User:Shira the Mogul|Shira the Mogul]] ([[User talk:Shira the Mogul|discuss]] • [[Special:Contributions/Shira the Mogul|contribs]]) 19:52, 17 February 2026 (UTC) ::@[[User:Shira the Mogul|Shira the Mogul]] good catch! I accidentally removed more of the title than intended. I've fixed this now. —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 13:18, 18 February 2026 (UTC) == A test request == Just to see whether a recent Luna update turned out as intended, could you briefly revert your [[User:Kittycataclysm/lunaoptions.json|Luna preferences page]] to the first revision? Since you don't appear to have any custom preferences in the first place, I don't think there should be any conflicts. [[User:JJPMaster|JJP]]<sub>[[User talk:JJPMaster|Mas]]<sub>[[Special:Contributions/JJPMaster|ter]]</sub></sub> ([[wikt:she|she]]/[[wikt:they|they]]) 01:49, 30 March 2026 (UTC) :Done! But, it seems to have perhaps auto-updated again immediately afterwards. —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 15:39, 10 April 2026 (UTC) == Linking == Hi,<br> For my edification, why is a link from [[Cookbook:nettle|nettle]] to [[w:Urtica_dioica|Urtica dioica]] not appropriate? The Wikipedia article has more information & seems relevant.<br> Thanks, ... [[User:PeterEasthope|PeterEasthope]] ([[User talk:PeterEasthope|discuss]] • [[Special:Contributions/PeterEasthope|contribs]]) 01:53, 24 April 2026 (UTC) :@[[User:PeterEasthope|PeterEasthope]] good question! Wikibooks discourages outlinking, since books should be self-contained units. Instead of linking to [[w:Urtica dioica]], the correct approach would be to flesh out the actual chapter here at Wikibooks. Cheers —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 17:34, 24 April 2026 (UTC) ::Should all material in the Wikipedia article about Urtica dioica relevant to cooking be duplicated into the nettle article in the cookbook? Thanks, ... [[User:PeterEasthope|PeterEasthope]] ([[User talk:PeterEasthope|discuss]] • [[Special:Contributions/PeterEasthope|contribs]]) 02:30, 2 May 2026 (UTC) :::@[[User:PeterEasthope|PeterEasthope]] you could do that, although you should only include information that is sourced. However, I recommend that you wait, because I am coincidentally working on the page right now and fleshing it out significantly. I should publish today. Cheers —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 21:40, 2 May 2026 (UTC) ::::The nettle page is better now. Thanks. ::::I still wonder, given that the link to ''The Complete Guide to Edible Wild Plants, ...'' is permitted, why not a link to the botanically oriented page in Wikipedia. What if someone reads the Cookbook article and is interested in the toxin for example? Seems that non-Wikimedia references are more privileged than Wikimedia references. ::::Also, by chance, just noticed the [[w:Nettle_soup|Nettle soup]] article in Wikipedia. Better in the Cookbook? ::::Thx, ... [[User:PeterEasthope|PeterEasthope]] ([[User talk:PeterEasthope|discuss]] • [[Special:Contributions/PeterEasthope|contribs]]) 19:10, 5 May 2026 (UTC) :::::Another good question. The reason those books are linked is because they are reputable and topical sources for the subject matter (nettles as used in cooking from an instructional perspective), and the links are part of the citations—this makes it different from a simple outlink to a Wikipedia page. Wikipedia pages should also not be cited themselves as sources. Regarding nettle soup, I don't think it makes sense to have that as a standalone page here in the cookbook due to its encyclopedic tone, and I don't see any recipes there. Does this make sense? —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 00:21, 6 May 2026 (UTC) ::::::Somewhat. Certainly a recipe wouldn't be incongruous in a cookbook. Still seems unhelpful that relevant information in Wikipedia is inaccessible from a Wikibook. In effect there's a "Berlin Wall" between two Wikimedia projects. Would a "See also" section be permissible? ::::::Thanks, ... [[User:PeterEasthope|PeterEasthope]] ([[User talk:PeterEasthope|discuss]] • [[Special:Contributions/PeterEasthope|contribs]]) 14:00, 7 May 2026 (UTC) == You may be an eligible candidate for the U4C election == <div lang="en" dir="ltr" class="mw-content-ltr"> Greetings, The [[m:Special:MyLanguage/Universal_Code_of_Conduct/Coordinating_Committee|Universal Code of Conduct Coordinating Committee (U4C)]] seeks candidates for the 2026 election. The U4C is the global committee responsible for overseeing enforcement of the [[foundation:Special:MyLanguage/Policy:Universal Code of Conduct|Universal Code of Conduct]]. Elections are held annually, if elected a committee member serves for two years. This year the U4C requires candidates to hold administrator rights on at least one wiki, which is why you are being contacted as you appear to hold this right. There are other requirements, such as candidates must be at least 18 years old and may not be employed by the Wikimedia Foundation or other related chapters and affiliates. You can find more information in the [[m:Special:MyLanguage/Universal_Code_of_Conduct/Coordinating_Committee/Election/2026#Call_for_Candidates|call for candidates on Meta-wiki]]. Additionally, the committee's working language is English; some ability to communicate in English is required. The election opens on 18 May, if you are eligible and interested you have until 10 May to submit your candidacy. There will week between for candidates to answer questions from the community. Voting takes place privately in [[m:Special:MyLanguage/SecurePoll|SecurePoll]], successful candidates must receive at least 60% support. More information is available on [[m:Special:MyLanguage/Universal_Code_of_Conduct/Coordinating_Committee/Election/2026|the 2026 Elections page]], including timelines and other candidacy information. If you read over the material and consider yourself qualified, please consider submitting your name to run for the committee. If you think someone else in your community might be interested and qualified, please encourage them to run. In partnership with the U4C -- [[m:User:Keegan (WMF)|Keegan (WMF)]] ([[m:User_talk:Keegan (WMF)|talk]]) 18:32, 28 April 2026 (UTC) </div> <!-- Message sent by User:Keegan (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=User:Keegan_(WMF)/test&oldid=30471751 --> == Undeletion request == Hello, I am writing to request an undeletion of the page Saumya Pandya Thakkar, Shakuntala Pandya and the Pedestrians of Ahmedabad. You stated you are a frequent visitor of the Lentis page and are thus familiar with it. This page was part of a class assignment and was in progress at the time of deletion. The work deleted is what we will be graded on for our class, so we would appreciate the restoration. [[User:Yqj3km|Yqj3km]] ([[User talk:Yqj3km|discuss]] • [[Special:Contributions/Yqj3km|contribs]]) 19:36, 4 May 2026 (UTC) :@[[User:Yqj3km|Yqj3km]] see my response below regarding undeletion. Cheers —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 22:15, 4 May 2026 (UTC) == Undeletion request == About the page on Lentis called Saumya Pandya Thakkar, Shakuntala Pandya and the Pedestrians of Ahmedabad: I, too, request undeletion, please. If the authors made any msitakes, the fault is 100 percent mine, for failing to guide them correctly. Like all chapters in this book, this team's chapter is a class assignment. I will be interested also in the reason for deletion so that I can guide authors better. I want to help my students be constructive contributors. Many thanks! [[User:Norton|Norton]] ([[User talk:Norton|discuss]] • [[Special:Contributions/Norton|contribs]]) 20:03, 4 May 2026 (UTC) :Hi @[[User:Norton|Norton]] and thanks for the ping! I deleted it because it was not titled/filed correctly, so I didn't realize it was part of [[Lentis]]. I have undeleted it and moved it to [[Lentis/Saumya Pandya Thakkar, Shakuntala Pandya and the Pedestrians of Ahmedabad]]. Cheers —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 22:14, 4 May 2026 (UTC) ::Many, many thanks, @[[User:Kittycataclysm|Kittycataclysm]]! I am very grateful as always for everything you do for Wikibooks! ::[[User:Norton|Norton]] ([[User talk:Norton|discuss]] • [[Special:Contributions/Norton|contribs]]) 22:27, 4 May 2026 (UTC) == Log in issues == Hi, messaging you as you seem to be the most active admin at the moment. I can't log in (as posted at <bdi>[[Wikibooks:Reading room/Administrative Assistance]] and also on my WP page at</bdi> [[w:User_talk:Xania]]). Seems to be an issue with extra security for admins? I am asked to use my authenticator app (which I can't as I have never set it up for Wikibooks) or a recovery code (which I don't have). Any idea what I should do in this situation? Xania [[Special:Contributions/&#126;2026-28255-89|&#126;2026-28255-89]] ([[User talk:&#126;2026-28255-89|talk]]) 18:21, 10 May 2026 (UTC) :Apologies for missing this yesterday! It seems like we have a few people working on it over in the reading room, and I'll keep track there. Cheers —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 16:37, 11 May 2026 (UTC) == Splitting pages == FYI, I untagged [[Art Print Production Methods]] as for splitting: the page is rather small with its 20 KB and does not need splitting, in my view. Ideally, there would be an operationalized, fairly detailed policy on the matter, but I do not know of one. Single-page books are in [[:Category:One-page books]]. --[[User:Dan Polansky|Dan Polansky]] ([[User talk:Dan Polansky|discuss]] • [[Special:Contributions/Dan Polansky|contribs]]) 04:45, 20 May 2026 (UTC) == Slander == Your tag is slanderous and very easily proven wrong.[https://en.wikibooks.org/w/index.php?title=Five_Rules_for_Meaningful_Living&diff=prev&oldid=4654455] Given you likely didn't bother to look at the edit history, I would remind you that your given reason that you think it was AI is because you see the chapter is "numbered". That however was 100% my own personal decision after I reviewed my work and thought to myself that I later wrote in the introduction that there is a first to fourth chapter. However I thought to myself that the readers would not be easily made aware of what is meant by first to fourth as I didn't number them - so is why I dedicated an entire edit to make it less ambiguous [https://en.wikibooks.org/w/index.php?title=Five_Rules_for_Meaningful_Living&diff=prev&oldid=4654328]. I should not have to be falsely penalized because I wanted to be more considerate and ensure better clarity. I do however request AI to help me figure out coding like this - [https://en.wikibooks.org/w/index.php?title=Five_Rules_for_Meaningful_Living&diff=prev&oldid=4654329] as I don't know how to link. But I intentionally take great efforts to not rely on AI to write that book and find your wrongful presumptions troubling. [[User:JaredMcKenzie|JaredMcKenzie]] ([[User talk:JaredMcKenzie|discuss]] • [[Special:Contributions/JaredMcKenzie|contribs]]) 06:00, 15 July 2026 (UTC) t3ff46rg0cuo5jvuag46stwgztm3lba Chess Opening Theory/1. e4/1...e5/2. d4/2...exd4/3. c3/3...dxc3/4. Bc4/4...cxb2/5. Bxb2 0 447803 4654409 4602159 2026-07-14T12:30:39Z Greenman 7490 Rejected the last 2 text changes (by [[Special:Contributions/79.139.141.129|79.139.141.129]] and [[Special:Contributions/Grammar Fascist|Grammar Fascist]]) and restored revision 4292272 by Xania - not an improvement 4654409 wikitext text/x-wiki {{Chess Opening Theory/Position|Danish Gambit Accepted||rd|nd|bd|qd|kd|bd|nd|rd|pd|pd|pd|pd||pd|pd|pd|||||||||||||||||||bl||pl||||||||||||pl|bl||||pl|pl|pl|rl|nl||ql|kl||nl|rl| |responses=<br> *[[/5...d5|5...d5 - Schlechter Defence]] *[[/5...Nf6|5...Nf6 - Classical Defence]] *[[/5...Bb4|5...Bb4+ - Copenhagen Defence]] *[[/5...Nc6|5...Nc6 - to Göring Gambit]] *[[/5...d6|5...d6 - the 5...d6 Defence]] |}} = Danish Gambit Accepted = The pawn is recaptured. White has great attacking chances with her two open bishops and quick development, but Black is up two pawns. A player who is up two pawns can safely assume that they're going to win any endgame that arises, which means White's attack needs concrete results - either material, or checkmate. Rather than accept those stakes, Black often gambits a pawn straight back with [[Chess Opening Theory/1. e4/1...e5/2. d4/2...exd4/3. c3/3...dxc3/4. Bc4/4...cxb2/5. Bxb2/5...d5|'''5...d5''']] to get her queen and c8-bishop into the game. This is the Schlechter Defence, in which Black can either try to hold onto the second pawn, or return that one too to steer the game into a level, queenless middlegame. A more ambitious approach is [[Chess Opening Theory/1. e4/1...e5/2. d4/2...exd4/3. c3/3...dxc3/4. Bc4/4...cxb2/5. Bxb2/5...Nf6|'''5...Nf6''']], the Classical Defence. It looks like the knight is just walking into an e5 advance, but tactical considerations mean it's not that simple. [[Chess Opening Theory/1. e4/1...e5/2. d4/2...exd4/3. c3/3...dxc3/4. Bc4/4...cxb2/5. Bxb2/5...Bb4|'''5...Bb4+''']] is the Copenhagen Defence. Committing the bishop to b4 invites a later Qb3, but who doesn't love developing a piece with check when you're behind in development? [[Chess Opening Theory/1. e4/1...e5/2. d4/2...exd4/3. c3/3...dxc3/4. Bc4/4...cxb2/5. Bxb2/5...d6|'''5...d6''']] is not fatal, but abandons any hope of active defence in favour of Turtle Mode. [[Chess Opening Theory/1. e4/1...e5/2. d4/2...exd4/3. c3/3...dxc3/4. Bc4/4...cxb2/5. Bxb2/5...Nc6|'''5...Nc6''']] offers a transposition to the Göring Gambit. [[Chess Opening Theory/1. e4/1...e5/2. d4/2...exd4/3. c3/3...dxc3/4. Bc4/4...cxb2/5. Bxb2/5...c6|'''5...c6''']] hampers the b8-knight and doesn't actually help Black achieve ...d5. Likewise 5...Qe7 and 5...f6 are anti-developing moves, and the attempted Scholar's Mate with 5...Qh4 doesn't work. == Theory table == {{Chess Opening Theory/Table}} '''1. e4 e5 2. d4 exd4 3. c3 dxc3 4. Bc4 cxb2 5. Bxb2''' {| cellpadding="4" cellspacing="0" border="0" ! ! align="left" |5 !6 ! align="left" |7 !8 | |- ! align="right" |Schlechter Defense |... d5 |Bxd5 Nf6 |Bxf7+ Kxf7 |Qxd8 Bb4+ |= |} {{wikipedia|Danish Gambit}}{{ChessMid}}{{Chess Opening Theory/Footer}} nt2gfpgmdq227khxy8qy1y20ixaeeg6 How to create gaming video/Editing game video using Avidemux 0 448304 4654433 4094688 2026-07-14T14:00:51Z Kaltenmeyer 715252 ce 4654433 wikitext text/x-wiki == Editing game video using Avidemux == In this section we'll talk about how to do basic editing with Avidemux. There are more versatile video editing programs available, but Avidemux is low cost (free) and easy to learn and use. There is virtually so setup needed after installation, so we can dive right into the editing process. These instructions are specific to Windows, but the process is similar for other operating systems. === Opening a file === First open the video you want to edit, presumably a video fresh from your recording software or device. Just click the open folder icon in the toolbar and select the file. If you haven't given the file a meaningful filename yet then this is a good time to do so. Avidemux will keep track of the last place you opened a file from, so after opening one for the first time, you usually won't have to tell it which folder to look in. It takes a few seconds to process the file into memory. (Keep in mine that video is not text, and you're dealing with gigabytes of data, not megabytes. === Navigating through a video === Most of the screen shows the current frame, so you'll start off with whatever was on the screen at the instant you started recording. On the left are Codec Options, but those should already be set properly out of the box. The real action will be taking place with the controls below the frame display. On the bottom left are navigation controls, including: * A slider bar: *: Drag this to move to any point in the video. It's not usually accurate enough to find an exact frame, but you can get to the approximate area and use the more detailed controls from there. Below the slider are navigation buttons. Ignore the square buttons marked A and B for now since they are used for editing. Other than those two, from left to right they are: * Play/Stop: *: This starts playing the video at normal speed starting with the current frame. This plays the audio as well, so it will be the main way to find a location where a specific audio event occurs. While the video is playing, this turns into a pause button, to stop at the current frame. * Previous and Next frames *: This step forward or backward a singe frame at a time. These are usually too precise, since at 30 frame per second a 30 min. video has 54,000 frames, but they have their uses. One use is to select a single frame to export as an image file. * Previous and Next keyframes *: Recall from the section on video compression that video files are organized into short sections, and the boundaries of the sections are called keyframes. These buttons allow you to go between keyframes, or go from an intermediate frame to the next or previous keyframe. It's important to be able to locate these frames if you're only going to make edits at the keyframe boundaries. There are some good reasons for doing this when possible. * Previous and Next cut point *: When you first open a file and haven't done any edits yet, these take you to the first and last frame of the video. As you start editing, you may notice that a vertical red lines appear in the slider at each edit point. These are useful for navigating to an edit so you can review the transition. * Previous and Next black frame *: These seek out the previous and next black frames. These occur more often in traditional video sources, so you may not use these for game video editing. * First and Last frame *: The beginning and end of the video. You will probably trim the beginning and end of almost every video you edit, and it's important to check the start and end to make sure that the cuts are well placed. * Backward and Forward one minute *: This is slightly finer control than the slider bar. In addition, there are several hot-key combinations you can use for navigation. * Space: Same as the Play/Stop button. * Left/Right: Same as the Previous and Next frame buttons. * Down/Up: Same as the Previous and Next keyframe buttons. * Shift + Down/Up: Same as the Previous and Next cut point buttons. * Home, End: Same as the First and Last frame buttons. * Ctrl+T: Go to a specific time index. * Shift + Left/Right: Go backward or forward one second. * Ctrl + Left/Right: Go backward or forward two seconds. * Ctrl + Shift + Left/Right: Go backward or forward four seconds. * Ctrl + Down/Up: Same as Backward and Forward one minute. These are also available under Go in the main menu. To the right of the main slider is an variable speed slider. Drag the line in the center to the right to move forward, and move it farther to the right to go faster. Similarly, dragging the line to the left will move backward at a speed you can control. Below this are buttons with time indexes of the A and B markers which we'll talk about next. Click on either of these to go to that marker. The duration of the current selection is show below these. === Making edits === Editing with Avidemux is a lot like editing a text file in that you can highlight a section, then delete it or cut and paste it somewhere else. The main difference is you can't create new video; that's what your recording device or software is for. Highlighting a section is a bit more cumbersome than in a text file, but that's mainly because it's more difficult to navigate to a precise frame. In text you can just click on the spot where you want to make an edit. To select a section, find the first frame of section using the navigation tools above, then press the square button marked A to set the start of the selection. Now find the last frame of the section, and press the square button marked B to set the end of the selection. You can also set the end of the section first if that's more convenient. As soon as you mark one end of a section, a box appears around the slider bar showing what is currently selected. The default for A is the start of the video and the default for B is the end. So, for example, if you just set B then everything from the start to that point will be selected. At any time you can reset the A and B markers to their default positions using Ctrl + Home or looking under Edit in the main menu. For example, to have the edited video start just before you start playing, first locate that that point and set the B marker there. Actually, it's better to you go to the first keyframe before that point. If you're doing narration then it wouldn't be where you start playing but the point where you start talking, so play the video until you hear the first word, the back up a second or two, and then preferably to the previous keyframe, and set the B marker there. That sets the selection from the start of the recording to where you want the video to start. Once you made a selection, you delete it (Delete), Cut it to move to another location (Ctrl+X) or Copy it to copy it to another locations (Ctrl+C). If you use Cut or Copy, then that section of the video is in the clipboard, and you can insert it into the video again by first navigating to the location, and then Pasting (Ctrl+V). That's all you need to know for the basic mechanics. You should check each edit to make sure, for example, that no words got cut off and nothing was removed that you wanted to keep in. If necessary, you can Undo edits using Ctrl-Z. All editing commands are available under Edit in the main menu. Once you have the basics it's a matter of practice to make edits cleanly and efficiently. Whenever you try to make an edit that's not on a keyframe, the program will display a warning message. Pay attention to these since saving the edited file after non-keyframe edits have been made will result in a corrupt video. The saved file will be playable, but there will be sections where colors are distorted. If you need to make edits not on keyframes, we'll discuss how to do that at the end. === Saving the editing video === There are several very important points here: * AVIDEMUX DOES NOT ASK TO SAVE CHANGES BEFORE CLOSING *: So it's very easy after an hour long editing session, to close without saving and lose all that work. Make it a habit to make sure the edits have been saved before closing the file. Fortunately, Avidemux has a "Restore previous session" menu option (under Recent) so you can get back to where you were, but it's best not to rely on it since you may start on another file before you realize what happened. * AVIDEMUX SAVES ONLY THE CURRENT SELECTION *: So if you save when there are only three seconds selected of a half-hour video, only the three seconds will be saved, not the half hour video. Again, the "Restore previous session" option can come to the rescue, but it's not a good idea to rely on it. We recommend that after you've saved the edited file, you open it and do a quick review in a different video player before closing Avidemux. It's probably a good idea to do a final review of the edited version in any case. To be fair, there are times when you want to only salve the selected section, say to grab a short clip from a long video. * NEVER SAVE OVER THE ORIGINAL RECORDING *: With all the things that can go wrong in the editing process, be it human, software or hardware error, it's a good idea to keep your original recording in case you need to go back and start over with editing. Video files are large and disk space is finite, so you probably shouldn't keep these files forever, but at least until you're sure that the video has been uploaded and there are no issues that need to be fixed. By default, Avidemux appends "_edit" to the file name for the saved file, and it's a good way to keep track of which is the edited version. You may also want to keep all your edited files in a different folder from the original recording; this will help avoid confusion when you're selecting which file to upload. So to save you edited file, first make sure the selection markers have been cleared, and only then click the save icon in the tool bar. Note that "Save" is always "Save as" in Avidemux since you're encouraged to keep the original. As an added precaution, review the edited version before closing Avidemux, and if all else fails, there is the "Restore previous session" option. === Non-keyframe edits === Being able to make edits at any frame instead of just on keyframes gives you much more flexibility. But to do this, you have to change the settings slightly. First, locate the "Video Output" part of Codec Options; these should be shown to the left of current frame. (If not, then select View→Toolbars from the main menu and make sure Codec Options is checked.) Change "Copy" to "Mpeg Encode". You'll notice that the "Configure" and "Filters" options are now activated. You shouldn't need to worry about the "Configure" button, so we won't cover that here, but you may want to press the "Filters" button to peruse the additional editing options that are not available. There are too many to list here in detail, but among other things you can do various fade transitions, add subtitles, and adjust the colors. At this point you can edit normally, except now you don't have to worry about making changes at keyframes all the time. When you're done, press save as described above, but in this case instead of taking a few seconds to copy, the video has to be reprocessed and this will take much longer, using a great deal of computer power. {{BookCat}} nds0bu04zo9cinbinyg68hybl4qo55c Chess Opening Theory/1. d4/1...d5/2. c4/2...e6/3. Nc3/3...Nf6/4. Nf3/4...Be7 0 451328 4654417 4443147 2026-07-14T12:53:47Z Greenman 7490 ce 4654417 wikitext text/x-wiki {{Chess Opening Theory/Position|=|Queen's Gambit Declined||rd|nd|bd|qd|kd|||rd|pd|pd|pd||bd|pd|pd|pd|||||pd|nd||||||pd|||||||pl|pl|||||||nl|||nl|||pl|pl|||pl|pl|pl|pl|rl||bl|ql|kl|bl||rl||}} = Queen's Gambit Declined = === Three Knights Variation 4...Be7 === This position is often reached from the Indian defence after white tries to avoid the Nimzo-Indian through '''1. d4 Nf6 2. c4 e6 3. Nf3 d5 4. Nc3 Be7''' == Theory Table == {{ChessTable}} '''1. d4 d5 2. c4 e6 3. Nc3 Nf6 4. Nf3 Be7''' {| border="0" cellspacing="0" cellpadding="4" ! ! align="left" |5 |- ! align="right" | |[[Chess Opening Theory/1. d4/1...d5/2. c4/2...e6/3. Nc3/3...Nf6/4. Nf3/4...Be7/5. Bg5|Bg5]]<br />... |= |- ! align="right" | |[[Chess Opening Theory/1. d4/1...d5/2. c4/2...e6/3. Nc3/3...Nf6/4. Nf3/4...Be7/5. Bf4|Bf4]]<br />... |= |- ! align="right" | |[[Chess Opening Theory/1. d4/1...d5/2. c4/2...e6/3. Nc3/3...Nf6/4. Nf3/4...Be7/5. cxd5|cxd5]]<br />... |= |} {{ChessMid}} tksbeu26anbd4ux59adxlkml9mvvaro Category:Book:Hymns 14 451848 4654428 4232353 2026-07-14T13:11:02Z MathXplore 3097823 Requesting deletion ([[:m:Special:MyLanguage/User:TenWhile6/XReport|XReport]] v3.1c) 4654428 wikitext text/x-wiki <noinclude>{{delete|1=Empty page. Broken redirect <small>[[:m:Special:MyLanguage/User:TenWhile6/XReport|XReport]]</small>}}</noinclude> #REDIRECT [[:Category:Book:Christian Hymns]] 92xnauwdpel6nkcf5baa38y56wsvmel Mirad Lexicon/Mirad-English-A 0 455907 4654531 4342295 2026-07-15T10:08:41Z WereSpielChequers 248949 typo 4654531 wikitext text/x-wiki = a. -- aajoda = <div style="background: lightyellow; border: solid blue 2px; {{column-count|2}};{{column-rule|2px solid blue}};font-size:smaller"> :* '''a.''' = ''a.'' :* '''a''' = ''a, the letter a, the number one'' :* '''a-''' = ''mono-, north, uni-'' :* '''-a''' = ''past tense inflection, suffix denoting adjective'' :* '''-a-''' = ''perfect aspect inflection'' :* '''aa-''' = ''arch-, first-'' :* '''aa bikut''' = ''proctor'' :* '''aa dez''' = ''debut, premiere'' :* '''aa dezuyt''' = ''debutante'' :* '''aa donabwa''' = ''top brass, top-ranked'' :* '''aa donabwat''' = ''top brass officer'' :* '''aa donabwatyan''' = ''top brass officer class'' :* '''aa dub''' = ''prime minister'' :* '''aa duba''' = ''prime ministerial'' :* '''aa duban''' = ''prime ministry'' :* '''aa dyun''' = ''first name, given name'' :* '''aa fina''' = ''top-quality'' :* '''aa''' = ''first, prime, topflight'' :* '''aa mira dropek''' = ''WWI, World War I, first world war'' :* '''aa moj''' = ''opening night'' :* '''aa mos''' = ''first floor, main floor'' :* '''aa mos sim''' = ''main floor seat, orchestra seat'' :* '''aa nab''' = ''first rank, first row'' :* '''aa nab sim''' = ''front row seat'' :* '''aa neg''' = ''first level one'' :* '''aa oakut''' = ''first runner-up'' :* '''aa pyex''' = ''first strike'' :* '''aa syana''' = ''first class'' :* '''aa tad''' = ''first husband, first spouse'' :* '''aa tayd''' = ''first wife'' :* '''aa tetitud''' = ''first cousin'' :* '''aa tetituyd''' = ''first female cousin'' :* '''aa tetitwud''' = ''first male cousin'' :* '''aa tisnog''' = ''first grade'' :* '''aa tisnogat''' = ''first-grader'' :* '''aa tiyuybiluen''' = ''menarche'' :* '''aa tlyuxut''' = ''headwaiter'' :* '''aa tyan drurunes''' = ''first class ticket'' :* '''aa tyan sim''' = ''first class seat'' :* '''aa xuun''' = ''first cause'' :* '''aa yiba tetitud''' = ''cousin first removed'' :* '''aa yiba tetituyd''' = ''cousin first removed'' :* '''aa yiba tetitwud''' = ''male cousin first removed'' :* '''aa yobdeuzat''' = ''first bass'' :* '''aa yobdeuzayt''' = ''first alto'' :* '''aa yuxlut''' = ''maitre d''' :* '''AAD''' = ''UAE'' :* '''aadeb''' = ''premier'' :* '''aadeban''' = ''premiership'' :* '''Aader''' = ''to say in Afar'' :* '''aadonaba''' = ''first-ranked'' :* '''AADX''' = ''North Atlantic Treaty Organization'' :* '''aafab''' = ''crabapple'' :* '''aafeb''' = ''rennet'' :* '''aafina''' = ''first-rate, prime'' :* '''aafina goblun bi taol''' = ''prime cut of meat'' :* '''aafina hobyen''' = ''prime condition'' :* '''aafina kebiun''' = ''prime choice'' :* '''aafinan''' = ''primeness'' :* '''aagdibut''' = ''lord chancellor'' :* '''aagnixut''' = ''breadwinner'' :* '''aaj-''' = ''paleo-, prim-, proto-'' :* '''aaja''' = ''bygone, early, primal'' :* '''aajas''' = ''something old'' :* '''aajaser''' = ''to get old, to get out of date, to grow old'' :* '''aajasya''' = ''worn out'' :* '''aajat''' = ''elder, senior'' :* '''aajatan''' = ''seniority'' :* '''aajdrentun''' = ''paleography'' :* '''aajdrentuna''' = ''paleographical'' :* '''aajdrentut''' = ''paleographer'' :* '''aajdreun''' = ''codex'' :* '''aajdreuni''' = ''codices'' :* '''aajdyesnamut''' = ''bouquiniste'' :* '''aajdyestun''' = ''codicology'' :* '''aajibxen''' = ''menarche'' :* '''aajmegjouba''' = ''paleolithic'' :* '''aajnaba''' = ''primordial'' :* '''aajnat''' = ''person of antiquity'' :* '''aajoda''' = ''first-time'' </div> = aajodat -- ab ha dezyem = <div style="background: lightyellow; border: solid blue 2px; {{column-count|2}};{{column-rule|2px solid blue}};font-size:smaller;";> :* '''aajodat''' = ''first-timer'' :* '''aajouba''' = ''primal, primeval'' :* '''aajsan''' = ''primitive form'' :* '''aajsana''' = ''primitive'' :* '''aajsanay''' = ''primitively'' :* '''aajsasea''' = ''getting tiresome'' :* '''aajsaser''' = ''to get tiresome'' :* '''aajsiyn''' = ''fossil'' :* '''aajtejsantun''' = ''paleontology'' :* '''aajtejsantuna''' = ''paleontological'' :* '''aajtejsantut''' = ''paleontologist'' :* '''aajtobtun''' = ''paleo-anthropology'' :* '''aajtobtuna''' = ''paleo-anthropological'' :* '''aajtobtut''' = ''paleo-anthropologist'' :* '''aajzoypin''' = ''atavism'' :* '''aajzoypina''' = ''atavistic'' :* '''aajzoypinut''' = ''atavist'' :* '''aakebiwa''' = ''elite, prime'' :* '''aakebiwa taolgol''' = ''prime choice cut'' :* '''aan''' = ''preeminence, primacy'' :* '''aana''' = ''first-of-its-kind, one and only, preeminent, unique'' :* '''aanan''' = ''uniqueness'' :* '''aanas''' = ''first-of-its-kind'' :* '''aanay''' = ''uniquely'' :* '''aapen''' = ''going first'' :* '''aaper''' = ''to go first'' :* '''aaput''' = ''first-goer, person going first'' :* '''Aarod''' = ''Afar'' :* '''Aarodaler''' = ''to speak Afar'' :* '''Aarodalut''' = ''Afar speaker'' :* '''aas bi glasi''' = ''flagship'' :* '''aas''' = ''first one, first thing'' :* '''aasaun''' = ''archetype, prototype'' :* '''aasauna''' = ''archetypical, prototypical'' :* '''aasi''' = ''first things'' :* '''aat''' = ''first one, first person'' :* '''aat yuxlwo''' = ''first-come first-serve'' :* '''aatajat''' = ''first-born child'' :* '''aatajbwa''' = ''first-born, firstborn'' :* '''aatajbwat''' = ''first-born, firstborn, firstling'' :* '''aatajya''' = ''first-born, firstborn'' :* '''aatajyan''' = ''primogeniture'' :* '''aatajyat''' = ''first-born, firstborn, firstling'' :* '''aatat''' = ''archangel'' :* '''aataxdrawa''' = ''first-recorded'' :* '''aateatwa''' = ''first-seen'' :* '''aateetwa''' = ''first-heard'' :* '''aateja''' = ''primal'' :* '''aatexwas''' = ''firstling'' :* '''aati''' = ''first ones, first people'' :* '''aatudan''' = ''primogeniture'' :* '''aatwa''' = ''first-known'' :* '''aavyan''' = ''principle'' :* '''aavyana''' = ''principal'' :* '''aavyanay''' = ''principally'' :* '''aavyanuka''' = ''unprincipled'' :* '''aavyanukay''' = ''in an unprincipled manner'' :* '''aax''' = ''initiative'' :* '''aaxen''' = ''initiating, initiation'' :* '''aaxer''' = ''to initiate, to make first'' :* '''aaxut''' = ''initiator'' :* '''aaxwa''' = ''initiated'' :* '''aaxwas''' = ''firstling'' :* '''aaxwat''' = ''initiate, rookie'' :* '''aaxyea''' = ''initiatory'' :* '''aaxyen''' = ''paradigm'' :* '''aaxyena''' = ''paradigmatic'' :* '''aay ay gwa zaay''' = ''first and foremost'' :* '''aay''' = ''firstly, foremost, primarily'' :* '''aayux''' = ''first aid'' :* '''aayuxnyef''' = ''first aid kit'' :* '''aayuxut''' = ''first aid responder'' :* '''aayuxutyan''' = ''first aid response team'' :* '''ab''' = ''aboard, atop, on top of, upon'' :* '''ab-''' = ''ad-, arch-, on, super-, sur-'' :* '''ab apet''' = ''horseback, on horseback'' :* '''ab bu ha dezyem''' = ''onto the stage'' :* '''ab bu ha sem''' = ''onto the table'' :* '''ab bu''' = ''onto'' :* '''ab ha dezyem''' = ''on the stage'' </div> = ab ha domep -- abaxler = <div style="background: lightyellow; border: solid blue 2px; {{column-count|2}};{{column-rule|2px solid blue}};font-size:smaller;";> :* '''ab ha domep''' = ''on top of the street'' :* '''ab ha sem''' = ''on the table, on top of the table'' :* '''ab hiis''' = ''hereon'' :* '''ab hus''' = ''thereon, thereunto, thereupon'' :* '''ab kuapetsim''' = ''sidesaddle'' :* '''ab mimpur''' = ''shipboard'' :* '''ab nad''' = ''on line, on-line, online'' :* '''-ab''' = ''staff, stub for "dab", top echelon'' :* '''aba''' = ''upper'' :* '''abaar''' = ''lid, top'' :* '''abaarer''' = ''to put a lid on'' :* '''abaea''' = ''atilt, covering, leaning'' :* '''abaea umvab''' = ''thatch'' :* '''abaen''' = ''coverage, covering, leaning on'' :* '''abaer''' = ''to cover, to lean on'' :* '''Abakid''' = ''Abkhazian'' :* '''Abakida''' = ''in Abkhazian'' :* '''Abakidaler''' = ''to speak Abkhazian'' :* '''Abakidalut''' = ''Abkhazian speaker'' :* '''Abakider''' = ''to say in Abkhazian'' :* '''abalar''' = ''applicator'' :* '''abalea''' = ''applying'' :* '''abalen''' = ''application, applying'' :* '''abalen azon''' = ''applying force'' :* '''abaler''' = ''to apply'' :* '''abaleyn''' = ''application'' :* '''abalog''' = ''applet'' :* '''abalut''' = ''applicant, applier'' :* '''abalwa''' = ''applied'' :* '''abalwas''' = ''applique'' :* '''abalyafwa''' = ''applicable'' :* '''abalyafwan''' = ''applicability'' :* '''abalyafway''' = ''applicably'' :* '''abalyea''' = ''applicative'' :* '''abalyeay''' = ''applicatively'' :* '''abaof''' = ''blanket, cover'' :* '''abaofbea''' = ''covering'' :* '''abaofben''' = ''blanketing, covering'' :* '''abaofber''' = ''to blanket, to cover'' :* '''abaofbwa''' = ''blanketed, covered'' :* '''abaofoben''' = ''unblanketing, uncovering'' :* '''abaofober''' = ''to unblanket, to uncover'' :* '''abaofobwa''' = ''unblanketed, uncovered'' :* '''abarea''' = ''trampling'' :* '''abaren''' = ''running over, trampling'' :* '''abarer''' = ''to run over, to trample'' :* '''abarut''' = ''trampler'' :* '''abarwa''' = ''run over, trampled'' :* '''abarwer''' = ''to get run over, to get trampled'' :* '''abaul''' = ''coat, coating'' :* '''abaulxen''' = ''coating'' :* '''abaulxer''' = ''to coat'' :* '''abaulxwa''' = ''coated'' :* '''abaun''' = ''cap, coating, cover, hood, lean-to, lid, top, topping'' :* '''abaunaya''' = ''lidded'' :* '''abaunika''' = ''lidded'' :* '''abaunof''' = ''cover'' :* '''abaunofyujwa unzyupir''' = ''cabriolet'' :* '''abaunoya''' = ''lidless'' :* '''abaunuea''' = ''providing cover'' :* '''abaunuka enzyuk belir''' = ''tilbury'' :* '''abaunuka''' = ''lidless'' :* '''abaunxea''' = ''covering'' :* '''abaunxen''' = ''capping, putting a top on'' :* '''abaunxer''' = ''to cap, to cover, to put a top on, to top'' :* '''abaunxwa''' = ''capped, topped'' :* '''abaunxwam bi mimpur''' = ''deck, ship deck'' :* '''abaunxwam sim''' = ''deck chair'' :* '''abawa''' = ''awash, covered, lidded, topped'' :* '''abawa belir''' = ''covered wagon'' :* '''abawa yepem''' = ''covered entryway, porch, portico'' :* '''abawam''' = ''covered shelter'' :* '''Abawum''' = ''Aruba'' :* '''Abawuma''' = ''Aruban'' :* '''Abawumat''' = ''Aruban, inhabitant of Aruba'' :* '''abax''' = ''caress, pat, stroke'' :* '''abaxeay''' = ''caressingly'' :* '''abaxen''' = ''caressing, patting, petting, stroking'' :* '''abaxer''' = ''to caress, to pat, to pet, to stroke'' :* '''abaxler''' = ''to stroke'' </div> = abaxlun -- abdoutyan = <div style="background: lightyellow; border: solid blue 2px; {{column-count|2}};{{column-rule|2px solid blue}};font-size:smaller;";> :* '''abaxlun''' = ''rub-down, rubdown'' :* '''abaxluyt''' = ''masseuse'' :* '''abaxram''' = ''massage parlor'' :* '''abaxrawa''' = ''rubbed'' :* '''abaxrazon''' = ''friction'' :* '''abaxrazona''' = ''frictional'' :* '''abaxrazonaya''' = ''friction-filled, rough'' :* '''abaxrazonika''' = ''friction-filled, rough'' :* '''abaxrazonuka''' = ''friction-free'' :* '''abaxrea''' = ''rubbing, spirant'' :* '''abaxrea yujteuzun''' = ''fricative consonant'' :* '''abaxren''' = ''friction, massaging, rubbing'' :* '''abaxren sem''' = ''massage table'' :* '''abaxrer''' = ''to knead, to massage, to rub down'' :* '''abaxreya''' = ''frictional'' :* '''abaxrul''' = ''swarf'' :* '''abaxrun aman''' = ''chafe'' :* '''abaxrun''' = ''friction, massage, rub'' :* '''abaxrunaya''' = ''friction-filled'' :* '''abaxrunbuk''' = ''gall'' :* '''abaxrunika''' = ''friction-filled'' :* '''abaxrunoya''' = ''friction-free, frictionless, non-abrasive'' :* '''abaxrunuka''' = ''friction-free, frictionless, non-abrasive'' :* '''abaxrut''' = ''masseur'' :* '''abaxruyt''' = ''masseuse'' :* '''abaxryea''' = ''abrasive, fricative, rough'' :* '''abaxryean''' = ''roughness'' :* '''abaxryeay''' = ''abrasively, roughly'' :* '''abaxul''' = ''liniment'' :* '''abaxut''' = ''petter, stroker'' :* '''abaxwa''' = ''caressed, patted, petted, stroked'' :* '''abayafwa''' = ''coverable'' :* '''abdab''' = ''dominion, hegemony, suzerainty'' :* '''abdaban''' = ''dominion, hegemony, sovereignty, suzerainty'' :* '''abdabea''' = ''dominant, dominating, high-handed, highhanded, overshadowing, prevailing, prevalent, sovereign'' :* '''abdabean''' = ''high-handedness, highhandedness'' :* '''abdabeay''' = ''dominantly, high-handedly, highhandedly'' :* '''abdaben''' = ''domination, prevalence'' :* '''abdaber''' = ''to be dominant, to dominate, to domineer, to lord over, to overshadow, to prevail over'' :* '''abdabut''' = ''dominator, hector, lord, sovereign'' :* '''abdabuyt''' = ''dominatrix'' :* '''abdabwa''' = ''dominated, overshadowed'' :* '''abdabwut''' = ''hector, lord, male dominator, sovereign'' :* '''abdabyea''' = ''dominant, domineering, lording over, overshadowing, prevailing'' :* '''abdabyean''' = ''dominance, prevalence'' :* '''abdabyeay''' = ''domineeringly, prevalently'' :* '''abdeabeay''' = ''prevalently'' :* '''abdeuzunes''' = ''descant'' :* '''abdeuzuneser''' = ''to descant'' :* '''abdob''' = ''empire'' :* '''abdoba''' = ''imperial'' :* '''abdoban''' = ''imperiousness'' :* '''abdobay''' = ''imperiously'' :* '''abdobin''' = ''imperialism'' :* '''abdobina''' = ''imperialist, imperialistic'' :* '''abdobinay''' = ''imperialistically'' :* '''abdobinut''' = ''imperialist'' :* '''abdoebdalim''' = ''senate, upper chamber, upper house'' :* '''abdoebdalut''' = ''senator'' :* '''abdoebdalutyan''' = ''senate'' :* '''abdoebdalutyana''' = ''senatorial'' :* '''abdonab''' = ''upper class'' :* '''abdonaba''' = ''of superior rank, senior-ranking'' :* '''abdonabat''' = ''senior'' :* '''abdonaben''' = ''being superior in rank'' :* '''abdonaber''' = ''to be superior in rank'' :* '''abdonabsen''' = ''ranking above'' :* '''abdonabser''' = ''to rank above'' :* '''abdonabxer''' = ''to rank above'' :* '''abdonabxwa''' = ''ranked above'' :* '''abdoneg''' = ''top social class, top social stratum, upper class'' :* '''abdonega''' = ''upper-class'' :* '''abdonegat''' = ''member of the upper class, sociocrat'' :* '''abdosyan''' = ''upper class'' :* '''abdosyana''' = ''upper class'' :* '''abdosyanat''' = ''member of the upper class'' :* '''abdotyanat''' = ''person in the higher social class'' :* '''abdout''' = ''aristocrat'' :* '''abdouta''' = ''aristocratic'' :* '''abdoutyan''' = ''aristocracy, gentlefolk, gentry'' </div> = abdoutyana -- abektuna = <div style="background: lightyellow; border: solid blue 2px; {{column-count|2}};{{column-rule|2px solid blue}};font-size:smaller;";> :* '''abdoutyana''' = ''aristocratic'' :* '''abdoutyanay''' = ''aristocratically'' :* '''abdoutyen''' = ''gentility'' :* '''abdoutyena''' = ''genteel'' :* '''abdoutyenan''' = ''genteelness'' :* '''abdoutyenay''' = ''genteelly'' :* '''abdouyt''' = ''gentlewoman'' :* '''abdovyabxim''' = ''senate, upper legislative chamber'' :* '''abdovyabxima''' = ''senatorial'' :* '''abdovyabxut''' = ''senator'' :* '''abdovyabxutim''' = ''senate chamber, upper chamber of congress'' :* '''abdovyabxutyan''' = ''senate, upper house, upper legislature'' :* '''abdovyabxutyana''' = ''senatorial'' :* '''abdrawa''' = ''inscribed, labeled, titled'' :* '''abdrefxen''' = ''papering over'' :* '''abdrefxer''' = ''to paper over'' :* '''abdrefxut''' = ''paperer'' :* '''abdrefxwa''' = ''papered over'' :* '''abdren''' = ''inscription, label, labeling, masthead'' :* '''abdrenabof''' = ''marquee'' :* '''abdrenad''' = ''heading, headline'' :* '''abdrenadus''' = ''headliner'' :* '''abdrenadxer''' = ''to headline'' :* '''abdreniv''' = ''super-text'' :* '''abdrer''' = ''to inscribe, to label, to title'' :* '''abdresiyn''' = ''diacritic'' :* '''abdresiynben''' = ''accenting'' :* '''abdrev''' = ''header'' :* '''abdrun drev''' = ''title page'' :* '''abdrun''' = ''header, label, title'' :* '''abdun''' = ''headword'' :* '''abdungab''' = ''affix'' :* '''abdungaben''' = ''affixation'' :* '''abdungaber''' = ''to affix'' :* '''abdungabwa''' = ''affixed'' :* '''abdut''' = ''don, maestro, master'' :* '''abdutxen''' = ''domination, mastery, subduction'' :* '''abdutxer''' = ''to domineer, to master, to subdue'' :* '''abdutxyea''' = ''domineering'' :* '''abdutxyeay''' = ''domineeringly'' :* '''abdutyena''' = ''masterful'' :* '''abdutyenan''' = ''masterfulness'' :* '''abduut''' = ''master, overlord'' :* '''abdwout''' = ''gentleman'' :* '''abdwoutyena''' = ''gentlemanlike'' :* '''abdwoutyenay''' = ''gentlemanly'' :* '''abdwutxwa''' = ''dominated, mastered, subdued'' :* '''abdyun''' = ''caption, surname, title'' :* '''abdyunser''' = ''to be captioned, to be entitled'' :* '''abdyunuen''' = ''captioning, entitling, titling'' :* '''abdyunuer''' = ''to entitle, to title'' :* '''abdyunuka''' = ''untitled'' :* '''abdyunxen''' = ''captioning, titling'' :* '''abdyunxer''' = ''to caption, to title'' :* '''abdyunxwa''' = ''captioned, titled'' :* '''abea''' = ''donning, putting on'' :* '''abeater''' = ''to oversee, to survey'' :* '''abeatun''' = ''oversight, survey'' :* '''abeatut''' = ''overseer, surveyor'' :* '''abeatwa''' = ''overseen, surveyed'' :* '''abeax''' = ''survey'' :* '''abeaxen''' = ''surveillance, surveying'' :* '''abeaxer''' = ''to survey'' :* '''abeaxut''' = ''surveyor'' :* '''abeaxwa''' = ''surveyed'' :* '''abefyaxab''' = ''archbishopric'' :* '''abefyaxeb''' = ''archbishop, cardinal, exarch, major archbishop'' :* '''abefyaxeba''' = ''archiepiscopal'' :* '''abefyaxebyan''' = ''cardinalate'' :* '''abefyaxem''' = ''archdiocese'' :* '''abefyaxob''' = ''archiepiscopate, college of cardinals, exarchate'' :* '''abeksem''' = ''surgical table'' :* '''abektun bi tayib''' = ''neurosurgery'' :* '''abektun bi teab''' = ''eye surgery'' :* '''abektun bi teib''' = ''rhinoplasty'' :* '''abektun bi tyoyab''' = ''foot surgery'' :* '''abektun''' = ''surgery'' :* '''abektuna gibar''' = ''lancet'' :* '''abektuna goblar''' = ''scalpel, surgical knife'' :* '''abektuna''' = ''surgical'' </div> = abektunay -- abilbwa = <div style="background: lightyellow; border: solid blue 2px; {{column-count|2}};{{column-rule|2px solid blue}};font-size:smaller;";> :* '''abektunay''' = ''surgically'' :* '''abektut''' = ''surgeon'' :* '''abem''' = ''surface, top'' :* '''abema''' = ''superficial, surface'' :* '''abeman''' = ''superficiality'' :* '''abemen''' = ''imposing, imposition, laying down, setting down'' :* '''abemer''' = ''to impose, to lay down, to set down'' :* '''abempen''' = ''surfacing'' :* '''abemper''' = ''to rise to the surface'' :* '''abemtuloxwas''' = ''sgraffito'' :* '''abemwa''' = ''imposed, laid down, set down'' :* '''abemzyuber''' = ''to topspin'' :* '''abemzyup''' = ''topspin'' :* '''aben''' = ''application, applying, donning, imposing, imposition, laying, levying, putting on, setting, wearing'' :* '''aben bay azon''' = ''forcing on board'' :* '''abennod siyn''' = ''dieresis, tr&eacute;ma, umlaut'' :* '''aber bay azon''' = ''to forcibly board'' :* '''aber byok''' = ''to impose a punishment'' :* '''aber byoyk''' = ''to impose a penalty'' :* '''aber dobnix''' = ''to impose a tax, levy a tax'' :* '''aber nuxyef''' = ''to impose a tariff, levy a tariff, set a tariff'' :* '''aber sammoys''' = ''to put on a shelf'' :* '''aber sindrof''' = ''to put up a poster'' :* '''aber tef''' = ''to put on a hat'' :* '''aber''' = ''to apply, to don, to impose, to lay, to levy, to put on, to set on'' :* '''aber toof''' = ''to put on clothes'' :* '''aber ujnad''' = ''to impose a limit'' :* '''aber vixut biel''' = ''to apply beauty cream, apply makeup'' :* '''aber vokun''' = ''to impose a hazard'' :* '''aber yugyel''' = ''to apply a salve, apply lotion'' :* '''abex''' = ''clutch, control, grip, hold'' :* '''abexar''' = ''clutch, controller, grip, gripper, handle'' :* '''abexea''' = ''holding on, wearing'' :* '''abexen''' = ''clutching, gripping, holding on, holding onto, wearing'' :* '''abexer''' = ''to clutch, to grip, to hold on, to hold onto, to wear'' :* '''abexer toof''' = ''to have on clothes, wear clothes'' :* '''abexwa''' = ''clutched, gripped, held on, worn'' :* '''abfin''' = ''advantage, favor, upper hand, upside'' :* '''abfin dalseym''' = ''bully pulpit'' :* '''abfin nod''' = ''break point'' :* '''abfina nunek''' = ''bargain'' :* '''abfina''' = ''superb'' :* '''abfinay''' = ''superbly'' :* '''abfinaya''' = ''advantageous, favorable'' :* '''abfinayan''' = ''advantageousness'' :* '''abfinien''' = ''taking advantage of'' :* '''abfinier''' = ''to take advantage of'' :* '''abfinika''' = ''advantageous, favorable'' :* '''abfinikan''' = ''advantageousness'' :* '''abfinikay''' = ''advantageously, favorably'' :* '''abfiniyukwat''' = ''schnook'' :* '''abfinnux''' = ''payola'' :* '''abfinog''' = ''toehold'' :* '''abfinok''' = ''tradeoff'' :* '''abfinuea''' = ''favoring'' :* '''abfinuen''' = ''giving the advantage to, giving the edge to'' :* '''abfinuer''' = ''to advantage, to favor, to give the advantage to give the edge to'' :* '''abfinuus''' = ''trump'' :* '''abfinuwa''' = ''advantaged, favored'' :* '''abfyefut''' = ''supervillain'' :* '''abgabun''' = ''coating, topping'' :* '''abgabuner''' = ''to coat, to top off'' :* '''abgabunwa''' = ''coated, topped off'' :* '''abgina''' = ''cacuminal'' :* '''abgon''' = ''headpiece'' :* '''abgonoya''' = ''topless'' :* '''abgonuka''' = ''topless'' :* '''abgrun siyn''' = ''hacek'' :* '''abiea''' = ''assuming'' :* '''abien''' = ''assuming, assumption'' :* '''abien dyunif''' = ''assuming a nickname'' :* '''abier doyaf''' = ''to assume power'' :* '''abier dyun''' = ''to assume a title'' :* '''abier kyis''' = ''to assume a burden'' :* '''abier nox''' = ''to assume an expense'' :* '''abier''' = ''to assume, to take on'' :* '''abilbea''' = ''adsorbing'' :* '''abilben''' = ''adsorption'' :* '''abilber''' = ''to adsorb'' :* '''abilbwa''' = ''adsorbed'' </div> = abilbyea -- abmilpuxer = <div style="background: lightyellow; border: solid blue 2px; {{column-count|2}};{{column-rule|2px solid blue}};font-size:smaller;";> :* '''abilbyea''' = ''adsorbent'' :* '''abilbyexwa''' = ''splashed from above'' :* '''abiloben''' = ''skimming'' :* '''abilober''' = ''to skim'' :* '''abilobwa''' = ''skim, skimmed'' :* '''abilov''' = ''foam, froth, lather, mousse, spume, suds'' :* '''abilovaya''' = ''foamy, frothy, spumy, sudsy'' :* '''abilovayan''' = ''foaminess, frothiness, sudsiness'' :* '''abilovben''' = ''lathering, sudsing up'' :* '''abilovber''' = ''to lather, to suds up'' :* '''abilovbwa''' = ''foamed, lathered, sudsed up'' :* '''abilovika''' = ''foamy, frothy, spumy, sudsy'' :* '''abilovikan''' = ''foaminess, frothiness, sudsiness'' :* '''abilovoben''' = ''rinsing'' :* '''abilovober''' = ''to rinse'' :* '''abilovobwa''' = ''rinsed'' :* '''abilovyena''' = ''foamy, frothy, spumy, sudsy'' :* '''abimbar''' = ''baster'' :* '''abimber''' = ''to baste, to coat'' :* '''abimbwa''' = ''basted, coated'' :* '''abimxar''' = ''baster'' :* '''abiwa''' = ''assumed'' :* '''abiwa dyun''' = ''assumed name'' :* '''abixen''' = ''pulling on'' :* '''abixer''' = ''to pull on'' :* '''abixwa''' = ''pulled on'' :* '''abiyafwa''' = ''assumable'' :* '''abkumas''' = ''cornice, ledge'' :* '''abkun''' = ''top, topside, upper side'' :* '''abkyober''' = ''to affix, to post, to stick on'' :* '''abkyobwa''' = ''affixed, posted'' :* '''abkyobwas''' = ''poster, something affixed'' :* '''abkyotyan''' = ''superior caste, upper caste'' :* '''abkyupea''' = ''floating'' :* '''abkyupen''' = ''floating'' :* '''abkyuper''' = ''to float, to float on top, to slide on'' :* '''ableovol abovol''' = ''piecrust'' :* '''ableovol''' = ''pie'' :* '''ableveylbwovola''' = ''glazed'' :* '''abmaglar''' = ''grill'' :* '''abmaglawa bilyig ebovol''' = ''grilled cheese sandwich'' :* '''abmaglawa''' = ''grilled'' :* '''abmaglen''' = ''grilling'' :* '''abmagler''' = ''to grill'' :* '''abmas''' = ''clearstory, clerestory, housetop, roof'' :* '''abmas zyiyujem''' = ''rooftop terrace'' :* '''abmasben''' = ''roofing'' :* '''abmasber''' = ''to roof'' :* '''abmasbut''' = ''roofer'' :* '''abmasbwa''' = ''roofed'' :* '''abmasbwa yija yabtem''' = ''loggia'' :* '''abmasgin''' = ''gable'' :* '''abmasginaya''' = ''gabled'' :* '''abmasginika''' = ''gabled'' :* '''abmasoya''' = ''roofless'' :* '''abmasoybun''' = ''eave'' :* '''abmasuka''' = ''roofless'' :* '''abmeel''' = ''topsoil'' :* '''abmef goblar''' = ''tile cutter'' :* '''abmef''' = ''tile'' :* '''abmefa''' = ''tegular'' :* '''abmefben''' = ''tile laying, tile-laying'' :* '''abmefber''' = ''to lay tile'' :* '''abmefbut''' = ''tile layer, tile-layer'' :* '''abmefbwa''' = ''tiled'' :* '''abmefsin''' = ''mosaic'' :* '''abmefyan''' = ''tile work, tile-work'' :* '''abmefyena''' = ''tegular'' :* '''abmeg''' = ''capstone'' :* '''abmelgofrul''' = ''mulch'' :* '''abmeltim''' = ''terrace'' :* '''abmeltimaya''' = ''terraced'' :* '''abmeltimika''' = ''terraced'' :* '''abmilien seb''' = ''shower head'' :* '''abmilien''' = ''showering, taking a shower'' :* '''abmilien teyf''' = ''shower cap'' :* '''abmilier''' = ''to take a shower'' :* '''abmilieyn''' = ''shower'' :* '''abmilpuxen''' = ''dousing'' :* '''abmilpuxer''' = ''to douse'' </div> = abmilpuxwa -- absun = <div style="background: lightyellow; border: solid blue 2px; {{column-count|2}};{{column-rule|2px solid blue}};font-size:smaller;";> :* '''abmilpuxwa''' = ''doused'' :* '''abmiluen''' = ''showering'' :* '''abmiluer''' = ''to shower'' :* '''abmiluwa''' = ''showered'' :* '''abmimof''' = ''topsail'' :* '''abmimuf''' = ''topmast'' :* '''abmis''' = ''fanlight'' :* '''abmos''' = ''top floor, upper floor'' :* '''abmosgoblawa mimpur''' = ''razee'' :* '''abmosgobler''' = ''to razee'' :* '''abmoszom''' = ''quarterdeck'' :* '''abmoys''' = ''upper echelon, upper layer'' :* '''abna''' = ''superior, top, upper'' :* '''abnab''' = ''top grade, upper rank'' :* '''abnaba''' = ''ranking'' :* '''abnabiea''' = ''advancing, going up in rank, graduating'' :* '''abnabien''' = ''advancing, going up in rank, graduating, graduation'' :* '''abnabier''' = ''to advance, to go up in rank, to graduate'' :* '''abnad''' = ''maximum, upper limit'' :* '''abnada''' = ''maximal, online'' :* '''abnadsiyn''' = ''macron'' :* '''abnan''' = ''superiority'' :* '''abnay''' = ''superiorly'' :* '''abned''' = ''surface, top, upper plane, upper surface'' :* '''abneda''' = ''superficial, top'' :* '''abnedan''' = ''superficiality'' :* '''abneday''' = ''superficially'' :* '''abneg''' = ''top level, upper level'' :* '''abnega''' = ''top-level'' :* '''abnig''' = ''plenum, upper space'' :* '''abnod''' = ''apex, peak, summit, summum, tip, tiptop, top, vertex'' :* '''abnoda''' = ''peak, top'' :* '''abnodser''' = ''to peak, to top out'' :* '''abnodsiyn''' = ''dot above'' :* '''abnodupea''' = ''culminating'' :* '''abnodupen''' = ''culmination'' :* '''abnoduper''' = ''to culminate'' :* '''abnogat''' = ''super grade'' :* '''abnogier''' = ''to graduate'' :* '''abnoguen''' = ''graduation'' :* '''abnoguer''' = ''to graduate'' :* '''abnoguwa''' = ''graduated'' :* '''abnyeb''' = ''case, diaphragm, membrane, sheath, theca'' :* '''abnyeba''' = ''diaphragmatic, thecal'' :* '''abnyeben''' = ''sheathing'' :* '''abnyeber''' = ''to sheathe'' :* '''abnyebwa''' = ''sheathed'' :* '''abobwa bil''' = ''skim milk'' :* '''abobwa bilgab''' = ''buttermilk'' :* '''abof''' = ''canopy, tarp, tarpaulin'' :* '''abofwa''' = ''canopied'' :* '''abofyujer''' = ''to lap'' :* '''abofyujwa''' = ''lapped'' :* '''abovol''' = ''crust'' :* '''abovolaya''' = ''crusty'' :* '''abovolika''' = ''crusty'' :* '''abovolxea''' = ''encrusting'' :* '''abovolxen''' = ''encrustation'' :* '''abovolxer''' = ''to encrust, to make into crust'' :* '''abovolxwa''' = ''crusted, encrusted'' :* '''abovolyena''' = ''crusty'' :* '''abovolyenan''' = ''crustiness'' :* '''abqomul''' = ''top quark'' :* '''abra sat''' = ''supreme being'' :* '''abra''' = ''supreme, topflight'' :* '''abran''' = ''supremacy'' :* '''abrat''' = ''supreme being'' :* '''abraxeux''' = ''gride'' :* '''abraxeuxer''' = ''to gride'' :* '''abraxyea''' = ''grating'' :* '''abraxyeay''' = ''gratingly'' :* '''abray''' = ''categorically, preeminently, supremely'' :* '''abrin''' = ''supremacism'' :* '''abrina''' = ''supremacist'' :* '''abrinut''' = ''supremacist'' :* '''absayeb''' = ''upper layer'' :* '''abseym''' = ''desktop'' :* '''absuef''' = ''bed cover, bedspread'' :* '''absuemof''' = ''comforter'' :* '''absun''' = ''coat, layer, stratum'' </div> = absunaya -- abuper = <div style="background: lightyellow; border: solid blue 2px; {{column-count|2}};{{column-rule|2px solid blue}};font-size:smaller;";> :* '''absunaya''' = ''layered'' :* '''absunika''' = ''layered'' :* '''absunxen''' = ''coating, layering'' :* '''absunxer''' = ''to coat, to layer'' :* '''absunxwa''' = ''coated, layered'' :* '''absyeb''' = ''lid, top'' :* '''absyeber''' = ''to put a lid on'' :* '''absyebwa''' = ''lidded'' :* '''abtaaf''' = ''greatcoat, overcoat'' :* '''abtaayf''' = ''cardigan'' :* '''abtaf''' = ''coat, overcoat, topcoat'' :* '''abtaf pyoxar''' = ''coat hanger'' :* '''abtaf tibuj''' = ''coattail'' :* '''abtafsom''' = ''coat hanger, coat rack, portmanteau'' :* '''abtajtyan''' = ''aristocracy, nobility'' :* '''abtajtyana''' = ''aristocratic, patrician'' :* '''abtajtyanat''' = ''aristocrat, gentleman'' :* '''abtam zyiyujem''' = ''terrace'' :* '''abtameb''' = ''overlord'' :* '''abtaves''' = ''apron, overalls, smock'' :* '''abtayf''' = ''pinafore'' :* '''abtayob''' = ''epidermis'' :* '''abtayoba''' = ''epidermal, epidermic'' :* '''abtayv''' = ''work blouse'' :* '''abteabyeb''' = ''eyebrow'' :* '''abteabyexen''' = ''frowning, furling one's eyebrows'' :* '''abteabyexer''' = ''to frown, to furl one's eyebrows'' :* '''abteaxea''' = ''overlooking'' :* '''abteaxem''' = ''overlook'' :* '''abteaxer''' = ''to overlook'' :* '''abteb''' = ''scalp'' :* '''abteboben''' = ''scalping'' :* '''abtebober''' = ''to scalp'' :* '''abtebobut''' = ''scalper'' :* '''abtebobwa''' = ''scalped'' :* '''abtem''' = ''attic, garret'' :* '''abteuba''' = ''alveolar'' :* '''abteuba yujteuzun''' = ''alveolar consonant'' :* '''abteubbok''' = ''alveolitis'' :* '''abteupimul''' = ''enamel'' :* '''abteupimulxen''' = ''enameling'' :* '''abteupimulxut''' = ''enameler'' :* '''abteupimulxwa''' = ''enameled'' :* '''abteupimulxwasyan''' = ''enamelware'' :* '''abteuz''' = ''voice-over'' :* '''abteyof''' = ''scarf'' :* '''abtiab''' = ''breastplate, thorax'' :* '''abtiaba''' = ''thoracic'' :* '''abtim''' = ''attic, upstairs room'' :* '''abtim mis''' = ''attic window'' :* '''abtityanat''' = ''upperclassman'' :* '''abtiyotayuba''' = ''adrenal'' :* '''abtiyotayubul''' = ''adrenalin, epinephrine'' :* '''abtob''' = ''kingpin, super human, superman'' :* '''abtoba''' = ''superhuman'' :* '''abtof''' = ''coverall, outerwear'' :* '''abtomas''' = ''roof'' :* '''abtomasned''' = ''roofdeck, rooftop'' :* '''abtut''' = ''mastermind'' :* '''abtutan''' = ''mastership'' :* '''abtwiyab''' = ''epididymus'' :* '''abtyan''' = ''upper class'' :* '''abtyana''' = ''upper class'' :* '''abtyanat''' = ''person of the upper class'' :* '''abtyoaper''' = ''to sit on'' :* '''abtyof''' = ''overalls, trousers'' :* '''abtyoyaf''' = ''boot, rubber'' :* '''abtyoyaf nyives''' = ''bootlace'' :* '''abtyoyaf zyunyiov''' = ''bootstrap'' :* '''abtyoyafobar''' = ''bootjack'' :* '''abtyoyafoya''' = ''bootless'' :* '''abtyoyafuka''' = ''bootless'' :* '''abtyoyafyelbut''' = ''boot polisher, bootblack, shoe shiner'' :* '''abuer abdyun''' = ''to confer a title'' :* '''abuer''' = ''to confer'' :* '''abun''' = ''layer'' :* '''abunben''' = ''arraying, layering'' :* '''abunber''' = ''to array, to layer'' :* '''abunbwa''' = ''arrayed, layered'' :* '''abuper''' = ''to come aboard, to come onto'' </div> = abuxen -- abzyim = <div style="background: lightyellow; border: solid blue 2px; {{column-count|2}};{{column-rule|2px solid blue}};font-size:smaller;";> :* '''abuxen''' = ''forcing on board, imposition, pushing on'' :* '''abuxer''' = ''to forcibly board, to impose, to push on'' :* '''abuxwa''' = ''imposed, pushed on'' :* '''abvakdibut''' = ''commissary'' :* '''abwa''' = ''aboard, applied, donned, imposed, laid, on board, set, worn'' :* '''abxeb''' = ''foreman'' :* '''abxeyb''' = ''forewoman'' :* '''abxob''' = ''upper management'' :* '''abxub''' = ''head office'' :* '''abyafa''' = ''dominant'' :* '''abyafat''' = ''dominant person, lord'' :* '''abyafay''' = ''dominantly'' :* '''abyafon''' = ''dominance, hegemony, supremacy'' :* '''abyafona''' = ''hegemonic, supreme'' :* '''abyafonin''' = ''hegemonism'' :* '''abyafonina''' = ''hegemonist'' :* '''abyafoninut''' = ''hegemonist'' :* '''abyafonuen''' = ''hegemonization'' :* '''abyafonuer''' = ''to hegemonize'' :* '''abyafonuwa''' = ''hegemonized'' :* '''abyafsen''' = ''prevalence'' :* '''abyafser''' = ''to dominate, to lord over, to prevail'' :* '''abyafsyea''' = ''prevailing'' :* '''abyafxer''' = ''to domineer'' :* '''abyafxyea''' = ''domineering'' :* '''abyafxyeay''' = ''domineeringly'' :* '''abyedapat''' = ''air force master sergeant with diamond'' :* '''abyeker''' = ''to try on'' :* '''abyexegarer''' = ''to batter'' :* '''abyexegarwa''' = ''battered'' :* '''abyexegen''' = ''battering, battery'' :* '''abyexeger''' = ''to batter'' :* '''abyexegut''' = ''batterer'' :* '''abyexegwa''' = ''battered, beaten'' :* '''abyexegwul''' = ''batter'' :* '''abyexen''' = ''aggression, offense'' :* '''abyexer''' = ''to aggress, to offend'' :* '''abyextosaya''' = ''full of anger'' :* '''abyextosika''' = ''full of anger'' :* '''abyexut''' = ''aggressor, offender'' :* '''abyexwa''' = ''aggressed, offended'' :* '''abyexyea''' = ''aggressive, blatant, grotty, offensive'' :* '''abyexyean''' = ''aggressiveness, blatancy, offensiveness'' :* '''abyexyeay''' = ''aggressively, blatantly, offensively'' :* '''abyidapat''' = ''air force senior master sergeant with diamond'' :* '''abyidepyat''' = ''army first sergeant'' :* '''abyifrat''' = ''superhero'' :* '''abyijtim''' = ''atrium'' :* '''abyijtima''' = ''atrial'' :* '''abyijtimi''' = ''atria'' :* '''abyofwa''' = ''inapplicable'' :* '''abyosea''' = ''hanging on, in suspension'' :* '''abyoser''' = ''to hang on, to hang onto, to suspend'' :* '''abyox''' = ''suspense'' :* '''abyox zeymep''' = ''suspension bridge'' :* '''abyoxar''' = ''hanger, suspender'' :* '''abyoxarum''' = ''closet'' :* '''abyoxen''' = ''suspending, suspension'' :* '''abyoxer''' = ''to hang up, to suspend'' :* '''abyoxwa dinuj''' = ''cliffhanger'' :* '''abyoxwa''' = ''hanged up, hung up, suspended'' :* '''abysexyena''' = ''superstructural'' :* '''abyudapat''' = ''air force chief master sergeant with diamond'' :* '''abyudepyat''' = ''army sergeant major of the army'' :* '''abyudipat''' = ''navy master chief petty officer of the navy'' :* '''abyujar''' = ''cap, cover, lid'' :* '''abyuxrawa''' = ''stomped'' :* '''abyuxren''' = ''stomping'' :* '''abyuxrer''' = ''to stomp'' :* '''abzam''' = ''surface'' :* '''abzama''' = ''superficial'' :* '''abzaman''' = ''superficiality'' :* '''abzamas''' = ''balcony'' :* '''abzamas sim''' = ''balcony seat'' :* '''abzamasog''' = ''parterre'' :* '''abzamay''' = ''superficially'' :* '''abzamper''' = ''to come to the surface'' :* '''abzemernad''' = ''Tropic of Capricorn'' :* '''abzen''' = ''epicenter'' :* '''abzyim''' = ''upper level'' </div> = abzyin -- adopirwa = <div style="background: lightyellow; border: solid blue 2px; {{column-count|2}};{{column-rule|2px solid blue}};font-size:smaller;";> :* '''abzyin''' = ''platform'' :* '''acalk''' = ''Ac, actinium'' :* '''acu''' = ''achoo'' :* '''ad lib''' = ''ad lib'' :* '''AD''' = ''UN, United Nations'' :* '''ADA''' = ''USA, United States of America'' :* '''adaab''' = ''chancellery, realm, reich'' :* '''adaabdop''' = ''Reichswehr'' :* '''adaabeb''' = ''Reichskanzler, chancellor, fuhrer, head of the realm'' :* '''adapat''' = ''airman basic'' :* '''adapati''' = ''airmen'' :* '''adaplat''' = ''air force second lieutenant'' :* '''adaprat''' = ''air force brigadier general'' :* '''adeb''' = ''emperor'' :* '''adebam''' = ''imperial palace'' :* '''adepat''' = ''army private, trooper'' :* '''adeplat''' = ''army warrant officer'' :* '''adeprat''' = ''army brigadier general, one-star general'' :* '''adeyb''' = ''empress'' :* '''adez''' = ''burlesque'' :* '''adezekgon''' = ''lead role'' :* '''adezut''' = ''lead actor'' :* '''adiepat''' = ''marine private'' :* '''adieplat''' = ''marine warrant officer'' :* '''adieprat''' = ''lieutenant general'' :* '''adipat''' = ''seaman recruit'' :* '''adiplat''' = ''navy ensign'' :* '''adiprat''' = ''navy rear admiral lower half'' :* '''adob''' = ''empire'' :* '''adoba''' = ''imperial'' :* '''adoba vitamag''' = ''imperial palace'' :* '''adobay''' = ''imperially'' :* '''adobin''' = ''imperialism'' :* '''adobina''' = ''imperial, imperialist, imperialistic'' :* '''adobinay''' = ''imperialistically'' :* '''adobinut''' = ''imperialist'' :* '''adomep''' = ''drive'' :* '''adonabwa''' = ''number-one-ranking'' :* '''adopar azon''' = ''gunpoint'' :* '''adopar belar''' = ''gun holster'' :* '''adopar dopek''' = ''gunfight'' :* '''adopar dopekut''' = ''gunfighter'' :* '''adopar''' = ''firearm, gun, pistol, revolver. handgun'' :* '''adopar fuyf''' = ''gun barrel'' :* '''adopar ifek''' = ''gunplay'' :* '''adopar igbixut''' = ''gunslinger'' :* '''adopar ijbar''' = ''gun trigger'' :* '''adopar kozeybelen''' = ''gunrunning'' :* '''adopar kozeybelut''' = ''gunrunner'' :* '''adopar myek''' = ''gunpowder'' :* '''adopar nyem''' = ''guncase'' :* '''adopar puxrun''' = ''gun cartridge, gunfire, gunshot, shot'' :* '''adopar vyanyekem''' = ''gunnery'' :* '''adopar zetif''' = ''gun belt'' :* '''adopar zoyfiaxut''' = ''gunsmith'' :* '''adopar zyunog''' = ''gun cartridge'' :* '''adopar zyunogyan''' = ''ammunition, gun ammo, gun ammunition, pistol ammo'' :* '''adoparen''' = ''firing, gunnery, gunplay, shooting'' :* '''adoparen vyaoyekem''' = ''test-firing range'' :* '''adoparenem''' = ''firing range, shooting range'' :* '''adoparenyan''' = ''fusillade'' :* '''adoparer''' = ''to fire a gun, to fire at, to shoot, to shoot with a gun'' :* '''adoparpyexen''' = ''pistol whipping'' :* '''adoparpyexer''' = ''to pistol whip'' :* '''adoparpyexwa''' = ''pistol whipped'' :* '''adopartujben''' = ''gun killing, gunning down'' :* '''adopartujber''' = ''to gun down, to kill with gunfire, to shoot dead'' :* '''adopartujbwa''' = ''killed by gunfire'' :* '''adopartun''' = ''gunnery'' :* '''adoparut''' = ''gunman, shooter'' :* '''adoparwa''' = ''fired at, gunned down, shot by a gun'' :* '''adoparwat''' = ''shooting victim'' :* '''adopir''' = ''cannon'' :* '''adopir zyun''' = ''cannon ball, cannonball, canon ball'' :* '''adopiren''' = ''cannon fire'' :* '''adopirer''' = ''to fire a cannon'' :* '''adopirpyaxen''' = ''cannonade'' :* '''adopiruwa mampur''' = ''gunship'' :* '''adopiruwa mimpur''' = ''gunship'' :* '''adopirwa''' = ''shot with a cannon'' </div> = adopiryan -- aflawa = <div style="background: lightyellow; border: solid blue 2px; {{column-count|2}};{{column-rule|2px solid blue}};font-size:smaller;";> :* '''adopiryan''' = ''cannonry'' :* '''adopmimpur''' = ''aircraft carrier'' :* '''adopurut''' = ''gunner'' :* '''adren''' = ''titling'' :* '''adun''' = ''adjective'' :* '''aduna''' = ''adjectival'' :* '''adunay''' = ''adjectivally'' :* '''adunxea''' = ''adjectivizing'' :* '''adunxen''' = ''adjectivization'' :* '''adunxer''' = ''to adjectivize'' :* '''adunxwa''' = ''adjectivized'' :* '''aduzar''' = ''violin'' :* '''aduzarut''' = ''violin player, violinist'' :* '''adyezut''' = ''film star, lead actor in a film'' :* '''aejabtixut''' = ''frosh'' :* '''aelzayna''' = ''scarlet, vermilion'' :* '''aeolimap''' = ''aeolian wind'' :* '''aet''' = ''us, we, you and I, you and me'' :* '''aeta''' = ''our'' :* '''aetas''' = ''ours'' :* '''aetasi''' = ''ours'' :* '''aetyal''' = ''brunch'' :* '''aetyalen''' = ''brunching'' :* '''aetyaler''' = ''to brunch'' :* '''aey''' = ''and/or'' :* '''aeyut''' = ''ourselves'' :* '''aeyuta''' = ''our own'' :* '''aeyutas''' = ''our own'' :* '''aeyutasi''' = ''our own'' :* '''af''' = ''allowance, authority, furlough, permission'' :* '''Af oybmasoyf''' = ''afghan'' :* '''afa''' = ''authorized, permitted'' :* '''afab''' = ''apple tree'' :* '''afabes''' = ''box wood tree, boxwood tree'' :* '''afabtuil''' = ''applesauce'' :* '''afden''' = ''allowance, authorization, clearance, licensing, permission, permitting'' :* '''afder''' = ''to allow, to authorize, to license, to permit'' :* '''afdras''' = ''authorization, degree, license, permit'' :* '''afdrawa''' = ''authorized in writing, licensed'' :* '''afdref''' = ''license'' :* '''afdrefbeut''' = ''licentiate'' :* '''afdren''' = ''authorization papers, licensing'' :* '''afdrer''' = ''to authorize in writing, to license'' :* '''afdrut''' = ''licensor'' :* '''afdun''' = ''license'' :* '''afdut''' = ''authority, licenser'' :* '''afdutyan''' = ''authorities'' :* '''afdutyena''' = ''authoritarian'' :* '''afdutyenan''' = ''authoritarianism'' :* '''afdwa''' = ''authorized, licensed, permitted'' :* '''afdyea''' = ''authoritative'' :* '''afdyean''' = ''authoritativeness'' :* '''afdyeay''' = ''authoritatively'' :* '''afeb ableovol''' = ''apple pie'' :* '''afeb''' = ''apple'' :* '''afebsaun''' = ''pome'' :* '''afebsauntun''' = ''pomology'' :* '''afebuil''' = ''apple sauce'' :* '''afebzen''' = ''apple core'' :* '''afebzenobar''' = ''apple corer'' :* '''afeeb''' = ''appleseed'' :* '''Afegem''' = ''Afghanistan'' :* '''Afegema''' = ''Afghan'' :* '''Afegemat''' = ''inhabitant of Afghanistan'' :* '''afel''' = ''apple juice'' :* '''afelayim''' = ''tearoom'' :* '''afen''' = ''allowance, permission'' :* '''afer''' = ''to be allowed, to be permitted, to have permission to intromit, to may'' :* '''Aferod''' = ''Afrikaans'' :* '''Aferodaler''' = ''to speak Afrikaans'' :* '''Aferodalut''' = ''Afrikaans speaker'' :* '''Aferoder''' = ''to say in Afrikaans'' :* '''afeyl bay yom''' = ''iced tea'' :* '''afil''' = ''cider'' :* '''afil elza''' = ''cider orange'' :* '''afil elzayna''' = ''bright cider orange'' :* '''afil elzoyna''' = ''dark cider orange'' :* '''afil eylza''' = ''light cider orange'' :* '''afilam''' = ''cider factory'' :* '''aflawa''' = ''authorized'' </div> = aflen -- agala dom = <div style="background: lightyellow; border: solid blue 2px; {{column-count|2}};{{column-rule|2px solid blue}};font-size:smaller;";> :* '''aflen''' = ''authorization, authorizing'' :* '''afler''' = ''to authorize'' :* '''aflut''' = ''authority, authorizer'' :* '''aflutyan''' = ''authorities'' :* '''afon''' = ''permission'' :* '''afser''' = ''to be allowed, to be authorized to be permitted'' :* '''afu''' = ''let, may, might'' :* '''afuen''' = ''authorization'' :* '''afuer''' = ''to authorize'' :* '''afuwa''' = ''authorized'' :* '''afuwat''' = ''authority, proxy, stand-in, surrogate'' :* '''afuwatan''' = ''surrogacy'' :* '''afwa''' = ''allowable, halal, permissible'' :* '''afwan''' = ''permissibility'' :* '''afway''' = ''permissibly'' :* '''afwer''' = ''to be allowed, to be permitted'' :* '''afxea''' = ''allowing'' :* '''afxeb''' = ''authority'' :* '''afxen''' = ''allowance, authorization, furloughing, permission, permitting'' :* '''afxer''' = ''to allow, to authorize, to furlough, to permit'' :* '''Afxu at truer et bu x.''' = ''to Allow me to introduce you to x.'' :* '''afxut''' = ''authority'' :* '''afxwa''' = ''allowed, authorized, permitted'' :* '''afxwat''' = ''committee member, committeeman'' :* '''afxwatyan''' = ''board, committee, panel'' :* '''afxwayt''' = ''committeewoman'' :* '''afxyafwa''' = ''allowable'' :* '''afxyafway''' = ''allowably'' :* '''afxyea''' = ''lax, permissive'' :* '''afxyean''' = ''lexness, libertinage, permissiveness'' :* '''afxyeat''' = ''libertine'' :* '''afxyeay''' = ''permissively'' :* '''afxyin''' = ''libertinage'' :* '''afyaduzar''' = ''sousaphone'' :* '''afyafab''' = ''banyan'' :* '''afyafeb''' = ''banyan'' :* '''afyapattob''' = ''seraph'' :* '''afyapattoba''' = ''seraphic'' :* '''afyapattobyan''' = ''seraphim'' :* '''afyaxab''' = ''pontificate'' :* '''afyaxeb''' = ''pontiff, pope, primate'' :* '''afyaxeba dodel''' = ''papal encyclical'' :* '''afyaxeba''' = ''papal, patriarchal, pontifical'' :* '''afyaxebam''' = ''papal residence'' :* '''afyaxeban''' = ''papacy'' :* '''afyaxebay''' = ''pontifically'' :* '''afyaxebden''' = ''pontification'' :* '''afyaxebder''' = ''to pontificate'' :* '''afyaxeber''' = ''to serve as patriarch, to serve as pope'' :* '''afyaxebifa''' = ''popish'' :* '''afyaxelam''' = ''cathedral'' :* '''afyaxelam syagdravut''' = ''cathedral chancellor'' :* '''afyaxob''' = ''papacy, patriarchate'' :* '''afyaxyob''' = ''holy see'' :* '''Afyaxyob''' = ''Holy See, Vatican'' :* '''afyayt''' = ''goddess'' :* '''afyea''' = ''licentious'' :* '''afyean''' = ''licentiousness'' :* '''afyeay''' = ''licentiously'' :* '''afyofwa''' = ''impermissible, unallowable'' :* '''afzyiun''' = ''license place, license plate'' :* '''a.g.''' = ''etc.'' :* '''ag-''' = ''prefix denoting "big", prefix denoting "uppercase"'' :* '''ag''' = ''size'' :* '''-ag''' = ''suffix denoting "big"'' :* '''aga''' = ''A, big, large, the capital letter A'' :* '''Aga Draf''' = ''Magna Carta'' :* '''Aga Ilpyoxlar''' = ''Big Dipper'' :* '''aga ok''' = ''whammy'' :* '''aga pux''' = ''long jump'' :* '''aga tyun''' = ''grand ideal'' :* '''aga vyoboyxen''' = ''grand larceny, grand theft'' :* '''agabdras''' = ''headline'' :* '''agabdrawa''' = ''headlined'' :* '''agabdrer''' = ''to headline'' :* '''agak''' = ''big win, major gain'' :* '''agaker''' = ''to defeat roundly, to run away with'' :* '''agakus''' = ''hit'' :* '''agala akun''' = ''major gain'' :* '''agala dom''' = ''major city'' </div> = agala doyov -- agdomep yonxar = <div style="background: lightyellow; border: solid blue 2px; {{column-count|2}};{{column-rule|2px solid blue}};font-size:smaller;";> :* '''agala doyov''' = ''major offense'' :* '''agala duzmus''' = ''major scale'' :* '''agala fyun''' = ''major damage'' :* '''agala''' = ''grand, great, important, key, main, major, principal'' :* '''agala ijduzneg''' = ''major key'' :* '''agala mer''' = ''to major planet'' :* '''agala raduzar''' = ''grand piano'' :* '''agala tilgron''' = ''major water shortage'' :* '''agala tolgron''' = ''major food deficit'' :* '''agala top''' = ''great soul, great spirit, mahatma'' :* '''agala yagdidut''' = ''grand inquisitor'' :* '''agala yekuun''' = ''major challenge'' :* '''agalam''' = ''greatness'' :* '''agalat''' = ''VIP, great one, important personage, v.i.p.'' :* '''agalattojben''' = ''assassination'' :* '''agalattojber''' = ''to assassinate'' :* '''agalattojbut''' = ''assassin'' :* '''agalattojbwa''' = ''assassinated'' :* '''agalay''' = ''importantly, mainly, principally'' :* '''agalduznad''' = ''musical theme'' :* '''agalpha''' = ''Alpha'' :* '''agan''' = ''bigness, bulk, caliber, calibre, largeness, magnitude, size, substantiality'' :* '''aganak''' = ''A, amp, amperage, ampere'' :* '''aganak-gol-minak''' = ''ampere per meter'' :* '''aganak-gol-minak-gar-ewa''' = ''ampere per square meter'' :* '''agaot''' = ''bigshot, bigwig, personage'' :* '''agapyot''' = ''grizzly bear'' :* '''agara''' = ''capital'' :* '''agara tobtojben''' = ''capital homicide, capital murder'' :* '''agaray''' = ''capitally'' :* '''agasea''' = ''getting bigger, increasing in size'' :* '''agaser''' = ''to get big, to get larger, to grow in size'' :* '''agatunay''' = ''arithmetically'' :* '''agavdalen''' = ''championing'' :* '''agavdaler''' = ''to champion'' :* '''agavdalut''' = ''champ, champion'' :* '''agavdalwa''' = ''championed'' :* '''agaxar''' = ''magnifier'' :* '''agaxea''' = ''magnifying'' :* '''agaxea zyef''' = ''magnifying glass'' :* '''agaxen''' = ''enlargement, magnification'' :* '''agaxer''' = ''to enlarge, to magnify'' :* '''agaxwa''' = ''enlarged, magnified'' :* '''agay''' = ''substantially'' :* '''agayeoet''' = ''Siberian husky'' :* '''agayser''' = ''to develop'' :* '''agayxea''' = ''developing'' :* '''agayxen''' = ''development'' :* '''agayxena''' = ''developmental'' :* '''agayxer''' = ''to develop'' :* '''agayxwa''' = ''developed'' :* '''agbadenak''' = ''baud'' :* '''agbakonak''' = ''Bq, becquerel'' :* '''agbanak''' = ''byte'' :* '''agbeta''' = ''Beta'' :* '''agboysun''' = ''dearth, scarcity, shortage'' :* '''agca''' = ''C, the letter C'' :* '''agca yijar''' = ''C clef'' :* '''agcainak''' = ''curie'' :* '''agcanak''' = ''C, coulomb'' :* '''agchi''' = ''Chi'' :* '''agdal''' = ''bombast'' :* '''agdalaya''' = ''bombastic'' :* '''agdalen''' = ''bombast'' :* '''agdalika''' = ''bombastic'' :* '''agdalikay''' = ''bombastically'' :* '''agdalyea''' = ''magniloquent'' :* '''agdalyean''' = ''magniloquence'' :* '''agdea''' = ''aggrandizing'' :* '''agdelta''' = ''Delta'' :* '''agden''' = ''aggrandizement, aggrandizing'' :* '''agder''' = ''to aggrandize'' :* '''agdezut''' = ''main actor, protagonist, stage star of the stage'' :* '''agdezuyt''' = ''vedette'' :* '''agdin''' = ''legend'' :* '''agdina''' = ''legendary'' :* '''agdomep''' = ''highway'' :* '''agdomep nuxtum''' = ''highway tollbooth'' :* '''agdomep vakdib''' = ''highway patrol'' :* '''agdomep yonxar''' = ''highway divider'' </div> = agdomep zyenod -- agilyopen = <div style="background: lightyellow; border: solid blue 2px; {{column-count|2}};{{column-rule|2px solid blue}};font-size:smaller;";> :* '''agdomep zyenod''' = ''highway intersection'' :* '''agdomyan''' = ''supercity'' :* '''agdovyab''' = ''constitution'' :* '''agdovyabava''' = ''pro-constitutional'' :* '''agdovyabdrut''' = ''framer'' :* '''agdovyabova''' = ''anti-constitutional'' :* '''agdovyabovan''' = ''anti-constitutionality'' :* '''agdovyabyana''' = ''constitutional'' :* '''agdovyabyanan''' = ''constitutionality'' :* '''agdovyabyanay''' = ''constitutionally'' :* '''agdovyabyanin''' = ''constitutionalism'' :* '''agdovyabyaninut''' = ''constitutionalist'' :* '''agdresiyn''' = ''capital letter, majuscule, uppercase letter'' :* '''agdresiyna''' = ''majuscule, uppercase'' :* '''agdresiynxen''' = ''capitalization, capitalizing, upper-casing'' :* '''agdresiynxer''' = ''to capitalize, to uppercase'' :* '''agdresiynxwa''' = ''capitalized, upper-cased'' :* '''agdrezea''' = ''headlining'' :* '''agdrezer''' = ''to headline'' :* '''agdrezut''' = ''headliner'' :* '''agdwa''' = ''aggrandized'' :* '''agdwutam''' = ''seraglio'' :* '''agdyezut''' = ''screen star'' :* '''ageagbanak''' = ''EB, exabyte'' :* '''ageaulmuk''' = ''sylvanite'' :* '''agebanak''' = ''Eb, exabit'' :* '''agebkyax''' = ''concern, enterprise'' :* '''agebkyaxer''' = ''to do business'' :* '''agef''' = ''big need, great need'' :* '''agefwa''' = ''in great need'' :* '''agelk''' = ''Ag, silver'' :* '''agelk mukiblem''' = ''silver mine'' :* '''agelk mukiblen''' = ''silver mining'' :* '''agelk mukiblut''' = ''silver miner'' :* '''agelka''' = ''made of silver, silvern'' :* '''agelkaya''' = ''silvern, silvery'' :* '''agelkayan''' = ''silveriness'' :* '''agelkben''' = ''silver-coating, silver-plating, silvering'' :* '''agelkber''' = ''to coat with silver'' :* '''agelkbwa''' = ''silver-coated, silver-plated, silvered'' :* '''agelkika''' = ''silvern, silvery'' :* '''agelkikan''' = ''silveriness'' :* '''agelksunyan''' = ''silverware'' :* '''agelkyena''' = ''silvern, silvery'' :* '''agelkza''' = ''silver-colored'' :* '''agelkzayna''' = ''bright silver'' :* '''agelkzoyna''' = ''dark silver'' :* '''agentoba sum''' = ''full-size mattress'' :* '''agepsilon''' = ''Epsilon'' :* '''ageta''' = ''Eta'' :* '''agfe''' = ''F, the letter F'' :* '''agfe yijar''' = ''F clef'' :* '''agfenak''' = ''F, farad'' :* '''agfidezut''' = ''hero, leading good guy, protagonist'' :* '''agfit''' = ''champion, hero, protagonist'' :* '''agfudezut''' = ''antagonist, arch villain, leading bad guy'' :* '''agfut''' = ''antagonist, arch villain, principal bad guy'' :* '''aggamma''' = ''Gamma'' :* '''agge''' = ''G'' :* '''agge yijar''' = ''G clef'' :* '''aggebanak''' = ''Gb, gigabyte'' :* '''aggegenak''' = ''Gg, gigagram'' :* '''aggeyunak''' = ''Gy, gray'' :* '''aghe''' = ''H, the letter H'' :* '''aghenak''' = ''H, henry'' :* '''aghezunak''' = ''Hz, hertz'' :* '''aghididen''' = ''guffawing'' :* '''aghihiden''' = ''cackling, guffawing'' :* '''aghihider''' = ''to guffaw'' :* '''aghihidut''' = ''cackler, guffawer'' :* '''agi''' = ''I'' :* '''agilp''' = ''mainstream, torrent'' :* '''agilpa''' = ''mainstream, torrential'' :* '''agiluen''' = ''effusion'' :* '''agiluer''' = ''to effuse'' :* '''agiluyea''' = ''effusive'' :* '''agiluyean''' = ''effusiveness'' :* '''agiluyeay''' = ''effusively'' :* '''agilyopea''' = ''running, streaming'' :* '''agilyopen''' = ''running, streaming'' </div> = agilyoper -- agna dyangon = <div style="background: lightyellow; border: solid blue 2px; {{column-count|2}};{{column-rule|2px solid blue}};font-size:smaller;";> :* '''agilyoper''' = ''to run, to stream'' :* '''aginak''' = ''I, current'' :* '''agipot''' = ''bachtrian camel'' :* '''agiva''' = ''blissful'' :* '''agivan''' = ''bliss, blissfulness'' :* '''agivay''' = ''blissfully'' :* '''agivdez''' = ''comedy'' :* '''agivdezer''' = ''to perform comedy'' :* '''agivdezun''' = ''comedy act'' :* '''agivdezut''' = ''comedic actor, comedy player'' :* '''agivteub''' = ''big smile, wide grin'' :* '''agivteuben''' = ''grinning widely, smiling bigly'' :* '''agivteuber''' = ''to grin widely, to smile bigly'' :* '''agivteud''' = ''cackle, guffaw'' :* '''agivteudea''' = ''cackling, guffawing'' :* '''agivteuden''' = ''cackling, guffawing'' :* '''agivteuder''' = ''to cackle, to guffaw'' :* '''agjagan''' = ''adulthood'' :* '''agjagat''' = ''adult'' :* '''agjhihider''' = ''to cackle, to guffaw'' :* '''agji''' = ''J, the letter J'' :* '''agjinak''' = ''J, joule'' :* '''agkappa''' = ''Kappa'' :* '''agkebiwa''' = ''choice'' :* '''agkebiwa taolgol''' = ''choice cut of meat'' :* '''agki''' = ''K, the letter K'' :* '''agkinak''' = ''K, kelvin'' :* '''agla''' = ''enormous, grand, grande, huge'' :* '''agla-''' = ''macro-'' :* '''agla tyun''' = ''grande id&eacute;e'' :* '''agladiyben''' = ''macromanagement'' :* '''agladren''' = ''macrography'' :* '''aglagwomulyan''' = ''macromolecule'' :* '''aglakuj''' = ''megahit'' :* '''aglamakmul''' = ''macroion'' :* '''aglamansin''' = ''macrophotograph'' :* '''aglamigenak''' = ''Mg, macrogram'' :* '''aglamor''' = ''macrocosm'' :* '''aglamora''' = ''macrocosmic'' :* '''aglamuk''' = ''macromineral'' :* '''aglan''' = ''enormity, enormousness, grandeur, hugeness'' :* '''aglanam''' = ''superstore'' :* '''aglaneg''' = ''macrolevel'' :* '''aglasan''' = ''macroform'' :* '''aglaser''' = ''to become enormous, to become grand, to become huge'' :* '''aglasexyen''' = ''macrostructure'' :* '''aglateatbok''' = ''macropsia'' :* '''aglateaxara''' = ''macroscopic'' :* '''aglateaxen''' = ''macroscopy'' :* '''aglateja''' = ''macrobiotic'' :* '''aglateuzubar''' = ''megaphone'' :* '''aglaxea''' = ''aggrandizing'' :* '''aglaxen''' = ''aggrandizement, aggrandizing, augmentation'' :* '''aglaxer''' = ''to aggrandize, to augment'' :* '''aglaxwa''' = ''aggrandized, augmented'' :* '''aglay''' = ''enormously, hugely'' :* '''aglazemul''' = ''macronucleus'' :* '''agli''' = ''the letter L'' :* '''aglinak''' = ''lambert'' :* '''aglip bi duni''' = ''torrent of words'' :* '''aglonak''' = ''liter, litre'' :* '''agmi''' = ''M'' :* '''agmibanak''' = ''Mb'' :* '''agmimyuftoc''' = ''leviathan'' :* '''agminak''' = ''M, mach'' :* '''agmivunak''' = ''Mv.'' :* '''agmu''' = ''Mu'' :* '''agmusa''' = ''large-scale'' :* '''agna abdrenad''' = ''main headline'' :* '''agna-''' = ''arch-'' :* '''agna''' = ''arch, flagship, key, main, primary, prime, principal'' :* '''agna bol''' = ''mainstay'' :* '''agna buixar''' = ''mainspring'' :* '''agna dezyem''' = ''main stage'' :* '''agna domeap''' = ''main boulevard'' :* '''agna domeep''' = ''main avenue'' :* '''agna domep''' = ''main street'' :* '''agna doyen''' = ''protocol'' :* '''agna drenes''' = ''editorial, feature article, lead article'' :* '''agna dyangon''' = ''main clause'' </div> = agna dyezun -- agratoj = <div style="background: lightyellow; border: solid blue 2px; {{column-count|2}};{{column-rule|2px solid blue}};font-size:smaller;";> :* '''agna dyezun''' = ''feature film'' :* '''agna gon''' = ''brunt, bulk'' :* '''agna kyej''' = ''main event'' :* '''agna mem''' = ''mainland'' :* '''agna mep''' = ''main road, main strip'' :* '''agna meyp''' = ''main path'' :* '''agna mimof''' = ''mainsail'' :* '''agna mimofmuf''' = ''mainmast'' :* '''agna myuf''' = ''architrave'' :* '''agna saibyan''' = ''mainframe'' :* '''agna son''' = ''main thing'' :* '''agna suan''' = ''mainspring'' :* '''agna syaagir''' = ''mainframe'' :* '''agna tem''' = ''lobby, main hall'' :* '''agna tesdud''' = ''mainspring'' :* '''agna tul''' = ''entree, main course dish'' :* '''agna tuldras''' = ''main course menu'' :* '''agna tulyan''' = ''main course'' :* '''agna tuzun''' = ''chef d&rsquo;oeuvre'' :* '''agna tyal''' = ''main meal'' :* '''agna yuzmepfaof''' = ''motherboard'' :* '''agnad''' = ''mainline'' :* '''agnada''' = ''mainline'' :* '''agnaga''' = ''sizable, upper-case'' :* '''agnaklut''' = ''champion'' :* '''agnakut''' = ''champ'' :* '''agnan''' = ''primacy'' :* '''agnas''' = ''main thing, principle'' :* '''agnaser''' = ''to become main'' :* '''agnassyagtut''' = ''comptroller'' :* '''agnat''' = ''key person, main person'' :* '''agnaxen''' = ''making main'' :* '''agnaxer''' = ''to make main'' :* '''agnaxwa''' = ''made main'' :* '''agnay''' = ''chiefly, largely, mainly, primarily, principally'' :* '''agnekut''' = ''main player, protagonist'' :* '''agni''' = ''N, the letter N'' :* '''agni-gol-minak''' = ''N/m, surface tension'' :* '''agniminak''' = ''N-m, moment of force'' :* '''agninak''' = ''N, newton, unit of force'' :* '''agnog''' = ''to a large extent'' :* '''agnogyana''' = ''large-scale'' :* '''agnu''' = ''Nu'' :* '''agnyaz''' = ''great wealth'' :* '''agnyazat''' = ''person of great wealth'' :* '''ago''' = ''O'' :* '''agok''' = ''carnage, great loss'' :* '''Agom''' = ''Angola'' :* '''Agoma''' = ''Angolan'' :* '''Agomat''' = ''Angolan, inhabitant of Angola'' :* '''agomega''' = ''omega'' :* '''agomeganagar''' = ''ohmmeter'' :* '''agomeganak''' = ''ohm, &Omega;'' :* '''agona''' = ''major'' :* '''agonan''' = ''majority'' :* '''agonana''' = ''majoritarian'' :* '''agovdat''' = ''arch enemy, archfiend'' :* '''agovekut''' = ''archrival'' :* '''agphi''' = ''Phi'' :* '''agpi''' = ''P, Pi'' :* '''agpiteoba''' = ''jowly'' :* '''agpo''' = ''the letter P'' :* '''agpoanak''' = ''Pa, pascal'' :* '''agpoasonak''' = ''Pa-s, dynamic viscosity'' :* '''agponak''' = ''P, poise, power'' :* '''agposonak''' = ''SP, mechanical horsepower'' :* '''agpsi''' = ''Psi'' :* '''agqo''' = ''Q'' :* '''agqonak''' = ''charge'' :* '''agra''' = ''colossal, enormous, gargantuan, gigantic, grandiose, herculean, humongous, immense, jumbo, mammoth, mega, monumental, prodigious, stupendous, terrific, titanic, tremendous'' :* '''agra magyazmel''' = ''super volcano'' :* '''agra-''' = ''mega-'' :* '''agra tazun''' = ''colossus'' :* '''agramlot''' = ''megamillionaire'' :* '''agran''' = ''enormity, immensity, tremendousness'' :* '''agras''' = ''colossus, something immense, whopper'' :* '''agrat''' = ''behemoth, giant, mammoth, titan'' :* '''agratipa ebyextos''' = ''maniacal rage'' :* '''agratipa''' = ''megamaniacal'' :* '''agratoj''' = ''megadeath'' </div> = agratyena -- agvunak = <div style="background: lightyellow; border: solid blue 2px; {{column-count|2}};{{column-rule|2px solid blue}};font-size:smaller;";> :* '''agratyena''' = ''gigantic'' :* '''agravyotos''' = ''megalomania'' :* '''agravyotosa''' = ''megalomaniac'' :* '''agravyotosut''' = ''megalomaniac'' :* '''agray''' = ''colossally, gigantically, grandiosely, immensely, monstrously, monumentally, prodigiously, stupendously. humongously, terrifically, tremendously'' :* '''agrayt''' = ''giantess'' :* '''agrho''' = ''Rho'' :* '''agro''' = ''R'' :* '''agsagvekek''' = ''sweepstake'' :* '''agsea''' = ''growing'' :* '''agseas''' = ''crescendo'' :* '''agseat''' = ''adolescent'' :* '''agseatan''' = ''adolescence'' :* '''agseayt''' = ''adolescent girl'' :* '''agsen''' = ''growth'' :* '''agser''' = ''to grow up'' :* '''agsewat''' = ''adolescent boy'' :* '''agsi''' = ''S'' :* '''agsigma''' = ''Sigma'' :* '''agsim''' = ''armchair'' :* '''agso''' = ''the letter S'' :* '''agsonak''' = ''Siemens'' :* '''agsovunak''' = ''Sv, sievert'' :* '''agsya''' = ''adult, grown'' :* '''agsyafa''' = ''fertile'' :* '''agsyafan''' = ''fertility'' :* '''agsyat''' = ''adult, grown-up'' :* '''agsyatan''' = ''adulthood'' :* '''agsyik''' = ''dystrophy'' :* '''agtam''' = ''mansion'' :* '''agtaolilyeb''' = ''stockpot'' :* '''agtau''' = ''Tau'' :* '''agteba''' = ''carotid'' :* '''agtelef''' = ''famine'' :* '''agtelefa''' = ''famished'' :* '''agtelefer''' = ''to famish'' :* '''agtepukat''' = ''archfool'' :* '''agteuboba''' = ''lippy'' :* '''agteyxdras''' = ''editorial'' :* '''agteyxdrer''' = ''to editorialize'' :* '''agtheta''' = ''Theta'' :* '''agti''' = ''T'' :* '''agtilier''' = ''to guzzle'' :* '''agtilius''' = ''guzzler'' :* '''agtiliut''' = ''guzzler'' :* '''agtiuba''' = ''ventricose'' :* '''agto''' = ''the letter T'' :* '''agtoagbanak''' = ''TB, terabyte'' :* '''agtob''' = ''VIP'' :* '''agtobanak''' = ''Tb, terabit'' :* '''agtobtojber''' = ''to assassin, to assassinate'' :* '''agtogenak''' = ''Tg, teragram'' :* '''agtonak''' = ''tesla'' :* '''agtuxut''' = ''guru'' :* '''agtyenaxlun''' = ''masterstroke'' :* '''agtyenyex''' = ''masterwork'' :* '''agtyun''' = ''crux, main idea, principal notion'' :* '''agtyuna''' = ''crucial'' :* '''agtyuut''' = ''master'' :* '''agtyuutan''' = ''mastery'' :* '''agu''' = ''U'' :* '''agudeb''' = ''archduke'' :* '''agudeyb''' = ''archduchess'' :* '''agudob''' = ''archduchy'' :* '''agujak''' = ''blockbuster'' :* '''aguv''' = ''chagrin, great sorrow, woe'' :* '''aguvdez''' = ''tragedy, tragic theater'' :* '''aguvdeza''' = ''tragedian'' :* '''aguvdezut''' = ''tragedian actor'' :* '''aguvdezuyt''' = ''tragedienne'' :* '''aguvdin''' = ''tale of woe, tragedy'' :* '''aguvdina''' = ''tragic'' :* '''aguvdinay''' = ''tragically'' :* '''aguvkyes''' = ''calamity, tragic event'' :* '''aguvkyesa''' = ''calamitous'' :* '''agvitam''' = ''chateau'' :* '''agvitami''' = ''chateaux'' :* '''agvitob''' = ''heartthrob'' :* '''agvu''' = ''V, the letter V'' :* '''agvunak''' = ''volt'' </div> = agvunakan -- ajaba = <div style="background: lightyellow; border: solid blue 2px; {{column-count|2}};{{column-rule|2px solid blue}};font-size:smaller;";> :* '''agvunakan''' = ''voltage'' :* '''agvunakar''' = ''potentiometer, voltmeter'' :* '''agvusan''' = ''big ugly shape, blob'' :* '''agwu''' = ''W, the letter W'' :* '''agwubanak''' = ''Wb, weber'' :* '''agwu-gol-migarenak''' = ''W/m2 heat flux density, irradiance'' :* '''agwunak''' = ''W, watt'' :* '''agxen''' = ''breeding, growing, raising, rearing'' :* '''agxer''' = ''to breed, to grow, to raise, to rear'' :* '''agxi''' = ''Xi'' :* '''agxu''' = ''the letter X'' :* '''agxuen''' = ''nurturing'' :* '''agxuer''' = ''to nurture'' :* '''agxut''' = ''bloomer, breeder, grower, raiser'' :* '''agxuut''' = ''nurturer'' :* '''agxuwa''' = ''nurtured'' :* '''agxuyea''' = ''nurturing'' :* '''agxwa''' = ''bred, grown, raised, reared'' :* '''agyafon''' = ''great power, great strength'' :* '''agyalevabil''' = ''tapioca'' :* '''agyaxena''' = ''developmental'' :* '''agyaxenay''' = ''developmentally'' :* '''agyebexyaf''' = ''high-capacity'' :* '''agyek''' = ''campaign, prodigious effort'' :* '''agyeka''' = ''prodigious'' :* '''agyekay''' = ''prodigiously'' :* '''agyekdeb''' = ''torchbearer'' :* '''agyeken''' = ''campaigning'' :* '''agyeker''' = ''to campaign'' :* '''agyekut''' = ''campaigner'' :* '''agyena''' = ''grandiose'' :* '''agyena tyun''' = ''grandiose idea'' :* '''agyenan''' = ''grandiosity, grandness'' :* '''agyenay''' = ''grandiosely, grandly'' :* '''agyenif''' = ''megalomania'' :* '''agyenifa''' = ''megalomanic'' :* '''agyenifat''' = ''megalomaniac'' :* '''agyodat''' = ''archenemy'' :* '''agyovokuen''' = ''castigation'' :* '''agyovokuer''' = ''to castigate'' :* '''agyovokuwa''' = ''castigated'' :* '''agyu''' = ''Y, the letter Y'' :* '''agyuagbanak''' = ''YB, yottabyte'' :* '''agyubanak''' = ''Yb, yottabit'' :* '''agyugenak''' = ''Yg, yottagram'' :* '''agyuxnasbuut''' = ''big tipper'' :* '''agzegenak''' = ''Zg, zettagram'' :* '''agzeta''' = ''Zeta'' :* '''agzu''' = ''Z, the letter Z'' :* '''agzuagbanak''' = ''ZB, zettabyte'' :* '''agzubanak''' = ''Zb, zettabit'' :* '''agzyaubut''' = ''anchorman, anchorperson'' :* '''agzyaubuyt''' = ''anchorwoman'' :* '''ah''' = ''ah'' :* '''a.h.''' = ''and others, et al.'' :* '''aha''' = ''aha'' :* '''ahelkayn''' = ''methane'' :* '''ahelkeyn''' = ''acetylene'' :* '''Aiam''' = ''Anguilla'' :* '''Aiama''' = ''Anguillan'' :* '''Aiamat''' = ''Anguillan, inhabitant of Anguilla'' :* '''aigilpyaon''' = ''tsunami'' :* '''ail''' = ''fluid'' :* '''ailkyostix''' = ''hydrostatics'' :* '''ailpan''' = ''hydrodynamic'' :* '''ailpantix''' = ''hydrodynamics'' :* '''aima''' = ''fuggy, muggy'' :* '''aiman''' = ''mugginess'' :* '''aiyut''' = ''ourselves'' :* '''aiyuta''' = ''our own'' :* '''aiyutas''' = ''our own'' :* '''aiyutasi''' = ''our own'' :* '''aj''' = ''past'' :* '''aja''' = ''former, olden, past'' :* '''aja jobi''' = ''olden days'' :* '''aja jobyen''' = ''past tense'' :* '''aja tudxeyn''' = ''past generation'' :* '''ajaba atistam''' = ''first grade, first grade in school'' :* '''ajaba atistamut''' = ''first-year grade school pupil'' :* '''ajaba''' = ''first-year'' </div> = ajabat -- ajgexut = <div style="background: lightyellow; border: solid blue 2px; {{column-count|2}};{{column-rule|2px solid blue}};font-size:smaller;";> :* '''ajabat''' = ''first-grader, first-year student, freshman'' :* '''ajaga''' = ''one year old'' :* '''ajagat''' = ''one-year-old baby'' :* '''ajagati''' = ''one-year-olds'' :* '''ajaxlea''' = ''retroactive'' :* '''ajaxleay''' = ''retroactively'' :* '''ajaxlen''' = ''retroaction'' :* '''ajaxler''' = ''to retroact'' :* '''ajay''' = ''ago, already, in the past, once upon a time'' :* '''ajbea''' = ''passing'' :* '''ajben''' = ''passing'' :* '''ajber''' = ''to pass, to pass up, to relegate to the past'' :* '''ajbesun''' = ''legacy'' :* '''ajbexen''' = ''conservation, conserving'' :* '''ajbexer''' = ''to conserve'' :* '''ajbexin''' = ''conservatism'' :* '''ajbexina''' = ''conservative'' :* '''ajbexinan''' = ''conservativeness'' :* '''ajbexwa''' = ''conserved'' :* '''ajbuktax''' = ''engram'' :* '''ajbuun''' = ''hand-me-down'' :* '''ajbwa''' = ''passed up, pass&eacute;, past'' :* '''ajdea''' = ''evocative, evoking'' :* '''ajdean''' = ''evocativeness'' :* '''ajdeay''' = ''evocatively'' :* '''ajden''' = ''evocation, evoking, hearkening'' :* '''ajdena''' = ''proverbial'' :* '''ajder''' = ''to evoke, to hearken, to recount'' :* '''ajdetnux''' = ''palimony'' :* '''ajdeuzun''' = ''ballad'' :* '''ajdeuzut''' = ''balladeer'' :* '''ajdezut''' = ''trouper'' :* '''ajdezyan''' = ''repertoire, repertory'' :* '''ajdiin''' = ''lore'' :* '''ajdin''' = ''history, record'' :* '''ajdina''' = ''historical, storied'' :* '''ajdina nodag''' = ''milestone'' :* '''ajdinaga''' = ''historic'' :* '''ajdinagan''' = ''historicity'' :* '''ajdinagat''' = ''historic great, one of the greats of history'' :* '''ajdinay''' = ''historically'' :* '''ajdinden''' = ''narration, recounting'' :* '''ajdinder''' = ''to narrate, to recount'' :* '''ajdindren''' = ''historiography'' :* '''ajdindrena''' = ''historiographical'' :* '''ajdindrer''' = ''to record history'' :* '''ajdindrut''' = ''historiographer'' :* '''ajdindut''' = ''narrator'' :* '''ajdindyes''' = ''history book'' :* '''ajdintun''' = ''historical scholarship'' :* '''ajdintut''' = ''historical scholar'' :* '''ajdinut''' = ''historian'' :* '''ajdinxea''' = ''history-making'' :* '''ajdinxer''' = ''to make history, to set a record'' :* '''ajdinxut''' = ''history-maker'' :* '''ajdinyan''' = ''folklore, lore'' :* '''ajdinyana''' = ''folkloric'' :* '''ajdinyanut''' = ''folklorist'' :* '''ajdinyena''' = ''historic'' :* '''ajdoput''' = ''veteran'' :* '''ajdreuz''' = ''ballad'' :* '''ajdreuzut''' = ''balladeer'' :* '''ajdreuzyan''' = ''balladry'' :* '''ajdun''' = ''adage, proverb, saying'' :* '''ajdunay''' = ''proverbially'' :* '''ajdunxen''' = ''proverbialization'' :* '''ajdunxer''' = ''to proverbialize'' :* '''ajdunxwa''' = ''proverbialized'' :* '''ajdwa''' = ''evoked, hearkened, recounted'' :* '''ajdyea''' = ''evocative'' :* '''ajembier''' = ''to haunt'' :* '''ajembiut''' = ''haunter'' :* '''ajembiwa''' = ''haunted'' :* '''ajembiyea''' = ''haunting'' :* '''ajembiyeay''' = ''hauntingly'' :* '''ajer job''' = ''to spend time'' :* '''ajfutos''' = ''grudge'' :* '''ajfyaxun''' = ''relic'' :* '''ajgexer''' = ''to get revenge for, to vindicate'' :* '''ajgexut''' = ''vindicator'' </div> = ajgexwa -- ajtaxun = <div style="background: lightyellow; border: solid blue 2px; {{column-count|2}};{{column-rule|2px solid blue}};font-size:smaller;";> :* '''ajgexwa''' = ''vindicated'' :* '''ajgexyafwa''' = ''vindicable'' :* '''ajgexyea''' = ''vindictive'' :* '''ajgexyean''' = ''vindictiveness'' :* '''ajgexyeay''' = ''vindictively'' :* '''ajgexyena''' = ''vindicatory'' :* '''ajin''' = ''regressivism'' :* '''ajina''' = ''regressivist'' :* '''ajinut''' = ''regressivist'' :* '''ajjexinut''' = ''conservative'' :* '''ajna''' = ''ancient, antique, early, ex-, former, last, old, pass&eacute;, past'' :* '''Ajna Eniged''' = ''Old English'' :* '''Ajna Ferad''' = ''Old French'' :* '''Ajna Fyatead''' = ''Old Testament'' :* '''Ajna Gerocad''' = ''Ancient Greek'' :* '''ajna ifut''' = ''former lover'' :* '''ajna juab''' = ''the past Monday'' :* '''ajna nyazayati''' = ''old money'' :* '''ajna tuxut''' = ''alumnus'' :* '''ajna tuxuti''' = ''alumni'' :* '''ajna tuxuyt''' = ''alumna'' :* '''ajna tuxuyti''' = ''alumnae'' :* '''ajnan''' = ''antiquity'' :* '''ajnat''' = ''ex, oldster, predecessor, veteran'' :* '''ajnaxer''' = ''to antiquate'' :* '''ajnaxwa''' = ''antiquated'' :* '''ajnay''' = ''formerly'' :* '''ajnexer''' = ''to archive'' :* '''ajnexunam''' = ''archive'' :* '''ajnexunyan''' = ''archive'' :* '''ajnexunyana''' = ''archival'' :* '''ajnexwa''' = ''archived'' :* '''ajnoda job''' = ''preterite tense'' :* '''ajnoda''' = ''preterite'' :* '''ajob''' = ''times past'' :* '''ajoba''' = ''ancient'' :* '''ajoban''' = ''antiquity'' :* '''ajobas''' = ''thing of the past'' :* '''ajobay''' = ''in times past'' :* '''ajod zyetejwa''' = ''first-experienced'' :* '''ajoktos''' = ''nostalgia'' :* '''ajoktosea''' = ''nostalgic'' :* '''ajoktoseay''' = ''nostalgically'' :* '''ajoktosen''' = ''feeling nostalgia, missing the past'' :* '''ajoktoser''' = ''to feel nostalgia'' :* '''ajpea''' = ''elapsing, passing'' :* '''ajpeay''' = ''en passant'' :* '''ajpem''' = ''passage, passageway'' :* '''ajpen bi job''' = ''passage of time'' :* '''ajpen''' = ''going by, passage, passing'' :* '''ajpensiyn''' = ''trace, track'' :* '''ajpensiynen''' = ''tracing, tracking'' :* '''ajpensiyner''' = ''to trace, to track'' :* '''ajpensiynut''' = ''tracer, tracker'' :* '''ajpensiynwa''' = ''traced, tracked'' :* '''ajper''' = ''to elapse, to go by, to pass'' :* '''ajpun''' = ''passage'' :* '''ajpya''' = ''by-gone, bygone, elapsed, gone, passed on, past'' :* '''ajpyem''' = ''passage'' :* '''ajsan''' = ''decrepitude'' :* '''ajsasea''' = ''aging, decaying, wearing out'' :* '''ajsaser''' = ''to wear out'' :* '''ajsaxer''' = ''to wear out'' :* '''ajsaxwa''' = ''decrepit, worn-out'' :* '''ajsiyn''' = ''vestige'' :* '''ajsiyna''' = ''vestigial'' :* '''ajsiynay''' = ''vestigially'' :* '''ajsya''' = ''decrepit, flat, worn-out'' :* '''ajsyun''' = ''antique, antiquity'' :* '''ajsyunam''' = ''antique shop, antique store'' :* '''ajsyunamutin''' = ''antiquarianism'' :* '''ajsyunnamut''' = ''antiquarian, antiquary'' :* '''ajsyunyan''' = ''antiquities'' :* '''ajtad''' = ''ex-spouse'' :* '''ajtax''' = ''memory from the past, recollection, reminiscence'' :* '''ajtaxen''' = ''recollection, reminiscence'' :* '''ajtaxer''' = ''to recall, to recollect, to reminisce'' :* '''ajtaxuea''' = ''reminiscent'' :* '''ajtaxueay''' = ''reminiscently'' :* '''ajtaxun''' = ''reminiscence'' </div> = ajtaxwa -- aken = <div style="background: lightyellow; border: solid blue 2px; {{column-count|2}};{{column-rule|2px solid blue}};font-size:smaller;";> :* '''ajtaxwa''' = ''reminisced'' :* '''ajtayd''' = ''ex-wife'' :* '''ajteax''' = ''retrospect, retrospective'' :* '''ajteaxea''' = ''retrospective'' :* '''ajteaxeay''' = ''retrospectively'' :* '''ajteaxen''' = ''retrospection'' :* '''ajteaxer''' = ''to retrospect'' :* '''ajted''' = ''ancestor, ascendant'' :* '''ajtedyan''' = ''ancestors, ancestry'' :* '''ajtedyana''' = ''ancestral'' :* '''ajtej''' = ''past life'' :* '''ajtexea''' = ''reflecting'' :* '''ajtexen''' = ''reflection'' :* '''ajtexer''' = ''to reflect'' :* '''ajtexwa''' = ''reflected'' :* '''ajteyd''' = ''ancestress, female ancestor'' :* '''ajtez''' = ''lore'' :* '''ajtezdin''' = ''legend'' :* '''ajtia''' = ''learned'' :* '''ajtier''' = ''to be wise, to learn from the past'' :* '''ajtiwa''' = ''learned'' :* '''ajtiwan''' = ''learnedness'' :* '''ajtuer''' = ''to impart wisdom'' :* '''ajtun''' = ''wisdom of the ages'' :* '''ajtutoser''' = ''to hold a grudge'' :* '''ajtwad''' = ''ex-husband'' :* '''ajtwed''' = ''male ancestor'' :* '''ajtyodyen''' = ''tradition'' :* '''ajtyodyena''' = ''traditional'' :* '''ajtyodyenay''' = ''traditionally'' :* '''ajtyodyenin''' = ''traditionalism'' :* '''ajtyodyenina''' = ''traditionalist'' :* '''ajtyodyeninut''' = ''traditionalist'' :* '''ajunbexlam''' = ''archive'' :* '''ajunbexlama''' = ''archival'' :* '''ajunbexlamben''' = ''archivation, archiving'' :* '''ajunbexlamber''' = ''to archive'' :* '''ajunbexlambut''' = ''archiver, archivist'' :* '''ajunbexlambwa''' = ''archived'' :* '''ajunkexer''' = ''to search for antiquities'' :* '''ajutbyen''' = ''tradition'' :* '''ajutbyena''' = ''traditional'' :* '''ajutbyenay''' = ''traditionally'' :* '''ajutbyendin''' = ''lore, tale of tradition'' :* '''ajutbyenin''' = ''traditionalism'' :* '''ajutbyeninut''' = ''traditionalist'' :* '''ajutvyandun''' = ''adage'' :* '''ajuvtos''' = ''compunction, melancholia, nostalgia, remorse, wistfulness'' :* '''ajuvtosdea''' = ''apologetic, repentant'' :* '''ajuvtosdeay''' = ''apologetically, repentantly'' :* '''ajuvtosden''' = ''apologizing, expressing regret, expression remorse, repentance, repenting'' :* '''ajuvtosder''' = ''to apologize, to express regret, to express remorse, to repent, to say I'm sorry'' :* '''ajuvtosdyea''' = ''remorseful'' :* '''ajuvtosdyeay''' = ''remorsefully'' :* '''ajuvtosdyen''' = ''expression of regret, expression of remorse'' :* '''ajuvtosoya''' = ''remorseless'' :* '''ajuvtosoyan''' = ''remorselessness'' :* '''ajuvtosuka''' = ''remorseless'' :* '''ajuvtosukan''' = ''remorselessness'' :* '''ajuvtosukay''' = ''remorselessly'' :* '''ajyen''' = ''old fashion, old style, old ways, tradition'' :* '''ajyena''' = ''old-fashioned, old-style, out-of-date, outmoded, retro, traditional'' :* '''ajyenat''' = ''old-fashioned person, throwback'' :* '''ajyenay''' = ''in the ancient way, in the old-fashioned way, traditionally'' :* '''ak''' = ''gain, win'' :* '''Akad''' = ''Akan'' :* '''Akadaler''' = ''to speak Akan'' :* '''Akadalut''' = ''Akan speaker'' :* '''Akader''' = ''to say in Akan'' :* '''akaduzar''' = ''snare drum'' :* '''akalipot''' = ''hog-nosed skunk'' :* '''akapot''' = ''pack rat'' :* '''akbuen''' = ''recompensation, recompense, reward'' :* '''akbuer''' = ''to recompense, to reward'' :* '''akbuwa''' = ''recompensed, rewarded'' :* '''akdoof''' = ''pennant'' :* '''akea''' = ''gaining, winning '' :* '''akea taxdrun bexea''' = ''record-holding'' :* '''akea taxdrun bexut''' = ''record-holder'' :* '''aken''' = ''gaining, winning'' </div> = aker eknod -- akutufa = <div style="background: lightyellow; border: solid blue 2px; {{column-count|2}};{{column-rule|2px solid blue}};font-size:smaller;";> :* '''aker eknod''' = ''to win a point'' :* '''aker geeksag''' = ''to score a tie'' :* '''aker ha sagvekek''' = ''to win the lottery'' :* '''aker izbex''' = ''to gain control'' :* '''aker nazun''' = ''to win a prize, win an award'' :* '''aker taampyux''' = ''to score a home run'' :* '''aker''' = ''to earn, to gain, to garner, to win'' :* '''akexut''' = ''scout'' :* '''akfin''' = ''vantage'' :* '''akgasea''' = ''accruing'' :* '''akgaxea''' = ''accruing'' :* '''akgaxen''' = ''accrual'' :* '''akgaxwa''' = ''accrued'' :* '''akgaxwer''' = ''to accrue'' :* '''akien''' = ''gaining from, taking advantage'' :* '''akier''' = ''to gain from, to take advantage of'' :* '''akiut''' = ''beneficiary'' :* '''akivrasea''' = ''exultant'' :* '''akivraseay''' = ''exultantly'' :* '''akivrasen''' = ''exultance, exultation'' :* '''akivraser''' = ''to exult'' :* '''akivtos''' = ''elation'' :* '''akivtosen''' = ''elation, reveling, revelry'' :* '''akivtoser''' = ''to feel elated, to revel'' :* '''akivtosuer''' = ''to elate'' :* '''akivtosut''' = ''reveler'' :* '''akivtosuwa''' = ''elated'' :* '''akivtosuway''' = ''elatedly'' :* '''aklawa''' = ''beaten, conquered, defeated, overcome, vanquished'' :* '''aklea''' = ''victorious'' :* '''aklean''' = ''victoriousness'' :* '''akleay''' = ''victoriously'' :* '''aklen''' = ''conquering, defeat, defeating, vanquishing'' :* '''akler''' = ''to beat, to conquer, to defeat, to overcome, to pip, to skittle, to vanquish, to win over'' :* '''akler yukay''' = ''to defeat easily, run circles around'' :* '''aklin''' = ''defeatism'' :* '''aklina''' = ''defeatist'' :* '''aklon''' = ''championship, victory'' :* '''aklun''' = ''conquest, defeat'' :* '''aklut''' = ''champ, champion, conqueror, vanquisher, victor'' :* '''aklutan''' = ''championship'' :* '''akluyt''' = ''victress, victrix'' :* '''aklyafwa''' = ''beatable, superable, vincible'' :* '''aklyafway''' = ''beatably'' :* '''aklyikwa''' = ''difficult to defeat'' :* '''aklyofwa''' = ''insuperable, invincible, unbeatable'' :* '''aklyofwan''' = ''invincibility'' :* '''aklyofway''' = ''insuperably, invincibly'' :* '''aklyukwa''' = ''easily-defeated, easily-vanquished'' :* '''ako-ako-ebyem''' = ''win-win-situation'' :* '''Akom''' = ''Antarctica'' :* '''akon''' = ''asset, behoof'' :* '''akpas''' = ''tactic, winning move'' :* '''akpasa''' = ''tactical'' :* '''akpasay''' = ''tactically'' :* '''akpasnyad''' = ''tactic'' :* '''akpastyenut''' = ''tactician'' :* '''akpasyen''' = ''stratagem, strategy, tactic'' :* '''akpasyena''' = ''strategic, strategical, tactical'' :* '''akpasyenay''' = ''strategically'' :* '''akpasyenut''' = ''strategist'' :* '''akpasyenxen''' = ''strategizing'' :* '''akpasyenxer''' = ''to strategize'' :* '''akpasyenxwa''' = ''strategized'' :* '''akrawa''' = ''triumphed'' :* '''akrea''' = ''triumphant'' :* '''akreay''' = ''triumphantly'' :* '''akren''' = ''heroically defeating, triumphing'' :* '''akrer''' = ''to be triumphant, to heroically defeat, to rout, to triumph over, to trounce'' :* '''akrun deuzun''' = ''paean'' :* '''akrun''' = ''triumph, trounce'' :* '''akruna''' = ''triumphal'' :* '''akrut''' = ''triumphant one'' :* '''akryofwa''' = ''unconquerable'' :* '''akuen''' = ''compensation, rewarding'' :* '''akuer''' = ''to compensate, to reward'' :* '''akun''' = ''earnings, gain, winnings'' :* '''akut''' = ''earner, winner'' :* '''akutuf''' = ''envy, jealousy'' :* '''akutufa''' = ''jealous'' </div> = akutufan -- Aleda = <div style="background: lightyellow; border: solid blue 2px; {{column-count|2}};{{column-rule|2px solid blue}};font-size:smaller;";> :* '''akutufan''' = ''jealousness'' :* '''akutufay''' = ''jealously'' :* '''akutufeay''' = ''envyingly'' :* '''akutufen''' = ''envying'' :* '''akutufer''' = ''to be jealous, to envy'' :* '''akutuyfa''' = ''envious'' :* '''akutuyfan koflyean''' = ''enviousness'' :* '''akutuyfay''' = ''enviously'' :* '''akutuyfuway''' = ''enviably'' :* '''akutuyfwa''' = ''envied'' :* '''akutuyfyafwa''' = ''enviable'' :* '''akuun''' = ''compensation, reward'' :* '''akuut''' = ''benefactor'' :* '''akuwa''' = ''compensated, rewarded'' :* '''akvavit''' = ''aquavit'' :* '''akwa''' = ''beaten, earned, gained, garnered, won'' :* '''akyakwa''' = ''expected to win'' :* '''akyeay''' = ''winningly'' :* '''akyeveka''' = ''astochastic, non-aleatory, non-random'' :* '''akyikwa''' = ''hard-won'' :* '''akyin''' = ''flyweight'' :* '''akyipot''' = ''marmot'' :* '''akyofkyos''' = ''stalemate'' :* '''akyofkyoxer''' = ''to stalemate'' :* '''akyofkyoxwa''' = ''stalemated'' :* '''akyofwa kyos''' = ''stalemate'' :* '''akyukwa''' = ''easily earned, easily won'' :* '''-al''' = ''air, gas, stub for "mal"'' :* '''ala''' = ''eleven, gaseous'' :* '''alaa''' = ''eleventh'' :* '''aladeplat''' = ''army colonel'' :* '''aladeplatan''' = ''colonelcy'' :* '''aladiepat''' = ''marine sergeant major'' :* '''aladref''' = ''jack of cards'' :* '''alafeb''' = ''boysenberry, elderberry'' :* '''alafeyb''' = ''elderberry'' :* '''alagapyot''' = ''cave bear'' :* '''alahelkayn''' = ''undecane'' :* '''Alam''' = ''&Aring;land, &Aring;land Islands'' :* '''Alama''' = ''of the &Aring;land, &Aring;land Islands'' :* '''alamaf''' = ''cirrus'' :* '''Alamat''' = ''inhabitant of &Aring;land, &Aring;land Islands'' :* '''alamez''' = ''tourmaline'' :* '''alana''' = ''eleven-fold'' :* '''alanapa''' = ''eleventh'' :* '''alanapas''' = ''twelfth thing'' :* '''alanapat''' = ''twelfth person'' :* '''alaniyn''' = ''alanine'' :* '''alapit''' = ''eel'' :* '''alapot''' = ''yak'' :* '''alapyit''' = ''pike'' :* '''alapyod''' = ''snarl'' :* '''alapyoden''' = ''snarling'' :* '''alapyoder''' = ''to snarl'' :* '''alapyot''' = ''leopard'' :* '''alavos deym''' = ''rose garden'' :* '''alavos''' = ''rose'' :* '''alavos vulob''' = ''rose thorn'' :* '''alavosayeb''' = ''rose petal'' :* '''alavosmil''' = ''rosewater'' :* '''alavossan''' = ''rosette'' :* '''alavosvabij''' = ''rosebud'' :* '''alavosvib''' = ''rosette'' :* '''alavosyan''' = ''bunch of roses'' :* '''alavos-yelza''' = ''rose pink'' :* '''alavosyena''' = ''rosy'' :* '''alavosyenan''' = ''rosiness'' :* '''alavosyenay''' = ''rosily'' :* '''alaya''' = ''gaseous'' :* '''alayn''' = ''eleventh'' :* '''alayugsul''' = ''latex'' :* '''ale''' = ''twelve'' :* '''alea''' = ''dozenth, twelfth'' :* '''alebea''' = ''asphyxiating, choking, stifling'' :* '''alebeay''' = ''stiflingly'' :* '''aleben''' = ''asphyxiating, asphyxiation, choking, stifling'' :* '''aleber''' = ''to asphyxiate, to choke, to cut off one's air supply'' :* '''alebwa''' = ''asphyxiated, choked, stifled'' :* '''Aled''' = ''Aleut'' :* '''Aleda''' = ''Aleut'' </div> = Aledaler -- alodoba = <div style="background: lightyellow; border: solid blue 2px; {{column-count|2}};{{column-rule|2px solid blue}};font-size:smaller;";> :* '''Aledaler''' = ''to speak Aleut'' :* '''Aleder''' = ''to say in Aleut'' :* '''alediepat''' = ''marine sergeant major of the marine corps'' :* '''alegapyot''' = ''pizzly bear'' :* '''alehelkayn''' = ''dodecane'' :* '''alekuna''' = ''dodecahedral'' :* '''alekunsan''' = ''dodecahedron'' :* '''alekunsana''' = ''dodecahedral'' :* '''alemez''' = ''garnet'' :* '''alenapa''' = ''dozenth, twelfth'' :* '''alensuana''' = ''duodecimal'' :* '''aleon''' = ''dozen'' :* '''aleona''' = ''twelvefold'' :* '''aleoni bi''' = ''dozens of'' :* '''aleoni''' = ''dozens'' :* '''aleovol''' = ''brioche'' :* '''aleoyn''' = ''baker's dozen'' :* '''alepit''' = ''guppy'' :* '''alepyit''' = ''perch'' :* '''alepyot''' = ''cheetah'' :* '''alevos''' = ''forget-me-not'' :* '''aleyn''' = ''dozenth, twelfth'' :* '''aleyna''' = ''twelfth'' :* '''alfabeta dreyen''' = ''alphabetic writing system'' :* '''ali''' = ''thirteen'' :* '''alia''' = ''thirteenth'' :* '''aliar''' = ''inhaler'' :* '''Alibad''' = ''Albanian'' :* '''Alibadaler''' = ''to speak Albanian'' :* '''Alibadalut''' = ''Albanian speaker'' :* '''Alibader''' = ''to say in Albanian'' :* '''Alibam''' = ''Albania'' :* '''Alibama''' = ''Albanian'' :* '''Alibamat''' = ''Albanian, inhabitant of Albania'' :* '''aliea''' = ''breathing in, inhaling, taking a breath'' :* '''alien''' = ''breathing in, inhalation, inhaling, taking a breath'' :* '''alien mufyeg''' = ''blowpipe'' :* '''alier''' = ''to breathe in, to inhale, to take a breath'' :* '''aligapyot''' = ''atlas bear'' :* '''Aligeda''' = ''Algonquian'' :* '''alika''' = ''gaseous, gassy'' :* '''alikan''' = ''gaseousness, gassiness'' :* '''Alilin''' = ''Albanian lek'' :* '''alilk''' = ''Al, aluminum'' :* '''alilk calkayt''' = ''aluminum carbonate'' :* '''alilkayeb''' = ''aluminum foil'' :* '''alilkdrev''' = ''aluminum foil'' :* '''alilkdruren''' = ''algraphy'' :* '''alimez''' = ''zirconia'' :* '''alimomalmeg''' = ''emery'' :* '''alinapa''' = ''thirteenth'' :* '''aliolkiyd''' = ''corundum'' :* '''alipit''' = ''haddock'' :* '''alipyit''' = ''mahi-mahi'' :* '''alipyot''' = ''lynx'' :* '''alivos''' = ''hyacinth'' :* '''aliwa''' = ''breathed in, inhaled'' :* '''aliwas''' = ''inhalant'' :* '''alkiyn''' = ''amino'' :* '''alkiyn zil''' = ''amino acid'' :* '''Allah''' = ''Allah'' :* '''allemande''' = ''allemande'' :* '''almuka efeyl''' = ''mocha'' :* '''almuka-melza''' = ''mocha brown'' :* '''alo asoyni''' = ''ten percent'' :* '''alo-''' = ''deca-, ten-'' :* '''alo napdeni''' = ''decalogue'' :* '''alo''' = ''ten'' :* '''alo Usodan nasdrev''' = ''ten dollar bill'' :* '''alo yaki''' = ''ten meters'' :* '''aloa''' = ''tenth'' :* '''alo-aro''' = ''myriad'' :* '''aloat''' = ''group of ten'' :* '''alodab''' = ''chiefdom'' :* '''alodapat''' = ''chief master sergeant of the air force'' :* '''alodeb''' = ''chief, chieftain, tribal chief'' :* '''alodeplat''' = ''army lieutenant colonel'' :* '''alodiepat''' = ''marine master gunnery sergeant'' :* '''alodob''' = ''clan, tribe'' :* '''alodoba''' = ''clan-related, tribal'' </div> = alodobat -- alpubun = <div style="background: lightyellow; border: solid blue 2px; {{column-count|2}};{{column-rule|2px solid blue}};font-size:smaller;";> :* '''alodobat''' = ''clan member, tribe member, tribesman'' :* '''alodobayt''' = ''tribeswoman'' :* '''alodobin''' = ''tribalism'' :* '''alodobina''' = ''tribalist'' :* '''alodobinut''' = ''tribalist'' :* '''alodobsiyin''' = ''totem'' :* '''alodobsiyina''' = ''totemic'' :* '''alofab''' = ''mulberry tree'' :* '''alofayb''' = ''bramble bush'' :* '''alofeb''' = ''mulberry'' :* '''alofil''' = ''gin'' :* '''alofyalza''' = ''mulberry violet'' :* '''alogapyot''' = ''Andean bear, spectacled bear'' :* '''alogenak''' = ''decagram'' :* '''alogol''' = ''decile'' :* '''alogunsan''' = ''decagon'' :* '''aloha''' = ''aloha'' :* '''alohelkayn''' = ''decane'' :* '''alojabtax''' = ''decennial'' :* '''alojaga''' = ''teenage, ten years old, ten-year-old'' :* '''alok''' = ''deflation, fart'' :* '''aloken''' = ''breaking wind, farting, flatulence'' :* '''aloker''' = ''to break wind, to deflate, to fart'' :* '''alolinak''' = ''deciliter'' :* '''alomaf''' = ''cirrostratus'' :* '''alomez''' = ''opal'' :* '''alominak''' = ''decameter'' :* '''alon-''' = ''deca-, ten-'' :* '''alon''' = ''decade, group of ten, tenfold'' :* '''alona''' = ''tenfold'' :* '''alonapa''' = ''tenth'' :* '''aloncailonhenieno''' = ''phenacetin'' :* '''alonsuna''' = ''decimal'' :* '''alonsuna nod''' = ''decimal point'' :* '''alonsunxen''' = ''decimalization'' :* '''alopat''' = ''ostrich'' :* '''alopeyet''' = ''bristle worm'' :* '''alopit''' = ''catfish'' :* '''alopot''' = ''llama'' :* '''alopyit''' = ''barracuda'' :* '''alopyot''' = ''jaguar'' :* '''alosi''' = ''group of ten things'' :* '''alotapekyan''' = ''decathlon'' :* '''aloti''' = ''group of ten people, ten persons'' :* '''alovob''' = ''rhubarb, sorghum, sorgo'' :* '''alovobyel''' = ''sorghum, sorgo'' :* '''alovos''' = ''daisy'' :* '''aloyn-''' = ''deci-, teen-, tenth-'' :* '''aloyn''' = ''tenth'' :* '''aloyna''' = ''tenth'' :* '''aloyngolea''' = ''decimating'' :* '''aloyngolen''' = ''decimating, decimation'' :* '''aloyngoler''' = ''to decimate'' :* '''aloyngolwa''' = ''decimated'' :* '''aloynjag''' = ''teen-hood'' :* '''aloynjaga''' = ''in one's teens, teen-aged, teenaged'' :* '''aloynjagan''' = ''teens'' :* '''aloynjagat''' = ''teen, teenager'' :* '''aloynjagayt''' = ''teen-aged girl, teenage girl'' :* '''aloynjagwat''' = ''teen-aged boy, teenage boy'' :* '''aloynnasmug''' = ''dime'' :* '''aloynux''' = ''tithe'' :* '''aloynuxen''' = ''tithing'' :* '''aloynuxer''' = ''to tithe'' :* '''aloynuxut''' = ''tither'' :* '''aloynxea''' = ''decimating'' :* '''aloynxen''' = ''decimating, decimation'' :* '''aloynxer''' = ''to decimate'' :* '''aloynxwa''' = ''decimated'' :* '''aloyugsul''' = ''hydrogenated nitrile rubber'' :* '''alp''' = ''air wave'' :* '''alpa tam''' = ''chalet'' :* '''alpa''' = ''wireless'' :* '''alparifut''' = ''ham'' :* '''alpha''' = ''alpha'' :* '''alptayf''' = ''dirndl'' :* '''alpubarer''' = ''to broadcast, to transmit by radio'' :* '''alpuben''' = ''broadcasting, transmission, wiring'' :* '''alpuber''' = ''to broadcast by radio, to broadcast, to transmit, to wire'' :* '''alpubun''' = ''airplay'' </div> = alpubun job -- alyupit = <div style="background: lightyellow; border: solid blue 2px; {{column-count|2}};{{column-rule|2px solid blue}};font-size:smaller;";> :* '''alpubun job''' = ''airtime'' :* '''alpubwa''' = ''transmitted, wired'' :* '''Alpzomera''' = ''cisalpine'' :* '''alto''' = ''yaybdeuzat'' :* '''alu''' = ''fourteen'' :* '''alua''' = ''fourteenth'' :* '''aluar''' = ''aerator, blower, exhaler'' :* '''aluea''' = ''aerating, exhaling'' :* '''aluen''' = ''aeration, blowing, exhalation, exhaling'' :* '''aluer''' = ''to aerate, to blow, to breathe out, to exhale'' :* '''aluiar''' = ''respirator'' :* '''aluien''' = ''breathing, respiration'' :* '''aluiena''' = ''respiratory'' :* '''aluienbok''' = ''respiratory disease'' :* '''aluier''' = ''to breath in and out, to respire'' :* '''alujaga''' = ''fourteen years old'' :* '''alujagat''' = ''fourteen-year-old'' :* '''alumez''' = ''jasper'' :* '''alumson''' = ''silicone'' :* '''alumuyk''' = ''bauxite'' :* '''alunapa''' = ''fourteenth'' :* '''alupit''' = ''marlin'' :* '''alupyot''' = ''bobcat'' :* '''aluvos''' = ''hydrangea'' :* '''aluwa''' = ''aerated, blown, exhaled'' :* '''aluyn''' = ''fourteenth'' :* '''aluynfaosyeb''' = ''rundlet'' :* '''alya''' = ''sixteen'' :* '''alyaa''' = ''sixteenth'' :* '''alyaas''' = ''sixteenth'' :* '''alyagol''' = ''hexadecile'' :* '''alyajaga''' = ''sixteen years old'' :* '''alyajagat''' = ''sixteen-year-old'' :* '''alyamez''' = ''marganite'' :* '''alyanapa''' = ''sixteenth'' :* '''alyapit''' = ''red snapper'' :* '''alyavol''' = ''Jerusalem artichoke'' :* '''alyavos''' = ''jonquil'' :* '''alyaynduznod''' = ''semiquaver'' :* '''alye''' = ''seventeen'' :* '''alyea''' = ''seventeenth'' :* '''alyejaga''' = ''seventeen years old'' :* '''alyejagat''' = ''seventeen-year-old'' :* '''alyemez jwobar''' = ''quartz watch'' :* '''alyemez mufzyeyg''' = ''quartz tube'' :* '''alyemez''' = ''quartz'' :* '''alyemez zyev''' = ''fused silica, quartz glass'' :* '''alyenapa''' = ''seventeenth'' :* '''alyensuna''' = ''hexadecimal'' :* '''alyepit''' = ''turbot'' :* '''alyevos''' = ''tulip'' :* '''alyi''' = ''eighteen'' :* '''alyia''' = ''eighteenth'' :* '''alyijaga''' = ''eighteen years old'' :* '''alyijagat''' = ''eighteen-year-old'' :* '''alyimez''' = ''malachite, quartz'' :* '''alyinapa''' = ''eighteenth'' :* '''alyipit''' = ''seahorse'' :* '''alyivos''' = ''primrose'' :* '''alyiyn''' = ''eighteenth'' :* '''alyizyukkyispur''' = ''eighteen-wheeler'' :* '''alyo''' = ''fifteen'' :* '''alyoa''' = ''fifteenth'' :* '''alyojaba''' = ''quinquennial'' :* '''alyojaga''' = ''fifteen years old'' :* '''alyojagat''' = ''fifteen-year-old'' :* '''alyomez''' = ''jade'' :* '''alyomez-ulza''' = ''jade green'' :* '''alyonapa''' = ''fifteenth'' :* '''alyopit''' = ''minnow'' :* '''alyopyot''' = ''caracol'' :* '''alyovos''' = ''lily of the valley'' :* '''alyoyn''' = ''fifteenth'' :* '''alyu''' = ''nineteen'' :* '''alyua''' = ''nineteenth'' :* '''alyuhelkayn''' = ''hexadecane'' :* '''alyujaga''' = ''nineteen years old'' :* '''alyujagat''' = ''nineteen-year-old'' :* '''alyunapa''' = ''nineteenth'' :* '''alyupit''' = ''goldfish'' </div> = alyuvos -- amalyenapat = <div style="background: lightyellow; border: solid blue 2px; {{column-count|2}};{{column-rule|2px solid blue}};font-size:smaller;";> :* '''alyuvos''' = ''lilac'' :* '''alz''' = ''red, the color red'' :* '''alza aveb''' = ''kidney bean'' :* '''alza mug''' = ''white metal'' :* '''alza''' = ''red'' :* '''alza tiibil num''' = ''erythrocyte, red blood cell'' :* '''alza uopetsiynxul''' = ''ruddle'' :* '''alza vafil''' = ''red wine, vin rouge'' :* '''alzabdun''' = ''rubric'' :* '''alzabdunxar''' = ''rubricator'' :* '''alzabdunxer''' = ''to rubricate'' :* '''alzam''' = ''incandescence, white heat'' :* '''alzambok''' = ''scarlatina, scarlet fever'' :* '''alzan''' = ''redness'' :* '''alzasea''' = ''blushing, erubescent, reddening'' :* '''alzaser''' = ''to blush, to get red, to grow red, to redden'' :* '''alzaxen''' = ''blushing, reddening'' :* '''alzaxer''' = ''to color red, to make blush, to make red'' :* '''alzaxwa''' = ''bloodshot, colored red, reddened'' :* '''alzay''' = ''redly'' :* '''alzayna''' = ''bright red'' :* '''alzber''' = ''to raddle'' :* '''alzfeelk''' = ''tin-plate'' :* '''alzlefez''' = ''cinnabar'' :* '''alzlefeza''' = ''cinnabar'' :* '''alzmelza''' = ''sepia'' :* '''alznodbok''' = ''measles'' :* '''alznodboka''' = ''measly'' :* '''alzoyna''' = ''dark red, deep red, garnet'' :* '''alztaebbok''' = ''white muscle disease'' :* '''alztayebat''' = ''carrottop'' :* '''alztayoza''' = ''rubicund'' :* '''alztiibila''' = ''red-blooded'' :* '''alztiibilnummul''' = ''hemoglobin'' :* '''alzyavil''' = ''weissbier'' :* '''alzyena''' = ''reddish, ruddy'' :* '''alzyuynika mil''' = ''carbonated water'' :* '''-am''' = ''-ary, building, enclosed space, stub for "tam"'' :* '''am-''' = ''thermo-'' :* '''ama fil''' = ''toddy'' :* '''ama''' = ''hot, thermal, thermic'' :* '''ama mal''' = ''hot air'' :* '''ama mal kyuzyun''' = ''hot air balloon'' :* '''ama malzyun''' = ''hot air balloon'' :* '''ama mipij''' = ''burqa'' :* '''ama nod''' = ''hot spot, hotspot'' :* '''ama tuil''' = ''hot sauce'' :* '''ama zyibolar''' = ''hot plate'' :* '''amaeg''' = ''anthracite'' :* '''amaegil''' = ''kerosene'' :* '''amaegil manar''' = ''kerosene lamp'' :* '''amaegyel''' = ''paraffin'' :* '''amaf''' = ''nimbus'' :* '''amag''' = ''ardor, fervor'' :* '''amaga''' = ''ardent, fervent, fervid'' :* '''amagan''' = ''ardency, fervency'' :* '''amagyena''' = ''ardent, fervent, fervid'' :* '''amagyenan''' = ''ardency, ardor, fervency'' :* '''amagyenay''' = ''ardently, fervently, fervidly'' :* '''amal''' = ''atmosphere, aura'' :* '''amala''' = ''atmospheric, atmospherical'' :* '''amalay''' = ''atmospherically'' :* '''amalbalnagar''' = ''barometer'' :* '''amalixuen''' = ''weathering'' :* '''amalixuer''' = ''to weather'' :* '''amalixuwa''' = ''weathered'' :* '''amalmak''' = ''static'' :* '''amalman''' = ''aurora'' :* '''amalmana''' = ''auroral'' :* '''amalmil''' = ''hydrometeor'' :* '''amalmiltun''' = ''hydrometeorology'' :* '''amalmiltuna''' = ''hydrometeorological'' :* '''amalmiltut''' = ''hydrometeorologist'' :* '''amalvaka''' = ''weatherproof'' :* '''amalyen''' = ''atmospherics, weather'' :* '''amalyen jatuun''' = ''weather forecast, weather tip'' :* '''amalyen jatuut''' = ''weather forecaster, weather tipster'' :* '''amalyen jwad''' = ''weather warning'' :* '''amalyena''' = ''weather-related'' :* '''amalyenapat''' = ''weathercock, weathervane'' </div> = amalyendar -- amaruka = <div style="background: lightyellow; border: solid blue 2px; {{column-count|2}};{{column-rule|2px solid blue}};font-size:smaller;";> :* '''amalyendar''' = ''weathervane'' :* '''amalyentun''' = ''meteorology'' :* '''amalyentuna''' = ''meteorologic, meteorological'' :* '''amalyentunay''' = ''meteorological'' :* '''amalyentut''' = ''meteorologist, weatherman, weatherperson'' :* '''amalyenvakaxen''' = ''weatherizing'' :* '''amalyenvakaxer''' = ''to weatherize'' :* '''amalyenvakaxwa''' = ''weatherized'' :* '''aman''' = ''heat, hotness'' :* '''amanaren''' = ''taking temperature'' :* '''amanarer''' = ''to take temperature'' :* '''amansag''' = ''temperature'' :* '''amapiyet''' = ''snapping turtle'' :* '''amapyex''' = ''heatstroke'' :* '''amar abtamas''' = ''sun roof'' :* '''amar fyaifren''' = ''sun worship'' :* '''amar fyaifrut''' = ''sun worshiper'' :* '''amar magxun''' = ''sunburn'' :* '''amar magxwa''' = ''sunburned'' :* '''amar pexyem''' = ''suntrap'' :* '''amar sagzyiun''' = ''sundial'' :* '''amar''' = ''sun'' :* '''amar teabar''' = ''sunglasses'' :* '''amara azon''' = ''solar power'' :* '''amara num''' = ''solar cell'' :* '''amara''' = ''solar'' :* '''amarabtamas''' = ''sunroof'' :* '''amaraya''' = ''sunny'' :* '''amarayan''' = ''sunniness'' :* '''amarbek''' = ''heliotherapy'' :* '''amarfyaifren''' = ''heliolatry'' :* '''amarika''' = ''sunny'' :* '''amarikan''' = ''sunniness'' :* '''amarikbwa''' = ''sun-filled'' :* '''amarilbien''' = ''soaking up the sun'' :* '''amarilbier''' = ''to soak up the sun'' :* '''amarilyep''' = ''sunbath'' :* '''amarilyepea''' = ''sunning'' :* '''amarilyepen''' = ''sunbathing, sunning'' :* '''amarilyeper''' = ''to sun-bathe'' :* '''amarilyeput''' = ''sun-bather'' :* '''amarimxwa''' = ''sun-drenched'' :* '''amarizona''' = ''sunwise'' :* '''amarmaf''' = ''Milky Way'' :* '''amarmagxwa''' = ''sunburned'' :* '''amarman''' = ''sunlight'' :* '''amarmanar''' = ''sunlamp'' :* '''amarmanigvibwa''' = ''star-spangled'' :* '''amarmanim''' = ''solarium'' :* '''amarmanx''' = ''sunshine'' :* '''amarmanxwa''' = ''sunlit'' :* '''amarmanxyea''' = ''sunshiny'' :* '''amarmeylzaser''' = ''to suntan'' :* '''amarmeylzaxea yel''' = ''suntanning oil'' :* '''amarmeylzaxen''' = ''suntanning'' :* '''amarmeylzaxer''' = ''to suntan'' :* '''amarmeylzaxun''' = ''suntan'' :* '''amarmeylzaxwa''' = ''suntanned'' :* '''amarmonar''' = ''parasol'' :* '''amarmotozaxen''' = ''suntan'' :* '''amarmoynar''' = ''sunshade'' :* '''amarnaap''' = ''solar system'' :* '''amarnagar''' = ''heliometer'' :* '''amarnaud''' = ''sun ray, sunbeam, sunray'' :* '''amarnaudsan''' = ''sunburst'' :* '''amarovar''' = ''parasol, sun shield, sunshade'' :* '''amarovbea yugyel''' = ''sun lotion, sunblock, sunscreen lotion, suntan lotion'' :* '''amaroya''' = ''sunless'' :* '''amarpyex''' = ''sunstroke'' :* '''amarrilepen''' = ''sun-bathing'' :* '''amartaxdrar''' = ''heliograph'' :* '''amartaxdrara''' = ''heliographic'' :* '''amartaxdrun''' = ''heliogram'' :* '''amarteabar''' = ''sunglasses'' :* '''amarteaxar''' = ''helioscope'' :* '''amartef''' = ''sunbonnet, sunhat'' :* '''amartot''' = ''sun god'' :* '''amartun''' = ''heliology'' :* '''amarubuzpus''' = ''heliotrope'' :* '''amaruka''' = ''sunless'' </div> = amarumxwa -- amiflen = <div style="background: lightyellow; border: solid blue 2px; {{column-count|2}};{{column-rule|2px solid blue}};font-size:smaller;";> :* '''amarumxwa''' = ''sun-dried'' :* '''amarvyun''' = ''sunspot'' :* '''amaryafon''' = ''solar power'' :* '''amaryafon zyevmays''' = ''solar power panel'' :* '''amaryafonuwa''' = ''solar-powered'' :* '''amaryap''' = ''sunrise, sunup'' :* '''amaryibnod''' = ''solstice'' :* '''amaryibnoda''' = ''solstitial'' :* '''amaryop''' = ''sundown, sunset'' :* '''amaryubnod''' = ''perihelion'' :* '''amaryupen''' = ''heliotaxis'' :* '''amaryuzem''' = ''heliosphere'' :* '''amarzena''' = ''heliocentric'' :* '''amata''' = ''febrile, feverish'' :* '''amatan''' = ''fever, feverishness'' :* '''amatay''' = ''feverishly'' :* '''amatsea''' = ''coming down with a fever, feverish'' :* '''amatsen''' = ''coming down with a fever'' :* '''amatser''' = ''to come down with a fever'' :* '''amay''' = ''hotly, thermally'' :* '''ama-yelza''' = ''hot pink'' :* '''Amazona''' = ''Amazonian'' :* '''Amazonam''' = ''Amazon'' :* '''Amazonat''' = ''Amazonian'' :* '''amazonokxen''' = ''heat dissipation'' :* '''ambalar''' = ''flatiron'' :* '''amben''' = ''founding'' :* '''amber''' = ''to found'' :* '''amblok''' = ''swelter'' :* '''amblokier''' = ''to swelter'' :* '''amblokuer''' = ''to swelter'' :* '''amblokuyea''' = ''sweltering'' :* '''ambok''' = ''fever, inflammation'' :* '''amboka''' = ''febrile, fevered, inflammatory, pyretic'' :* '''ambokmulobyeb''' = ''autoclave'' :* '''ambokobar''' = ''de-inflammatory'' :* '''ambokovul''' = ''febrifuge'' :* '''ambokser''' = ''to get inflamed, to run a fever'' :* '''ambokxer''' = ''to inflame'' :* '''ambokxwa''' = ''inflamed'' :* '''ambokyena''' = ''feverish'' :* '''ambuxrar''' = ''heat pump'' :* '''ambwa''' = ''founded'' :* '''amdin''' = ''geyser'' :* '''amdraf''' = ''thermogram'' :* '''amdren''' = ''thermography'' :* '''amdrena''' = ''thermographic'' :* '''amealag''' = ''nephrite'' :* '''amealaga''' = ''nephritic'' :* '''amebkyax''' = ''heat exchange'' :* '''amebkyaxar''' = ''heat exchanger'' :* '''amensun''' = ''thermocouple'' :* '''Amer''' = ''to Mercury'' :* '''Amera''' = ''Mercurial, Mercutian'' :* '''Amerat''' = ''Mercutian'' :* '''amez''' = ''diamond'' :* '''amez goblar''' = ''diamond cutter'' :* '''amez mukiblem''' = ''diamond mine'' :* '''amez mukiblen''' = ''diamond mining'' :* '''amez mukiblut''' = ''diamond miner'' :* '''amez teebuz''' = ''diamond earring'' :* '''amez teyobuz''' = ''diamond necklace'' :* '''amez tuyobuz''' = ''diamond bracelet'' :* '''amez tuyuz''' = ''diamond ring'' :* '''amezasauna''' = ''argyle'' :* '''ameznam''' = ''diamond shop'' :* '''ameznamut''' = ''diamond dealer, diamond-cutter, diamond-seller'' :* '''amezsan''' = ''diamond shape, fusil, rhomb, rhomboid, rhombus'' :* '''amezsana''' = ''diamond-shaped, rhomboidal'' :* '''amezyiga''' = ''hard as a diamond'' :* '''amezyugfaxar''' = ''skive'' :* '''amgyixer''' = ''to sinter'' :* '''amgyixun''' = ''sinter'' :* '''amibyafwan''' = ''heat capacity'' :* '''amif''' = ''passion'' :* '''amifa''' = ''thermophilic'' :* '''amifea''' = ''passionate'' :* '''amifer''' = ''to love passionately'' :* '''amiflawa''' = ''cherished'' :* '''amiflen''' = ''cherishing'' </div> = amifler -- amonaya = <div style="background: lightyellow; border: solid blue 2px; {{column-count|2}};{{column-rule|2px solid blue}};font-size:smaller;";> :* '''amifler''' = ''to cherish'' :* '''amifon''' = ''thermophilia'' :* '''amifub''' = ''scull'' :* '''amifuba mipar''' = ''scull'' :* '''amifuwa''' = ''in love, passionately in love, smitten'' :* '''amigo''' = ''amigo'' :* '''Amihed''' = ''Amharic'' :* '''Amihedaler''' = ''to speak Amharic'' :* '''Amihedalut''' = ''Amharic speaker'' :* '''Amihedan''' = ''Armenian dram'' :* '''Amiheder''' = ''to say in Amharic'' :* '''Amihedreyen''' = ''Amharic script'' :* '''amilbar''' = ''convector'' :* '''amilben''' = ''convection'' :* '''amilbena''' = ''convectional, convective'' :* '''amilber''' = ''to convect'' :* '''amilbuken''' = ''scalding'' :* '''amilbuker''' = ''to scald'' :* '''amilbukwa''' = ''scalded'' :* '''amilk''' = ''Am, americium'' :* '''Amimag''' = ''Arctic Ocean'' :* '''amizbar''' = ''heat conductor'' :* '''amizbea''' = ''thermally conductive'' :* '''amizbyafwan''' = ''thermal conductivity'' :* '''amjoba''' = ''interglacial'' :* '''amkyaxen''' = ''thermodynamics'' :* '''amkyaxena''' = ''thermodynamic'' :* '''amkyia''' = ''sultry'' :* '''amkyian''' = ''sultriness'' :* '''amkyiay''' = ''sultrily'' :* '''amkyos''' = ''hothouse'' :* '''amlo-''' = ''mega-'' :* '''amlo''' = ''million, one million'' :* '''amloa''' = ''millionth'' :* '''amloagbadenak''' = ''megabaud'' :* '''amloagbanak''' = ''meg, megabyte'' :* '''amloaghenak''' = ''megahertz'' :* '''amloagvunak''' = ''megavolt'' :* '''amloagwunak''' = ''megawatt'' :* '''amlobanak''' = ''megabit'' :* '''amlocanak''' = ''megacycle'' :* '''amlodun''' = ''megaword'' :* '''amlon''' = ''million-fold'' :* '''amlona''' = ''million-fold'' :* '''amloni''' = ''millions'' :* '''amloomeganak''' = ''megohm'' :* '''amloronak''' = ''milliradian'' :* '''amlot''' = ''millionaire, millionnaire'' :* '''amlotonak''' = ''megaton'' :* '''amloyn-''' = ''micro-'' :* '''amloyn''' = ''millionth'' :* '''amloynjweb''' = ''microsecond'' :* '''amloynminak''' = ''micrometer, micron'' :* '''amloynminakxen''' = ''micronization'' :* '''amloynminakxer''' = ''to micronize'' :* '''amloynminakxwa''' = ''micronized'' :* '''amloynsonak''' = ''microsecond'' :* '''amloyt''' = ''millionairess'' :* '''ammaal''' = ''thermosphere'' :* '''ammakmul''' = ''thermion'' :* '''ammalkexut''' = ''snowbird'' :* '''ammap''' = ''sirocco'' :* '''ammelsum''' = ''hotbed'' :* '''ammilyeb''' = ''hot water bottle, hot-water bottle'' :* '''ammilyepyem''' = ''spa'' :* '''amnag oyvaxen''' = ''temperature inversion'' :* '''amnag''' = ''temperature'' :* '''amnagar''' = ''thermometer'' :* '''amnagara''' = ''thermometric'' :* '''amnak''' = ''degree of temperature'' :* '''amnaudxar''' = ''radiator'' :* '''amnaudxen''' = ''thermal radiation'' :* '''amnyeb''' = ''hotbox'' :* '''amok''' = ''heat loss'' :* '''amola''' = ''primitive'' :* '''amola san''' = ''primitive form'' :* '''amolan''' = ''primitiveness'' :* '''amolay''' = ''primitively'' :* '''amona''' = ''caloric, calorific'' :* '''amonaya''' = ''caloric, calorific'' </div> = amonika -- amuryena = <div style="background: lightyellow; border: solid blue 2px; {{column-count|2}};{{column-rule|2px solid blue}};font-size:smaller;";> :* '''amonika''' = ''caloric, calorific'' :* '''amonnagar''' = ''calorimeter'' :* '''amonnagara''' = ''calorimetric'' :* '''amonnagen''' = ''calorimetry'' :* '''amonuka''' = ''calorie-free, zero-cal'' :* '''amos''' = ''first floor, rez-de-chauss&eacute;e'' :* '''amovarea myel''' = ''bakelite'' :* '''ampyaon''' = ''heat wave, heatwave'' :* '''amro''' = ''billion, one billion'' :* '''amro-''' = ''giga'' :* '''amroa''' = ''billionth'' :* '''amroagbanak''' = ''gigabyte'' :* '''amroagvunak''' = ''gV, gigavolt'' :* '''amroagwunak''' = ''gW, gigawatt'' :* '''amroahezunak''' = ''gH, gigahertz'' :* '''amrobanak''' = ''gigabit'' :* '''amron''' = ''billion-fold'' :* '''amrona''' = ''billion-fold'' :* '''amroni''' = ''billions'' :* '''amrot''' = ''billionaire'' :* '''amroyn''' = ''billionth'' :* '''amroynsonak''' = ''nanosecond'' :* '''amroyt''' = ''billionairess'' :* '''amrozyus''' = ''gigacycle'' :* '''amsaxen''' = ''forging'' :* '''amsaxer''' = ''to forge'' :* '''amsaxut''' = ''forger'' :* '''amsaxwa''' = ''forged'' :* '''amsazula''' = ''thermoplastic'' :* '''amsen''' = ''heating up'' :* '''amser''' = ''to become hot, to get hot, to get hotter, to heat up'' :* '''amseuxea''' = ''sizzling'' :* '''amseuxen''' = ''sizzling'' :* '''amseuxer''' = ''to sizzle'' :* '''amsin''' = ''thermal image'' :* '''amsinxar''' = ''thermal camera, thermographer'' :* '''amsinxen''' = ''thermal imaging'' :* '''amsyeb''' = ''thermos jar, thermos jug'' :* '''amtiibila''' = ''exothermic, hot-blooded, hotblooded'' :* '''amtoj''' = ''heat death'' :* '''amtolmekuer''' = ''to mull'' :* '''amtomekuwa''' = ''mulled'' :* '''amtosea''' = ''thermosensitive'' :* '''amtun''' = ''thermodynamics'' :* '''amuk''' = ''augite'' :* '''amul''' = ''element'' :* '''amula''' = ''elemental, elementary'' :* '''amulay''' = ''elementally'' :* '''amumxen''' = ''parching, shriveling'' :* '''amumxer''' = ''to parch, to shrivel'' :* '''amumxwa''' = ''parched, shriveled'' :* '''amur''' = ''earth's moon'' :* '''amur meg''' = ''moon rock'' :* '''amur noog''' = ''moon phase'' :* '''amura jab''' = ''lunar year'' :* '''amura kyepur''' = ''lunar rover'' :* '''amura''' = ''lunar'' :* '''amura noog''' = ''lunar phase'' :* '''amura pur''' = ''lunar vehicle'' :* '''amura purog''' = ''lunar buggy'' :* '''amurifkyoxwa''' = ''moonstruck'' :* '''amurman''' = ''moonlight'' :* '''amurmaneben''' = ''lunar eclipse'' :* '''amurmanx''' = ''moonshine'' :* '''amurmanxwa''' = ''moonlit, moony'' :* '''amurnaud''' = ''moonbeam'' :* '''amuroya''' = ''moonless'' :* '''amurpuen''' = ''moon fall, moon landing'' :* '''amurpuer''' = ''to land on the moon'' :* '''amurpyax''' = ''moonshot'' :* '''amurtaib''' = ''lunate bone'' :* '''amurteaba''' = ''moon-eyed'' :* '''amurteas''' = ''moonscape'' :* '''amurtix''' = ''selenography'' :* '''amurtixut''' = ''selenographer'' :* '''amurtyop''' = ''moonwalk'' :* '''amurtyoper''' = ''to moonwalk'' :* '''amuruka''' = ''moonless'' :* '''amuryap''' = ''moonrise'' :* '''amuryena''' = ''moony'' </div> = amuryop -- anaxwa = <div style="background: lightyellow; border: solid blue 2px; {{column-count|2}};{{column-rule|2px solid blue}};font-size:smaller;";> :* '''amuryop''' = ''moonset'' :* '''amvabam''' = ''greenhouse, hothouse'' :* '''amvaka''' = ''heatproof'' :* '''amvobam''' = ''hothouse'' :* '''amvyabxar''' = ''thermostat'' :* '''amvyabxara''' = ''thermostatic'' :* '''amvyabxaray''' = ''thermostatically'' :* '''amvyixar''' = ''pasteurizer'' :* '''amvyixen''' = ''pasteurization'' :* '''amvyixer''' = ''to pasteurize'' :* '''amvyixwa''' = ''pasteurized'' :* '''amxar''' = ''heater, plate-warmer'' :* '''amxen''' = ''browning, heating, warming'' :* '''amxena goblen''' = ''thermal cutting'' :* '''amxer''' = ''to brown, to heat up, to warm'' :* '''amxir''' = ''heating unit, radiator'' :* '''amxur''' = ''radiator'' :* '''amxwa''' = ''heated'' :* '''amxway''' = ''heatedly'' :* '''amyanxen''' = ''welding'' :* '''amyanxer''' = ''to weld'' :* '''amyanxut''' = ''welder'' :* '''amyanxwa''' = ''welded'' :* '''amyonaxen''' = ''thermal insulation'' :* '''amzemula''' = ''thermonuclear'' :* '''amzeybelar''' = ''heat exchanger'' :* '''amzyaxen''' = ''thermal expansion'' :* '''-an''' = ''-hood, -ity, -ness, -tude'' :* '''an-''' = ''mono-, one-, single-, uni-'' :* '''an''' = ''unity'' :* '''ana gedsiyn''' = ''single quotation mark, single quote'' :* '''ana''' = ''only, single, sole, solitary, unique'' :* '''anab''' = ''first rank, first row'' :* '''anaba''' = ''first rank, first row, first-ranking, first-row, paramount, premier, top'' :* '''anaban''' = ''paramountcy'' :* '''anabser''' = ''to rank first'' :* '''anabwa''' = ''first-ranked, number-one-ranking, top-ranked'' :* '''anabwer''' = ''to be ranked first'' :* '''anabxen''' = ''ranking first'' :* '''anabxer''' = ''to rank first'' :* '''anadab''' = ''dictatorship'' :* '''anadaba''' = ''dictatorial'' :* '''anadabut''' = ''dictator'' :* '''anadabyenay''' = ''dictatorially'' :* '''anadeb''' = ''dictator'' :* '''anadeber''' = ''to dictate'' :* '''anadebwa''' = ''dictated'' :* '''anadebyena''' = ''dictatorial'' :* '''anag''' = ''gauge'' :* '''anaga''' = ''one-dimensional'' :* '''anaggona''' = ''monolithic'' :* '''anan''' = ''singleness, singularity, unison, unity'' :* '''ananay''' = ''uniformly'' :* '''anaota''' = ''alone, solitary'' :* '''anaota yov''' = ''sole guilt'' :* '''anaotan''' = ''aloneness, solitariness'' :* '''anaotdab''' = ''autocracy, dictator'' :* '''anaotdaba''' = ''autocratic, dictatorial'' :* '''anaotdeb''' = ''autocrat, dictator'' :* '''anaotdeber''' = ''to rule as a dictator, to rule as an autocrat'' :* '''anap''' = ''primacy'' :* '''anapa''' = ''first-order, primary, prime'' :* '''anapan''' = ''primacy'' :* '''anapas''' = ''first-of-its-kind'' :* '''anapat''' = ''chief, primate'' :* '''anapay''' = ''firstly, primarily'' :* '''anapelt''' = ''body louse'' :* '''anapen''' = ''going first, precedence'' :* '''anaper''' = ''to go first, to precede'' :* '''anaput''' = ''person going first'' :* '''anapxer''' = ''to put in first place'' :* '''anasauna''' = ''unique'' :* '''anasaunan''' = ''uniqueness'' :* '''anasaunay''' = ''uniquely'' :* '''anaxea''' = ''unifying'' :* '''anaxen''' = ''unification'' :* '''anaxer''' = ''to unify'' :* '''anaxus''' = ''unifier'' :* '''anaxut''' = ''unifier'' :* '''anaxwa''' = ''unified'' </div> = anay -- anlaxea = <div style="background: lightyellow; border: solid blue 2px; {{column-count|2}};{{column-rule|2px solid blue}};font-size:smaller;";> :* '''anay''' = ''merely, only, solely, uniquely'' :* '''anayga''' = ''one-dimensional'' :* '''anbyexwa ro''' = ''flapped r'' :* '''andab''' = ''autocracy'' :* '''andaba''' = ''autocratic'' :* '''andabay''' = ''autocratically'' :* '''andalus duaz''' = ''flamenco'' :* '''andalzeyna''' = ''monolingual'' :* '''andalzeynut''' = ''monoglot'' :* '''andara''' = ''monolingual'' :* '''andayena''' = ''unilingual'' :* '''andeb''' = ''autocrat, despot'' :* '''andeba''' = ''despotic'' :* '''andebay''' = ''despotically'' :* '''andebin''' = ''despotism'' :* '''andebyena''' = ''despotic'' :* '''andeuza''' = ''monophonic'' :* '''andovyabima''' = ''unicameral'' :* '''andrayefdyes''' = ''chapbook'' :* '''andresiyn''' = ''monograph'' :* '''andresiyna''' = ''monographic, uniliteral'' :* '''andresiynyana''' = ''monoalphabetic'' :* '''andungon''' = ''monosyllable'' :* '''andungona''' = ''monosyllabic'' :* '''anduznada''' = ''monophonic'' :* '''aneg''' = ''first level'' :* '''anega''' = ''first level, first-level'' :* '''anes''' = ''singlet, unit'' :* '''anesa''' = ''unitary'' :* '''anfayeba''' = ''unifoliate'' :* '''anfuba''' = ''single-branch, uniramous'' :* '''angelsaxuna''' = ''monoclonal'' :* '''angon''' = ''monomer'' :* '''angona''' = ''integral, uni-partite, unipartite'' :* '''angona milyep tiuyf''' = ''monokini'' :* '''angonan''' = ''integrality'' :* '''angonxen''' = ''integration'' :* '''angonxer''' = ''to integrate'' :* '''angonxwa''' = ''integrated'' :* '''angonxwa yuzmep drof''' = ''integrated circuit'' :* '''angostaf''' = ''bodysuit'' :* '''Anidam''' = ''Andorra'' :* '''Anidama''' = ''Andorran'' :* '''Anidamat''' = ''Andorran, inhabitant of Andorra'' :* '''Anider''' = ''to say in Aragonese'' :* '''Aniged''' = ''Anglo-Saxon'' :* '''Anigeda''' = ''Anglo-Saxon'' :* '''anin''' = ''monism'' :* '''anina''' = ''monist'' :* '''aninut''' = ''monist'' :* '''anipelt''' = ''bed bug'' :* '''Anitom''' = ''Netherlands Antilles'' :* '''Anitoma''' = ''of the Netherlands Antilles'' :* '''Anitomat''' = ''inhabitant of Netherlands Antilles'' :* '''aniznad''' = ''one-way, single direction'' :* '''aniznada''' = ''one-way'' :* '''anizona domep''' = ''one way street, one-way street'' :* '''anizona drurunes''' = ''one way ticket'' :* '''anizona''' = ''one-way, uni-directional, unidirectional'' :* '''anizonan''' = ''unidirectionality'' :* '''anizonay''' = ''uni-directionally, unidirectionally'' :* '''anjuba''' = ''one-day'' :* '''ankh''' = ''ankh'' :* '''ankuna''' = ''one-sided, single-sided, unilateral'' :* '''ankunada''' = ''single-edged'' :* '''ankunan''' = ''unilaterality'' :* '''ankunay''' = ''unilaterally'' :* '''ankunin''' = ''unilateralism'' :* '''ankyiba duznod''' = ''crotchet'' :* '''anla''' = ''alone, isolate, lone, sole, solitary'' :* '''anlabesut''' = ''eremite'' :* '''anlafxen''' = ''abandonment'' :* '''anlafxer''' = ''to abandon, to leave alone'' :* '''anlafxwa''' = ''abandoned, left alone'' :* '''anlan''' = ''aloneness, solitude'' :* '''anlas''' = ''isolate'' :* '''anlasen''' = ''going it alone, isolation'' :* '''anlaser''' = ''to go it alone, to isolate oneself, to stay alone'' :* '''anlat''' = ''hermit, loner'' :* '''anlaxea''' = ''isolating'' </div> = anlaxen -- anotdaler = <div style="background: lightyellow; border: solid blue 2px; {{column-count|2}};{{column-rule|2px solid blue}};font-size:smaller;";> :* '''anlaxen''' = ''isolating, isolation'' :* '''anlaxer''' = ''to isolate'' :* '''anlaxwa''' = ''forlorn, hermetic, hermetical, isolated'' :* '''anlaxway''' = ''forlornly, hermetically'' :* '''anlay''' = ''solely'' :* '''anmeg''' = ''monolith'' :* '''anmega''' = ''monolithic'' :* '''anmeip''' = ''single lane'' :* '''anmeipa''' = ''single-laned'' :* '''anmepa''' = ''one-way, simplex'' :* '''anmepa pop''' = ''one-way trip'' :* '''anmepnyeb''' = ''disposable container'' :* '''anmernoda''' = ''unipolar'' :* '''anmimufa mimpar''' = ''sloop'' :* '''anmimufa''' = ''single-masted'' :* '''anmosa''' = ''single-story'' :* '''anmostam''' = ''rambler, ranch home'' :* '''anmoysa''' = ''single-layer, single-layered'' :* '''annaad bixpur''' = ''monorail train'' :* '''annaad''' = ''monorail'' :* '''annaada''' = ''monorail'' :* '''annada''' = ''inline, single-file, unilinear'' :* '''annadan''' = ''unilinearity'' :* '''annaday''' = ''in a single line, single-file'' :* '''annadeuz''' = ''monody'' :* '''annadeuza''' = ''monodic, monodical'' :* '''annadeuzut''' = ''monodist'' :* '''annadser''' = ''to line up'' :* '''annaeda''' = ''single-lane, single-track'' :* '''annaga''' = ''first-ranking, one-dimensional'' :* '''annayga''' = ''uni-dimensional'' :* '''annaza''' = ''monovalent, univalent'' :* '''annazea''' = ''monovalent'' :* '''anneda''' = ''monoplane, uniplanar'' :* '''annega''' = ''single-level'' :* '''annigxer''' = ''to monospace'' :* '''annigxwa''' = ''monospaced'' :* '''annivartyen''' = ''tatting'' :* '''annod siyn''' = ''period'' :* '''annoga yexnad''' = ''primary line of business'' :* '''annooga''' = ''uniphase'' :* '''annuma''' = ''unicellular'' :* '''annumpet''' = ''amoeba'' :* '''annumpeta''' = ''amoebic'' :* '''annumveeb''' = ''spore'' :* '''annumxer''' = ''to triturate'' :* '''annunut''' = ''monopolizer'' :* '''annunutina''' = ''monopolist, monopolistic'' :* '''annunutinut''' = ''monopolist'' :* '''annunutyan''' = ''monopoly'' :* '''annunutyanxea''' = ''monopolizing'' :* '''annunutyanxen''' = ''monopolization, monopolizing'' :* '''annunutyanxer''' = ''to monopolize'' :* '''annunutyanxut''' = ''monopolizer'' :* '''annunutyanxwa''' = ''monopolized'' :* '''anoga''' = ''first-degree, primary, prime'' :* '''anoga nyun''' = ''primary product'' :* '''anoga ojduut''' = ''prime lender'' :* '''anoga sag''' = ''prime number'' :* '''anoga tes''' = ''primary meaning'' :* '''anoga tesagan''' = ''prime importance'' :* '''anoga tuxen''' = ''primary education'' :* '''anoga tyun''' = ''primary concept'' :* '''anoga volz''' = ''primary color'' :* '''anoga xuun''' = ''primary factor'' :* '''anoga zaomeryuznad''' = ''prime meridian'' :* '''anogaa erdunjob''' = ''primary tense'' :* '''anogaa kyid''' = ''primary stress'' :* '''anogaa tes''' = ''primary sense'' :* '''anogaa vyesag''' = ''prime rate'' :* '''anogan''' = ''primacy, primeness'' :* '''anogay''' = ''primarily'' :* '''anolkiyd''' = ''monoxide'' :* '''anoog''' = ''incipience'' :* '''anot''' = ''individual'' :* '''anota''' = ''alone, individual, sole, solitary'' :* '''anotan''' = ''aloneness, individuality, solitude'' :* '''anotay''' = ''solely, solitarily'' :* '''anotdal''' = ''monologue, soliloquy'' :* '''anotdaler''' = ''to soliloquize'' </div> = anotdalut -- antadin = <div style="background: lightyellow; border: solid blue 2px; {{column-count|2}};{{column-rule|2px solid blue}};font-size:smaller;";> :* '''anotdalut''' = ''monologist'' :* '''anotser''' = ''to go into solitude, to isolate oneself'' :* '''anotxea''' = ''isolating'' :* '''anotxen''' = ''isolating, isolation'' :* '''anotxer''' = ''to isolate'' :* '''anotxwa''' = ''isolated'' :* '''anotyaan''' = ''collectivity'' :* '''anotyaana''' = ''collective'' :* '''anotyaanxen''' = ''collectivization'' :* '''anotyaanxer''' = ''to collectivize'' :* '''anotyaanxwa''' = ''collectivized'' :* '''anotyan''' = ''group'' :* '''anotyanser''' = ''to group'' :* '''anotyanxen''' = ''grouping'' :* '''anotyanxer''' = ''to group'' :* '''anotyanxwa''' = ''grouped'' :* '''anotyena''' = ''solitary'' :* '''anpatuba''' = ''single-wing, single-winged'' :* '''anpatubeon''' = ''monoplane'' :* '''anpopurexut''' = ''cabdriver'' :* '''anpopurut''' = ''cabbie, cabby'' :* '''ansa''' = ''lone, single, singular, sole'' :* '''ansaga''' = ''singular'' :* '''ansagan''' = ''singularity'' :* '''ansaguna''' = ''single-digit'' :* '''ansagxen''' = ''singularization'' :* '''ansagxer''' = ''to singularize'' :* '''ansagxwa''' = ''singularized'' :* '''ansana''' = ''monomorphic, singular, uniform'' :* '''ansanan''' = ''uniformity'' :* '''ansanay''' = ''singularly, uniformly'' :* '''ansandea''' = ''specifying'' :* '''ansantof''' = ''uniform'' :* '''ansantofwa''' = ''uniformed'' :* '''ansanxen''' = ''making uniform, singularization'' :* '''ansanxer''' = ''to make uniform, to uniformize'' :* '''ansanxwa''' = ''uniformized'' :* '''ansaser''' = ''to become simple, to become single'' :* '''ansaun''' = ''species'' :* '''ansauna kyin''' = ''specific weight'' :* '''ansauna''' = ''specific'' :* '''ansaunan''' = ''specificity'' :* '''ansaunay''' = ''specifically'' :* '''ansaunden''' = ''specification, specifying'' :* '''ansaunder''' = ''to specify'' :* '''ansaundwa''' = ''specified'' :* '''ansaundyafwa''' = ''specifiable'' :* '''ansay''' = ''singly'' :* '''anseuz''' = ''singsong'' :* '''anseuza''' = ''monotone'' :* '''anseuzan''' = ''monotonicity, monotony'' :* '''anseuzay''' = ''monotonically, monotonously'' :* '''anseuzaya''' = ''monotonous'' :* '''anseuzayan''' = ''monotonousness'' :* '''anseuzika''' = ''monotonous'' :* '''anseuzikan''' = ''monotonousness'' :* '''anseuzikay''' = ''monotonously'' :* '''anseuzun''' = ''monophthong'' :* '''ansuan''' = ''unit'' :* '''ansuana''' = ''non-binary, unary, unitary'' :* '''ansuantooda''' = ''gender non-binary'' :* '''ansuantoodan''' = ''gender non-binariness'' :* '''ansun''' = ''singleton'' :* '''ansuna''' = ''simple, simplex'' :* '''ansunan''' = ''simpleness, simplicity'' :* '''ansunay''' = ''simply'' :* '''ansunser''' = ''to simplify'' :* '''ansunxen''' = ''simplification'' :* '''ansunxer''' = ''to simplify'' :* '''ansunxus''' = ''simplifier'' :* '''ansunxut''' = ''simplifier'' :* '''ansunxwa''' = ''simplified'' :* '''ansunxyofwa''' = ''irreducible'' :* '''ansunxyofway''' = ''irreducibly'' :* '''ansunyena''' = ''haploid'' :* '''anta''' = ''singular'' :* '''antada''' = ''monogamous'' :* '''antadan''' = ''monogamy'' :* '''antaday''' = ''monogamously'' :* '''antadin''' = ''monogamy'' </div> = antadina -- anyana dyuen = <div style="background: lightyellow; border: solid blue 2px; {{column-count|2}};{{column-rule|2px solid blue}};font-size:smaller;";> :* '''antadina''' = ''monogamist'' :* '''antadinut''' = ''monogamist'' :* '''antaf''' = ''singlet'' :* '''antan''' = ''singularity'' :* '''antanin''' = ''singularism'' :* '''antanina''' = ''singularist'' :* '''antaninut''' = ''singularist'' :* '''antayuba''' = ''uniglandular'' :* '''anteaba''' = ''monocular, one-eyed'' :* '''anteabar''' = ''monocle'' :* '''anteabarwa''' = ''monocled'' :* '''anteabfyet''' = ''Cyclops'' :* '''anteda''' = ''uniparental'' :* '''anteeba''' = ''monaural'' :* '''antepbunat''' = ''savant'' :* '''antepkyoxwa''' = ''monomaniacal'' :* '''antepkyoxwan''' = ''monomania'' :* '''antepkyoxwat''' = ''monomaniac'' :* '''antepyena''' = ''obstinate, single-minded'' :* '''antepyenan''' = ''obstinacy, single-mindedness'' :* '''antepyenay''' = ''obstinately'' :* '''anteuza''' = ''unanimous'' :* '''anteuzan''' = ''unanimity'' :* '''anteuzay''' = ''unanimously'' :* '''anteuzuna''' = ''monophonic'' :* '''antexyen''' = ''single-mindedness'' :* '''antexyena''' = ''single-minded'' :* '''antexyenan''' = ''single-mindedness'' :* '''anteyuba''' = ''one-horned'' :* '''anteyubfyet''' = ''unicorn'' :* '''antima''' = ''one-roomed, unicameral'' :* '''antima tomaun''' = ''efficiency apartment, studio apartment, studio flat'' :* '''antin''' = ''isolationism'' :* '''antina''' = ''isolationist, reclusive'' :* '''antinut''' = ''anchorite, isolationist, recluse'' :* '''antixa''' = ''geeky'' :* '''antixut''' = ''geek'' :* '''antoba mimpur''' = ''skiff'' :* '''antoba sum''' = ''single bed'' :* '''antobnad''' = ''single file'' :* '''antooba''' = ''unisex, unisexual'' :* '''antooda''' = ''ethnically pure, racially pure'' :* '''antoodan''' = ''racially homogeneous'' :* '''antosdrezun''' = ''sonnet'' :* '''antotin''' = ''monotheism'' :* '''antotina''' = ''monotheist, monotheistic'' :* '''antotinut''' = ''monotheist'' :* '''antuba''' = ''one-armed'' :* '''antubat''' = ''one-armed person'' :* '''antuyaba''' = ''single-handed'' :* '''antuyabay''' = ''single-handedly'' :* '''antyena''' = ''solitary'' :* '''antyenan''' = ''solitariness'' :* '''antyoba''' = ''one-legged'' :* '''antyobat''' = ''one-legged person'' :* '''anvabmem''' = ''ranch'' :* '''anvamakmul''' = ''monocation'' :* '''anveeybfayebus''' = ''monocotyledon'' :* '''anvolza''' = ''monochromatic, monochrome, of one color, single-colored'' :* '''anvolzan''' = ''monochromaticity'' :* '''anvomakmul''' = ''monoanion'' :* '''anvosayeba''' = ''unipetalous'' :* '''anx''' = ''union'' :* '''anxa''' = ''joint'' :* '''anxaga''' = ''onetime'' :* '''anxea''' = ''uniting'' :* '''anxen''' = ''conflation, joining, uniting'' :* '''anxer''' = ''to conflate, to join, to unite'' :* '''anxina''' = ''unitarian'' :* '''anxun''' = ''union'' :* '''Anxwa Doebi bi Ayanmel''' = ''United States of America'' :* '''Anxwa Doobi''' = ''United Nations'' :* '''anxwa''' = ''joined, united'' :* '''anxwan''' = ''unity'' :* '''anxway''' = ''unitedly'' :* '''anya nod''' = ''whole note'' :* '''anyan''' = ''batch, chain, series, set'' :* '''anyan bi kyesi''' = ''chain of events, series of events'' :* '''anyan yuzmep''' = ''series circuit'' :* '''anyana dyuen''' = ''roll call'' </div> = anyana -- aomuf = <div style="background: lightyellow; border: solid blue 2px; {{column-count|2}};{{column-rule|2px solid blue}};font-size:smaller;";> :* '''anyana''' = ''serial'' :* '''anyana tojbut''' = ''serial killer'' :* '''anyanan''' = ''seriality'' :* '''anyanay''' = ''serially'' :* '''anyanes''' = ''chain link, item in a series, link'' :* '''anyanser''' = ''to sequence, to string together'' :* '''anyanuin''' = ''set theory'' :* '''anyanxar''' = ''sequencer'' :* '''anyanxea''' = ''serializing'' :* '''anyanxen''' = ''chaining, concatenation, sequencing, serialization, serializing'' :* '''anyanxer''' = ''to chain together, to concatenate, to sequence, to serialize, to string together'' :* '''anyanxwa''' = ''batched, chained together, concatenated, sequenced, serialized, strung together'' :* '''anyanxyafwa''' = ''serializable'' :* '''anyanxyafwan''' = ''serializability'' :* '''anyap''' = ''standard'' :* '''anyapa''' = ''standard'' :* '''anyapuka''' = ''unprincipled'' :* '''anyapxen''' = ''standardization'' :* '''anyapxer''' = ''to standardize'' :* '''anyapxwa''' = ''standardized'' :* '''anyen-''' = ''idio-'' :* '''anyen''' = ''quirk, simplex'' :* '''anyena axlyen''' = ''mannerism'' :* '''anyena''' = ''idiosyncratic, peculiar, quirky, simple, simplex, simply, whimsical'' :* '''anyenan''' = ''idiosyncrasy, peculiarity, quirkiness, simplicity, whimsicality'' :* '''anyenas''' = ''idiosyncrasy, peculiarity, something peculiar'' :* '''anyenay''' = ''idiosyncratically, peculiarly, whimsically'' :* '''anyenboka''' = ''idiopathic'' :* '''anyendal dundyes''' = ''idioticon'' :* '''anyendal''' = ''idioglossia, lingo, slang'' :* '''anyendalyena''' = ''slangy'' :* '''anyendras''' = ''idiograph, signature, trademark'' :* '''anyendun''' = ''byword'' :* '''anyendyen''' = ''idiom, idiomatic expression, idiotism, locution'' :* '''anyendyena''' = ''idiomatic, locutionary'' :* '''anyendyenay''' = ''idiomatically'' :* '''anyenfin''' = ''attribute'' :* '''anyensana''' = ''idiomorphic'' :* '''anyentepa''' = ''idiotic'' :* '''anyentepan''' = ''idiocy'' :* '''anyentepat''' = ''idiot'' :* '''anyentepay''' = ''idiotically'' :* '''anyenvolza''' = ''idiochromatic'' :* '''anyixa''' = ''throwaway'' :* '''anyof''' = ''cellophane'' :* '''anyuijara''' = ''univalve'' :* '''anzeuza''' = ''monotonic'' :* '''anzyemufa''' = ''uniaxial'' :* '''anzyisa''' = ''single-layered'' :* '''anzyuk belar''' = ''wheel barrow'' :* '''anzyukkyisbelar''' = ''wheelbarrow'' :* '''anzyukkyispar''' = ''wheelbarrow'' :* '''anzyukpar''' = ''monocycle, unicycle'' :* '''anzyukparut''' = ''unicyclist'' :* '''ao-''' = ''up-down, vertical, vertically, y-axis'' :* '''aob-''' = ''on and off, on-and-off'' :* '''aobembway''' = ''topsy-turvy, topsyturvy'' :* '''aobemper''' = ''to turn upside down'' :* '''aobempya''' = ''reversed, upside down'' :* '''aoben''' = ''taking on and off'' :* '''aober''' = ''to take on and off'' :* '''aog''' = ''big or small'' :* '''aogyonxar''' = ''winnower'' :* '''aogyonxer''' = ''to winnow'' :* '''aoksag''' = ''score, tally'' :* '''aoksagden''' = ''keeping score, tallying'' :* '''aoksagder''' = ''to keep score, to tally'' :* '''aoksagdraf''' = ''scorecard'' :* '''aoksagdren''' = ''scoring'' :* '''aoksagdrof''' = ''scoreboard'' :* '''aoksagdrut''' = ''scorekeeper, scorer'' :* '''aoksagdwa''' = ''scored, tallied'' :* '''aoksagoya''' = ''scoreless'' :* '''aoksaguka''' = ''scoreless'' :* '''aoksaguka uj''' = ''shutout'' :* '''aoksagut''' = ''tallier'' :* '''aoksagwa''' = ''scored, tallied'' :* '''aoma''' = ''hot-and-cold'' :* '''aombok''' = ''ague'' :* '''aomuf''' = ''ballister, balluster, baluster, broach, column, stanchion, vertical beam'' </div> = aomufa -- aotnyanogxwa = <div style="background: lightyellow; border: solid blue 2px; {{column-count|2}};{{column-rule|2px solid blue}};font-size:smaller;";> :* '''aomufa''' = ''columnar'' :* '''aomufsib''' = ''fust'' :* '''aomufsyob''' = ''plinth'' :* '''aomuftib''' = ''scape'' :* '''aomufxen''' = ''columnarization, columnizing'' :* '''aomufxer''' = ''to columnarize, to columnize'' :* '''aomufxwa''' = ''columnarized, columnized'' :* '''aomufyan''' = ''balustrade, colonnade, stanchion'' :* '''aomufyanxer''' = ''to stanchion'' :* '''aon''' = ''entity, singleton, unit'' :* '''aona gedsiyn''' = ''single quote'' :* '''aona''' = ''single, unitary'' :* '''aonab bi dreniv aonad''' = ''column of text'' :* '''aonab bi mov''' = ''column of smoke'' :* '''aonab''' = ''column, y-axis'' :* '''aonaba''' = ''columnar'' :* '''aonabdun ifek''' = ''crossword'' :* '''aonabxen''' = ''columnarization, columnizing'' :* '''aonabxer''' = ''to columnarize, to columnize'' :* '''aonabxwa''' = ''columnarized, columnized'' :* '''aonabyan''' = ''columnade'' :* '''aonad''' = ''vertical line'' :* '''aonada''' = ''sheer, vertical'' :* '''aonadan''' = ''verticality, verticalness'' :* '''aonaday''' = ''vertically'' :* '''aonadsen''' = ''sit-up, situp'' :* '''aonadser''' = ''to become vertical'' :* '''aonadxer''' = ''to make vertical'' :* '''aonfaosyeb''' = ''tun'' :* '''aonuyeay''' = ''forcefully'' :* '''aonyan bi duni''' = ''list of words'' :* '''aonyan''' = ''list, vertical stack'' :* '''aonyanxer''' = ''to list'' :* '''aonyanxwa''' = ''listed'' :* '''aop-''' = ''on and off, on-and-off'' :* '''aopat''' = ''capon'' :* '''aopen''' = ''getting on and off'' :* '''aopen zyined''' = ''running board'' :* '''aoper''' = ''to get on and off'' :* '''aopet''' = ''gelding'' :* '''aopfaof''' = ''gangplank'' :* '''aopuys dompur''' = ''hop-on hop-off bus'' :* '''aopuyser''' = ''to hop in-and-out'' :* '''aosag''' = ''ordinate'' :* '''aot''' = ''guy, individual, person'' :* '''aota avdun''' = ''personal pronoun'' :* '''aota dyun''' = ''person's name, proper name'' :* '''aota''' = ''individual, personal, proper'' :* '''aota sundyun''' = ''proper noun'' :* '''aota syuni''' = ''personal effects'' :* '''aotan''' = ''individuality, personality, personhood, propriety'' :* '''aotay''' = ''individually, personally, privately'' :* '''aotdalzeyn''' = ''ideolect'' :* '''aotdezea''' = ''impersonating'' :* '''aotdezen''' = ''impersonating, impersonation'' :* '''aotdezer''' = ''to impersonate'' :* '''aotdezut''' = ''impersonator'' :* '''aotdezwa''' = ''impersonated'' :* '''aotduzekar''' = ''walkman'' :* '''aotem''' = ''property'' :* '''aotglal''' = ''mob'' :* '''aotglalxen''' = ''mobbing'' :* '''aotglalxwa''' = ''mobbed'' :* '''aotina''' = ''individualistic'' :* '''aotinay''' = ''individualistically'' :* '''aotinut''' = ''individualist'' :* '''aotmempur''' = ''auto'' :* '''aotnad''' = ''cortege, line of people, queue, retinue'' :* '''aotnadser''' = ''to queue up'' :* '''aotnadxen''' = ''queuing up'' :* '''aotnadxwa''' = ''queued up'' :* '''aotnyan''' = ''crowd, ruck'' :* '''aotnyanag''' = ''swarm, troop'' :* '''aotnyanagea''' = ''swarming'' :* '''aotnyanagen''' = ''swarming'' :* '''aotnyanager''' = ''to swarm'' :* '''aotnyanog''' = ''band, contingent, coterie, crew, gang, squad'' :* '''aotnyanogsen''' = ''banding together'' :* '''aotnyanogser''' = ''to band together'' :* '''aotnyanogxwa''' = ''banded together'' </div> = aotnyanser -- apad = <div style="background: lightyellow; border: solid blue 2px; {{column-count|2}};{{column-rule|2px solid blue}};font-size:smaller;";> :* '''aotnyanser''' = ''to crowd'' :* '''aotnyantojben''' = ''slaughter, slaughtering'' :* '''aotnyantojber''' = ''to slaughter'' :* '''aotnyantojbut''' = ''slaughterer'' :* '''aotnyantojbwa''' = ''slaughtered'' :* '''aotnyanxen''' = ''crowding'' :* '''aotnyanxer''' = ''to crowd'' :* '''aotnyanxwa''' = ''crowded'' :* '''aotnyanyufpir''' = ''stampede'' :* '''aotnyanyufpiren''' = ''stampeding'' :* '''aotnyanyufpirer''' = ''to stampede'' :* '''aotpur''' = ''auto, automobile'' :* '''aotpura''' = ''automotive'' :* '''aotput''' = ''personal car'' :* '''aotsiyn''' = ''trait'' :* '''aotsiyndun''' = ''byword'' :* '''aotsunyan''' = ''kit'' :* '''aottuunyan''' = ''profile'' :* '''aottuunyandrawa''' = ''profiled'' :* '''aottuunyandren''' = ''profiling'' :* '''aottuunyandrer''' = ''to profile'' :* '''aotuea''' = ''personifying'' :* '''aotuen''' = ''personification, personifying'' :* '''aotuer''' = ''to personify'' :* '''aotuwa''' = ''personified'' :* '''aotxea''' = ''embodying, individualizing, personalizing'' :* '''aotxen''' = ''embodiment, embodying, individualizing, individuation, personalization, personalizing'' :* '''aotxer''' = ''to embody, to individualize, to individuate, to personalize'' :* '''aotxwa''' = ''embodied, individualized, personalized'' :* '''aotyan gadwas''' = ''catchword, jingle, shibboleth'' :* '''aotyan''' = ''group, troop'' :* '''aotyana''' = ''group-related'' :* '''aotyandeb''' = ''ringleader, ringmaster'' :* '''aotyandeuz''' = ''chant'' :* '''aotyandeuzen''' = ''chanting'' :* '''aotyanebtabifek''' = ''orgy'' :* '''aotyanebtabifeka''' = ''orgiastic'' :* '''aotyanin''' = ''groupism'' :* '''aotyanina''' = ''groupist'' :* '''aotyaninut''' = ''groupy'' :* '''aotyanog''' = ''band'' :* '''aotyanog bi twedi''' = ''band of brothers'' :* '''aotyanser''' = ''to assemble, to coalesce, to group'' :* '''aotyantex''' = ''brainstorm'' :* '''aotyantexen''' = ''brainstorming'' :* '''aotyanut''' = ''groupie'' :* '''aotyanxea''' = ''assembling, coalescent, grouping'' :* '''aotyanxen''' = ''assembly, coalescence, coalescing, grouping'' :* '''aotyanxer''' = ''to assemble, to group'' :* '''aotyanxwa''' = ''assembled, coalesced, grouped'' :* '''aotyanyex''' = ''group work'' :* '''aotyen''' = ''character, demeanor, personality, personalty'' :* '''aotyena''' = ''characteristic'' :* '''aotyenay''' = ''characteristically'' :* '''aotyuznad''' = ''cordon'' :* '''aovdal''' = ''argument, controversy'' :* '''aovdalen''' = ''arguing, argumentation'' :* '''aovdaler''' = ''to argue'' :* '''aovdalson''' = ''controversy'' :* '''aovdalut''' = ''arguer'' :* '''aovdalwa''' = ''argued, controversial'' :* '''aoyeb-''' = ''in-and-out'' :* '''aoyebar''' = ''piston'' :* '''aoyebel''' = ''import-export'' :* '''aoyebel nazyef''' = ''import-exports duty'' :* '''aoyebelen''' = ''import-export, importing and exporting'' :* '''aoyeben''' = ''insertion and extraction, taking in-and-out'' :* '''aoyeber''' = ''to insert and extract, to take in-and-out'' :* '''aoyebtiexen''' = ''breathing in and out, respiration, respiring'' :* '''aoyebtiexer''' = ''to breath in and out, to breathe in and out, to respire'' :* '''aoyebuxrar''' = ''pump'' :* '''aoyebwa''' = ''inserted and extracted, taken in-and-out'' :* '''aoyepaper''' = ''to fly in out out'' :* '''aoyepea''' = ''going in-and-out'' :* '''aoyepen''' = ''entering and exiting, going in-and-out'' :* '''aoyeper''' = ''to enter and exit, to go in-and-out'' :* '''aozanedmel''' = ''cliff'' :* '''aozasea''' = ''remittent'' :* '''ap''' = ''on, onto, sur-'' :* '''apad''' = ''cock-a-doodle-doo, crow'' </div> = apaden -- apedazer = <div style="background: lightyellow; border: solid blue 2px; {{column-count|2}};{{column-rule|2px solid blue}};font-size:smaller;";> :* '''apaden''' = ''crowing'' :* '''apader''' = ''to chanticleer, to cock-a-doodle-doo, to crow'' :* '''apaser''' = ''to move onto'' :* '''apat''' = ''cock'' :* '''apat gyagoblun''' = ''chicken steak'' :* '''apatalzabun''' = ''coxcomb'' :* '''apatam''' = ''chicken coop'' :* '''apatdopek''' = ''cockfight'' :* '''apatdopeken''' = ''cockfighting'' :* '''apateil''' = ''chicken soup'' :* '''apateusoz''' = ''cackle'' :* '''apateusozen''' = ''cackling'' :* '''apateusozer''' = ''to cackle'' :* '''apatiab''' = ''chicken breast'' :* '''apatog''' = ''chick'' :* '''apatol''' = ''chickenfeed'' :* '''apatub''' = ''chicken wing'' :* '''apatud''' = ''chick, chickadee'' :* '''apatuden''' = ''cheeping'' :* '''apatuder''' = ''to cheep'' :* '''apavol''' = ''savoy cabbage, white cabbage'' :* '''apaxar''' = ''wiper'' :* '''apaxen''' = ''wiping'' :* '''apaxer''' = ''to wipe'' :* '''apaxlar''' = ''broom, sweeper'' :* '''apaxlaren''' = ''sweeping, whisking'' :* '''apaxlarer''' = ''to sweep, to use a broom on'' :* '''apaxlarmuf''' = ''broomstick'' :* '''apaxlarwa''' = ''swept'' :* '''apaxlawa''' = ''swabbed, swept'' :* '''apaxlawem''' = ''swept area'' :* '''apaxlen''' = ''swabbing, sweeping'' :* '''apaxler''' = ''to swab, to sweep'' :* '''apaxlir''' = ''electric sweeper'' :* '''apaxlirer''' = ''to use an electric sweeper on'' :* '''apaxlof''' = ''swab, swabbing cloth'' :* '''apaxlofxen''' = ''fomentation, fomenting, swabbing'' :* '''apaxlofxer''' = ''to foment, to swab'' :* '''apaxlofxwa''' = ''fomented, swabbed'' :* '''apaxlun''' = ''sweep'' :* '''apaxluni''' = ''sweepings'' :* '''apaxlyea''' = ''sweeping, sweepy'' :* '''apaxlyeay''' = ''sweepingly'' :* '''apaxof''' = ''wipe, wiping cloth'' :* '''apaxrar''' = ''scrubber'' :* '''apaxraren''' = ''scrubbing'' :* '''apaxrarer''' = ''to scrub'' :* '''apaxrarwa''' = ''rubbed, scrubbed'' :* '''apaxrawa''' = ''rubbed, scrubbed'' :* '''apaxren''' = ''friction, rubbing, scrubbing'' :* '''apaxrer''' = ''to rub, to scrub'' :* '''apaxwa''' = ''wiped'' :* '''apayd''' = ''cluck'' :* '''apayden''' = ''clucking'' :* '''apayder''' = ''to cluck'' :* '''apayed''' = ''screech, squeak'' :* '''apayeden''' = ''screeching, squeaking'' :* '''apayeder''' = ''to screech, to squeak'' :* '''apayedyea''' = ''screechy, squeaky'' :* '''apayefyet''' = ''vampire'' :* '''apayet''' = ''bat'' :* '''apayetam''' = ''bat cave'' :* '''apayetan''' = ''cloud of bat'' :* '''apayetavyul''' = ''guano'' :* '''apayetavyulin''' = ''guanine'' :* '''apayetob''' = ''batman'' :* '''apayt''' = ''chicken, hen'' :* '''apaytam''' = ''chicken coop, henhouse'' :* '''apaytem''' = ''hennery'' :* '''apaytog''' = ''chicken, pullet'' :* '''apaytog tyob''' = ''drumstick'' :* '''apaytogden''' = ''pule'' :* '''apaytogder''' = ''to pule'' :* '''apaytud''' = ''chick'' :* '''apayxlar''' = ''besom'' :* '''apebixpar''' = ''buggy, carriage, coach, horse-and-buggy, stagecoach'' :* '''apebixparmep''' = ''carriageway'' :* '''apebixwa''' = ''horse-drawn'' :* '''aped''' = ''hinny, horselaugh, neigh, whinny'' :* '''apedazer''' = ''to tittup'' </div> = apeden -- apetag = <div style="background: lightyellow; border: solid blue 2px; {{column-count|2}};{{column-rule|2px solid blue}};font-size:smaller;";> :* '''apeden''' = ''neighing, whinny'' :* '''apeder''' = ''to hinny, to neigh, to whinny'' :* '''apeit''' = ''whale'' :* '''apelad''' = ''buzz, drone, thrum'' :* '''apeladar''' = ''buzzer'' :* '''apeladea''' = ''abuzz, buzzing'' :* '''apeladen''' = ''buzzing, droning'' :* '''apelader''' = ''to buzz, to drone, to thrum'' :* '''apeladyea''' = ''buzzy'' :* '''apelafil''' = ''mead'' :* '''apelat''' = ''bee, honey bee'' :* '''apelat vulob''' = ''stinger'' :* '''apelat vuloxun''' = ''bee sting'' :* '''apelatam''' = ''beehive, hive'' :* '''apelatbexlen''' = ''beekeeping'' :* '''apelatil''' = ''honey'' :* '''apelatil tumyan''' = ''honeycomb'' :* '''apelatil-elza''' = ''honey orange'' :* '''apelatiluwa''' = ''honeyed'' :* '''apelatilyena''' = ''dulcet'' :* '''apelatol''' = ''beebread'' :* '''apelatyan''' = ''swarm of bees'' :* '''apelatyanam''' = ''apiary'' :* '''apelatyansea''' = ''swarming'' :* '''apelatyanser''' = ''to swarm'' :* '''apelatyel''' = ''bee's wax, beeswax, wax'' :* '''apelatyelben''' = ''waxing'' :* '''apelatyelber''' = ''to wax'' :* '''apelatyelbwa''' = ''waxed'' :* '''apelatyexun''' = ''apiculture'' :* '''apelatyexuna''' = ''apicultural'' :* '''apelayt''' = ''queen bee'' :* '''apelpea''' = ''spidering'' :* '''apelpen''' = ''spidering'' :* '''apelper''' = ''to spider'' :* '''apelt''' = ''spider'' :* '''apeltneaf''' = ''cobweb, spider web, spider's web, spiderweb'' :* '''apeltnyan''' = ''swarm of bees'' :* '''apeltob''' = ''spiderman [fictional]'' :* '''apeltyena''' = ''arachnoid, spider-like, spidery'' :* '''apelwat''' = ''drone'' :* '''apem''' = ''embarkation area, embarkation point, embarkation site, embarkment zone, point of embarkation'' :* '''apen''' = ''boarding, embarkation, embarkment, getting on, mounting'' :* '''apenuf''' = ''rein'' :* '''apenufobwa''' = ''unreined'' :* '''apenufoya''' = ''reinless'' :* '''apenufuj''' = ''bit'' :* '''apenufuka''' = ''reinless'' :* '''apenufwa''' = ''reined'' :* '''apenufyan''' = ''bridle'' :* '''apenufyanober''' = ''to unbridle'' :* '''apenufyanobwa''' = ''unbridled'' :* '''apenufyanxer''' = ''to bridle'' :* '''apenufyanxwa''' = ''bridled'' :* '''apenufyenxen''' = ''bridling'' :* '''apepea''' = ''galloping'' :* '''apepen''' = ''galloping'' :* '''apeper''' = ''to gallop'' :* '''apepoper''' = ''to gallivant'' :* '''apepuxen''' = ''bucking'' :* '''apepuxer''' = ''to buck'' :* '''apepuysen''' = ''prancing'' :* '''apepuyser''' = ''to prance'' :* '''apepuysut''' = ''prancer'' :* '''aper ota zotiub''' = ''to sit on one&rsquo;s bum'' :* '''aper pur''' = ''to get in a car'' :* '''aper''' = ''to alight, to board, to embark, to get aboard, to get on, to mount, to sit, to sit on'' :* '''aper yuzdompur''' = ''to get on a bus'' :* '''apet ebkyax''' = ''horse trade'' :* '''apet fyisyan''' = ''harness'' :* '''apet''' = ''horse'' :* '''apet igekpem''' = ''hippodrome, horse race track'' :* '''apet igekpen''' = ''horse race'' :* '''apet meup''' = ''horse trail'' :* '''apet pyexegar''' = ''horsewhip'' :* '''apet tajnad''' = ''bloodstock'' :* '''apet tavyul''' = ''horseshit'' :* '''apeta''' = ''equine, horse-related, horsy'' :* '''apeta zotiub abaun''' = ''crupper'' :* '''apetag''' = ''stallion'' </div> = apetam -- apetyem = <div style="background: lightyellow; border: solid blue 2px; {{column-count|2}};{{column-rule|2px solid blue}};font-size:smaller;";> :* '''apetam''' = ''horse stable'' :* '''apetamben''' = ''stabling'' :* '''apetaob''' = ''horseflesh'' :* '''apetaol''' = ''horseflesh, horsemeat'' :* '''apetap uzun''' = ''stirrup'' :* '''apetapek''' = ''derby, equestrianism'' :* '''apetapekam''' = ''hippodrome'' :* '''apetapen''' = ''equitation, horse riding, mounting'' :* '''apetaper''' = ''to get on a horse, to mount a horse'' :* '''apetaput''' = ''cavalryman, chevalier, knight'' :* '''apetaputa''' = ''horsy'' :* '''apetaputa taz''' = ''equestrian statue'' :* '''apetaputyan''' = ''cavalry'' :* '''apetapya dep''' = ''cavalry'' :* '''apetapya''' = ''equestrian, mounted, on horseback'' :* '''apetavyul''' = ''road apple'' :* '''apetayeb''' = ''horsehair'' :* '''apetayebyag''' = ''horse mane'' :* '''apetayefar''' = ''currycomb'' :* '''apetayefarer''' = ''to currycomb'' :* '''apetayob''' = ''horsehide'' :* '''apetaz''' = ''mustang'' :* '''apetbixpar''' = ''buggy'' :* '''apetbixparzyus''' = ''corral'' :* '''apetbixwa aotpar''' = ''buckboard'' :* '''apetbixwa belir''' = ''buggy, horse-drawn carriage'' :* '''apeteaxuen''' = ''dressage'' :* '''apeteb''' = ''horse head'' :* '''apetebelur''' = ''horsebox'' :* '''apetebnuf''' = ''headstall'' :* '''apetek''' = ''horse play'' :* '''apeteken''' = ''horsing around'' :* '''apeteker''' = ''to horse around'' :* '''apetekir''' = ''carousel, merry-go-round'' :* '''apetexwa belir''' = ''horse-driven carriage'' :* '''apetexwa''' = ''horse-driven'' :* '''apetibuj''' = ''horsetail'' :* '''apetibuj tayebsyen''' = ''ponytail'' :* '''apetif''' = ''horsey, horsy'' :* '''apetifek''' = ''horsy'' :* '''apetig''' = ''steed, stud'' :* '''apetiga''' = ''cursorial'' :* '''apetigpekam''' = ''hippodrome'' :* '''apetigper''' = ''to gallop, to run like a horse'' :* '''apetim''' = ''horse stall'' :* '''apetnadbixwa par''' = ''tandem'' :* '''apetnyad''' = ''cavalcade'' :* '''apetober''' = ''to unhorse'' :* '''apetog''' = ''colt, horsey, pony'' :* '''apetogyena''' = ''coltish'' :* '''apetolnyef''' = ''feedbag'' :* '''apetoya''' = ''horseless'' :* '''apetpar''' = ''carriage, coach, hackney, horse and buggy'' :* '''apetsim''' = ''saddle'' :* '''apetsim suemoyf''' = ''sarape, serape'' :* '''apetsim zyuniyov''' = ''crupper'' :* '''apetsimaper''' = ''to get onto the saddle, to hop on'' :* '''apetsimben''' = ''saddling'' :* '''apetsimber''' = ''to saddle up'' :* '''apetsimbwa''' = ''saddled'' :* '''apetsimnam''' = ''saddlery'' :* '''apetsimnyef''' = ''saddlebag'' :* '''apetsimoben''' = ''unsaddling'' :* '''apetsimober''' = ''to unsaddle'' :* '''apetsimobwa''' = ''unsaddled'' :* '''apetsimopen''' = ''dismounting'' :* '''apetsimoper''' = ''to dismount, to get down from the saddle'' :* '''apetsimtyen''' = ''saddlery'' :* '''apetsimzayaz''' = ''pommel'' :* '''apetud''' = ''colt, foal'' :* '''apetudog''' = ''foal'' :* '''apetug''' = ''nag'' :* '''apetuka belir''' = ''horseless carriage'' :* '''apetuka''' = ''horseless'' :* '''apetum''' = ''horse stall'' :* '''apetuyd''' = ''filly'' :* '''apetvabem''' = ''paddock'' :* '''apetyafon''' = ''horse-power, horsepower'' :* '''apetyafonuwa''' = ''horse-powered'' :* '''apetyem''' = ''corral'' </div> = apetyen -- apyeituil = <div style="background: lightyellow; border: solid blue 2px; {{column-count|2}};{{column-rule|2px solid blue}};font-size:smaller;";> :* '''apetyen''' = ''equitation, horseflesh, horsemanship'' :* '''apetyobyuvar''' = ''martingale'' :* '''apetyopen''' = ''trotting'' :* '''apetyoper''' = ''to trot, to walk like a horse'' :* '''apetyoub''' = ''fetlock'' :* '''apetyoyab''' = ''hoof'' :* '''apetyoyaba''' = ''ungulate'' :* '''apetyoyaf''' = ''horse shoe, horseshoe'' :* '''apetyoyafaben''' = ''shoeing a horse'' :* '''apetyoyafam''' = ''blacksmith shop, blacksmith's shop'' :* '''apetyoyafber''' = ''to shoe a horse'' :* '''apetyoyafeux''' = ''clop'' :* '''apetyuvar''' = ''pastern'' :* '''apetyuzbixer''' = ''to longe'' :* '''apetzon''' = ''horseback'' :* '''apetzotyob''' = ''gambrel'' :* '''apetzyup''' = ''horse-twirling, pirouette'' :* '''apeyef''' = ''silk'' :* '''apeyefa''' = ''silken'' :* '''apeyefun''' = ''silken good'' :* '''apeyefyena''' = ''silk-like, silken, silky'' :* '''apeyefyugfa''' = ''smooth as silk'' :* '''apeyeneef''' = ''tulle'' :* '''apeyet''' = ''silkworm'' :* '''apeyetof''' = ''cocoon, pongee'' :* '''apeyt''' = ''mare'' :* '''apiit''' = ''lobster'' :* '''apilt''' = ''sea urchin'' :* '''apit''' = ''trout'' :* '''apit-maolza''' = ''trout gray'' :* '''apiyet''' = ''toad'' :* '''apletyan''' = ''troop of kangaroos'' :* '''Apod''' = ''Apache'' :* '''apod''' = ''nicker, whinny'' :* '''Apodalea''' = ''Apache-speaking'' :* '''Apodaler''' = ''to speak Apache'' :* '''Apodalut''' = ''Apache speaker'' :* '''apoden''' = ''whinnying'' :* '''Apoder''' = ''to say in Apache'' :* '''apoder''' = ''to whinny'' :* '''Apodreyen''' = ''Apache script'' :* '''apokrifa''' = ''apocrypha'' :* '''apones''' = ''pone'' :* '''apot''' = ''zebra'' :* '''Apu!''' = ''All aboard!, Get on!'' :* '''apus''' = ''pounce'' :* '''apusen''' = ''hijacking, jumping on, jumping onto, pouncing on'' :* '''apuser''' = ''to hijack, to jump on, to jump onto, to pounce on'' :* '''apuxen''' = ''abducting, abduction, forced boarding, obtrusion, throwing on'' :* '''apuxer''' = ''to abduct, to force on board, to obtrude, to throw on'' :* '''apuxwa''' = ''abducted, forced on board'' :* '''apuxyea''' = ''obtrusive'' :* '''apuxyean''' = ''obtrusiveness'' :* '''apuxyeay''' = ''obtrusively'' :* '''apuysen''' = ''hopping on'' :* '''apuyser''' = ''to hop on'' :* '''apuyxen''' = ''tossing on'' :* '''apuyxer''' = ''to toss on, to toss onto, to toss upon'' :* '''apuyxwa''' = ''tossed on'' :* '''apuzun''' = ''stapes, stirrup'' :* '''apwad''' = ''cockadoodledoo'' :* '''apwaden''' = ''cockadoodledooing, crowing'' :* '''apwader''' = ''to cockadoodledoo, to crow'' :* '''apwat''' = ''rooster'' :* '''apwatayeb''' = ''cockscomb'' :* '''apwatog''' = ''cockerel'' :* '''apwet''' = ''stallion'' :* '''apyad''' = ''squawk'' :* '''apyaden''' = ''squawking'' :* '''apyader''' = ''to squawk'' :* '''apyafwa''' = ''mountable'' :* '''apyaser''' = ''to jump on'' :* '''apyat''' = ''eagle'' :* '''apyatam''' = ''eagle nest, eagle's nest'' :* '''apyatud''' = ''eaglet'' :* '''apyatyena''' = ''aquiline'' :* '''apyayt''' = ''eaglet'' :* '''apyeit''' = ''oyster'' :* '''apyeit yagteil''' = ''oyster stew'' :* '''apyeituil''' = ''oyster sauce'' </div> = apyet -- Aradrawa = <div style="background: lightyellow; border: solid blue 2px; {{column-count|2}};{{column-rule|2px solid blue}};font-size:smaller;";> :* '''apyet''' = ''lizard'' :* '''apyetag''' = ''dinosaur'' :* '''apyex''' = ''attack, offense, onslaught, siege'' :* '''apyex bi depyonar''' = ''bayonet charge'' :* '''apyexar''' = ''weapon'' :* '''apyexarien''' = ''armament, taking up arms'' :* '''apyexarier''' = ''to take up arms'' :* '''apyexaruen''' = ''arming'' :* '''apyexaruer''' = ''to arm'' :* '''apyexaruwa''' = ''armed'' :* '''apyexdalen''' = ''fulmination'' :* '''apyexdaler''' = ''to fulminate'' :* '''apyexdalyafwa''' = ''arguable'' :* '''apyexdalyafway''' = ''arguably'' :* '''apyexea''' = ''attacking, offending'' :* '''apyexea doyp''' = ''attacking force'' :* '''apyexen''' = ''attacking, besieging, offending'' :* '''apyexer dalay''' = ''to impugn'' :* '''apyexer''' = ''to attack, to besiege, to insult, to offend'' :* '''apyexlawa''' = ''assailed, assaulted, stricken'' :* '''apyexlea dun''' = ''fighting word, insult'' :* '''apyexlea kud''' = ''abusive comment'' :* '''apyexlen''' = ''assailing, assaulting'' :* '''apyexler''' = ''to assail, to assault'' :* '''apyexlun''' = ''affront, assault'' :* '''apyexlun dopar''' = ''assault weapon'' :* '''apyexlun edopar''' = ''assault rifle'' :* '''apyexlutyan''' = ''assault troop'' :* '''apyexlyofwa''' = ''unassailable'' :* '''apyexnad''' = ''line of assault'' :* '''apyexrar''' = ''hammer'' :* '''apyexraren''' = ''hammering'' :* '''apyexrarer''' = ''to hammer'' :* '''apyexrarwa''' = ''hammered'' :* '''apyexraryukwa''' = ''malleable'' :* '''apyexraryukwan''' = ''malleability'' :* '''apyexrawa''' = ''hammered, slammed'' :* '''apyexregen''' = ''hammering, pummeling'' :* '''apyexreger''' = ''to hammer, to pummel'' :* '''apyexregwa''' = ''hammered, pummeled, pummelled'' :* '''apyexren''' = ''hammering, slamming'' :* '''apyexrer ha mes''' = ''to slam the door'' :* '''apyexrer heta tebzan''' = ''to slap someone's face'' :* '''apyexrer''' = ''to slam'' :* '''apyexrun''' = ''slam'' :* '''apyexut''' = ''attacker, besieger'' :* '''apyexutyan''' = ''attack force'' :* '''apyexwa''' = ''attacked, besieged, insulted, offended'' :* '''apyexyafwa''' = ''assailable, attackable'' :* '''apyexyea''' = ''bullish, offensive'' :* '''apyexyea tepyaf''' = ''gumption'' :* '''apyexyofwa''' = ''unattackable'' :* '''apyit ojbuen''' = ''loansharking'' :* '''apyit''' = ''shark'' :* '''apyitayef''' = ''shagreen'' :* '''apyitayob''' = ''sharkskin'' :* '''apyityena''' = ''squaloid'' :* '''apyod''' = ''roar'' :* '''apyodea''' = ''roaring'' :* '''apyoden''' = ''roaring'' :* '''apyoder''' = ''to roar'' :* '''apyodeud''' = ''roar'' :* '''apyot''' = ''lion'' :* '''apyot pexnyem''' = ''lion's cage'' :* '''apyotam''' = ''lion's den'' :* '''apyotud''' = ''lion cub'' :* '''apyotyan''' = ''pride of lions'' :* '''apyotyena''' = ''leonine'' :* '''apyotyifa''' = ''lionhearted'' :* '''apyoxlofwa''' = ''swabbed'' :* '''apyoyt''' = ''lioness'' :* '''-ar''' = ''instrument, stub for "sar", tool'' :* '''Arad''' = ''Arabic language, Aramaic'' :* '''Aradalea''' = ''Arab-speaking'' :* '''Aradaler''' = ''to speak Arabic'' :* '''Aradalwa''' = ''spoken in Arabic'' :* '''Aradam''' = ''Arabia'' :* '''Aradamat''' = ''Arabian'' :* '''Arader''' = ''to say in Arabic'' :* '''Aradrawa''' = ''written in Arabic'' </div> = Aradrer -- asalo = <div style="background: lightyellow; border: solid blue 2px; {{column-count|2}};{{column-rule|2px solid blue}};font-size:smaller;";> :* '''Aradrer''' = ''to write in Arabic'' :* '''aradresin''' = ''arabesque'' :* '''Aradreyen''' = ''Arabic script, Arabic writing system'' :* '''Aradwa''' = ''uttered in Arabic'' :* '''Aradyeer''' = ''to read in Arabic'' :* '''Aradyeyafa''' = ''able to read Arabic'' :* '''arak''' = ''arrack'' :* '''arborvitae''' = ''arborvitae'' :* '''Arem''' = ''United Arab Emirates'' :* '''Arema''' = ''of the United Arab Emirates'' :* '''Aremat''' = ''inhabitant of United Arab Emirates'' :* '''arginiyn''' = ''arginine'' :* '''Arkansah''' = ''Arkansas'' :* '''aro-''' = ''kilo-'' :* '''aro''' = ''one thousand'' :* '''aroa''' = ''thousandth'' :* '''aroagbanak''' = ''kilobyte'' :* '''aroaghelonak''' = ''kilohm'' :* '''aroaghenak''' = ''kilohertz'' :* '''aroat''' = ''group of a thousand people'' :* '''aroati''' = ''thousands of people'' :* '''arobanak arobanak''' = ''kb'' :* '''arobanak''' = ''kilobit'' :* '''arocanak''' = ''kilocycle'' :* '''arogarer''' = ''to raise to the thousandth power'' :* '''Aroged''' = ''Aragonese'' :* '''Arogeda''' = ''in Aragonese'' :* '''Arogedaler''' = ''to speak Aragonese'' :* '''Arogedalut''' = ''Aragonese speaker of Aragonese'' :* '''Arogeder''' = ''to say in Aragonese'' :* '''Arogem''' = ''Argentina'' :* '''Arogema''' = ''Argentinian'' :* '''Arogemat''' = ''Argentinian, inhabitant of Argentina'' :* '''arogenak''' = ''kg, kilo, kilogram'' :* '''arojinak''' = ''kilojoule'' :* '''arolinak''' = ''kiloliter'' :* '''arolk''' = ''Ar, argon'' :* '''Aromid''' = ''Armenian'' :* '''Aromidaler''' = ''to speak Armenian'' :* '''Aromidalut''' = ''Armenian speaker'' :* '''Aromider''' = ''to say in Armenian'' :* '''Aromim''' = ''Armenia, Armenian'' :* '''Aromima''' = ''Armenian'' :* '''Aromimat''' = ''Armenian, inhabitant of Armenia'' :* '''arominak''' = ''kilometer, kilometre, km'' :* '''arominaki gol jweb''' = ''kilometers per second, km/s'' :* '''aron''' = ''group of a thousand'' :* '''aron-''' = ''kilo-'' :* '''arona''' = ''thousandfold'' :* '''aronapa''' = ''thousandth'' :* '''aronay''' = ''thousandfold'' :* '''aroni''' = ''thousands'' :* '''aroomeganak''' = ''kilohm'' :* '''Aropod''' = ''Arapaho'' :* '''arotonak''' = ''kiloton'' :* '''arovunak''' = ''kilovolt'' :* '''arowunak''' = ''kilowatt'' :* '''aroyn-''' = ''milli-'' :* '''aroyn''' = ''thousandth'' :* '''aroyna''' = ''millesimal'' :* '''aroyn-aganak''' = ''milliampere'' :* '''aroynagbanak''' = ''millibyte'' :* '''aroynbalnak''' = ''millibar'' :* '''aroyngenak''' = ''milligram'' :* '''aroynjinak''' = ''millijoule'' :* '''aroynjweb''' = ''millisecond'' :* '''aroynlinak''' = ''milliliter, millilitre'' :* '''aroynminak''' = ''millimeter, millimetre'' :* '''aroynronak''' = ''milliradian'' :* '''aroynsonak''' = ''millisecond, ms'' :* '''aroynvunak''' = ''millivolt'' :* '''aroynvunak-nagar''' = ''millivoltmeter'' :* '''aroynwunak''' = ''milliwatt'' :* '''asa''' = ''one hundred one'' :* '''asagones''' = ''on-bit, one-bit'' :* '''asagtun''' = ''arithmetic'' :* '''asagtuna''' = ''arithmetic, arithmetical'' :* '''asagtunay''' = ''arithmetically'' :* '''asagtut''' = ''arithmetician, number cruncher'' :* '''asalo''' = ''one hundred ten'' </div> = a-san tam = <div style="background: lightyellow; border: solid blue 2px; {{column-count|2}};{{column-rule|2px solid blue}};font-size:smaller;";> :* '''a-san tam''' = ''A-frame house'' :* '''asanxen''' = ''casting'' :* '''asanxer''' = ''to cast'' :* '''asanxwa''' = ''cast'' :* '''asanxwas''' = ''casting'' :* '''asapit''' = ''sprat'' :* '''asapyet''' = ''anaconda'' :* '''asaun''' = ''exemplar, model, original, paradigm, paragon, pattern, specialty, standard'' :* '''asaun mampur''' = ''model airplane'' :* '''asauna''' = ''exemplary, model, original, paradigmatic, special'' :* '''asaunan''' = ''specialness'' :* '''asaunar''' = ''matrix'' :* '''asaunas''' = ''firstling'' :* '''asaunay''' = ''especially, in particular, specially'' :* '''asaundun''' = ''determiner'' :* '''asaunser''' = ''to be a model oneself after'' :* '''asauntob''' = ''mannequin'' :* '''asauntoyb''' = ''female mannequin'' :* '''asauntwob''' = ''male mannequin'' :* '''asaunuklun''' = ''matrix'' :* '''asaunxen''' = ''exemplification, modeling after, specialization'' :* '''asaunxer''' = ''to exemplify, to model after, to originate, to specialize'' :* '''asaunxut''' = ''model'' :* '''asaunxuyt''' = ''female model'' :* '''asaunxwa''' = ''exemplified, modeled after, specialized'' :* '''asaunxwn''' = ''specializing'' :* '''asaxen''' = ''authoring, coining, creation'' :* '''asaxer''' = ''to author, to coin, to create'' :* '''asaxin''' = ''creationism'' :* '''asaxina''' = ''creationist'' :* '''asaxinut''' = ''creationist'' :* '''asaxun''' = ''figment'' :* '''asaxunyan''' = ''creation'' :* '''asaxut''' = ''author, creator from scratch'' :* '''asaxuyt''' = ''authoress'' :* '''asaxwa''' = ''authored, created'' :* '''asaxwat''' = ''creature'' :* '''asaxyea''' = ''creative'' :* '''asaxyean''' = ''creativeness, creativity'' :* '''asaxyeay''' = ''creatively'' :* '''asazul''' = ''PET, polyester'' :* '''ase''' = ''one hundred two'' :* '''asea''' = ''becoming'' :* '''aselu''' = ''one hundred twenty-four'' :* '''asen''' = ''becoming'' :* '''asepyet''' = ''redbelly'' :* '''aser hes''' = ''to become something'' :* '''aser''' = ''to become'' :* '''asfuvadwa''' = ''upbraided'' :* '''asi''' = ''one hundred three'' :* '''asipyet''' = ''rattlesnake'' :* '''askot teyof''' = ''ascot tie'' :* '''aso aronyaki''' = ''hundred kilometers'' :* '''aso''' = ''hundred, one hundred'' :* '''aso jodi''' = ''hundred times'' :* '''aso Usodan nasdrev''' = ''hundred dollar bill'' :* '''asoa''' = ''hundredth'' :* '''asoalyojaba''' = ''sesquicentennial'' :* '''asogarer''' = ''to raise to the hundredth power'' :* '''asogenak''' = ''hectogram'' :* '''asohei''' = ''arsine'' :* '''asojaga''' = ''hundred-year-old'' :* '''asojagat''' = ''centennarian'' :* '''asolinak''' = ''hectolitre'' :* '''asolk''' = ''As, arsenic'' :* '''Asomid''' = ''Assamese'' :* '''Asomidaler''' = ''to speak Assamese'' :* '''Asomidalut''' = ''Assamese speaker'' :* '''Asomider''' = ''to say in Assamese'' :* '''Asomim''' = ''American Samoa'' :* '''Asomima''' = ''American Samoan'' :* '''Asomimat''' = ''American Samoan, inhabitant of American Samoa'' :* '''asominak''' = ''hectometer'' :* '''ason-''' = ''cent-, hecto-'' :* '''ason''' = ''centuple, group of a hundred, hundredfold'' :* '''asondeb''' = ''centurion'' :* '''asoni''' = ''hundreds'' :* '''asonjaba''' = ''centennial'' :* '''asonjabyan''' = ''centennial'' :* '''asonjabzyus''' = ''centennial'' </div> = asonjaga -- At utdide ven it upo. = <div style="background: lightyellow; border: solid blue 2px; {{column-count|2}};{{column-rule|2px solid blue}};font-size:smaller;";> :* '''asonjaga''' = ''a hundred years old, centenarian, centennial'' :* '''asonjagat''' = ''centenarian'' :* '''asonjagay''' = ''centennially'' :* '''Asotod''' = ''Asturian, Asturleonese, Bable, Leonese'' :* '''asovob''' = ''truffle'' :* '''asoycanak''' = ''centigrade'' :* '''asoygenak''' = ''centigram'' :* '''asoygona''' = ''centesimal'' :* '''asoylinak''' = ''centiliter'' :* '''asoyminak''' = ''centimeter'' :* '''asoyn-''' = ''centi-'' :* '''asoyn''' = ''hundredth, percentage'' :* '''asoyn-anak''' = ''centigrade'' :* '''asoynasmug''' = ''cent'' :* '''asoyni''' = ''hundredths, percent, percentage'' :* '''asoynsiun''' = ''percent sign'' :* '''asoynux''' = ''interest'' :* '''asoynuxea''' = ''interest-bearing, interest-paying'' :* '''asoynuxen''' = ''paying interest'' :* '''asoynuxer''' = ''to pay interest'' :* '''asoynuxuka''' = ''interest-free'' :* '''asoynuxwa''' = ''paid with interest'' :* '''asoynyan''' = ''percentile'' :* '''asoypeso''' = ''centavo'' :* '''aspirin''' = ''acetylsalicylic, aspirin'' :* '''astrakhana nof''' = ''astrakhan'' :* '''asu''' = ''one hundred four'' :* '''asuna''' = ''singular, specific'' :* '''asunan''' = ''singularity, specificity'' :* '''asunaxen''' = ''singularization, specification'' :* '''asunaxer''' = ''to singularize, to specify'' :* '''asunaxwa''' = ''singularized, specified'' :* '''asunay''' = ''singularly, specifically'' :* '''asunden''' = ''selection, specification'' :* '''asunder''' = ''to select, to specify'' :* '''asundwa''' = ''selected, specified'' :* '''asupyet''' = ''kingsnake'' :* '''asyafwan''' = ''availability'' :* '''asyan''' = ''first class, series'' :* '''asyana''' = ''first class, serial'' :* '''asyanxen''' = ''serialization'' :* '''asyanxer''' = ''to serialize'' :* '''asyanxwa''' = ''serialized'' :* '''asyemben''' = ''founding'' :* '''asyember''' = ''to found'' :* '''asyembut''' = ''founder'' :* '''asyembwa''' = ''founded'' :* '''asymbun''' = ''foundation'' :* '''asyo''' = ''one hundred five'' :* '''asyofwaxen''' = ''making unavailable'' :* '''asyofwaxer''' = ''to make unavailable'' :* '''asyofwaxwa''' = ''made unavailable'' :* '''at aut''' = ''I myself, me myself'' :* '''At axo et iva.''' = ''I will make you happy.'' :* '''At bayse tebyoyk.''' = ''I have a headache.'' :* '''At bexiaye gawa tam.''' = ''I have come into possession of another house.'' :* '''At fiojfe et.''' = ''I wish you well.'' :* '''At fre van it piu.''' = ''I wish he would go away.'' :* '''At fu aser tuxut.''' = ''to I would like to become a teacher.'' :* '''At fu gajwa...''' = ''I'd rather..., I'd sooner...'' :* '''At fu...''' = ''I'd like to...'' :* '''At fu ter...''' = ''I would like to know...'' :* '''At fu truer et ata dat...''' = ''to I'd like to introduce you to my friend...'' :* '''At gafu beser.''' = ''I'd rather stay.'' :* '''At gafu...''' = ''I'd prefer..., I'd rather...'' :* '''at''' = ''I, me'' :* '''At nunampeya him.''' = ''I used to shop here.'' :* '''At ofje et ujak''' = ''I wish you success.'' :* '''At oktose et.''' = ''I miss you.'' :* '''At oktose ha ajyena jubi.''' = ''I miss the olden days.'' :* '''At pesyike teater is.''' = ''to I can't wait to see it.'' :* '''At se fizuwa ser him.''' = ''to I am honored to be here.'' :* '''At se vlatea van...''' = ''I am certain that...'' :* '''At se vyaka.''' = ''I'm right.'' :* '''At su ga jwa toja.''' = ''I'd rather be dead.'' :* '''At tayote oma.''' = ''I'm cold.'' :* '''At testyafe.''' = ''I can understand.'' :* '''At trefe x.''' = ''I am interested in x'' :* '''At ukxwa bi bil.''' = ''I have run out of milk.'' :* '''At utdide ven it upo.''' = ''I wonder whether he will come.'' </div> = At uvtose van... = <div style="background: lightyellow; border: solid blue 2px; {{column-count|2}};{{column-rule|2px solid blue}};font-size:smaller;";> :* '''At uvtose van...''' = ''I'm sorry that...'' :* '''At vekde van it oko''' = ''I bet that he will lose.'' :* '''At vetexe van...''' = ''I suppose that...'' :* '''At vlate van...''' = ''I am sure that..., I know for sure that...'' :* '''At vlatue et van...''' = ''I assure you that...'' :* '''At votexe van wit ako.''' = ''I doubt he'll win.'' :* '''At voy se tepoboxwa van...''' = ''I am not concerned that...'' :* '''At voy tepobose ven...''' = ''I don't care whether...'' :* '''At yafe tester.''' = ''I can understand.'' :* '''At yafu tester.''' = ''I could understand., I might understand.'' :* '''At yantipuvse et.''' = ''I pity you.'' :* '''At yefe....''' = ''I must...'' :* '''At yefu...''' = ''I ought to...'' :* '''At yefu iper hij.''' = ''to I should leave now.'' :* '''At yeyfe...''' = ''I ought to...'' :* '''At yeyfe iper hij.''' = ''to I should leave now.'' :* '''At yikay tre et''' = ''I barely know you.'' :* '''At yofe utafxer hia tam.''' = ''to I cannot afford this house.'' :* '''At yuve iper hij.''' = ''to I am bound to leave now., I must leave now.'' :* '''At yuyve iper hij.''' = ''to I should leave now.'' :* '''Ata bil ukxwa.''' = ''I have run out of milk., My milk has run out.'' :* '''Ata if!''' = ''My pleasure!, You're welcome!'' :* '''ata''' = ''my'' :* '''Ata teb byoyke.''' = ''I have a headache.'' :* '''Ata teeb tuloxefwe.''' = ''My ear itches.'' :* '''Ata vyon!''' = ''Mea culpa!'' :* '''Ataat''' = ''Seraph'' :* '''Ataati''' = ''Seraphim'' :* '''Ataet''' = ''Cherub'' :* '''Ataeti''' = ''Cherubim'' :* '''ataetyan''' = ''cherubim'' :* '''ataetyena''' = ''cherubic'' :* '''Atait''' = ''Throne'' :* '''atalob''' = ''aorta'' :* '''ataloba''' = ''aortic'' :* '''atalobi''' = ''aortae'' :* '''Atam''' = ''Antarctica'' :* '''Atama''' = ''Antarctican'' :* '''Atamat''' = ''inhabitant of Antarctica'' :* '''atas''' = ''mine, my thing'' :* '''atasi''' = ''mine, my things'' :* '''atayub''' = ''hypothalamus'' :* '''ateababaun''' = ''upper eyelid'' :* '''ateabvolzvyon''' = ''protanopia'' :* '''ateabvolzvyona''' = ''protanopic'' :* '''ateabyeb''' = ''upper eyelash'' :* '''atef''' = ''baseball cap'' :* '''atepat''' = ''macaw'' :* '''ateubyuz''' = ''upper lip'' :* '''ateupib''' = ''central incisor'' :* '''ateyf''' = ''caul'' :* '''athyut''' = ''alter ego'' :* '''atikeb''' = ''rumen'' :* '''atin''' = ''egoism'' :* '''atina''' = ''egoistic, egoistical'' :* '''atinay''' = ''egoistically'' :* '''atinut''' = ''egoist'' :* '''atinutyena''' = ''egoistical'' :* '''atistam''' = ''grade school, primary school'' :* '''atistamper''' = ''to attend grade school'' :* '''atistamput''' = ''grade school attendee'' :* '''atistamut''' = ''grade-schooler, primary schooler'' :* '''atiuv''' = ''boxers'' :* '''atkaxahas''' = ''eureka'' :* '''atobij''' = ''germ, seed'' :* '''atobijen''' = ''germination, shooting'' :* '''atobijena''' = ''germinal'' :* '''atobijer''' = ''to germinate, to shoot'' :* '''atobijtojbul''' = ''germicidal, germicide'' :* '''atobijuka''' = ''germ-free'' :* '''atobijyea''' = ''germinative'' :* '''Atofem''' = ''French Southern Territories'' :* '''Atofema''' = ''from the French Southern Territories'' :* '''Atofemat''' = ''inhabitant of French Southern Territories'' :* '''Atogem''' = ''Antigua and Barbuda'' :* '''Atogema''' = ''from Antigua and Barbuda'' :* '''Atogemat''' = ''inhabitant of Antigua and Barbuda'' :* '''atooyza''' = ''pallid, wan'' :* '''atooyzan''' = ''pallidness, pallor, wanness'' :* '''atooyzay''' = ''pallidly, wanly'' </div> = atooyzea -- aunxen = <div style="background: lightyellow; border: solid blue 2px; {{column-count|2}};{{column-rule|2px solid blue}};font-size:smaller;";> :* '''atooyzea''' = ''waning'' :* '''atooyzer''' = ''to wane'' :* '''atooyzwa''' = ''waned'' :* '''atooza''' = ''pale'' :* '''atoozan''' = ''paleness'' :* '''atoozaser''' = ''to grow pale'' :* '''atoozat''' = ''paleface'' :* '''atoozay''' = ''palely'' :* '''atoozer''' = ''to grow pale'' :* '''atoza''' = ''albino'' :* '''atozat''' = ''albino'' :* '''attep''' = ''ego'' :* '''attepzena''' = ''egocentric'' :* '''attepzenan''' = ''egocentricity'' :* '''attepzenay''' = ''egocentrically'' :* '''atulk''' = ''At, astatine'' :* '''atulob''' = ''thumbnail'' :* '''atulyan''' = ''first course'' :* '''atuyub abaxlun''' = ''shiatsu'' :* '''atuyub''' = ''thumb'' :* '''atuyubek zyun''' = ''marble'' :* '''atuyuben''' = ''thumbing'' :* '''atuyuber''' = ''to thumb'' :* '''atuyumuv''' = ''thumbtack'' :* '''atuyuxar''' = ''tab'' :* '''atuyuxarer''' = ''to tab'' :* '''atyal''' = ''breakfast'' :* '''atyal zyuovol''' = ''muffin'' :* '''atyalien''' = ''breakfasting'' :* '''atyalier''' = ''to have breakfast'' :* '''atyaluer''' = ''to serve breakfast'' :* '''atyapyot''' = ''Hamadryas baboon'' :* '''atyoyaf''' = ''patent leather shoe'' :* '''atyoyub''' = ''big toe'' :* '''augmimpur''' = ''hulk'' :* '''aulk''' = ''Au, gold'' :* '''aulk egon''' = ''gold standard'' :* '''aulk fayef''' = ''gold leaf'' :* '''aulk goplun''' = ''gold nugget'' :* '''aulk mef''' = ''gold bar'' :* '''aulk memnig''' = ''goldfield'' :* '''aulk mukiblem''' = ''gold mine, goldmine'' :* '''aulk mukiblen''' = ''gold mining'' :* '''aulk mukiblut''' = ''gold digger, gold-digger, gold-miner'' :* '''aulk vyilxut''' = ''gold panner'' :* '''aulka''' = ''gold, golden, of gold'' :* '''aulkben''' = ''gilding'' :* '''aulkber''' = ''to gild'' :* '''aulkbun''' = ''gilding, gilt'' :* '''aulkbut''' = ''gilder'' :* '''aulkbwa''' = ''gilded, gilt, gold-plated'' :* '''aulkek''' = ''ormolu'' :* '''aulkeka''' = ''ormolu'' :* '''aulk-elza''' = ''gold orange'' :* '''aulk-elzayna''' = ''bright gold orange'' :* '''aulk-elzoyna''' = ''dark gold orange'' :* '''aulknam''' = ''goldsmith shop'' :* '''aulksaxut''' = ''goldsmith'' :* '''aulktez''' = ''alchemy'' :* '''aulktezut''' = ''alchemist'' :* '''aulkyenan''' = ''goldenness'' :* '''aulkza''' = ''gold'' :* '''aulkzayna''' = ''bright gold'' :* '''aulkzoyna''' = ''dark gold'' :* '''aulkzyena''' = ''golden'' :* '''auma''' = ''hot and dry, torrid'' :* '''auman''' = ''torridity, torridness'' :* '''aumay''' = ''torridly'' :* '''aumeylza''' = ''light gold orange'' :* '''aun''' = ''component, item, monad, unit'' :* '''auna''' = ''componential, monadic, unitary'' :* '''aunak''' = ''angstrom'' :* '''aunjoaunxea''' = ''iterative'' :* '''aunjoaunxeay''' = ''iteratively'' :* '''aunjoaunxen''' = ''iteration'' :* '''aunjoaunxer''' = ''to iterate'' :* '''aunjoaunxus''' = ''iterator'' :* '''aunnuxwa yex''' = ''piece work, piecework'' :* '''aunuxwa yexut''' = ''pieceworker'' :* '''aunxen''' = ''itemization, itemizing'' </div> = aunxer -- av van = <div style="background: lightyellow; border: solid blue 2px; {{column-count|2}};{{column-rule|2px solid blue}};font-size:smaller;";> :* '''aunxer''' = ''to itemize, to unitize'' :* '''aunxwa''' = ''itemized, unitized'' :* '''aunyan''' = ''componentry'' :* '''aunyana''' = ''componentwise'' :* '''Ausom''' = ''Australia'' :* '''Ausoma''' = ''Australian'' :* '''Ausomat''' = ''inhabitant of Australia'' :* '''aut''' = ''myself'' :* '''auta''' = ''my own'' :* '''autas''' = ''my own, my own thing'' :* '''autasi''' = ''my own, my own things'' :* '''autay''' = ''my own way, my way'' :* '''Autom''' = ''Austria'' :* '''Automa''' = ''Austrian'' :* '''Automat''' = ''inhabitant of Austria'' :* '''autyen''' = ''my own way, my way'' :* '''auyanxen''' = ''concatenating'' :* '''auylza''' = ''light gold'' :* '''auyt''' = ''myself'' :* '''auyta''' = ''my own'' :* '''av asaun''' = ''e.g.'' :* '''av aun''' = ''apiece'' :* '''av avson bi fian''' = ''for goodness sake'' :* '''av avson bi''' = ''for the sake of'' :* '''av ayonden''' = ''to sum up'' :* '''av byuon bi''' = ''for the purpose of'' :* '''av byuon van''' = ''so that'' :* '''av duhoa byuon?''' = ''for what purpose?'' :* '''av duhoa tesdud?''' = ''for what reason?'' :* '''av duhoa tesdud...?''' = ''wherefore?'' :* '''Av duhoa tesyob?''' = ''For what reason?'' :* '''av duhoa tesyob?''' = ''for what reason?, on what rationale?'' :* '''av duhoa ujon?''' = ''to what end?'' :* '''av duhoa vyates?''' = ''for what reason?'' :* '''av duhoa yekun?''' = ''for what goal, for what purpose'' :* '''av duhos?''' = ''for what reason?'' :* '''av duhot''' = ''for whom'' :* '''av-''' = ''for, pro-'' :* '''av fyin bi''' = ''for the sake of, in the interest of'' :* '''av gla tesdudi''' = ''for many reasons'' :* '''av ha tesdud van''' = ''because, for the reason that, why'' :* '''av ha tesyob van''' = ''because, for the reason that, why'' :* '''av ha vyates van''' = ''for the reason that'' :* '''av has van''' = ''because, for the reason that, why'' :* '''av hea byuon''' = ''for some purpose'' :* '''av hea job''' = ''pro tempore'' :* '''av hea tesdud''' = ''for some reason'' :* '''av hea tesyob''' = ''for some reason'' :* '''av hes''' = ''for some reason'' :* '''av hia tesyob''' = ''for this reason, therefore'' :* '''av his''' = ''ergo, for this reason, therefore, thus'' :* '''av hoa nas''' = ''pro bono'' :* '''av hos''' = ''for no reason, for nothing'' :* '''av hua tesdud''' = ''for that reason'' :* '''av hua tesyob''' = ''for that reason, therefore'' :* '''av hus''' = ''ergo, for that reason, therefore, thus'' :* '''av hya tesdud''' = ''for every reason'' :* '''av hya tesyob''' = ''for every reason'' :* '''av hyaj''' = ''forever'' :* '''av hyajob''' = ''for eternity'' :* '''av hyas''' = ''for every reason'' :* '''av hyea tesdud''' = ''for whatever reason'' :* '''av hyea tesyob''' = ''for any reason, for whatever reason'' :* '''av hyea tesyob van''' = ''for any reason that'' :* '''av hyes''' = ''for any reason'' :* '''av hyes van''' = ''for any reason that'' :* '''av hyis''' = ''for the same reason'' :* '''av hyis van''' = ''for the same reason that'' :* '''av hyua tesdud''' = ''for some other reason'' :* '''av hyus''' = ''for some other reason'' :* '''av''' = ''in favor of, in order to, on behalf of, per, pro, so as to'' :* '''Av izdaler...''' = ''To be frank...'' :* '''av jexrean''' = ''forever, in perpetuity'' :* '''av job''' = ''pro-tem'' :* '''av joyb''' = ''for a while'' :* '''av saungon''' = ''for example'' :* '''av tesdud van''' = ''because, for the reason that'' :* '''av tesyob bi....''' = ''because of...., by reason of....'' :* '''av tesyob van....''' = ''because...., for the reason that....'' :* '''av van''' = ''in order that, so that'' </div> = av von -- Avedaler = <div style="background: lightyellow; border: solid blue 2px; {{column-count|2}};{{column-rule|2px solid blue}};font-size:smaller;";> :* '''av von''' = ''lest, so that....not'' :* '''av yagjob''' = ''for a long stretch, for a long time'' :* '''av yekun bi''' = ''for the purpose of'' :* '''ava''' = ''favorable, in favor, pro'' :* '''ava vaotexden''' = ''favorable decision'' :* '''Avad''' = ''Avaric'' :* '''Avadaler''' = ''to speak Avaric'' :* '''Avadalut''' = ''Avaric speaker'' :* '''Avader''' = ''to say in Avaric'' :* '''avakdibut''' = ''constable'' :* '''avan''' = ''advocacy, behalf, behest'' :* '''avapot''' = ''white-tailed deer'' :* '''avaxlawa''' = ''represented'' :* '''avaxlea''' = ''deputy, representing'' :* '''avaxlean''' = ''representativeness'' :* '''avaxleay''' = ''representatively'' :* '''avaxlen''' = ''representation'' :* '''avaxlena''' = ''representational'' :* '''avaxler''' = ''to act on behalf, to aid, to help, to represent'' :* '''avaxlut''' = ''deputy, proxy, representative'' :* '''avaxlutim''' = ''deptuy chamber'' :* '''avaxlutxen''' = ''deputation, deputizing'' :* '''avaxlutxer''' = ''to depute, to deputize'' :* '''avaxlutxwa''' = ''deputized'' :* '''avaxlyafwa''' = ''representable'' :* '''avay''' = ''favorably, in favor'' :* '''avben''' = ''helping'' :* '''avber''' = ''to help'' :* '''avbol''' = ''endorsement'' :* '''avbolea''' = ''patronizing'' :* '''avbolen''' = ''endorsement, endorsing, patronizing'' :* '''avboler''' = ''to endorse, to patronize'' :* '''avbolut''' = ''endorser, patron, patronizer'' :* '''avbolutan''' = ''patronage'' :* '''avboluyt''' = ''patroness'' :* '''avbolwa''' = ''endorsed, patronized'' :* '''avbolwat''' = ''endorsee'' :* '''avbut''' = ''helper'' :* '''avbwa''' = ''helped'' :* '''avdal bi nixbuen''' = ''sales pitch'' :* '''avdal''' = ''defense, pitch'' :* '''avdalen''' = ''advocacy, defense, pitching'' :* '''avdaler''' = ''to advocate, to argue for, to campaign for, to defend, to pitch, to speak on behalf of'' :* '''avdalut''' = ''advocate, backer, defender, proponent, spokesman, spokesperson'' :* '''avdalutan''' = ''advocacy, defense'' :* '''avdalutyan''' = ''defense team'' :* '''avdaluyt''' = ''spokeswoman'' :* '''avdalwa''' = ''defended'' :* '''avdalyafwan''' = ''defensibility'' :* '''avdalyafway''' = ''defensibly'' :* '''avdalyofwa''' = ''defenseless, unarguable'' :* '''avdalyofwan''' = ''defenselessness'' :* '''avdalyofway''' = ''defenselessly, unarguably'' :* '''avdea''' = ''deciding in favor of, favoring, in favor of, optative, opting for'' :* '''avden''' = ''adducing, advocating, deciding in favor of, opting for, proposing, proposition'' :* '''avdena''' = ''propositional'' :* '''avder''' = ''to adduce, to advocate, to decide in favor of, to favor, to opt for, to propose'' :* '''avditdoba''' = ''pro-republican'' :* '''avdopa''' = ''pro-war'' :* '''avdopat''' = ''pro-war person'' :* '''avdopek''' = ''defense, struggle on behalf of'' :* '''avdopeken''' = ''defending, struggling on behalf of'' :* '''avdopeker''' = ''to defend, to fight for, to struggle on behalf of'' :* '''avdun''' = ''pronoun'' :* '''avduna''' = ''pronominal'' :* '''avdunxen''' = ''pronominalization'' :* '''avdunxer''' = ''to pronominalize'' :* '''avdunxwa''' = ''pronominalized'' :* '''avdut''' = ''advocate, defender, proponent, proposer'' :* '''avdwa''' = ''adduced, advocated, favored, opted, proposed'' :* '''avdyundrawa''' = ''endorsed'' :* '''avdyundrawat''' = ''endorsee'' :* '''avdyundren''' = ''endorsement'' :* '''avdyundrer''' = ''to endorse'' :* '''avdyundrut''' = ''endorser'' :* '''aveb''' = ''bean, green bean, haricot'' :* '''avebteil''' = ''bean soup'' :* '''avebyexer''' = ''to fight for'' :* '''Aved''' = ''Avestan'' :* '''Avedaler''' = ''to speak Avestan'' </div> = Avedalut -- awa gat = <div style="background: lightyellow; border: solid blue 2px; {{column-count|2}};{{column-rule|2px solid blue}};font-size:smaller;";> :* '''Avedalut''' = ''Avestan speaker'' :* '''Aveder''' = ''to say in Avestan'' :* '''aveel''' = ''English pea, garden pea, sweet pea'' :* '''aveil''' = ''pea soup'' :* '''avejter''' = ''to stand-in, to substitute'' :* '''avek''' = ''campaign'' :* '''aveken''' = ''advocacy, advocating, advocation, campaigning'' :* '''aveker''' = ''to advocate, to campaign'' :* '''avekut''' = ''advocate, campaigner, lobbyist'' :* '''avekwa''' = ''advocated, fought for'' :* '''avembier''' = ''to represent'' :* '''avepot''' = ''fallow deer'' :* '''avevol''' = ''New Zealand spinach'' :* '''avhas van''' = ''because'' :* '''avhus''' = ''for that reason, therefore, thus'' :* '''avhyitoobifa''' = ''pro-gay'' :* '''avhyitoobifan''' = ''pro-gayness'' :* '''avmayn''' = ''torchlight'' :* '''avob''' = ''corn, wheat'' :* '''avoba''' = ''wheaten'' :* '''avos''' = ''poppy'' :* '''avpen''' = ''pursuit'' :* '''avper''' = ''to pursue'' :* '''avson''' = ''case, cause, sake, subject'' :* '''avtexder''' = ''to decide in favor of'' :* '''avtexer''' = ''to favor'' :* '''avtexwa''' = ''favored'' :* '''avtip''' = ''goodwill'' :* '''avtosut''' = ''advocate'' :* '''avuduzar''' = ''tenor saxophone'' :* '''avufek''' = ''defense, struggle'' :* '''avufeken''' = ''advocating, defending, striving for'' :* '''avufeker''' = ''to advocate, to defend, to strive for, to struggle for'' :* '''avufekut''' = ''advocate, defender'' :* '''avufekwa''' = ''advocated, defended'' :* '''avufekyafwa''' = ''defensible'' :* '''avufekyea''' = ''defensive'' :* '''avufekyofwa''' = ''indefensible'' :* '''avun''' = ''favor'' :* '''avunuea''' = ''favoring'' :* '''avunuenavden''' = ''favoring'' :* '''avunuer''' = ''to favor, to show favor to'' :* '''avunuwa''' = ''favored'' :* '''avunuyea''' = ''favorable'' :* '''avunuyea kyes''' = ''favorable occurrence'' :* '''avunuyea kyeson''' = ''favorable circumstance'' :* '''avunuyea venson''' = ''favorable condition'' :* '''avunuyeay''' = ''favorably'' :* '''avupat''' = ''oriole'' :* '''avUsoma''' = ''Pro-American'' :* '''avut''' = ''partisan'' :* '''avutyan''' = ''coalition, cohort, party'' :* '''avutyana''' = ''partisan'' :* '''avutyanan''' = ''partisanship'' :* '''avutyaninut''' = ''coalitionist'' :* '''avyan''' = ''canon, precept, principle'' :* '''avyana''' = ''canonic, canonical, preceptive'' :* '''avyanay''' = ''canonically, in principle'' :* '''avyanaya''' = ''principled'' :* '''avyanika''' = ''principled'' :* '''avyanotina''' = ''pro-communist, procommunist'' :* '''avyanotinut''' = ''communist sympathizer, pro-communist, procommunist'' :* '''avyanuka''' = ''unconscionable, unprincipled'' :* '''avyanukat''' = ''snollygoster'' :* '''avyanxen''' = ''canonicalization, canonicalizing'' :* '''avyanxer''' = ''to canonicalize'' :* '''avyanxwa''' = ''canonicalized'' :* '''avyapot''' = ''gnu, wildebeest'' :* '''avyekler''' = ''to fight for'' :* '''avyuvrina''' = ''proslavery'' :* '''avyuvrinut''' = ''proslavist'' :* '''avyuzniga''' = ''pro-environmental'' :* '''avzemula''' = ''pronuclear'' :* '''awa''' = ''a, an, one'' :* '''awa ay gajodi''' = ''time and again'' :* '''awa ga jod''' = ''another time, once again, one more time'' :* '''awa gaj''' = ''once again, one more time'' :* '''awa gajod''' = ''once more'' :* '''awa gas''' = ''one more thing'' :* '''awa gat''' = ''one more person'' </div> = awa hyus -- axleaxen = <div style="background: lightyellow; border: solid blue 2px; {{column-count|2}};{{column-rule|2px solid blue}};font-size:smaller;";> :* '''awa hyus''' = ''another, encore, one more, one more thing'' :* '''awa jaga''' = ''one year old'' :* '''awa jod hyajab''' = ''once a year'' :* '''awa jod''' = ''on one instance, once, one time'' :* '''awajagat''' = ''one-year-old'' :* '''awajagayt''' = ''one-year-old girl'' :* '''awajagwat''' = ''one-year-old boy'' :* '''awakuney''' = ''on one hand'' :* '''awalapyot''' = ''snow leopard'' :* '''awalepyit''' = ''piranha'' :* '''awalopot''' = ''alpaca'' :* '''awan''' = ''oneness, unison, unity'' :* '''awapeid''' = ''toot, whistle'' :* '''awapeidar''' = ''tooter, whistle'' :* '''awapeiden''' = ''tooting, whistling'' :* '''awapeider''' = ''to toot, to whistle'' :* '''awapeit''' = ''humpback'' :* '''awapelat''' = ''wasp'' :* '''awapelatnyem''' = ''wasp nest'' :* '''awapelatyena''' = ''waspish'' :* '''awapelatyenan''' = ''waspishness'' :* '''awapelatyenay''' = ''waspishly'' :* '''awapeletam''' = ''vespiary'' :* '''awapeletyan''' = ''vespiary'' :* '''awapelt''' = ''common house spider'' :* '''awapiit''' = ''langostino, red lobster'' :* '''awapyat''' = ''bald eagle'' :* '''awapyit''' = ''great white shark'' :* '''awapyot''' = ''mountain lion'' :* '''awas jo awas''' = ''in a series, one by one'' :* '''awas jo gas''' = ''one after another'' :* '''awas''' = ''one of them, one thing'' :* '''awat deuzun''' = ''solo'' :* '''awat deuzut''' = ''soloist'' :* '''awat''' = ''one of them, one person'' :* '''awatduz''' = ''aria'' :* '''awatob sum''' = ''single bed'' :* '''away''' = ''only'' :* '''awepayet''' = ''vampire bat'' :* '''awepelat''' = ''hornet'' :* '''awepet''' = ''zebu'' :* '''awepot''' = ''water buffalo'' :* '''awepyat''' = ''condor'' :* '''awiduzar''' = ''violoncello'' :* '''awiduzarut''' = ''violoncello player'' :* '''awipelat''' = ''fruit fly, yellow jacket'' :* '''awipyit''' = ''blackfin tuna'' :* '''awipyot''' = ''arctic fox'' :* '''awopayet''' = ''brachiosaurus'' :* '''Awugen''' = ''Aruban florin'' :* '''awupelat''' = ''sweat bee'' :* '''awupit''' = ''koi'' :* '''axagun''' = ''oncer'' :* '''axagut''' = ''oncer'' :* '''axapat''' = ''turtledove'' :* '''axapelt''' = ''red carpenter ant'' :* '''axen''' = ''making, rendering'' :* '''axer het iva''' = ''to make someone happy'' :* '''axer''' = ''to make, to render'' :* '''axlaf''' = ''authority, command, mandate, permission to act'' :* '''axlafdref''' = ''authorization papers, written mandate, written order'' :* '''axlafut''' = ''authority, commander'' :* '''axlafuti''' = ''authorities'' :* '''axlafutyan''' = ''authority, command'' :* '''axlafxen''' = ''authorization, mandating, ordering'' :* '''axlafxer''' = ''to authorize, to mandate, to order'' :* '''axlafxwa''' = ''authorized, mandated, ordered'' :* '''axlawa''' = ''acted, performed'' :* '''axlawat-izonbwa''' = ''patient-oriented'' :* '''axlea''' = ''active, behaving'' :* '''axlea gel zeymep''' = ''bridging'' :* '''axlea magimel''' = ''active volcano'' :* '''axlea magyazmel''' = ''active volcano'' :* '''axlea nod''' = ''hyperlink'' :* '''axlea teuz''' = ''active voice'' :* '''axlea veyovtexuay''' = ''suspicious-acting'' :* '''axlean''' = ''activeness, activity'' :* '''axleaxar''' = ''activator'' :* '''axleaxea''' = ''activating'' :* '''axleaxen''' = ''activating, activation'' </div> = axleaxer -- aybabwa = <div style="background: lightyellow; border: solid blue 2px; {{column-count|2}};{{column-rule|2px solid blue}};font-size:smaller;";> :* '''axleaxer''' = ''to activate'' :* '''axleaxwa''' = ''activated'' :* '''axleay''' = ''actively'' :* '''axlem''' = ''sphere of activity'' :* '''axlen''' = ''acting, action, activity, behaving, behavior, conducting, performance'' :* '''axlen gonem''' = ''zone of activity'' :* '''axlen nad''' = ''line of action'' :* '''axlena''' = ''action-related'' :* '''axlenaya''' = ''buzzy'' :* '''axlenika''' = ''buzzy'' :* '''axler kyutesay''' = ''to fribble'' :* '''axler oyafay''' = ''to bumble'' :* '''axler''' = ''to act, to behave, to comport oneself'' :* '''axleyn''' = ''action'' :* '''axlim''' = ''activity room'' :* '''axlin''' = ''activism, pragmaticism, pragmatism'' :* '''axlina''' = ''activist'' :* '''axlinut''' = ''activist, pragmatist'' :* '''axlul''' = ''agent'' :* '''axlun''' = ''act, action, measure, performance'' :* '''axlun bi dop''' = ''act of war'' :* '''axluna''' = ''pragmatic, pragmatical'' :* '''axlunay''' = ''pragmatically'' :* '''axlus''' = ''agent'' :* '''axlut''' = ''actor, agent, performer'' :* '''axluta''' = ''agentive'' :* '''axlutan''' = ''agency'' :* '''axlut-izonbwa''' = ''actor-oriented'' :* '''axlyafwa''' = ''actionable'' :* '''axlyen''' = ''behavior, behavioral makeup, comportment, conduct, manner of behaving'' :* '''axlyena''' = ''behavioral, comportmental'' :* '''axlyenin''' = ''behaviorism'' :* '''axlyenina''' = ''behavioristic'' :* '''axlyeninut''' = ''behaviorist'' :* '''axlyentun''' = ''behavioral science'' :* '''axlyentut''' = ''behavioral scientist'' :* '''axnea''' = ''behaving, conducting oneself'' :* '''axnen''' = ''behaving, behavior, comportment'' :* '''axner''' = ''to behave, to conduct oneself'' :* '''axnyen''' = ''behavior, comportment, manner of behaving'' :* '''axram''' = ''ashram'' :* '''axupelt''' = ''weevil'' :* '''axwa''' = ''made, rendered'' :* '''ay''' = ''and'' :* '''ay byem uzbwa''' = ''and vice versa'' :* '''ay ga hyusi''' = ''and other things'' :* '''ay ga hyuti''' = ''and others, et al.'' :* '''ay gay''' = ''furthermore'' :* '''ay gelasi''' = ''and the like, etcetera'' :* '''ay ha oyvas''' = ''and vice versa'' :* '''ay huuyen jo''' = ''and so forth, and so on, and thus onward'' :* '''ay hyusi''' = ''and others, et al., et alia'' :* '''-ay''' = ''suffix denoting adverb'' :* '''ay tinzyad''' = ''agitprop'' :* '''ay vice versa''' = ''and vice versa'' :* '''ayabdeuzuyt''' = ''first soprano'' :* '''ayabdeuzwut''' = ''irst tenor'' :* '''Ayanmel''' = ''North America'' :* '''Ayanmela''' = ''North American'' :* '''Ayanmelat''' = ''North American, inhabitant of North America'' :* '''ayapyat''' = ''kestrel'' :* '''ayatollah''' = ''ayatollah'' :* '''ayaybdeuzuyt''' = ''first alto'' :* '''ayb''' = ''above, over'' :* '''ayb ha dom''' = ''above the city'' :* '''ayb ha domep''' = ''above the street'' :* '''ayb ha mem''' = ''above the ground'' :* '''ayb hus''' = ''thereunder'' :* '''ayb hyas''' = ''above all, especially'' :* '''ayb-''' = ''hyper-, over-, super-, sur-'' :* '''ayb zenag''' = ''above average'' :* '''ayba fin''' = ''superior quality'' :* '''ayba nab''' = ''superior rank'' :* '''ayba neg''' = ''superior echelon, superior level'' :* '''ayba''' = ''overhead, superior'' :* '''ayba xub''' = ''superior department'' :* '''ayba yafon''' = ''superior power'' :* '''aybaben''' = ''superimposing, superimposition, superposing, superposition'' :* '''aybaber''' = ''to superimpose, to superpose'' :* '''aybabwa''' = ''superimposed, superposed'' </div> = aybaea -- aybnapxen = <div style="background: lightyellow; border: solid blue 2px; {{column-count|2}};{{column-rule|2px solid blue}};font-size:smaller;";> :* '''aybaea''' = ''overlaying'' :* '''aybaer''' = ''to lean over, to overlay'' :* '''aybagvunakan''' = ''overvoltage'' :* '''aybaler''' = ''to overstrike'' :* '''aybamxer''' = ''to superheat'' :* '''aybamxwa''' = ''superheated'' :* '''ayban''' = ''superiority'' :* '''aybanyan''' = ''superset'' :* '''aybaotyan''' = ''supergroup'' :* '''aybaren''' = ''running over'' :* '''aybarer''' = ''to run over'' :* '''aybarwa''' = ''run over'' :* '''aybat''' = ''superior'' :* '''aybattep''' = ''superego'' :* '''aybay''' = ''overly, superiorly'' :* '''aybazon''' = ''pressure, stress, weight'' :* '''aybazonuen''' = ''pressuring, stressing'' :* '''aybazonuer''' = ''to apply pressure, to stress, to weigh on'' :* '''aybazonuwa''' = ''pressured, stressed, weighed down'' :* '''aybdobina''' = ''imperialistic'' :* '''aybdout''' = ''noble, nobleman'' :* '''aybdouta''' = ''noble'' :* '''aybdoutan''' = ''nobleness'' :* '''aybdoutyan''' = ''noble class'' :* '''aybdras''' = ''superscript'' :* '''aybdrawa''' = ''superscribed, superscripted'' :* '''aybdren''' = ''superscripting, superscription'' :* '''aybdrer''' = ''to superscribe'' :* '''aybdresiyn''' = ''accent mark above'' :* '''aybdresiynber''' = ''to accent'' :* '''aybdresiynbwa''' = ''accented'' :* '''aybdrirer''' = ''to type over'' :* '''aybdrirwa''' = ''typed over'' :* '''aybdrun''' = ''superscript, superscription'' :* '''aybdrurun''' = ''surprint'' :* '''aybega''' = ''supernormal'' :* '''ayber''' = ''to overstrike'' :* '''aybey''' = ''over the top of'' :* '''aybfinan''' = ''superiority'' :* '''aybfinay''' = ''superiorly'' :* '''aybgaber''' = ''to superadd'' :* '''aybgoblar''' = ''parer, paring knife'' :* '''aybgoblawa''' = ''pared'' :* '''aybgoblen''' = ''paring'' :* '''aybgobler''' = ''to pare'' :* '''aybgobrar''' = ''file'' :* '''aybgobraren''' = ''filing'' :* '''aybgobrarer''' = ''to file'' :* '''aybgobrarun''' = ''filings'' :* '''aybgobrarut''' = ''filer'' :* '''aybgobrarwa''' = ''filed'' :* '''aybgwomulyan''' = ''supermolecule'' :* '''aybigkyax''' = ''overdrive'' :* '''aybilpen''' = ''washing over'' :* '''aybilper''' = ''to wash over'' :* '''aybixer''' = ''to pull over'' :* '''aybkumas''' = ''cornice, ledge'' :* '''aybkyisuar''' = ''supercharger'' :* '''aybkyupen''' = ''sliding over'' :* '''aybkyuper''' = ''to slide over'' :* '''aybmagsammoys''' = ''mantel, mantelpiece'' :* '''aybmas bolmyuf''' = ''rafter'' :* '''aybmas''' = ''ceiling, overhead'' :* '''aybmas muf''' = ''overhead beam'' :* '''aybmasmis''' = ''hatch'' :* '''aybmela''' = ''above-ground, aboveground'' :* '''aybmema bixpur''' = ''aerotrain, hovertrain'' :* '''aybmema''' = ''overground'' :* '''aybmembelen''' = ''portage'' :* '''aybmep''' = ''crossing, overpass. bridge'' :* '''aybmepsaxen''' = ''bridge-building'' :* '''aybmepsaxut''' = ''pontifex'' :* '''aybmepxen''' = ''bridging'' :* '''aybmepxer''' = ''to bridge'' :* '''aybmepxwa''' = ''bridged'' :* '''aybnaba''' = ''superior in rank'' :* '''aybnan''' = ''superiority'' :* '''aybnap''' = ''superorder'' :* '''aybnapa''' = ''superordinate'' :* '''aybnapxen''' = ''superordination'' </div> = aybneg -- aybzyegxen = <div style="background: lightyellow; border: solid blue 2px; {{column-count|2}};{{column-rule|2px solid blue}};font-size:smaller;";> :* '''aybneg''' = ''superstratum'' :* '''aybnog''' = ''super-grade'' :* '''aybnoga''' = ''super-grade, superior in degree'' :* '''aybnogser''' = ''to stride'' :* '''aybnogyana''' = ''superscalar'' :* '''aybnyif dompur''' = ''tram'' :* '''aybnyifpur''' = ''cable car'' :* '''aybpap''' = ''flyover'' :* '''aybpolayt''' = ''superphosphate'' :* '''aybra''' = ''cardinal, consummate, peerless, preeminent, supreme, top, utmost'' :* '''aybra vyayb''' = ''cardinal rule'' :* '''aybran''' = ''preeminence, supremacy'' :* '''aybrasea''' = ''reigning supreme'' :* '''aybraser''' = ''to become supreme, to reign supreme'' :* '''aybrat''' = ''supreme being'' :* '''aybray''' = ''consummately'' :* '''aybsag''' = ''numerator'' :* '''aybsaga''' = ''supernumerary'' :* '''aybseuz''' = ''overtone'' :* '''aybsexun''' = ''superstructure'' :* '''aybsexyen''' = ''superstructure'' :* '''aybsimper''' = ''to preside'' :* '''aybsiyn''' = ''above-the-line mark'' :* '''aybsun''' = ''layer, stratum'' :* '''aybtaayf''' = ''cardigan'' :* '''aybtaxdrawa''' = ''overwritten'' :* '''aybtaxdren''' = ''overwriting'' :* '''aybtaxdrer''' = ''to overwrite'' :* '''aybteadid''' = ''survey'' :* '''aybteadiden''' = ''surveying'' :* '''aybteadider''' = ''to conduct a survey, to do a survey'' :* '''aybteadidier''' = ''to take a survey'' :* '''aybteadidiut''' = ''survey-taker'' :* '''aybteadiduen''' = ''giving a survey'' :* '''aybteadiduer''' = ''to give a survey'' :* '''aybteadiduut''' = ''survey-giver, surveyor'' :* '''aybteadidwa''' = ''surveyed'' :* '''aybteas''' = ''bird's eye view, overview'' :* '''aybteat''' = ''overview, survey, synopsis'' :* '''aybteata''' = ''synoptic, synoptical'' :* '''aybteax''' = ''oversight, overview, survey'' :* '''aybteaxea''' = ''overlooking, overseeing, supervising'' :* '''aybteaxen''' = ''invigilation, overseeing, superintendence, supervising, supervision, watching over'' :* '''aybteaxen malzyun''' = ''surveillance balloon'' :* '''aybteaxena''' = ''supervisory'' :* '''aybteaxer''' = ''to invigilate, to oversee, to superintend, to supervise'' :* '''aybteaxut''' = ''foreman, intendant, invigilator, overseer, superintendent, supervisor'' :* '''aybteaxutan''' = ''superintendency'' :* '''aybteaxwa''' = ''overseen, supervised'' :* '''aybteba''' = ''overhead'' :* '''aybtev''' = ''headdress, scarf, veil'' :* '''aybteyof''' = ''head scarf'' :* '''aybteyv''' = ''fichu'' :* '''aybtim''' = ''garret, mansard'' :* '''aybtomsan''' = ''superstructure'' :* '''aybtomsana''' = ''superstructural'' :* '''aybtoof''' = ''overgarments, tracksuit'' :* '''aybtuaf''' = ''epaulette, shoulder pad, shoulder strap'' :* '''aybtuyaba''' = ''overhanded'' :* '''aybtyoyaf''' = ''overshoe'' :* '''aybuper''' = ''to come above, to come over'' :* '''aybuxen''' = ''pushing over'' :* '''aybuxer''' = ''to push over'' :* '''aybuxwa''' = ''pushed over'' :* '''aybwa''' = ''overlaid'' :* '''aybyafa doneg''' = ''master class, ruling class'' :* '''aybyafat''' = ''superpower'' :* '''aybyafer''' = ''to overmaster'' :* '''aybyafon''' = ''superpower'' :* '''aybyezper''' = ''to overlie'' :* '''aybyiba''' = ''far above, way above'' :* '''aybyizben''' = ''passing over'' :* '''aybyizpen''' = ''passing over'' :* '''aybyizper''' = ''to pass over, to pass-over'' :* '''aybyuxut''' = ''superuser'' :* '''aybyuzyuper''' = ''to roll over'' :* '''aybzetif''' = ''surcingle'' :* '''aybzey''' = ''over'' :* '''aybzotiub''' = ''loin'' :* '''aybzyegxen''' = ''overpunching'' </div> = aydun -- ayn- = <div style="background: lightyellow; border: solid blue 2px; {{column-count|2}};{{column-rule|2px solid blue}};font-size:smaller;";> :* '''aydun''' = ''adverb'' :* '''ayduna''' = ''adverbial'' :* '''aydunay''' = ''adverbially'' :* '''ayek''' = ''experiment'' :* '''ayeka''' = ''experimental'' :* '''ayekay''' = ''experimentally'' :* '''ayeken''' = ''experimentation, experimenting'' :* '''ayeker''' = ''to experiment'' :* '''ayekut''' = ''experimenter'' :* '''ayekwa''' = ''experimented'' :* '''ayepeit''' = ''vaquita'' :* '''ayepiit''' = ''soft shell crab'' :* '''ayepyat''' = ''barn owl'' :* '''ayet''' = ''our, us, we, you all and I'' :* '''ayeta''' = ''ours, your'' :* '''ayetas''' = ''ours, yours'' :* '''ayetasi''' = ''ours, yours'' :* '''ayeyuta''' = ''our own'' :* '''ayeyutas''' = ''our own'' :* '''ayeyutasi''' = ''our own'' :* '''ayfden''' = ''consent'' :* '''ayfder''' = ''to consent'' :* '''ayfdut''' = ''consenter'' :* '''ayfdwa''' = ''consented'' :* '''ayfdyea''' = ''consensual'' :* '''ayfen''' = ''tolerating, toleration'' :* '''ayfer''' = ''to tolerate'' :* '''ayflawa''' = ''consented'' :* '''ayflen''' = ''consent, consenting'' :* '''ayfler''' = ''to consent'' :* '''ayfwa''' = ''tolerated'' :* '''ayfxen''' = ''toleration'' :* '''ayfxer''' = ''to tolerate'' :* '''ayfxyafwa''' = ''tolerable'' :* '''ayfxyafway''' = ''tolerably'' :* '''ayfxyea''' = ''tolerant'' :* '''ayfxyean''' = ''tolerance'' :* '''ayfxyeay''' = ''tolerantly'' :* '''ayfxyofwa''' = ''intolerable'' :* '''ayfxyofwan''' = ''intolerability'' :* '''ayfxyofway''' = ''intolerably'' :* '''ayfyofwa''' = ''insupportable'' :* '''ayga''' = ''biggish, goodly, largish, sizeable'' :* '''aygasea''' = ''developing'' :* '''aygaser''' = ''to develop'' :* '''aygaxen''' = ''development'' :* '''aygaxer''' = ''to develop'' :* '''aygaxwa''' = ''developed'' :* '''ayibdubet''' = ''consul general'' :* '''ayibdubetam''' = ''consulate general'' :* '''ayit''' = ''us, we'' :* '''ayita''' = ''our'' :* '''ayitas''' = ''ours'' :* '''ayitasi''' = ''ours'' :* '''ayixen''' = ''christening'' :* '''ayixer''' = ''to christen'' :* '''ayixwa''' = ''christened'' :* '''ayklawa''' = ''surmounted'' :* '''ayklen''' = ''surmounting'' :* '''aykler''' = ''to surmount'' :* '''ayklyafwa''' = ''surmountable'' :* '''ayklyofwa''' = ''insurmountable'' :* '''ayklyofway''' = ''insurmountably'' :* '''aylza''' = ''light red'' :* '''aylza mealag''' = ''carnelian'' :* '''aylzan''' = ''reddishness, ruddiness'' :* '''ayma bexler''' = ''to keep warm'' :* '''ayma''' = ''sanguine, warm'' :* '''ayman''' = ''warmness, warmth'' :* '''aymaniyfer''' = ''to frowst'' :* '''aymar''' = ''toaster, warmer'' :* '''aymay''' = ''sanguinely, warmly'' :* '''aymtiibila''' = ''warm-blooded, warmblooded'' :* '''aymxen''' = ''toasting, warming'' :* '''aymxer''' = ''to toast, to warm up'' :* '''aymxwa''' = ''toasted, warmed up'' :* '''aymyuksoma''' = ''snug'' :* '''aymyuksoman''' = ''snugness'' :* '''aymyuksomay''' = ''snugly'' :* '''ayn-''' = ''full-, holo-, whole-'' </div> = ayn -- aynxyafwa = <div style="background: lightyellow; border: solid blue 2px; {{column-count|2}};{{column-rule|2px solid blue}};font-size:smaller;";> :* '''ayn''' = ''whole'' :* '''ayna''' = ''absolute, consummate, entire, intact, integral, livelong, unmitigated, utter, whole'' :* '''ayna bil''' = ''whole milk'' :* '''ayna ged siyn''' = ''single quotation mark, single quote'' :* '''ayna goblun''' = ''whole cut'' :* '''ayna gon''' = ''whole share'' :* '''ayna poys''' = ''whole rest'' :* '''ayna sag''' = ''whole number'' :* '''ayna zyup''' = ''complete rotation, complete turn-around, whole turn'' :* '''aynan''' = ''absoluteness, completeness, entirety, intactness, integrity, probity, wholeness'' :* '''aynas''' = ''all of it, entire thing, sum, the entire thing, the entirety, the whole thing, whole thing'' :* '''aynat''' = ''solo'' :* '''aynay''' = ''absolutely, completely, consummately, entirely, fully, outright, quite, utterly, wholly'' :* '''aynden''' = ''summarization, summarizing, summary, summation'' :* '''aynder''' = ''to sum up, to summarize'' :* '''ayndrar''' = ''holograph'' :* '''ayndras''' = ''hologram'' :* '''ayndrasa''' = ''holographic'' :* '''ayndren''' = ''holography'' :* '''aynduznod''' = ''semibreve'' :* '''ayndwa''' = ''summarized, summed up'' :* '''ayndyana''' = ''holophrastic'' :* '''aynina''' = ''holistic'' :* '''ayninay''' = ''holistically'' :* '''aynkyasen''' = ''changeover'' :* '''aynmagser''' = ''to burn up completely'' :* '''aynmagxen''' = ''holocaust'' :* '''aynmagxer''' = ''to burn up completely'' :* '''aynmeg''' = ''hololith'' :* '''aynmora''' = ''universal'' :* '''aynmoran''' = ''universality'' :* '''aynmoray''' = ''universally'' :* '''aynmorxen''' = ''universalization'' :* '''aynmorxer''' = ''to universalize'' :* '''aynmorxwa''' = ''universalized'' :* '''aynmula''' = ''integral, pure, sheer, unmixed, whole'' :* '''aynmulan''' = ''purity, wholeness'' :* '''aynmulxea''' = ''purifying'' :* '''aynmulxen''' = ''cleansing, integration, purging, purification, purifying'' :* '''aynmulxena''' = ''purgatorial'' :* '''aynmulxer''' = ''to cleanse, to integrate, to purge, to purify, to refine'' :* '''aynmulxin''' = ''purism'' :* '''aynmulxina''' = ''puristic'' :* '''aynmulxinut''' = ''purist'' :* '''aynmulxus''' = ''purger'' :* '''aynmulxut''' = ''purger'' :* '''aynmulxwa''' = ''cleansed, integrated, purged, purified, refined'' :* '''aynmulxyea''' = ''purgative'' :* '''aynmuxul''' = ''alembic'' :* '''aynniyea''' = ''all-consuming'' :* '''aynnuxbien''' = ''engrossment'' :* '''aynnuxbier''' = ''to engross'' :* '''aynnuxbiwa''' = ''engrossed'' :* '''aynsag''' = ''integer'' :* '''aynsagyan''' = ''set of integers'' :* '''aynsan''' = ''gestalt'' :* '''aynsana''' = ''holomorphic'' :* '''aynsaun''' = ''holotype'' :* '''aynsin''' = ''hologram'' :* '''ayntapa''' = ''wholesome'' :* '''ayntapan''' = ''wholesomeness'' :* '''aynteptija''' = ''fully-conscious'' :* '''aynteubien''' = ''swallowing whole'' :* '''aynteubier''' = ''to swallow whole'' :* '''aynteubiwa''' = ''swallowed whole'' :* '''aynunuen''' = ''wholesale'' :* '''aynunuer''' = ''to wholesale'' :* '''aynunuiena''' = ''wholesale'' :* '''aynunuiut''' = ''wholesaler'' :* '''aynunuut''' = ''wholesaler'' :* '''aynveeyba ovolek''' = ''wholemeal'' :* '''aynxea''' = ''integrating, unific'' :* '''aynxen''' = ''completion, integrating, integration, mending'' :* '''aynxer''' = ''to complete, to integrate, to make whole, to mend'' :* '''aynxoas''' = ''integrand'' :* '''aynxus''' = ''integrator'' :* '''aynxut''' = ''integrator, mender'' :* '''aynxwa''' = ''builtin, completed, integrated, mended'' :* '''aynxwan''' = ''completeness, wholeness'' :* '''aynxyafwa''' = ''integrable'' </div> = aynxyea -- azabaxrawa = <div style="background: lightyellow; border: solid blue 2px; {{column-count|2}};{{column-rule|2px solid blue}};font-size:smaller;";> :* '''aynxyea''' = ''integrative'' :* '''aynzyuper''' = ''to turn full circle'' :* '''aynzyuser''' = ''to turn all the way around'' :* '''aynzyuxer''' = ''to turn all the way around'' :* '''ayobdeuzut''' = ''first bass'' :* '''ayobdeuzuyt''' = ''first alto'' :* '''ayobdeuzwut''' = ''first base'' :* '''ayokkaxut''' = ''discoverer'' :* '''ayokkaxwa''' = ''discovered'' :* '''ayopelat''' = ''carpenter bee'' :* '''ayopetayez''' = ''mohair, moire'' :* '''ayopyat''' = ''sparrowhawk'' :* '''ayoynminak''' = ''millimeter'' :* '''aypap''' = ''overflight'' :* '''aypapea''' = ''flying over'' :* '''aypapen''' = ''flying over'' :* '''aypaper''' = ''to fly over, to overfly'' :* '''aypea''' = ''surpassing'' :* '''aypem''' = ''overpass'' :* '''aypen''' = ''clearing, getting over, going over, going overhead, pass-over, passing over, surpassing'' :* '''aypeper''' = ''to ride over, to run over'' :* '''aypepya''' = ''run over'' :* '''ayper''' = ''to cross overhead, to get over, to go above, to go over, to go overhead, to pass over, to surpass'' :* '''aypla''' = ''surmounted'' :* '''ayplen''' = ''surmounting'' :* '''aypler''' = ''to surmount'' :* '''ayplyafwa''' = ''surmountable'' :* '''aypuren''' = ''running over'' :* '''aypurer''' = ''to run over'' :* '''aypurwer''' = ''to get run over'' :* '''aypusen''' = ''jumping over, skipping'' :* '''aypuser''' = ''to hop over, to jump over, to skip'' :* '''aypuxen''' = ''throwing over'' :* '''aypuxer''' = ''to throw over, to throw overboard'' :* '''aypuxwa''' = ''thrown over'' :* '''aypuysea''' = ''hurdling'' :* '''aypuysen''' = ''hopping over, hurdling, skipping over'' :* '''aypuyser''' = ''to hop over, to hurdle, to skip over'' :* '''aypuysmas''' = ''hurdle'' :* '''aypuysut''' = ''hurdler'' :* '''aypuyxer''' = ''to toss over'' :* '''aypya''' = ''surpassed'' :* '''aypyaser''' = ''to vault'' :* '''aypyasut''' = ''vaulter'' :* '''aypyosea''' = ''falling over, overhanging, toppling'' :* '''aypyoser''' = ''to fall over, to topple'' :* '''aypyoxwa''' = ''overhung'' :* '''aysiun''' = ''ampersand'' :* '''ayt aut''' = ''me myself as a woman'' :* '''ayt''' = ''I as a female, me'' :* '''ayta''' = ''my'' :* '''aytas''' = ''mine'' :* '''aytasi''' = ''mine'' :* '''ayugsul''' = ''natural rubber'' :* '''Ayumid''' = ''Aymara'' :* '''Ayumidaler''' = ''to speak Aymara'' :* '''Ayumidalut''' = ''Aymara speaker'' :* '''Ayumider''' = ''to say in Aymara'' :* '''ayupet''' = ''jackrabbit'' :* '''ayuzyup''' = ''rollover'' :* '''ayv''' = ''about, concerning, re'' :* '''ayxen''' = ''anding, giving, making available'' :* '''ayxer''' = ''to and, to avail oneself of, to give, to make available'' :* '''ayxwa''' = ''anded, given, made available'' :* '''ayxyafwa''' = ''available'' :* '''ayxyafwan''' = ''availability'' :* '''ayxyofwa''' = ''unavailable'' :* '''ayxyofwan''' = ''unavailability'' :* '''az''' = ''ace, strength'' :* '''az bi amezi''' = ''ace of diamonds'' :* '''az bi infayebi''' = ''ace of clubs'' :* '''az bi melukari''' = ''ace of spades'' :* '''az bi tiibi''' = ''ace of hearts'' :* '''aza ay doxelyena''' = ''largo'' :* '''aza''' = ''beefy, firm, forcible, intense, potent, strong'' :* '''aza dalzeynes''' = ''brogue'' :* '''aza deus''' = ''strong accent'' :* '''aza nod''' = ''strong point'' :* '''aza oxford tyoyaf''' = ''brogue'' :* '''azabaxrawa''' = ''scrubbed hard'' </div> = azabaxren -- azdiler = <div style="background: lightyellow; border: solid blue 2px; {{column-count|2}};{{column-rule|2px solid blue}};font-size:smaller;";> :* '''azabaxren''' = ''scrubbing hard'' :* '''azabaxrer''' = ''to scrub hard'' :* '''azaluer''' = ''to huff'' :* '''azaluun''' = ''huff'' :* '''azam''' = ''fort, fortress, stronghold'' :* '''azan''' = ''fortitude, horsepower, oomph, power, puissance, strength'' :* '''azanaya''' = ''punchy'' :* '''azangaber''' = ''to beef up'' :* '''azangabwa''' = ''beefed up'' :* '''azanika''' = ''potent, punchy, strong'' :* '''azanikan''' = ''fortitutde, potency'' :* '''azanokea''' = ''waning'' :* '''azanoker''' = ''to lose strength, to wane'' :* '''azanokwa''' = ''waned'' :* '''azapaxrar''' = ''scraper'' :* '''azapaxrawa''' = ''scraped'' :* '''azapaxren''' = ''scraping'' :* '''azapaxrer''' = ''to scrape'' :* '''azapyexrawa''' = ''hard-banged, hard-pounded, hard-slammed'' :* '''azapyexren''' = ''hard pounding, slamming hard'' :* '''azapyexrer''' = ''to slam hard'' :* '''azasen''' = ''growing strong, strengthening'' :* '''azaser''' = ''to get strong, to grow strong, to strengthen'' :* '''azaummxen''' = ''torrefication'' :* '''azaummxer''' = ''to torrefy'' :* '''azaumxwa''' = ''torrefied'' :* '''azaxea''' = ''enhancing, fortifying'' :* '''azaxen''' = ''beefing up, enhancement, firming up, fortification, fortifying, strengthening'' :* '''azaxen ha nid''' = ''turning up the volume'' :* '''azaxer ha seuxnid''' = ''to turn up the volume'' :* '''azaxer''' = ''to enhance, to firm up, to fortify, to inspirit, to strengthen, to turn up'' :* '''azaxun''' = ''enhancement, fortification'' :* '''azaxus''' = ''strengthener'' :* '''azaxut''' = ''strengthener'' :* '''azaxwa dom''' = ''citadel'' :* '''azaxwa''' = ''enhanced, firmed up, fortified, strengthened'' :* '''azaxwa tom''' = ''castle, keep'' :* '''azaxwam''' = ''fortification, fortress, stronghold'' :* '''azaxwas''' = ''bulwark, fortification'' :* '''azaxwem''' = ''garrison'' :* '''azaxwembwa''' = ''garrisoned'' :* '''azaxwim''' = ''strongroom'' :* '''azay''' = ''firmly, intensely, potently, roundly, squarely, strongly'' :* '''azbaoxen''' = ''shaking hard'' :* '''azbaoxer''' = ''to shake hard'' :* '''azbaoxwa''' = ''shaken hard'' :* '''azber''' = ''to roust'' :* '''azbexar''' = ''clutch'' :* '''azbexen''' = ''clutching, gripping, holding fast, holding tight'' :* '''azbexer''' = ''to clutch, to grip, to hold fast, to hold tight'' :* '''azbexwa''' = ''clutched, gripped, held fast, held tight, held tightly'' :* '''azbir''' = ''capture, seizure'' :* '''azbiren''' = ''grappling'' :* '''azbirer''' = ''to abduct, to capture by force, to commandeer, to grapple, to seize'' :* '''azbirut''' = ''abductor, seizer'' :* '''azbirwa''' = ''abducted, captured, commandeered, grappled, seized, taken by force'' :* '''azbixen''' = ''pulling hard, yanking'' :* '''azbixer''' = ''to pull hard, to yank'' :* '''azbixwa''' = ''taut, tightly drawn'' :* '''azbixwan''' = ''tautness'' :* '''azbuxen''' = ''exerting, exertion, forcing, prodding, pushing hard'' :* '''azbuxer''' = ''to exert, to force, to prod, to push hard'' :* '''azbuxwa''' = ''exerted, forced, prodded, pushed hard'' :* '''azbyex''' = ''stomp'' :* '''azbyexea''' = ''stomping'' :* '''azbyexen''' = ''stomping'' :* '''azbyexer''' = ''to stomp'' :* '''azbyexun''' = ''stomp'' :* '''azbyexwa''' = ''stomped'' :* '''azdeb''' = ''strongman'' :* '''azden''' = ''emphasis, emphasizing'' :* '''azder''' = ''to emphasize, to say out loud'' :* '''azdeyn''' = ''emphasis'' :* '''azdien''' = ''beseeching'' :* '''azdier''' = ''to beseech'' :* '''azdilea''' = ''begging, suppliant'' :* '''azdilean''' = ''suppliance'' :* '''azdileay''' = ''imploringly'' :* '''azdilen''' = ''beggary, begging, beseeching, entreating, entreaty, imploring, supplication'' :* '''azdiler''' = ''to beg, to beseech, to entreat, to implore, to supplicate'' </div> = azdilut -- azfuyevdut = <div style="background: lightyellow; border: solid blue 2px; {{column-count|2}};{{column-rule|2px solid blue}};font-size:smaller;";> :* '''azdilut''' = ''beggar, supplicant'' :* '''azdilwa''' = ''begged, beseeched, entreated, implored'' :* '''azdilyea''' = ''supplicatory'' :* '''azdiwa''' = ''beseeched'' :* '''azdizeud''' = ''guffaw, loud laugh, raucous laughter, riotous laughter, uproarious laughter'' :* '''azdizeuden''' = ''guffawing, laughing out loud, laughing raucously, laughing riotously, laughing uproariously'' :* '''azdizeuder''' = ''to guffaw, to laugh out loud, to laugh raucously, to laugh riotously, to laugh uproariously'' :* '''azdom''' = ''citadel'' :* '''azdretxea''' = ''striking'' :* '''azdretxeay''' = ''strikingly'' :* '''azduen''' = ''strong suggestion, urging'' :* '''azduer''' = ''to strongly suggest, to urge'' :* '''azdueyay''' = ''urgently'' :* '''azdur''' = ''adjuration'' :* '''azdurea''' = ''adjuring'' :* '''azdurer''' = ''to adjure'' :* '''azdurwa''' = ''adjured'' :* '''azduwa''' = ''strongly suggested, urgent'' :* '''azduyea''' = ''urgent'' :* '''azduyean''' = ''urgency'' :* '''azdwa''' = ''emphasized, spoken out loud'' :* '''azdway''' = ''emphatically, out loud'' :* '''azdyea''' = ''emphatic, loud'' :* '''azdyeay''' = ''emphatically, loudly'' :* '''azebyansea''' = ''interlocking'' :* '''azebyanser''' = ''to interlock'' :* '''azebyanxea''' = ''interlocking'' :* '''azebyanxer''' = ''to interlock'' :* '''azebyuijar''' = ''interlock'' :* '''Azed''' = ''Azerbaijani'' :* '''Azedaler''' = ''to speak Azerbaijani'' :* '''Azedalut''' = ''Azerbaijani speaker'' :* '''Azeder''' = ''to say in Azerbaijani'' :* '''Azem''' = ''Azerbaijan'' :* '''azem''' = ''bastion, stronghold'' :* '''Azema''' = ''Azeri'' :* '''Azemat''' = ''Azeri, inhabitant of Azerbaijan'' :* '''azfa''' = ''earnest, energetic, strenuous, vigorous, zippy'' :* '''azfa syen''' = ''panache'' :* '''azfan''' = ''energy, moxie, pep, stamina, strenuousness, vigor, zip'' :* '''azfanaya''' = ''energetic, knockabout, peppy, strenuous, vigorous'' :* '''azfanayan''' = ''peppiness, strenuousness'' :* '''azfanika''' = ''energetic, knockabout, peppy, strenuous, vigorous'' :* '''azfanikan''' = ''peppiness, strenuousness'' :* '''azfanikay''' = ''strenuously'' :* '''azfanikxer''' = ''to energize, to invigorate'' :* '''azfanikxwa''' = ''energized, invigorated'' :* '''azfanoya''' = ''exhausted, fatigued, listless, out of energy, pepless, run down, spent, tired'' :* '''azfanoyan''' = ''fatigue, lack of energy, listlessness'' :* '''azfanuka''' = ''exhausted, fatigued, listless, out of energy, pepless, run down, spent, tired'' :* '''azfanukan''' = ''fatigue, lack of energy, listlessness'' :* '''azfanukay''' = ''exhaustedly, tiredly'' :* '''azfanukxer''' = ''to drain of energy, to exhaust, to fatigue, to tire'' :* '''azfanukxwa''' = ''drained of energy, exhausted, fatigued, tired'' :* '''azfanukxyea''' = ''exhausting, fatiguing, tiring'' :* '''azfanukxyofwa''' = ''inexhaustible'' :* '''azfaxea''' = ''invigorating'' :* '''azfaxeay''' = ''invigoratingly'' :* '''azfaxen''' = ''invigoration'' :* '''azfaxer''' = ''to energize, to invigorate'' :* '''azfaxwa''' = ''energized, invigorated'' :* '''azfay''' = ''earnestly, energetically, hard, strenuously, vigorously'' :* '''azfea''' = ''adamant, strongly desirous'' :* '''azfeay''' = ''adamantly'' :* '''azfen''' = ''hankering'' :* '''azfer''' = ''to be resolute, to hanker, to want strongly'' :* '''azfil''' = ''liqueur'' :* '''azfon''' = ''adamance, resoluteness, strong will, stubbornness'' :* '''azfonay''' = ''ravenously'' :* '''azfonaya''' = ''determined, ravenous'' :* '''azfonika''' = ''determined, ravenous'' :* '''azfonikay''' = ''determinedly'' :* '''azfunkaden''' = ''objurgation'' :* '''azfunkader''' = ''to objurgate'' :* '''azfuteisa''' = ''rancid'' :* '''azfuteisan''' = ''rancidity, rancidness'' :* '''azfuvaden''' = ''upbraiding'' :* '''azfuvader''' = ''to upbraid'' :* '''azfuyevder''' = ''to lambaste, to severely criticize'' :* '''azfuyevdut''' = ''flamer, lambaster, severe critic, tongue-lasher'' </div> = azfuyevdwa -- azonika = <div style="background: lightyellow; border: solid blue 2px; {{column-count|2}};{{column-rule|2px solid blue}};font-size:smaller;";> :* '''azfuyevdwa''' = ''lambasted, severely criticized'' :* '''azhihiden''' = ''laughing out loud, laughing raucously, laughing riotously, laughing uproariously'' :* '''azhihider''' = ''to laugh out loud, to laugh raucously, to laugh riotously, to laugh uproariously'' :* '''azhuhudea''' = ''sobbing'' :* '''azhuhudeay''' = ''sobbingly'' :* '''azhuhuden''' = ''sobbing'' :* '''azhuhuder''' = ''to sob'' :* '''azhuhudin''' = ''sob story'' :* '''azifrawa''' = ''strongly admired'' :* '''azifrer''' = ''to admire strongly'' :* '''azifrut''' = ''aficionado, strong admirer'' :* '''azigbyexrawa''' = ''jolted'' :* '''azigbyexren''' = ''jolting'' :* '''azigbyexrer''' = ''to jolt, to jolter'' :* '''azigbyexrun''' = ''jolt'' :* '''azil''' = ''tonic water'' :* '''azilpan''' = ''billow, riptide, swell'' :* '''azilpanaya''' = ''billowy'' :* '''azilpanayan''' = ''billowiness'' :* '''azilpanika''' = ''billowy'' :* '''azilpanikan''' = ''billowiness'' :* '''azilzyepen''' = ''swashing'' :* '''azilzyeper''' = ''to swash'' :* '''azilzyepya''' = ''swashed'' :* '''azilzyepyea''' = ''swashy'' :* '''azivteud''' = ''belly laugh, cheer, gleeful yelp, guffaw, loud laughter'' :* '''azivteuden''' = ''cheering, guffawing, laughing out loud, shouting out with glee, yelping gleefully'' :* '''azivteuder''' = ''to cheer, to guffaw, to laugh out loud, to laugh raucously, to laugh riotously, to laugh uproariously, to shout out with glee, to yelp gleefully'' :* '''azkix''' = ''proclivity'' :* '''azkixwa''' = ''strongly inclined'' :* '''azla bik''' = ''intensive care'' :* '''azla bikim''' = ''ICU, intensive care unit'' :* '''azla bikimut''' = ''ICU nurse'' :* '''azla''' = ''hardcore, intense, intensive'' :* '''azlan''' = ''intensity, intensiveness'' :* '''azlaser''' = ''to become intense, to grow in intensity'' :* '''azlaxar''' = ''intensifier'' :* '''azlaxea''' = ''intensifying'' :* '''azlaxen''' = ''intensification, intensifying'' :* '''azlaxer''' = ''to intensify'' :* '''azlaxwa''' = ''intensified'' :* '''azlay''' = ''intensely, intensively'' :* '''azmagilea''' = ''seething'' :* '''azmagilen''' = ''seething'' :* '''azmagiler''' = ''to seethe'' :* '''azmanig''' = ''flare'' :* '''azmaniger''' = ''to flare up'' :* '''azmankeaxun''' = ''laser scan'' :* '''azmansea''' = ''incandescent'' :* '''azmanseay''' = ''incandescently'' :* '''azmanxar''' = ''highlighter'' :* '''azmanxea''' = ''fulgent'' :* '''azmanxen''' = ''highlighting'' :* '''azmanxwa''' = ''highlighted'' :* '''azmanxwas''' = ''highlight'' :* '''azojvad''' = ''covenant'' :* '''azon bi mol''' = ''force of nature'' :* '''azon''' = ''dynamic, energy, force'' :* '''azon exnig''' = ''force field'' :* '''azona''' = ''dynamic, dynamical, energetic, potential'' :* '''azonaben''' = ''application of force, coercing, coercion, duress'' :* '''azonaber''' = ''to apply force, to coerce, to dragoon'' :* '''azonabwa''' = ''coerced, dragooned'' :* '''azonabyea''' = ''coercive'' :* '''azonag''' = ''great energy, great strength, prowess'' :* '''azonat''' = ''dynamo'' :* '''azonay''' = ''dynamically, energetically, forcibly'' :* '''azonaya''' = ''dynamic, energetic, forceful, potent, powerful'' :* '''azonayan''' = ''dynamism, forcefulness, potency, powerfulness'' :* '''azonbeaut''' = ''power-holder'' :* '''azonben''' = ''applying force, enforcement'' :* '''azonber''' = ''to apply force, to enforce'' :* '''azonbir''' = ''power-grab'' :* '''azonbiren''' = ''power-grabbing'' :* '''azonbirun''' = ''power-grab'' :* '''azonbirut''' = ''power-grabber'' :* '''azonbwa''' = ''enforced'' :* '''azonbyofwa''' = ''nonenforceable'' :* '''azonijsanxar''' = ''generator'' :* '''azonika''' = ''dynamic, energetic, forceful, potent, powerful'' </div> = azonikan -- azra zyaxen = <div style="background: lightyellow; border: solid blue 2px; {{column-count|2}};{{column-rule|2px solid blue}};font-size:smaller;";> :* '''azonikan''' = ''dynamism, forcefulness, potency, powerfulness'' :* '''azonikat''' = ''dynamo, powerful person, powerhouse'' :* '''azonikay''' = ''forcefully, powerfully'' :* '''azonikser''' = ''to become energized, to gain strength, to grow powerful'' :* '''azonikxen''' = ''empowerment, energizing'' :* '''azonikxer''' = ''to empower, to energize'' :* '''azonikxwa''' = ''empowered, energized'' :* '''azonnuar''' = ''dynamo'' :* '''azonok''' = ''blackout, loss of power'' :* '''azonokea''' = ''drooping, flagging, limping, losing vigor, wilting, withering'' :* '''azonokeay''' = ''witheringly'' :* '''azonoker''' = ''to droop, to flag, to limp, to lose vigor, to wilt, to wither'' :* '''azonokxer''' = ''to dissipate'' :* '''azonokxwa''' = ''dissipated'' :* '''azonokya''' = ''dissipated, limp, wilted, withered'' :* '''azonokyean''' = ''droopiness, limpness'' :* '''azonoya''' = ''impotent, inert, inertial, powerless'' :* '''azonoyan''' = ''impotence, impotency, inertia, inertness, powerlessness'' :* '''azontod''' = ''dynasty'' :* '''azontoda''' = ''dynastic'' :* '''azontyen''' = ''dynamics'' :* '''azonuar''' = ''booster, driver'' :* '''azonuen''' = ''compulsion, driving, enforcement, forcing'' :* '''azonuer dofiz''' = ''to boost morale'' :* '''azonuer''' = ''to boost, to compel, to drive, to enforce, to force'' :* '''azonuka''' = ''impotent, inert, inertial, powerless'' :* '''azonukan''' = ''impotence, impotency, inertia, inertness, powerlessness'' :* '''azonukay''' = ''inertly, powerlessly'' :* '''azonukser''' = ''to run down, to run low on power, to wear out'' :* '''azonukxea''' = ''disempowering'' :* '''azonukxen''' = ''crippling, debilitation, disempowering, disempowerment, incapacitation'' :* '''azonukxer''' = ''to cripple, to de-energize, to debilitate, to disempower, to drain of power, to incapacitate, to undermine, to wear out'' :* '''azonukxwa''' = ''de-energized, disempowered, worn out'' :* '''azonuun''' = ''boost'' :* '''azonuus''' = ''booster'' :* '''azonuut''' = ''enforcer'' :* '''azonuwa''' = ''compelled, driven, enforced, forced, powered'' :* '''azonuwa mempuen''' = ''forced landing'' :* '''azonuyafwa''' = ''enforceable, forcible'' :* '''azonuyea''' = ''forceful'' :* '''azonuyofwa''' = ''nonenforceable'' :* '''azovden''' = ''protest, protestation, protesting'' :* '''azovden yantyop''' = ''walkout'' :* '''azovder''' = ''to protest'' :* '''azovdin''' = ''protestantism'' :* '''azovdina''' = ''protestant'' :* '''azovdinut''' = ''protestant'' :* '''azovduen naptyop''' = ''protest march'' :* '''azovduen''' = ''protestation, protesting'' :* '''azovduen teatuen''' = ''protest demonstration'' :* '''azovduer''' = ''to protest'' :* '''Azovduin''' = ''Protestantism'' :* '''azovdut''' = ''protester, protestor'' :* '''Azovduut''' = ''Protestant'' :* '''azovduut''' = ''protester'' :* '''azovduwa''' = ''protested'' :* '''azovduyafwa''' = ''protestable'' :* '''azovduyefwa''' = ''protest-worthy'' :* '''azovdwa''' = ''protested'' :* '''azovun''' = ''constraint'' :* '''azoyeben''' = ''expulsion'' :* '''azoyeber''' = ''to expel'' :* '''azoyebixen''' = ''evulsion'' :* '''azoyebwa''' = ''expelled'' :* '''azoyeper''' = ''to rush in'' :* '''azpaos''' = ''judder'' :* '''azpaoser''' = ''to judder'' :* '''azpuxen''' = ''forcing, shoving'' :* '''azpuxer''' = ''to shove, to strong-arm'' :* '''azpyex''' = ''bang, wham, whang'' :* '''azpyexdaler''' = ''to caterwaul'' :* '''azpyexer''' = ''to bang, to whang, to zonk'' :* '''azpyexluen''' = ''hard pounding'' :* '''azpyexluer''' = ''to pound hard'' :* '''azpyexseux''' = ''bang, wham'' :* '''azra''' = ''brazen, fierce, violent'' :* '''azra doyov''' = ''violent crime'' :* '''azra xeyn''' = ''violent act'' :* '''azra yanglat''' = ''violent gang'' :* '''azra zyaxen''' = ''violent expansion'' </div> = azran -- azuluyea = <div style="background: lightyellow; border: solid blue 2px; {{column-count|2}};{{column-rule|2px solid blue}};font-size:smaller;";> :* '''azran''' = ''brazenness, fierceness, violence'' :* '''azranxen''' = ''engaging in violence'' :* '''azranxer''' = ''to engage in violence'' :* '''azras''' = ''act of violence'' :* '''azrasen''' = ''becoming brutish, becoming violent'' :* '''azraser''' = ''to become brutish, to become violent, to grow powerful, to grow violent'' :* '''azrat''' = ''hector, violent person'' :* '''azraxea''' = ''enraging, outrageous, raging, volent'' :* '''azraxen''' = ''making brutish, making violent'' :* '''azraxer''' = ''to enrage, to make brutish, to make violent'' :* '''azraxlea''' = ''rampaging, violent acting'' :* '''azraxlen''' = ''rampage, savagery'' :* '''azraxler''' = ''to act violently, to go on a rampage'' :* '''azraxwa''' = ''enraged, made violent'' :* '''azray''' = ''brazenly, fiercely, violently'' :* '''azrazyaser''' = ''to expand violently'' :* '''azren''' = ''violence'' :* '''azrilp''' = ''torrent'' :* '''azrilpa''' = ''torrential'' :* '''azrun''' = ''act of brutality, act of violence'' :* '''azteabilea''' = ''bawling, sobbing, wailing'' :* '''azteabilen''' = ''bawling, sobbing, wailing'' :* '''azteabiler''' = ''to bawl, to sob, to wail'' :* '''azteabiluer''' = ''to bawl out'' :* '''azteisyel''' = ''musk'' :* '''azteisyelyena''' = ''musky'' :* '''azteisyelyenan''' = ''muskiness'' :* '''azteixer''' = ''to snuffle'' :* '''azteud''' = ''clamor, exclamation, holler, scream, shout'' :* '''azteuden''' = ''clamoring, exclaiming, exclamation, screaming, shouting, vociferation, yelling'' :* '''azteudena''' = ''exclamatory'' :* '''azteuder''' = ''to clamor, to exclaim, to holler, to scream, to shout, to vociferate'' :* '''azteudut''' = ''screamer, shouter'' :* '''azteudwa''' = ''clamored, exclaimed, screamed, shouted'' :* '''azteudyea''' = ''vociferously'' :* '''azteudyeay''' = ''vociferousness'' :* '''azteuzar''' = ''loudhailer'' :* '''aztexyena''' = ''opinionated, strongly opinionated, vehement'' :* '''aztexyender''' = ''to express a forceful opinion, to strongly opine'' :* '''aztiebukxea''' = ''coughing loudly, hacking, whooping'' :* '''aztiebukxen''' = ''hacking, whooping cough'' :* '''aztiebukxer''' = ''to cough loudly, to hack, to whoop'' :* '''aztos''' = ''strong feeling'' :* '''aztosier''' = ''to be moved, to get excited, to get impassioned'' :* '''aztosuka''' = ''unexcited, unmoved'' :* '''aztosukan''' = ''boredom, lack of emotion, lack of excitement'' :* '''aztosukxer''' = ''to bore, to deprive of emotion'' :* '''aztoswa''' = ''deeply-felt, heartfelt, strongly-felt'' :* '''aztoybet''' = ''chit'' :* '''aztuka''' = ''languid'' :* '''aztukan''' = ''languidness'' :* '''aztukay''' = ''languidly'' :* '''aztuloxer''' = ''to scrabble'' :* '''aztuloxut''' = ''scrabbler'' :* '''azub''' = ''shot'' :* '''azuber''' = ''to shoot'' :* '''azufdeuden''' = ''declamation'' :* '''azufdeudena''' = ''declamatory'' :* '''azufdeuder''' = ''to declaim'' :* '''azufdeudut''' = ''declaimer'' :* '''azufseuxen''' = ''fuss, fussing'' :* '''azufseuxut''' = ''fusspot'' :* '''azufseuxyea''' = ''fussy'' :* '''azufseuxyean''' = ''fussiness'' :* '''azufteuden''' = ''carping, loud complaining'' :* '''azufteudut''' = ''carper'' :* '''azul''' = ''energy'' :* '''azul jebexen''' = ''energy conservation'' :* '''azula''' = ''energy-related'' :* '''azulak''' = ''energy gain'' :* '''azulaker''' = ''to gain energy'' :* '''azulam''' = ''energy plant'' :* '''azulien''' = ''absorbing energy'' :* '''azulier''' = ''to absorb energy, to get fuel, to pick up energy'' :* '''azulok''' = ''energy loss'' :* '''azuloker''' = ''to lose energy'' :* '''azuluer''' = ''to energize, to provide fuel, to pump fuel'' :* '''azulum''' = ''energy cell'' :* '''azuluwa''' = ''energized'' :* '''azuluyea''' = ''energizing'' </div> = azutyan -- azyuvxyafwan = <div style="background: lightyellow; border: solid blue 2px; {{column-count|2}};{{column-rule|2px solid blue}};font-size:smaller;";> :* '''azutyan''' = ''force'' :* '''azuvder''' = ''to complain loudly'' :* '''azuvteud''' = ''cry out loud, groan, moan, sob, wail'' :* '''azuvteuden''' = ''bawling, crying out loud, groaning, lamentation, moaning, railing, sobbing, wailing'' :* '''azuvteuder''' = ''to bawl, to complain loudly, to cry out loud, to groan, to lament loudly, to moan, to rail, to sob, to wail, to waul'' :* '''azuvteudut''' = ''railer, wailer'' :* '''azuvxwa''' = ''distraught'' :* '''azvaden''' = ''confirmation'' :* '''azvader''' = ''to confirm'' :* '''azvadras''' = ''letter of confirmation'' :* '''azvadwa''' = ''confirmed'' :* '''azvafdwa''' = ''hellbent'' :* '''azvatexut''' = ''ardent believer, true believer'' :* '''azvoden''' = ''invalidating, invalidation'' :* '''azvoder''' = ''to invalidate'' :* '''azvodwa''' = ''invalidated'' :* '''azvyixar''' = ''scrubber'' :* '''azvyixen''' = ''scrubbing'' :* '''azvyixwa''' = ''scrubbed'' :* '''azwamog''' = ''redoubt'' :* '''azwamxer''' = ''to redoubt'' :* '''azyeben''' = ''engulfing, engulfment'' :* '''azyeber''' = ''to engulf'' :* '''azyebwa''' = ''engulfed'' :* '''azyek''' = ''effort, struggle'' :* '''azyekea''' = ''striven, striving, struggling'' :* '''azyeken''' = ''striving, struggling'' :* '''azyeker''' = ''to strive, to struggle'' :* '''azyepen''' = ''barging in, intrusion, invading'' :* '''azyeper''' = ''to barge in, to intrude, to invade'' :* '''azyeput''' = ''intruder, invader'' :* '''azyepya''' = ''invaded'' :* '''azyepyea''' = ''intrusive'' :* '''azyepyean''' = ''intrusiveness'' :* '''azyepyeay''' = ''intrusively'' :* '''azyex''' = ''hard work, labor'' :* '''azyexea''' = ''hardworking'' :* '''azyexer''' = ''to labor'' :* '''azyexut''' = ''hard worker, laborer'' :* '''azyifla''' = ''hardily'' :* '''azyiflan''' = ''hardihood'' :* '''azyijar''' = ''pry'' :* '''azyijarer''' = ''to pry open'' :* '''azyijber''' = ''to pry open'' :* '''azyonbixen''' = ''divulsion'' :* '''azyuvxen''' = ''taming, training'' :* '''azyuvxer''' = ''to tame, to train'' :* '''azyuvxut''' = ''tamer, trainer'' :* '''azyuvxwa''' = ''tamed, trained'' :* '''azyuvxyafwa''' = ''tamable, trainable'' :* '''azyuvxyafwan''' = ''tamability, trainability'' </div> {{BookCat}} oy8i58qqnaxm39t6lqalsvvf5gz9wbi Chess Opening Theory/1. e4/1...e5/2. Nc3/2...Nf6/3. Bc4/3...Nxe4/4. Bxf7 0 461916 4654416 4442746 2026-07-14T12:51:52Z Greenman 7490 ce 4654416 wikitext text/x-wiki {{Stub}} While this is not a bad variation, it is certainly not the best. After black plays 4...Kxf7, White will take the knight and remove black's right to castle. However, White will lose the bishop pair. a5qs0a8avy66sty27f7b2k53lcm5pez The Linux Kernel/Debugging 0 462887 4654508 4641711 2026-07-15T06:02:06Z Conan 3188 Kernel health counters, sos/report/plugins/kernel.py 4654508 wikitext text/x-wiki {{DISPLAYTITLE:Debugging Linux kernel}} ⚲ API : {{The Linux Kernel/include|linux/err.h}} &ndash; helper macros for error pointer handling and propagation : {{The Linux Kernel/include|linux/errno.h}} &ndash; standard error codes used throughout the kernel. == Performance == There are many factors that can affect the performance of the Linux kernel, including hardware configurations, software configurations, and workload characteristics. In this context, performance optimization of the Linux kernel involves identifying and addressing performance {{w|Bottleneck (software)|bottlenecks}} in the system. This can involve tuning kernel parameters, optimizing system resources, and identifying and fixing bugs and other issues that may be impacting performance. Given the complexity of the Linux kernel and the wide range of factors that can affect performance, performance optimization can be a challenging task. However, with the right tools and techniques, it is possible to significantly improve the performance and reliability of Linux-based systems. === Perf_events === {{w|perf (Linux)|Perf_events}}, short for performance events, is a powerful interface that provides detailed insights into the performance characteristics of software running on a system. By analyzing the data collected by perf_events, developers can identify performance bottlenecks and optimize software to improve performance and reduce resource utilization. Perf_events is designed to be a lightweight, low-overhead monitoring solution that has minimal impact on system performance. 🔧 TODO ⚲ Interfaces : {{The Linux Kernel/man|1|perf}} &ndash; performance analysis tools <!-- generated with man -k perf | grep ^perf- | sed -n 's%\([^ ]*\) (\(.\+\)) \W\+\(.*\)%:: {{The Linux Kernel/man|\2|\1}} \– \3%p' --> : Basic commands: :: {{The Linux Kernel/man|1|perf-help}} &ndash; display help information about perf :: {{The Linux Kernel/man|1|perf-top}} &ndash; System profiling tool. :: {{The Linux Kernel/man|1|perf-record}} &ndash; Run a command and record its profile into perf.data :: {{The Linux Kernel/man|1|perf-report}} &ndash; Read perf.data (created by perf record) and display the profile : Other commands: :: {{The Linux Kernel/man|1|perf-annotate}} &ndash; Read perf.data (created by perf record) and display annotated code :: {{The Linux Kernel/man|1|perf-archive}} &ndash; Create archive with object files with build-ids found ... :: {{The Linux Kernel/man|1|perf-arm-spe}} &ndash; Support for Arm Statistical Profiling Extension within... :: {{The Linux Kernel/man|1|perf-bench}} &ndash; General framework for benchmark suites :: {{The Linux Kernel/man|1|perf-buildid-cache}} &ndash; Manage build-id cache. :: {{The Linux Kernel/man|1|perf-buildid-list}} &ndash; List the buildids in a perf.data file :: {{The Linux Kernel/man|1|perf-c2c}} &ndash; Shared Data C2C/HITM Analyzer. :: {{The Linux Kernel/man|1|perf-config}} &ndash; Get and set variables in a configuration file. :: {{The Linux Kernel/man|1|perf-daemon}} &ndash; Run record sessions on background :: {{The Linux Kernel/man|1|perf-data}} &ndash; Data file related processing :: {{The Linux Kernel/man|1|perf-diff}} &ndash; Read perf.data files and display the differential profile :: {{The Linux Kernel/man|1|perf-dlfilter}} &ndash; Filter sample events using a dynamically loaded shared... :: {{The Linux Kernel/man|1|perf-evlist}} &ndash; List the event names in a perf.data file :: {{The Linux Kernel/man|1|perf-ftrace}} &ndash; simple wrapper for kernel's ftrace functionality :: {{The Linux Kernel/man|1|perf-inject}} &ndash; Filter to augment the events stream with additional in... :: {{The Linux Kernel/man|1|perf-intel-pt}} &ndash; Support for Intel Processor Trace within perf tools :: {{The Linux Kernel/man|1|perf-iostat}} &ndash; Show I/O performance metrics :: {{The Linux Kernel/man|1|perf-kallsyms}} &ndash; Searches running kernel for symbols :: {{The Linux Kernel/man|1|perf-kmem}} &ndash; Tool to trace/measure kernel memory properties :: {{The Linux Kernel/man|1|perf-kvm}} &ndash; Tool to trace/measure kvm guest os :: {{The Linux Kernel/man|1|perf-kwork}} &ndash; Tool to trace/measure kernel work properties (latencies) :: {{The Linux Kernel/man|1|perf-list}} &ndash; List all symbolic event types :: {{The Linux Kernel/man|1|perf-lock}} &ndash; Analyze lock events :: {{The Linux Kernel/man|1|perf-mem}} &ndash; Profile memory accesses :: {{The Linux Kernel/man|1|perf-probe}} &ndash; Define new dynamic tracepoints :: {{The Linux Kernel/man|1|perf-sched}} &ndash; Tool to trace/measure scheduler properties (latencies) :: {{The Linux Kernel/man|1|perf-script}} &ndash; Read perf.data (created by perf record) and display tr... ::: {{The Linux Kernel/man|1|perf-script-perl}} &ndash; Process trace data with a Perl script ::: {{The Linux Kernel/man|1|perf-script-python}} &ndash; Process trace data with a Python script :: {{The Linux Kernel/man|1|perf-stat}} &ndash; Run a command and gather performance counter statistics :: {{The Linux Kernel/man|1|perf-test}} &ndash; Runs sanity tests. :: {{The Linux Kernel/man|1|perf-timechart}} &ndash; Tool to visualize total system behavior during a workload :: {{The Linux Kernel/man|1|perf-trace}} &ndash; strace inspired tool :: {{The Linux Kernel/man|1|perf-version}} &ndash; display the version of perf binary ⚙️ Internals : {{The Linux Kernel/man|2|perf_event_open}} &ndash; sets up performance monitoring : {{The Linux Kernel/include|uapi/linux/perf_event.h}} : {{The Linux Kernel/source|tools/perf}} &ndash; performance analysis tools : {{The Linux Kernel/include|linux/perf_event.h}} : {{The Linux Kernel/source|kernel/events/core.c}} &ndash; performance events core : {{The Linux Kernel/source|kernel/profile.c}} &ndash; simple profiling 📖 References : {{w|perf (Linux)|perf}} &ndash; instruments CPU performance counters, tracepoints, kprobes, and uprobes : https://perfwiki.github.io/main/ 📚 Further reading : [https://www.brendangregg.com/perf.html perf Examples] : [https://web.eece.maine.edu/~vweaver/projects/perf_events/ The Unofficial Linux Perf Events Web-Page] --------------- 🛠️ Utilities : {{w|Performance Co-Pilot}}, https://pcp.io/ &ndash; Performance Co-Pilot : {{w|Prometheus (software)|Prometheus}}, https://prometheus.io/ : https://github.com/redhat-nfvpe/container-perf-tools : https://github.com/brendangregg/perf-tools &ndash; performance analysis tools based on Linux perf_events (aka perf) and ftrace : [https://linux.die.net/man/1/readprofile readprofile] &ndash; a tool to read kernel profiling information 📚 Further reading : [https://wiki.ubuntu.com/Kernel/Reference/stress-ng stress-ng] &ndash; exercises various kernel interfaces : http://trac.gateworks.com/wiki/linux/profiling : [https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux_for_real_time/9/html/optimizing_rhel_9_for_real_time_for_low_latency_operation/assembly_analyzing-application-performance_optimizing-rhel9-for-real-time-for-low-latency-operation Analyzing application performance in RHEL 9] : [https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/9/html/monitoring_and_managing_system_status_and_performance/index Monitoring and managing system status and performance in RHEL 9] : [[Embedded_Systems/Linux#Real-time|Real-time Linux]] == User space debug interfaces == ⚲ Interfaces : {{The Linux Kernel/man|1|dmesg}} &ndash; prints or control the kernel ring buffer :: {{The Linux Kernel/man|2|syslog}} &ndash; system call, which is used to control the kernel printk() buffer : {{The Linux Kernel/man|1|strace}} &ndash; system calls and signals tracing tool :: {{The Linux Kernel/man|2|ptrace}} &ndash; process trace system call : {{The Linux Kernel/man|3|klogctl}} : {{The Linux Kernel/man|5|core}} : /sys/kernel/debug/ &ndash; {{w|debugfs}} : dmesg --console-level <level> : gdb /usr/src/linux/vmlinux /proc/kcore : /proc/self/stack : {{The Linux Kernel/doc|dynamic|admin-guide/dynamic-debug-howto.html}} debug :: <big>⌨️</big> hands-on: :: echo "module atkbd +pfl" | sudo tee /sys/kernel/debug/dynamic_debug/control ⚙️ Internals : {{The Linux Kernel/id|handle_sysrq}} : {{The Linux Kernel/include|linux/debugfs.h}} &ndash; debugfs API : {{The Linux Kernel/source|fs/debugfs}} &ndash; debugfs implementation : {{The Linux Kernel/include|linux/tracefs.h}}, {{The Linux Kernel/source|fs/tracefs}} &ndash; filesystem backing /sys/kernel/tracing : {{The Linux Kernel/include|linux/pstore.h}}, {{The Linux Kernel/source|fs/pstore}} &ndash; preserves crash logs across reboots 📚 '''References''' : {{The Linux Kernel/doc|Development tools for the kernel|dev-tools}} : {{The Linux Kernel/doc|DebugFS|filesystems/debugfs.html}}, {{The Linux Kernel/source|samples/qmi/qmi_sample_client.c}} : {{The Linux Kernel/doc|Kprobe-based Event Tracing|trace/kprobetrace.html}} : {{The Linux Kernel/doc|Dynamic debug|admin-guide/dynamic-debug-howto.html}} : {{The Linux Kernel/doc|Linux Magic System Request Key Hacks|admin-guide/sysrq.html}} : [https://sysprog21.github.io/lkmpg/#debugfs-flexible-debugging-interfaces LKMPG: debugfs] : {{w|Magic SysRq key}} == Tracing and logging == ⚲ API: '''User-space interface:''' : {{The Linux Kernel/man|1|dmesg}} &ndash; prints or control the kernel ring buffer :: {{The Linux Kernel/man|2|syslog}} &ndash; system call, which is used to control the kernel printk() buffer : /proc/kmsg : https://kernelshark.org/ &ndash; front end reader of trace-cmd : https://trace-cmd.org/, {{The Linux Kernel/man|1|trace-cmd}} &ndash; CLI for {{The Linux Kernel/doc|Ftrace|trace/ftrace.html}} &ndash; Linux kernel internal tracer /sys/kernel/debug/tracing/ '''The most commonly used functions''' : {{The Linux Kernel/include|linux/printk.h}} :: {{The Linux Kernel/id|dump_stack}} – prints the current kernel stack trace for debugging purposes :: {{The Linux Kernel/id|pr_alert}} – logs an alert-level message, indicating a critical event that requires immediate attention :: {{The Linux Kernel/id|pr_cont}} – continues printing the current message on the same line :: {{The Linux Kernel/id|pr_crit}} – logs a critical-level message, indicating a severe condition that might require system halt :: {{The Linux Kernel/id|pr_debug}} – logs a debug-level message for developers, usually enabled in debug builds :: {{The Linux Kernel/id|pr_devel}} – logs a developer-specific message, typically used for fine-grained debug purposes, see {{The Linux Kernel/doc|dynamic|admin-guide/dynamic-debug-howto.html}} :: {{The Linux Kernel/id|pr_emerg}} – logs an emergency-level message, indicating a serious error that could cause system crash :: {{The Linux Kernel/id|pr_err}} – logs an error-level message, typically indicating an issue that requires attention :: {{The Linux Kernel/id|pr_err_ratelimited}} – logs an error-level message with rate limiting to prevent excessive logging :: {{The Linux Kernel/id|pr_fmt}} – defines a format string for kernel messages :: {{The Linux Kernel/id|pr_info}} – logs an informational-level message, providing status updates or diagnostics :: {{The Linux Kernel/id|pr_info_ratelimited}} – logs an informational-level message with rate limiting :: {{The Linux Kernel/id|pr_notice}} – logs a notice-level message, typically used for events that aren't errors but should be noted :: {{The Linux Kernel/id|pr_warn}} – logs a warning-level message, indicating a potential issue that doesn't immediately affect system functionality :: {{The Linux Kernel/id|pr_warn_once}} – logs a warning message once, preventing repeated warnings for the same event :: {{The Linux Kernel/id|pr_warn_ratelimited}} – logs a warning-level message with rate limiting :: {{The Linux Kernel/id|print_hex_dump}} – prints a hexdump of data for debugging purposes :: {{The Linux Kernel/id|print_hex_dump_debug}} – prints a detailed hexdump with debugging-level verbosity :: {{The Linux Kernel/id|printk}} – the primary function for printing kernel messages with varying severity levels :: {{The Linux Kernel/id|va_format}} – formats a variable argument list into a string for logging or printing purposes ::: <big>⌨️</big> hands-on: ::: echo "module atkbd +pfl" | sudo tee /sys/kernel/debug/dynamic_debug/control; dmesg -w ::: and type on built-in keyboard : {{The Linux Kernel/include|linux/dev_printk.h}} – device-specific logging :: {{The Linux Kernel/id|dev_crit}} – prints a critical-level message for a device :: {{The Linux Kernel/id|dev_dbg}} – prints a debug-level message for a device if debugging is enabled :: {{The Linux Kernel/id|dev_dbg_ratelimited}} – prints debug messages for a device with rate limiting :: {{The Linux Kernel/id|dev_err}} – prints an error-level message for a device :: {{The Linux Kernel/id|dev_err_once}} – prints an error message for a device only once :: {{The Linux Kernel/id|dev_err_probe}} – prints an error related to probe failure with standard formatting :: {{The Linux Kernel/id|dev_err_ratelimited}} – prints error messages for a device with rate limiting :: {{The Linux Kernel/id|dev_fmt}} – defines a format string used by device-specific printk macros :: {{The Linux Kernel/id|dev_info}} – prints an informational-level message for a device :: {{The Linux Kernel/id|dev_notice}} – prints a notice-level message for a device :: {{The Linux Kernel/id|dev_printk}} – generic function to print kernel messages with specified log level for a device :: {{The Linux Kernel/id|dev_vdbg}} – prints verbose debug messages for a device if enabled at compile time :: {{The Linux Kernel/id|dev_warn}} – prints a warning-level message for a device :: {{The Linux Kernel/id|dev_warn_once}} – prints a warning message for a device only once :: {{The Linux Kernel/id|dev_warn_ratelimited}} – prints warning messages for a device with rate limiting : {{The Linux Kernel/include|linux/bug.h}}, {{The Linux Kernel/include|asm-generic/bug.h}} &ndash; BUG, WARN, BUILD_BUG_ON macros :: {{The Linux Kernel/id|WARN_ON}} :: {{The Linux Kernel/id|WARN}} ⚙️ Internals : {{The Linux Kernel/id|printk}} : {{The Linux Kernel/source|kernel/printk/printk.c}} &ndash; kernel message logging : {{The Linux Kernel/source|arch/x86/kernel/traps.c}} &ndash; x86 exception and trap handling : {{The Linux Kernel/source|lib/dump_stack.c}} &ndash; stack trace dumping : {{The Linux Kernel/include|linux/kprobes.h}}, {{The Linux Kernel/source|kernel/kprobes.c}} &ndash; {{The Linux Kernel/doc|dynamic tracing probes|trace/kprobes.html}} : {{The Linux Kernel/source|kernel/trace}} &ndash; tracing infrastructure : {{The Linux Kernel/source|scripts/tracing/draw_functrace.py}} &ndash; visualize function call graph from trace : {{The Linux Kernel/ltp|kernel|logging}}, {{The Linux Kernel/ltp|kernel|tracing}} : {{The Linux Kernel/source|samples/ftrace}} &ndash; ftrace usage examples : {{The Linux Kernel/source|samples/trace_events}} &ndash; trace event examples : {{The Linux Kernel/source|samples/trace_printk}} &ndash; trace_printk examples : {{The Linux Kernel/include|linux/instrumentation.h}} 📚 '''References''': : [https://elinux.org/Debugging_by_printing Debugging by printing] : {{The Linux Kernel/doc|Message logging with printk|core-api/printk-basics.html}} : {{The Linux Kernel/doc|Dynamic debug|admin-guide/dynamic-debug-howto.html}} : {{w|SystemTap}} :: {{The Linux Kernel/man|1|stap}} &ndash; systemtap script translator/driver : {{w|strace}} :: {{The Linux Kernel/man|1|strace}} &ndash; trace system calls and signals : {{w|LTTng}} : {{w|ftrace}} : {{The Linux Kernel/doc|Linux Tracing Technologies|trace}} :: {{The Linux Kernel/doc|Tracepoint Analysis|trace/tracepoint-analysis.html}} :: {{The Linux Kernel/doc|Function Tracer|trace/ftrace.html}} &ndash; function, latency and event tracing ::: {{The Linux Kernel/doc|Event Tracing|trace/events.html}} :: {{The Linux Kernel/doc|Using ftrace to hook to functions|trace/ftrace-uses.html}} :: {{The Linux Kernel/doc|Fprobe - Function entry/exit probe|trace/fprobe.html}} :: {{The Linux Kernel/doc|Kprobes|trace/kprobes.html}} :: {{The Linux Kernel/doc|Kprobe-based Event Tracing|trace/kprobetrace.html}} :: {{The Linux Kernel/doc|Uprobe-tracer: Uprobe-based Event Tracing|trace/uprobetracer.html}} :: {{The Linux Kernel/doc|Using the Linux Kernel Tracepoints|trace/tracepoints.html}} :: {{The Linux Kernel/doc|Subsystem Trace Points: kmem|trace/events-kmem.html}} :: {{The Linux Kernel/doc|Subsystem Trace Points: power|trace/events-power.html}} :: {{The Linux Kernel/doc|NMI Trace Events|trace/events-nmi.html}} :: {{The Linux Kernel/doc|In-kernel memory-mapped I/O tracing|trace/mmiotrace.html}} :: {{The Linux Kernel/doc|Event Histograms|trace/histogram.html}} :: {{The Linux Kernel/doc|Histogram Design Notes|trace/histogram-design.html}} :: {{The Linux Kernel/doc|Boot-time tracing|trace/boottime-trace.html}} :: {{The Linux Kernel/doc|Hardware Latency Detector|trace/hwlat_detector.html}} :: {{The Linux Kernel/doc|Intel(R) Trace Hub (TH)|trace/intel_th.html}} :: {{The Linux Kernel/doc|Lockless Ring Buffer Design|trace/ring-buffer-design.html}} :: {{The Linux Kernel/doc|System Trace Module|trace/stm.html}} :: {{The Linux Kernel/doc|CoreSight - ARM Hardware Trace|trace/coresight}} '''🔧 TODO. 🚀 advanced features''' : {{The Linux Kernel/include|linux/kmemleak.h}} &ndash; memory leak detector : {{The Linux Kernel/id|pr_cont}} - continues a previous log message in the same line : {{The Linux Kernel/id|print_hex_dump_bytes}} : {{The Linux Kernel/id|print_hex_dump_debug}} : {{The Linux Kernel/id|dump_stack}} : {{The Linux Kernel/id|CONFIG_PRINTK_CALLER}} : {{The Linux Kernel/id|CONFIG_DEBUG_KERNEL}} : {{The Linux Kernel/id|CONFIG_DEBUG_INFO}} : https://git.kernel.org/pub/scm/libs/libtrace/ 📚 Further reading : https://lore.kernel.org/linux-trace-kernel/ : https://git.kernel.org/pub/scm/linux/kernel/git/trace/linux-trace.git/ == Memory debugging == ⚙️ Internals: : {{The Linux Kernel/source|mm/kasan}} &ndash; {{The Linux Kernel/doc|KernelAddressSANitizer|dev-tools/kasan.html}}, detects out-of-bounds and use-after-free bugs : {{The Linux Kernel/source|mm/kfence}} &ndash; {{The Linux Kernel/doc|Kernel Electric-Fence|dev-tools/kfence.html}}, low-overhead sampling-based memory safety detector : {{The Linux Kernel/include|linux/kmemleak.h}} &ndash; {{The Linux Kernel/doc|memory leak detector|dev-tools/kmemleak.html}}, {{The Linux Kernel/source|mm/kmemleak.c}} : {{The Linux Kernel/include|linux/kcsan-checks.h}} &ndash; {{The Linux Kernel/doc|KCSAN - Kernel Concurrency Sanitizer|dev-tools/kcsan.html}}, {{The Linux Kernel/source|kernel/kcsan}} : {{The Linux Kernel/source|kernel/gcov}} &ndash; {{The Linux Kernel/doc|gcov code coverage|dev-tools/gcov.html}} == kgdb and kdb == ⚲ Interfaces : {{The Linux Kernel/include|linux/kgdb.h}} : {{The Linux Kernel/include|linux/kdb.h}} ⚙️ Internals : {{The Linux Kernel/source|kernel/debug}} &ndash; kgdb/kdb debugger 📚 '''References''' : {{The Linux Kernel/doc|Using kgdb, kdb and the kernel debugger internals|dev-tools/kgdb.html}} : {{w|kdump (Linux)|kdump}} : {{The Linux Kernel/doc|kdump|admin-guide/kdump}} : {{The Linux Kernel/man|8|crash}} &ndash; Analyze Linux crash dump data or a live system == {{w|eBPF}} == ⚲ API: : {{The Linux Kernel/man|2|bpf}} ↪ {{The Linux Kernel/source|kernel/bpf/syscall.c}} : {{The Linux Kernel/include|linux/bpf.h}} &ndash; BPF core definitions ⚙️ Internals: : {{The Linux Kernel/source|kernel/bpf}} &ndash; BPF subsystem core : {{The Linux Kernel/source|net/bpf}} &ndash; BPF networking hooks 📖 References : {{The Linux Kernel/doc|eBPF and BPF|bpf}} 📚 Further reading : {{The Linux Kernel/man|7|bpf-helpers}} : [https://www.brendangregg.com/ebpf.html Linux Extended BPF (eBPF) Tracing Tools] : [https://github.com/iovisor/bpftrace bpftrace &ndash; High-level tracing language for Linux eBPF] : [https://github.com/iovisor/bcc#tools BCC &ndash; Tools for BPF-based Linux IO analysis, networking, monitoring, and more] :: [https://github.com/iovisor/bcc/blob/master/tools/trace_example.txt Example] of [https://github.com/iovisor/bcc/blob/master/tools/trace.py trace.py] : {{The Linux Kernel/man|8|stapbpf}} : [https://medium.com/@zone24x7_inc/ebpf-programming-for-linux-kernel-tracing-30364dde3fb7 eBPF Programming for Linux Kernel Tracing] : {{The Linux Kernel/doc|lockdep - Runtime locking correctness validator|locking/lockdep-design.html}} == Watchdogs == [[../Softdog Driver]] {{The Linux Kernel/id|dev_watchdog}} &ndash; network device watchdog The NMI watchdog lockup detectors: ⚲ API : /proc/sys/kernel/nmi_watchdog : /proc/sys/kernel/soft_watchdog : /proc/sys/kernel/watchdog : /proc/sys/kernel/watchdog_cpumask : /proc/sys/kernel/watchdog_thresh : /proc/sys/kernel/hardlockup_all_cpu_backtrace : /proc/sys/kernel/hardlockup_panic : /proc/sys/kernel/softlockup_all_cpu_backtrace : /proc/sys/kernel/softlockup_panic : {{The Linux Kernel/include|linux/nmi.h}} 👁️ Example : {{The Linux Kernel/source|lib/test_lockup.c}} &ndash; test module to generate lockups Provoke NMI watchdog without panic: echo 0 > /proc/sys/kernel/hardlockup_panic insmod test_lockup.ko disable_irq=1 time_secs=13 ⚙️ Internals : {{The Linux Kernel/source|kernel/watchdog.c}} &ndash; detects hard and soft lockups on a system : {{The Linux Kernel/source|kernel/watchdog_perf.c}} &ndash; detects hard lockups on a system using perf : {{The Linux Kernel/source|kernel/watchdog_buddy.c}} &ndash; coordinates watchdog checks across CPUs : {{The Linux Kernel/include|linux/hung_task.h}}, {{The Linux Kernel/source|kernel/hung_task.c}} &ndash; detects tasks stuck in uninterruptible sleep 📚 References : {{The Linux Kernel/doc|Documentation for /proc/sys/kernel/|admin-guide/sysctl/kernel.html}} : {{The Linux Kernel/doc|Softlockup detector and hardlockup detector (aka nmi_watchdog)|admin-guide/lockup-watchdogs.html}} : kernel parameters: :: {{The Linux Kernel/param|nmi_watchdog|nmi_watchdog}} :: {{The Linux Kernel/param|nowatchdog|nowatchdog%09}} :: {{The Linux Kernel/param|nosoftlockup|nosoftlockup}} :: {{The Linux Kernel/param|softlockup_panic|softlockup_panic}} <hr> ==...== ⚙️ Internals : {{The Linux Kernel/source|arch/x86/kernel/traps.c}} &ndash; x86 exception and trap handling : {{The Linux Kernel/include|linux/panic.h}}, {{The Linux Kernel/source|kernel/panic.c}} &ndash; kernel panic, oops and BUG handling : {{The Linux Kernel/include|linux/coredump.h}}, {{The Linux Kernel/source|fs/coredump.c}} &ndash; {{The Linux Kernel/man|5|core}} dump generation Kernel health counters: : /proc/sys/kernel/tainted &ndash; bitmask of kernel taint flags (proprietary modules, forced loads, machine checks, etc.) : /sys/kernel/oops_count &ndash; number of kernel oopses since boot : /sys/kernel/warn_count &ndash; number of kernel warnings since boot : collected by [https://github.com/sosreport/sos/blob/main/sos/report/plugins/kernel.py sos kernel plugin] for diagnostics 📖 References for debugging : {{The Linux Kernel/doc|Ramoops oops/panic logger|admin-guide/ramoops.html}} : {{The Linux Kernel/doc|pstore block oops/panic logger|admin-guide/pstore-blk.html}} : {{The Linux Kernel/doc|Fault injection|fault-injection}} : {{The Linux Kernel/doc|Bisecting a bug|admin-guide/bug-bisect.html}} : {{The Linux Kernel/doc|Development tools for the kernel|dev-tools}} :: {{The Linux Kernel/doc|Kernel Testing Guide|dev-tools/testing-overview.html}} :: {{The Linux Kernel/doc|Checkpatch|dev-tools/checkpatch.html}}, {{The Linux Kernel/source|scripts/checkpatch.pl}} :: {{The Linux Kernel/doc|Selftests|dev-tools/kselftest.html}}, {{The Linux Kernel/source|tools/testing/selftests}} : {{The Linux Kernel/include|linux/tracepoint.h}} : {{The Linux Kernel/doc|Tracking down and identifying problems|admin-guide/index.html#tracking-down-and-identifying-problems}} :: {{The Linux Kernel/doc|Bug hunting|admin-guide/bug-hunting.html}} :: ... 📚 Further reading : {{w|Linux kernel oops}} : {{w|kdump (Linux)}} : https://deepwiki.com/torvalds/linux/2.4-kernel-tracing-and-profiling : https://drgn.readthedocs.io/ &ndash; programmable debugger : https://crash-utility.github.io/ : https://wiki.ubuntu.com/Kernel/Debugging : [https://www.intel.com/content/www/us/en/docs/vtune-profiler/user-guide/2025-1/enabling-linux-kernel-analysis.html Intel VTune Profiler] : [[Linux Applications Debugging Techniques]] {{BookCat}} 6dhckmp5m5ric4o4igiob1cq9ca2k2h 4654509 4654508 2026-07-15T06:02:08Z Conan 3188 kdump 4654509 wikitext text/x-wiki {{DISPLAYTITLE:Debugging Linux kernel}} ⚲ API : {{The Linux Kernel/include|linux/err.h}} &ndash; helper macros for error pointer handling and propagation : {{The Linux Kernel/include|linux/errno.h}} &ndash; standard error codes used throughout the kernel. == Performance == There are many factors that can affect the performance of the Linux kernel, including hardware configurations, software configurations, and workload characteristics. In this context, performance optimization of the Linux kernel involves identifying and addressing performance {{w|Bottleneck (software)|bottlenecks}} in the system. This can involve tuning kernel parameters, optimizing system resources, and identifying and fixing bugs and other issues that may be impacting performance. Given the complexity of the Linux kernel and the wide range of factors that can affect performance, performance optimization can be a challenging task. However, with the right tools and techniques, it is possible to significantly improve the performance and reliability of Linux-based systems. === Perf_events === {{w|perf (Linux)|Perf_events}}, short for performance events, is a powerful interface that provides detailed insights into the performance characteristics of software running on a system. By analyzing the data collected by perf_events, developers can identify performance bottlenecks and optimize software to improve performance and reduce resource utilization. Perf_events is designed to be a lightweight, low-overhead monitoring solution that has minimal impact on system performance. 🔧 TODO ⚲ Interfaces : {{The Linux Kernel/man|1|perf}} &ndash; performance analysis tools <!-- generated with man -k perf | grep ^perf- | sed -n 's%\([^ ]*\) (\(.\+\)) \W\+\(.*\)%:: {{The Linux Kernel/man|\2|\1}} \– \3%p' --> : Basic commands: :: {{The Linux Kernel/man|1|perf-help}} &ndash; display help information about perf :: {{The Linux Kernel/man|1|perf-top}} &ndash; System profiling tool. :: {{The Linux Kernel/man|1|perf-record}} &ndash; Run a command and record its profile into perf.data :: {{The Linux Kernel/man|1|perf-report}} &ndash; Read perf.data (created by perf record) and display the profile : Other commands: :: {{The Linux Kernel/man|1|perf-annotate}} &ndash; Read perf.data (created by perf record) and display annotated code :: {{The Linux Kernel/man|1|perf-archive}} &ndash; Create archive with object files with build-ids found ... :: {{The Linux Kernel/man|1|perf-arm-spe}} &ndash; Support for Arm Statistical Profiling Extension within... :: {{The Linux Kernel/man|1|perf-bench}} &ndash; General framework for benchmark suites :: {{The Linux Kernel/man|1|perf-buildid-cache}} &ndash; Manage build-id cache. :: {{The Linux Kernel/man|1|perf-buildid-list}} &ndash; List the buildids in a perf.data file :: {{The Linux Kernel/man|1|perf-c2c}} &ndash; Shared Data C2C/HITM Analyzer. :: {{The Linux Kernel/man|1|perf-config}} &ndash; Get and set variables in a configuration file. :: {{The Linux Kernel/man|1|perf-daemon}} &ndash; Run record sessions on background :: {{The Linux Kernel/man|1|perf-data}} &ndash; Data file related processing :: {{The Linux Kernel/man|1|perf-diff}} &ndash; Read perf.data files and display the differential profile :: {{The Linux Kernel/man|1|perf-dlfilter}} &ndash; Filter sample events using a dynamically loaded shared... :: {{The Linux Kernel/man|1|perf-evlist}} &ndash; List the event names in a perf.data file :: {{The Linux Kernel/man|1|perf-ftrace}} &ndash; simple wrapper for kernel's ftrace functionality :: {{The Linux Kernel/man|1|perf-inject}} &ndash; Filter to augment the events stream with additional in... :: {{The Linux Kernel/man|1|perf-intel-pt}} &ndash; Support for Intel Processor Trace within perf tools :: {{The Linux Kernel/man|1|perf-iostat}} &ndash; Show I/O performance metrics :: {{The Linux Kernel/man|1|perf-kallsyms}} &ndash; Searches running kernel for symbols :: {{The Linux Kernel/man|1|perf-kmem}} &ndash; Tool to trace/measure kernel memory properties :: {{The Linux Kernel/man|1|perf-kvm}} &ndash; Tool to trace/measure kvm guest os :: {{The Linux Kernel/man|1|perf-kwork}} &ndash; Tool to trace/measure kernel work properties (latencies) :: {{The Linux Kernel/man|1|perf-list}} &ndash; List all symbolic event types :: {{The Linux Kernel/man|1|perf-lock}} &ndash; Analyze lock events :: {{The Linux Kernel/man|1|perf-mem}} &ndash; Profile memory accesses :: {{The Linux Kernel/man|1|perf-probe}} &ndash; Define new dynamic tracepoints :: {{The Linux Kernel/man|1|perf-sched}} &ndash; Tool to trace/measure scheduler properties (latencies) :: {{The Linux Kernel/man|1|perf-script}} &ndash; Read perf.data (created by perf record) and display tr... ::: {{The Linux Kernel/man|1|perf-script-perl}} &ndash; Process trace data with a Perl script ::: {{The Linux Kernel/man|1|perf-script-python}} &ndash; Process trace data with a Python script :: {{The Linux Kernel/man|1|perf-stat}} &ndash; Run a command and gather performance counter statistics :: {{The Linux Kernel/man|1|perf-test}} &ndash; Runs sanity tests. :: {{The Linux Kernel/man|1|perf-timechart}} &ndash; Tool to visualize total system behavior during a workload :: {{The Linux Kernel/man|1|perf-trace}} &ndash; strace inspired tool :: {{The Linux Kernel/man|1|perf-version}} &ndash; display the version of perf binary ⚙️ Internals : {{The Linux Kernel/man|2|perf_event_open}} &ndash; sets up performance monitoring : {{The Linux Kernel/include|uapi/linux/perf_event.h}} : {{The Linux Kernel/source|tools/perf}} &ndash; performance analysis tools : {{The Linux Kernel/include|linux/perf_event.h}} : {{The Linux Kernel/source|kernel/events/core.c}} &ndash; performance events core : {{The Linux Kernel/source|kernel/profile.c}} &ndash; simple profiling 📖 References : {{w|perf (Linux)|perf}} &ndash; instruments CPU performance counters, tracepoints, kprobes, and uprobes : https://perfwiki.github.io/main/ 📚 Further reading : [https://www.brendangregg.com/perf.html perf Examples] : [https://web.eece.maine.edu/~vweaver/projects/perf_events/ The Unofficial Linux Perf Events Web-Page] --------------- 🛠️ Utilities : {{w|Performance Co-Pilot}}, https://pcp.io/ &ndash; Performance Co-Pilot : {{w|Prometheus (software)|Prometheus}}, https://prometheus.io/ : https://github.com/redhat-nfvpe/container-perf-tools : https://github.com/brendangregg/perf-tools &ndash; performance analysis tools based on Linux perf_events (aka perf) and ftrace : [https://linux.die.net/man/1/readprofile readprofile] &ndash; a tool to read kernel profiling information 📚 Further reading : [https://wiki.ubuntu.com/Kernel/Reference/stress-ng stress-ng] &ndash; exercises various kernel interfaces : http://trac.gateworks.com/wiki/linux/profiling : [https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux_for_real_time/9/html/optimizing_rhel_9_for_real_time_for_low_latency_operation/assembly_analyzing-application-performance_optimizing-rhel9-for-real-time-for-low-latency-operation Analyzing application performance in RHEL 9] : [https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/9/html/monitoring_and_managing_system_status_and_performance/index Monitoring and managing system status and performance in RHEL 9] : [[Embedded_Systems/Linux#Real-time|Real-time Linux]] == User space debug interfaces == ⚲ Interfaces : {{The Linux Kernel/man|1|dmesg}} &ndash; prints or control the kernel ring buffer :: {{The Linux Kernel/man|2|syslog}} &ndash; system call, which is used to control the kernel printk() buffer : {{The Linux Kernel/man|1|strace}} &ndash; system calls and signals tracing tool :: {{The Linux Kernel/man|2|ptrace}} &ndash; process trace system call : {{The Linux Kernel/man|3|klogctl}} : {{The Linux Kernel/man|5|core}} : /sys/kernel/debug/ &ndash; {{w|debugfs}} : dmesg --console-level <level> : gdb /usr/src/linux/vmlinux /proc/kcore : /proc/self/stack : {{The Linux Kernel/doc|dynamic|admin-guide/dynamic-debug-howto.html}} debug :: <big>⌨️</big> hands-on: :: echo "module atkbd +pfl" | sudo tee /sys/kernel/debug/dynamic_debug/control ⚙️ Internals : {{The Linux Kernel/id|handle_sysrq}} : {{The Linux Kernel/include|linux/debugfs.h}} &ndash; debugfs API : {{The Linux Kernel/source|fs/debugfs}} &ndash; debugfs implementation : {{The Linux Kernel/include|linux/tracefs.h}}, {{The Linux Kernel/source|fs/tracefs}} &ndash; filesystem backing /sys/kernel/tracing : {{The Linux Kernel/include|linux/pstore.h}}, {{The Linux Kernel/source|fs/pstore}} &ndash; preserves crash logs across reboots 📚 '''References''' : {{The Linux Kernel/doc|Development tools for the kernel|dev-tools}} : {{The Linux Kernel/doc|DebugFS|filesystems/debugfs.html}}, {{The Linux Kernel/source|samples/qmi/qmi_sample_client.c}} : {{The Linux Kernel/doc|Kprobe-based Event Tracing|trace/kprobetrace.html}} : {{The Linux Kernel/doc|Dynamic debug|admin-guide/dynamic-debug-howto.html}} : {{The Linux Kernel/doc|Linux Magic System Request Key Hacks|admin-guide/sysrq.html}} : [https://sysprog21.github.io/lkmpg/#debugfs-flexible-debugging-interfaces LKMPG: debugfs] : {{w|Magic SysRq key}} == Tracing and logging == ⚲ API: '''User-space interface:''' : {{The Linux Kernel/man|1|dmesg}} &ndash; prints or control the kernel ring buffer :: {{The Linux Kernel/man|2|syslog}} &ndash; system call, which is used to control the kernel printk() buffer : /proc/kmsg : https://kernelshark.org/ &ndash; front end reader of trace-cmd : https://trace-cmd.org/, {{The Linux Kernel/man|1|trace-cmd}} &ndash; CLI for {{The Linux Kernel/doc|Ftrace|trace/ftrace.html}} &ndash; Linux kernel internal tracer /sys/kernel/debug/tracing/ '''The most commonly used functions''' : {{The Linux Kernel/include|linux/printk.h}} :: {{The Linux Kernel/id|dump_stack}} – prints the current kernel stack trace for debugging purposes :: {{The Linux Kernel/id|pr_alert}} – logs an alert-level message, indicating a critical event that requires immediate attention :: {{The Linux Kernel/id|pr_cont}} – continues printing the current message on the same line :: {{The Linux Kernel/id|pr_crit}} – logs a critical-level message, indicating a severe condition that might require system halt :: {{The Linux Kernel/id|pr_debug}} – logs a debug-level message for developers, usually enabled in debug builds :: {{The Linux Kernel/id|pr_devel}} – logs a developer-specific message, typically used for fine-grained debug purposes, see {{The Linux Kernel/doc|dynamic|admin-guide/dynamic-debug-howto.html}} :: {{The Linux Kernel/id|pr_emerg}} – logs an emergency-level message, indicating a serious error that could cause system crash :: {{The Linux Kernel/id|pr_err}} – logs an error-level message, typically indicating an issue that requires attention :: {{The Linux Kernel/id|pr_err_ratelimited}} – logs an error-level message with rate limiting to prevent excessive logging :: {{The Linux Kernel/id|pr_fmt}} – defines a format string for kernel messages :: {{The Linux Kernel/id|pr_info}} – logs an informational-level message, providing status updates or diagnostics :: {{The Linux Kernel/id|pr_info_ratelimited}} – logs an informational-level message with rate limiting :: {{The Linux Kernel/id|pr_notice}} – logs a notice-level message, typically used for events that aren't errors but should be noted :: {{The Linux Kernel/id|pr_warn}} – logs a warning-level message, indicating a potential issue that doesn't immediately affect system functionality :: {{The Linux Kernel/id|pr_warn_once}} – logs a warning message once, preventing repeated warnings for the same event :: {{The Linux Kernel/id|pr_warn_ratelimited}} – logs a warning-level message with rate limiting :: {{The Linux Kernel/id|print_hex_dump}} – prints a hexdump of data for debugging purposes :: {{The Linux Kernel/id|print_hex_dump_debug}} – prints a detailed hexdump with debugging-level verbosity :: {{The Linux Kernel/id|printk}} – the primary function for printing kernel messages with varying severity levels :: {{The Linux Kernel/id|va_format}} – formats a variable argument list into a string for logging or printing purposes ::: <big>⌨️</big> hands-on: ::: echo "module atkbd +pfl" | sudo tee /sys/kernel/debug/dynamic_debug/control; dmesg -w ::: and type on built-in keyboard : {{The Linux Kernel/include|linux/dev_printk.h}} – device-specific logging :: {{The Linux Kernel/id|dev_crit}} – prints a critical-level message for a device :: {{The Linux Kernel/id|dev_dbg}} – prints a debug-level message for a device if debugging is enabled :: {{The Linux Kernel/id|dev_dbg_ratelimited}} – prints debug messages for a device with rate limiting :: {{The Linux Kernel/id|dev_err}} – prints an error-level message for a device :: {{The Linux Kernel/id|dev_err_once}} – prints an error message for a device only once :: {{The Linux Kernel/id|dev_err_probe}} – prints an error related to probe failure with standard formatting :: {{The Linux Kernel/id|dev_err_ratelimited}} – prints error messages for a device with rate limiting :: {{The Linux Kernel/id|dev_fmt}} – defines a format string used by device-specific printk macros :: {{The Linux Kernel/id|dev_info}} – prints an informational-level message for a device :: {{The Linux Kernel/id|dev_notice}} – prints a notice-level message for a device :: {{The Linux Kernel/id|dev_printk}} – generic function to print kernel messages with specified log level for a device :: {{The Linux Kernel/id|dev_vdbg}} – prints verbose debug messages for a device if enabled at compile time :: {{The Linux Kernel/id|dev_warn}} – prints a warning-level message for a device :: {{The Linux Kernel/id|dev_warn_once}} – prints a warning message for a device only once :: {{The Linux Kernel/id|dev_warn_ratelimited}} – prints warning messages for a device with rate limiting : {{The Linux Kernel/include|linux/bug.h}}, {{The Linux Kernel/include|asm-generic/bug.h}} &ndash; BUG, WARN, BUILD_BUG_ON macros :: {{The Linux Kernel/id|WARN_ON}} :: {{The Linux Kernel/id|WARN}} ⚙️ Internals : {{The Linux Kernel/id|printk}} : {{The Linux Kernel/source|kernel/printk/printk.c}} &ndash; kernel message logging : {{The Linux Kernel/source|arch/x86/kernel/traps.c}} &ndash; x86 exception and trap handling : {{The Linux Kernel/source|lib/dump_stack.c}} &ndash; stack trace dumping : {{The Linux Kernel/include|linux/kprobes.h}}, {{The Linux Kernel/source|kernel/kprobes.c}} &ndash; {{The Linux Kernel/doc|dynamic tracing probes|trace/kprobes.html}} : {{The Linux Kernel/source|kernel/trace}} &ndash; tracing infrastructure : {{The Linux Kernel/source|scripts/tracing/draw_functrace.py}} &ndash; visualize function call graph from trace : {{The Linux Kernel/ltp|kernel|logging}}, {{The Linux Kernel/ltp|kernel|tracing}} : {{The Linux Kernel/source|samples/ftrace}} &ndash; ftrace usage examples : {{The Linux Kernel/source|samples/trace_events}} &ndash; trace event examples : {{The Linux Kernel/source|samples/trace_printk}} &ndash; trace_printk examples : {{The Linux Kernel/include|linux/instrumentation.h}} 📚 '''References''': : [https://elinux.org/Debugging_by_printing Debugging by printing] : {{The Linux Kernel/doc|Message logging with printk|core-api/printk-basics.html}} : {{The Linux Kernel/doc|Dynamic debug|admin-guide/dynamic-debug-howto.html}} : {{w|SystemTap}} :: {{The Linux Kernel/man|1|stap}} &ndash; systemtap script translator/driver : {{w|strace}} :: {{The Linux Kernel/man|1|strace}} &ndash; trace system calls and signals : {{w|LTTng}} : {{w|ftrace}} : {{The Linux Kernel/doc|Linux Tracing Technologies|trace}} :: {{The Linux Kernel/doc|Tracepoint Analysis|trace/tracepoint-analysis.html}} :: {{The Linux Kernel/doc|Function Tracer|trace/ftrace.html}} &ndash; function, latency and event tracing ::: {{The Linux Kernel/doc|Event Tracing|trace/events.html}} :: {{The Linux Kernel/doc|Using ftrace to hook to functions|trace/ftrace-uses.html}} :: {{The Linux Kernel/doc|Fprobe - Function entry/exit probe|trace/fprobe.html}} :: {{The Linux Kernel/doc|Kprobes|trace/kprobes.html}} :: {{The Linux Kernel/doc|Kprobe-based Event Tracing|trace/kprobetrace.html}} :: {{The Linux Kernel/doc|Uprobe-tracer: Uprobe-based Event Tracing|trace/uprobetracer.html}} :: {{The Linux Kernel/doc|Using the Linux Kernel Tracepoints|trace/tracepoints.html}} :: {{The Linux Kernel/doc|Subsystem Trace Points: kmem|trace/events-kmem.html}} :: {{The Linux Kernel/doc|Subsystem Trace Points: power|trace/events-power.html}} :: {{The Linux Kernel/doc|NMI Trace Events|trace/events-nmi.html}} :: {{The Linux Kernel/doc|In-kernel memory-mapped I/O tracing|trace/mmiotrace.html}} :: {{The Linux Kernel/doc|Event Histograms|trace/histogram.html}} :: {{The Linux Kernel/doc|Histogram Design Notes|trace/histogram-design.html}} :: {{The Linux Kernel/doc|Boot-time tracing|trace/boottime-trace.html}} :: {{The Linux Kernel/doc|Hardware Latency Detector|trace/hwlat_detector.html}} :: {{The Linux Kernel/doc|Intel(R) Trace Hub (TH)|trace/intel_th.html}} :: {{The Linux Kernel/doc|Lockless Ring Buffer Design|trace/ring-buffer-design.html}} :: {{The Linux Kernel/doc|System Trace Module|trace/stm.html}} :: {{The Linux Kernel/doc|CoreSight - ARM Hardware Trace|trace/coresight}} '''🔧 TODO. 🚀 advanced features''' : {{The Linux Kernel/include|linux/kmemleak.h}} &ndash; memory leak detector : {{The Linux Kernel/id|pr_cont}} - continues a previous log message in the same line : {{The Linux Kernel/id|print_hex_dump_bytes}} : {{The Linux Kernel/id|print_hex_dump_debug}} : {{The Linux Kernel/id|dump_stack}} : {{The Linux Kernel/id|CONFIG_PRINTK_CALLER}} : {{The Linux Kernel/id|CONFIG_DEBUG_KERNEL}} : {{The Linux Kernel/id|CONFIG_DEBUG_INFO}} : https://git.kernel.org/pub/scm/libs/libtrace/ 📚 Further reading : https://lore.kernel.org/linux-trace-kernel/ : https://git.kernel.org/pub/scm/linux/kernel/git/trace/linux-trace.git/ == Memory debugging == ⚙️ Internals: : {{The Linux Kernel/source|mm/kasan}} &ndash; {{The Linux Kernel/doc|KernelAddressSANitizer|dev-tools/kasan.html}}, detects out-of-bounds and use-after-free bugs : {{The Linux Kernel/source|mm/kfence}} &ndash; {{The Linux Kernel/doc|Kernel Electric-Fence|dev-tools/kfence.html}}, low-overhead sampling-based memory safety detector : {{The Linux Kernel/include|linux/kmemleak.h}} &ndash; {{The Linux Kernel/doc|memory leak detector|dev-tools/kmemleak.html}}, {{The Linux Kernel/source|mm/kmemleak.c}} : {{The Linux Kernel/include|linux/kcsan-checks.h}} &ndash; {{The Linux Kernel/doc|KCSAN - Kernel Concurrency Sanitizer|dev-tools/kcsan.html}}, {{The Linux Kernel/source|kernel/kcsan}} : {{The Linux Kernel/source|kernel/gcov}} &ndash; {{The Linux Kernel/doc|gcov code coverage|dev-tools/gcov.html}} == kgdb and kdb == ⚲ Interfaces : {{The Linux Kernel/include|linux/kgdb.h}} : {{The Linux Kernel/include|linux/kdb.h}} ⚙️ Internals : {{The Linux Kernel/source|kernel/debug}} &ndash; kgdb/kdb debugger 📚 '''References''' : {{The Linux Kernel/doc|Using kgdb, kdb and the kernel debugger internals|dev-tools/kgdb.html}} : {{w|kdump (Linux)|kdump}} &ndash; kernel crash dump mechanism : {{The Linux Kernel/doc|kdump|admin-guide/kdump}} :: /proc/sys/kernel/panic &ndash; seconds before auto-reboot on panic (0 = no reboot) :: /proc/sys/kernel/panic_on_oops &ndash; panic on kernel oops :: /sys/kernel/kexec_crash_loaded &ndash; whether a crash kernel is loaded :: /sys/kernel/kexec_crash_size &ndash; reserved memory for crash kernel :: kdumpctl status, kdumpctl estimate &ndash; check kdump readiness (RHEL/Fedora) : {{The Linux Kernel/man|8|crash}} &ndash; Analyze Linux crash dump data or a live system == {{w|eBPF}} == ⚲ API: : {{The Linux Kernel/man|2|bpf}} ↪ {{The Linux Kernel/source|kernel/bpf/syscall.c}} : {{The Linux Kernel/include|linux/bpf.h}} &ndash; BPF core definitions ⚙️ Internals: : {{The Linux Kernel/source|kernel/bpf}} &ndash; BPF subsystem core : {{The Linux Kernel/source|net/bpf}} &ndash; BPF networking hooks 📖 References : {{The Linux Kernel/doc|eBPF and BPF|bpf}} 📚 Further reading : {{The Linux Kernel/man|7|bpf-helpers}} : [https://www.brendangregg.com/ebpf.html Linux Extended BPF (eBPF) Tracing Tools] : [https://github.com/iovisor/bpftrace bpftrace &ndash; High-level tracing language for Linux eBPF] : [https://github.com/iovisor/bcc#tools BCC &ndash; Tools for BPF-based Linux IO analysis, networking, monitoring, and more] :: [https://github.com/iovisor/bcc/blob/master/tools/trace_example.txt Example] of [https://github.com/iovisor/bcc/blob/master/tools/trace.py trace.py] : {{The Linux Kernel/man|8|stapbpf}} : [https://medium.com/@zone24x7_inc/ebpf-programming-for-linux-kernel-tracing-30364dde3fb7 eBPF Programming for Linux Kernel Tracing] : {{The Linux Kernel/doc|lockdep - Runtime locking correctness validator|locking/lockdep-design.html}} == Watchdogs == [[../Softdog Driver]] {{The Linux Kernel/id|dev_watchdog}} &ndash; network device watchdog The NMI watchdog lockup detectors: ⚲ API : /proc/sys/kernel/nmi_watchdog : /proc/sys/kernel/soft_watchdog : /proc/sys/kernel/watchdog : /proc/sys/kernel/watchdog_cpumask : /proc/sys/kernel/watchdog_thresh : /proc/sys/kernel/hardlockup_all_cpu_backtrace : /proc/sys/kernel/hardlockup_panic : /proc/sys/kernel/softlockup_all_cpu_backtrace : /proc/sys/kernel/softlockup_panic : {{The Linux Kernel/include|linux/nmi.h}} 👁️ Example : {{The Linux Kernel/source|lib/test_lockup.c}} &ndash; test module to generate lockups Provoke NMI watchdog without panic: echo 0 > /proc/sys/kernel/hardlockup_panic insmod test_lockup.ko disable_irq=1 time_secs=13 ⚙️ Internals : {{The Linux Kernel/source|kernel/watchdog.c}} &ndash; detects hard and soft lockups on a system : {{The Linux Kernel/source|kernel/watchdog_perf.c}} &ndash; detects hard lockups on a system using perf : {{The Linux Kernel/source|kernel/watchdog_buddy.c}} &ndash; coordinates watchdog checks across CPUs : {{The Linux Kernel/include|linux/hung_task.h}}, {{The Linux Kernel/source|kernel/hung_task.c}} &ndash; detects tasks stuck in uninterruptible sleep 📚 References : {{The Linux Kernel/doc|Documentation for /proc/sys/kernel/|admin-guide/sysctl/kernel.html}} : {{The Linux Kernel/doc|Softlockup detector and hardlockup detector (aka nmi_watchdog)|admin-guide/lockup-watchdogs.html}} : kernel parameters: :: {{The Linux Kernel/param|nmi_watchdog|nmi_watchdog}} :: {{The Linux Kernel/param|nowatchdog|nowatchdog%09}} :: {{The Linux Kernel/param|nosoftlockup|nosoftlockup}} :: {{The Linux Kernel/param|softlockup_panic|softlockup_panic}} <hr> ==...== ⚙️ Internals : {{The Linux Kernel/source|arch/x86/kernel/traps.c}} &ndash; x86 exception and trap handling : {{The Linux Kernel/include|linux/panic.h}}, {{The Linux Kernel/source|kernel/panic.c}} &ndash; kernel panic, oops and BUG handling : {{The Linux Kernel/include|linux/coredump.h}}, {{The Linux Kernel/source|fs/coredump.c}} &ndash; {{The Linux Kernel/man|5|core}} dump generation Kernel health counters: : /proc/sys/kernel/tainted &ndash; bitmask of kernel taint flags (proprietary modules, forced loads, machine checks, etc.) : /sys/kernel/oops_count &ndash; number of kernel oopses since boot : /sys/kernel/warn_count &ndash; number of kernel warnings since boot : collected by [https://github.com/sosreport/sos/blob/main/sos/report/plugins/kernel.py sos kernel plugin] for diagnostics 📖 References for debugging : {{The Linux Kernel/doc|Ramoops oops/panic logger|admin-guide/ramoops.html}} : {{The Linux Kernel/doc|pstore block oops/panic logger|admin-guide/pstore-blk.html}} : {{The Linux Kernel/doc|Fault injection|fault-injection}} : {{The Linux Kernel/doc|Bisecting a bug|admin-guide/bug-bisect.html}} : {{The Linux Kernel/doc|Development tools for the kernel|dev-tools}} :: {{The Linux Kernel/doc|Kernel Testing Guide|dev-tools/testing-overview.html}} :: {{The Linux Kernel/doc|Checkpatch|dev-tools/checkpatch.html}}, {{The Linux Kernel/source|scripts/checkpatch.pl}} :: {{The Linux Kernel/doc|Selftests|dev-tools/kselftest.html}}, {{The Linux Kernel/source|tools/testing/selftests}} : {{The Linux Kernel/include|linux/tracepoint.h}} : {{The Linux Kernel/doc|Tracking down and identifying problems|admin-guide/index.html#tracking-down-and-identifying-problems}} :: {{The Linux Kernel/doc|Bug hunting|admin-guide/bug-hunting.html}} :: ... 📚 Further reading : {{w|Linux kernel oops}} : {{w|kdump (Linux)}} : https://deepwiki.com/torvalds/linux/2.4-kernel-tracing-and-profiling : https://drgn.readthedocs.io/ &ndash; programmable debugger : https://crash-utility.github.io/ : https://wiki.ubuntu.com/Kernel/Debugging : [https://www.intel.com/content/www/us/en/docs/vtune-profiler/user-guide/2025-1/enabling-linux-kernel-analysis.html Intel VTune Profiler] : [[Linux Applications Debugging Techniques]] {{BookCat}} seuzxyunr9pk8lx10d49q69fa22kdm5 4654510 4654509 2026-07-15T06:02:09Z Conan 3188 bpftool 4654510 wikitext text/x-wiki {{DISPLAYTITLE:Debugging Linux kernel}} ⚲ API : {{The Linux Kernel/include|linux/err.h}} &ndash; helper macros for error pointer handling and propagation : {{The Linux Kernel/include|linux/errno.h}} &ndash; standard error codes used throughout the kernel. == Performance == There are many factors that can affect the performance of the Linux kernel, including hardware configurations, software configurations, and workload characteristics. In this context, performance optimization of the Linux kernel involves identifying and addressing performance {{w|Bottleneck (software)|bottlenecks}} in the system. This can involve tuning kernel parameters, optimizing system resources, and identifying and fixing bugs and other issues that may be impacting performance. Given the complexity of the Linux kernel and the wide range of factors that can affect performance, performance optimization can be a challenging task. However, with the right tools and techniques, it is possible to significantly improve the performance and reliability of Linux-based systems. === Perf_events === {{w|perf (Linux)|Perf_events}}, short for performance events, is a powerful interface that provides detailed insights into the performance characteristics of software running on a system. By analyzing the data collected by perf_events, developers can identify performance bottlenecks and optimize software to improve performance and reduce resource utilization. Perf_events is designed to be a lightweight, low-overhead monitoring solution that has minimal impact on system performance. 🔧 TODO ⚲ Interfaces : {{The Linux Kernel/man|1|perf}} &ndash; performance analysis tools <!-- generated with man -k perf | grep ^perf- | sed -n 's%\([^ ]*\) (\(.\+\)) \W\+\(.*\)%:: {{The Linux Kernel/man|\2|\1}} \– \3%p' --> : Basic commands: :: {{The Linux Kernel/man|1|perf-help}} &ndash; display help information about perf :: {{The Linux Kernel/man|1|perf-top}} &ndash; System profiling tool. :: {{The Linux Kernel/man|1|perf-record}} &ndash; Run a command and record its profile into perf.data :: {{The Linux Kernel/man|1|perf-report}} &ndash; Read perf.data (created by perf record) and display the profile : Other commands: :: {{The Linux Kernel/man|1|perf-annotate}} &ndash; Read perf.data (created by perf record) and display annotated code :: {{The Linux Kernel/man|1|perf-archive}} &ndash; Create archive with object files with build-ids found ... :: {{The Linux Kernel/man|1|perf-arm-spe}} &ndash; Support for Arm Statistical Profiling Extension within... :: {{The Linux Kernel/man|1|perf-bench}} &ndash; General framework for benchmark suites :: {{The Linux Kernel/man|1|perf-buildid-cache}} &ndash; Manage build-id cache. :: {{The Linux Kernel/man|1|perf-buildid-list}} &ndash; List the buildids in a perf.data file :: {{The Linux Kernel/man|1|perf-c2c}} &ndash; Shared Data C2C/HITM Analyzer. :: {{The Linux Kernel/man|1|perf-config}} &ndash; Get and set variables in a configuration file. :: {{The Linux Kernel/man|1|perf-daemon}} &ndash; Run record sessions on background :: {{The Linux Kernel/man|1|perf-data}} &ndash; Data file related processing :: {{The Linux Kernel/man|1|perf-diff}} &ndash; Read perf.data files and display the differential profile :: {{The Linux Kernel/man|1|perf-dlfilter}} &ndash; Filter sample events using a dynamically loaded shared... :: {{The Linux Kernel/man|1|perf-evlist}} &ndash; List the event names in a perf.data file :: {{The Linux Kernel/man|1|perf-ftrace}} &ndash; simple wrapper for kernel's ftrace functionality :: {{The Linux Kernel/man|1|perf-inject}} &ndash; Filter to augment the events stream with additional in... :: {{The Linux Kernel/man|1|perf-intel-pt}} &ndash; Support for Intel Processor Trace within perf tools :: {{The Linux Kernel/man|1|perf-iostat}} &ndash; Show I/O performance metrics :: {{The Linux Kernel/man|1|perf-kallsyms}} &ndash; Searches running kernel for symbols :: {{The Linux Kernel/man|1|perf-kmem}} &ndash; Tool to trace/measure kernel memory properties :: {{The Linux Kernel/man|1|perf-kvm}} &ndash; Tool to trace/measure kvm guest os :: {{The Linux Kernel/man|1|perf-kwork}} &ndash; Tool to trace/measure kernel work properties (latencies) :: {{The Linux Kernel/man|1|perf-list}} &ndash; List all symbolic event types :: {{The Linux Kernel/man|1|perf-lock}} &ndash; Analyze lock events :: {{The Linux Kernel/man|1|perf-mem}} &ndash; Profile memory accesses :: {{The Linux Kernel/man|1|perf-probe}} &ndash; Define new dynamic tracepoints :: {{The Linux Kernel/man|1|perf-sched}} &ndash; Tool to trace/measure scheduler properties (latencies) :: {{The Linux Kernel/man|1|perf-script}} &ndash; Read perf.data (created by perf record) and display tr... ::: {{The Linux Kernel/man|1|perf-script-perl}} &ndash; Process trace data with a Perl script ::: {{The Linux Kernel/man|1|perf-script-python}} &ndash; Process trace data with a Python script :: {{The Linux Kernel/man|1|perf-stat}} &ndash; Run a command and gather performance counter statistics :: {{The Linux Kernel/man|1|perf-test}} &ndash; Runs sanity tests. :: {{The Linux Kernel/man|1|perf-timechart}} &ndash; Tool to visualize total system behavior during a workload :: {{The Linux Kernel/man|1|perf-trace}} &ndash; strace inspired tool :: {{The Linux Kernel/man|1|perf-version}} &ndash; display the version of perf binary ⚙️ Internals : {{The Linux Kernel/man|2|perf_event_open}} &ndash; sets up performance monitoring : {{The Linux Kernel/include|uapi/linux/perf_event.h}} : {{The Linux Kernel/source|tools/perf}} &ndash; performance analysis tools : {{The Linux Kernel/include|linux/perf_event.h}} : {{The Linux Kernel/source|kernel/events/core.c}} &ndash; performance events core : {{The Linux Kernel/source|kernel/profile.c}} &ndash; simple profiling 📖 References : {{w|perf (Linux)|perf}} &ndash; instruments CPU performance counters, tracepoints, kprobes, and uprobes : https://perfwiki.github.io/main/ 📚 Further reading : [https://www.brendangregg.com/perf.html perf Examples] : [https://web.eece.maine.edu/~vweaver/projects/perf_events/ The Unofficial Linux Perf Events Web-Page] --------------- 🛠️ Utilities : {{w|Performance Co-Pilot}}, https://pcp.io/ &ndash; Performance Co-Pilot : {{w|Prometheus (software)|Prometheus}}, https://prometheus.io/ : https://github.com/redhat-nfvpe/container-perf-tools : https://github.com/brendangregg/perf-tools &ndash; performance analysis tools based on Linux perf_events (aka perf) and ftrace : [https://linux.die.net/man/1/readprofile readprofile] &ndash; a tool to read kernel profiling information 📚 Further reading : [https://wiki.ubuntu.com/Kernel/Reference/stress-ng stress-ng] &ndash; exercises various kernel interfaces : http://trac.gateworks.com/wiki/linux/profiling : [https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux_for_real_time/9/html/optimizing_rhel_9_for_real_time_for_low_latency_operation/assembly_analyzing-application-performance_optimizing-rhel9-for-real-time-for-low-latency-operation Analyzing application performance in RHEL 9] : [https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/9/html/monitoring_and_managing_system_status_and_performance/index Monitoring and managing system status and performance in RHEL 9] : [[Embedded_Systems/Linux#Real-time|Real-time Linux]] == User space debug interfaces == ⚲ Interfaces : {{The Linux Kernel/man|1|dmesg}} &ndash; prints or control the kernel ring buffer :: {{The Linux Kernel/man|2|syslog}} &ndash; system call, which is used to control the kernel printk() buffer : {{The Linux Kernel/man|1|strace}} &ndash; system calls and signals tracing tool :: {{The Linux Kernel/man|2|ptrace}} &ndash; process trace system call : {{The Linux Kernel/man|3|klogctl}} : {{The Linux Kernel/man|5|core}} : /sys/kernel/debug/ &ndash; {{w|debugfs}} : dmesg --console-level <level> : gdb /usr/src/linux/vmlinux /proc/kcore : /proc/self/stack : {{The Linux Kernel/doc|dynamic|admin-guide/dynamic-debug-howto.html}} debug :: <big>⌨️</big> hands-on: :: echo "module atkbd +pfl" | sudo tee /sys/kernel/debug/dynamic_debug/control ⚙️ Internals : {{The Linux Kernel/id|handle_sysrq}} : {{The Linux Kernel/include|linux/debugfs.h}} &ndash; debugfs API : {{The Linux Kernel/source|fs/debugfs}} &ndash; debugfs implementation : {{The Linux Kernel/include|linux/tracefs.h}}, {{The Linux Kernel/source|fs/tracefs}} &ndash; filesystem backing /sys/kernel/tracing : {{The Linux Kernel/include|linux/pstore.h}}, {{The Linux Kernel/source|fs/pstore}} &ndash; preserves crash logs across reboots 📚 '''References''' : {{The Linux Kernel/doc|Development tools for the kernel|dev-tools}} : {{The Linux Kernel/doc|DebugFS|filesystems/debugfs.html}}, {{The Linux Kernel/source|samples/qmi/qmi_sample_client.c}} : {{The Linux Kernel/doc|Kprobe-based Event Tracing|trace/kprobetrace.html}} : {{The Linux Kernel/doc|Dynamic debug|admin-guide/dynamic-debug-howto.html}} : {{The Linux Kernel/doc|Linux Magic System Request Key Hacks|admin-guide/sysrq.html}} : [https://sysprog21.github.io/lkmpg/#debugfs-flexible-debugging-interfaces LKMPG: debugfs] : {{w|Magic SysRq key}} == Tracing and logging == ⚲ API: '''User-space interface:''' : {{The Linux Kernel/man|1|dmesg}} &ndash; prints or control the kernel ring buffer :: {{The Linux Kernel/man|2|syslog}} &ndash; system call, which is used to control the kernel printk() buffer : /proc/kmsg : https://kernelshark.org/ &ndash; front end reader of trace-cmd : https://trace-cmd.org/, {{The Linux Kernel/man|1|trace-cmd}} &ndash; CLI for {{The Linux Kernel/doc|Ftrace|trace/ftrace.html}} &ndash; Linux kernel internal tracer /sys/kernel/debug/tracing/ '''The most commonly used functions''' : {{The Linux Kernel/include|linux/printk.h}} :: {{The Linux Kernel/id|dump_stack}} – prints the current kernel stack trace for debugging purposes :: {{The Linux Kernel/id|pr_alert}} – logs an alert-level message, indicating a critical event that requires immediate attention :: {{The Linux Kernel/id|pr_cont}} – continues printing the current message on the same line :: {{The Linux Kernel/id|pr_crit}} – logs a critical-level message, indicating a severe condition that might require system halt :: {{The Linux Kernel/id|pr_debug}} – logs a debug-level message for developers, usually enabled in debug builds :: {{The Linux Kernel/id|pr_devel}} – logs a developer-specific message, typically used for fine-grained debug purposes, see {{The Linux Kernel/doc|dynamic|admin-guide/dynamic-debug-howto.html}} :: {{The Linux Kernel/id|pr_emerg}} – logs an emergency-level message, indicating a serious error that could cause system crash :: {{The Linux Kernel/id|pr_err}} – logs an error-level message, typically indicating an issue that requires attention :: {{The Linux Kernel/id|pr_err_ratelimited}} – logs an error-level message with rate limiting to prevent excessive logging :: {{The Linux Kernel/id|pr_fmt}} – defines a format string for kernel messages :: {{The Linux Kernel/id|pr_info}} – logs an informational-level message, providing status updates or diagnostics :: {{The Linux Kernel/id|pr_info_ratelimited}} – logs an informational-level message with rate limiting :: {{The Linux Kernel/id|pr_notice}} – logs a notice-level message, typically used for events that aren't errors but should be noted :: {{The Linux Kernel/id|pr_warn}} – logs a warning-level message, indicating a potential issue that doesn't immediately affect system functionality :: {{The Linux Kernel/id|pr_warn_once}} – logs a warning message once, preventing repeated warnings for the same event :: {{The Linux Kernel/id|pr_warn_ratelimited}} – logs a warning-level message with rate limiting :: {{The Linux Kernel/id|print_hex_dump}} – prints a hexdump of data for debugging purposes :: {{The Linux Kernel/id|print_hex_dump_debug}} – prints a detailed hexdump with debugging-level verbosity :: {{The Linux Kernel/id|printk}} – the primary function for printing kernel messages with varying severity levels :: {{The Linux Kernel/id|va_format}} – formats a variable argument list into a string for logging or printing purposes ::: <big>⌨️</big> hands-on: ::: echo "module atkbd +pfl" | sudo tee /sys/kernel/debug/dynamic_debug/control; dmesg -w ::: and type on built-in keyboard : {{The Linux Kernel/include|linux/dev_printk.h}} – device-specific logging :: {{The Linux Kernel/id|dev_crit}} – prints a critical-level message for a device :: {{The Linux Kernel/id|dev_dbg}} – prints a debug-level message for a device if debugging is enabled :: {{The Linux Kernel/id|dev_dbg_ratelimited}} – prints debug messages for a device with rate limiting :: {{The Linux Kernel/id|dev_err}} – prints an error-level message for a device :: {{The Linux Kernel/id|dev_err_once}} – prints an error message for a device only once :: {{The Linux Kernel/id|dev_err_probe}} – prints an error related to probe failure with standard formatting :: {{The Linux Kernel/id|dev_err_ratelimited}} – prints error messages for a device with rate limiting :: {{The Linux Kernel/id|dev_fmt}} – defines a format string used by device-specific printk macros :: {{The Linux Kernel/id|dev_info}} – prints an informational-level message for a device :: {{The Linux Kernel/id|dev_notice}} – prints a notice-level message for a device :: {{The Linux Kernel/id|dev_printk}} – generic function to print kernel messages with specified log level for a device :: {{The Linux Kernel/id|dev_vdbg}} – prints verbose debug messages for a device if enabled at compile time :: {{The Linux Kernel/id|dev_warn}} – prints a warning-level message for a device :: {{The Linux Kernel/id|dev_warn_once}} – prints a warning message for a device only once :: {{The Linux Kernel/id|dev_warn_ratelimited}} – prints warning messages for a device with rate limiting : {{The Linux Kernel/include|linux/bug.h}}, {{The Linux Kernel/include|asm-generic/bug.h}} &ndash; BUG, WARN, BUILD_BUG_ON macros :: {{The Linux Kernel/id|WARN_ON}} :: {{The Linux Kernel/id|WARN}} ⚙️ Internals : {{The Linux Kernel/id|printk}} : {{The Linux Kernel/source|kernel/printk/printk.c}} &ndash; kernel message logging : {{The Linux Kernel/source|arch/x86/kernel/traps.c}} &ndash; x86 exception and trap handling : {{The Linux Kernel/source|lib/dump_stack.c}} &ndash; stack trace dumping : {{The Linux Kernel/include|linux/kprobes.h}}, {{The Linux Kernel/source|kernel/kprobes.c}} &ndash; {{The Linux Kernel/doc|dynamic tracing probes|trace/kprobes.html}} : {{The Linux Kernel/source|kernel/trace}} &ndash; tracing infrastructure : {{The Linux Kernel/source|scripts/tracing/draw_functrace.py}} &ndash; visualize function call graph from trace : {{The Linux Kernel/ltp|kernel|logging}}, {{The Linux Kernel/ltp|kernel|tracing}} : {{The Linux Kernel/source|samples/ftrace}} &ndash; ftrace usage examples : {{The Linux Kernel/source|samples/trace_events}} &ndash; trace event examples : {{The Linux Kernel/source|samples/trace_printk}} &ndash; trace_printk examples : {{The Linux Kernel/include|linux/instrumentation.h}} 📚 '''References''': : [https://elinux.org/Debugging_by_printing Debugging by printing] : {{The Linux Kernel/doc|Message logging with printk|core-api/printk-basics.html}} : {{The Linux Kernel/doc|Dynamic debug|admin-guide/dynamic-debug-howto.html}} : {{w|SystemTap}} :: {{The Linux Kernel/man|1|stap}} &ndash; systemtap script translator/driver : {{w|strace}} :: {{The Linux Kernel/man|1|strace}} &ndash; trace system calls and signals : {{w|LTTng}} : {{w|ftrace}} : {{The Linux Kernel/doc|Linux Tracing Technologies|trace}} :: {{The Linux Kernel/doc|Tracepoint Analysis|trace/tracepoint-analysis.html}} :: {{The Linux Kernel/doc|Function Tracer|trace/ftrace.html}} &ndash; function, latency and event tracing ::: {{The Linux Kernel/doc|Event Tracing|trace/events.html}} :: {{The Linux Kernel/doc|Using ftrace to hook to functions|trace/ftrace-uses.html}} :: {{The Linux Kernel/doc|Fprobe - Function entry/exit probe|trace/fprobe.html}} :: {{The Linux Kernel/doc|Kprobes|trace/kprobes.html}} :: {{The Linux Kernel/doc|Kprobe-based Event Tracing|trace/kprobetrace.html}} :: {{The Linux Kernel/doc|Uprobe-tracer: Uprobe-based Event Tracing|trace/uprobetracer.html}} :: {{The Linux Kernel/doc|Using the Linux Kernel Tracepoints|trace/tracepoints.html}} :: {{The Linux Kernel/doc|Subsystem Trace Points: kmem|trace/events-kmem.html}} :: {{The Linux Kernel/doc|Subsystem Trace Points: power|trace/events-power.html}} :: {{The Linux Kernel/doc|NMI Trace Events|trace/events-nmi.html}} :: {{The Linux Kernel/doc|In-kernel memory-mapped I/O tracing|trace/mmiotrace.html}} :: {{The Linux Kernel/doc|Event Histograms|trace/histogram.html}} :: {{The Linux Kernel/doc|Histogram Design Notes|trace/histogram-design.html}} :: {{The Linux Kernel/doc|Boot-time tracing|trace/boottime-trace.html}} :: {{The Linux Kernel/doc|Hardware Latency Detector|trace/hwlat_detector.html}} :: {{The Linux Kernel/doc|Intel(R) Trace Hub (TH)|trace/intel_th.html}} :: {{The Linux Kernel/doc|Lockless Ring Buffer Design|trace/ring-buffer-design.html}} :: {{The Linux Kernel/doc|System Trace Module|trace/stm.html}} :: {{The Linux Kernel/doc|CoreSight - ARM Hardware Trace|trace/coresight}} '''🔧 TODO. 🚀 advanced features''' : {{The Linux Kernel/include|linux/kmemleak.h}} &ndash; memory leak detector : {{The Linux Kernel/id|pr_cont}} - continues a previous log message in the same line : {{The Linux Kernel/id|print_hex_dump_bytes}} : {{The Linux Kernel/id|print_hex_dump_debug}} : {{The Linux Kernel/id|dump_stack}} : {{The Linux Kernel/id|CONFIG_PRINTK_CALLER}} : {{The Linux Kernel/id|CONFIG_DEBUG_KERNEL}} : {{The Linux Kernel/id|CONFIG_DEBUG_INFO}} : https://git.kernel.org/pub/scm/libs/libtrace/ 📚 Further reading : https://lore.kernel.org/linux-trace-kernel/ : https://git.kernel.org/pub/scm/linux/kernel/git/trace/linux-trace.git/ == Memory debugging == ⚙️ Internals: : {{The Linux Kernel/source|mm/kasan}} &ndash; {{The Linux Kernel/doc|KernelAddressSANitizer|dev-tools/kasan.html}}, detects out-of-bounds and use-after-free bugs : {{The Linux Kernel/source|mm/kfence}} &ndash; {{The Linux Kernel/doc|Kernel Electric-Fence|dev-tools/kfence.html}}, low-overhead sampling-based memory safety detector : {{The Linux Kernel/include|linux/kmemleak.h}} &ndash; {{The Linux Kernel/doc|memory leak detector|dev-tools/kmemleak.html}}, {{The Linux Kernel/source|mm/kmemleak.c}} : {{The Linux Kernel/include|linux/kcsan-checks.h}} &ndash; {{The Linux Kernel/doc|KCSAN - Kernel Concurrency Sanitizer|dev-tools/kcsan.html}}, {{The Linux Kernel/source|kernel/kcsan}} : {{The Linux Kernel/source|kernel/gcov}} &ndash; {{The Linux Kernel/doc|gcov code coverage|dev-tools/gcov.html}} == kgdb and kdb == ⚲ Interfaces : {{The Linux Kernel/include|linux/kgdb.h}} : {{The Linux Kernel/include|linux/kdb.h}} ⚙️ Internals : {{The Linux Kernel/source|kernel/debug}} &ndash; kgdb/kdb debugger 📚 '''References''' : {{The Linux Kernel/doc|Using kgdb, kdb and the kernel debugger internals|dev-tools/kgdb.html}} : {{w|kdump (Linux)|kdump}} &ndash; kernel crash dump mechanism : {{The Linux Kernel/doc|kdump|admin-guide/kdump}} :: /proc/sys/kernel/panic &ndash; seconds before auto-reboot on panic (0 = no reboot) :: /proc/sys/kernel/panic_on_oops &ndash; panic on kernel oops :: /sys/kernel/kexec_crash_loaded &ndash; whether a crash kernel is loaded :: /sys/kernel/kexec_crash_size &ndash; reserved memory for crash kernel :: kdumpctl status, kdumpctl estimate &ndash; check kdump readiness (RHEL/Fedora) : {{The Linux Kernel/man|8|crash}} &ndash; Analyze Linux crash dump data or a live system == {{w|eBPF}} == ⚲ API: : {{The Linux Kernel/man|2|bpf}} ↪ {{The Linux Kernel/source|kernel/bpf/syscall.c}} : {{The Linux Kernel/include|linux/bpf.h}} &ndash; BPF core definitions : [https://man.archlinux.org/man/bpftool.8 bpftool] &ndash; inspect and manage eBPF programs and maps :: bpftool prog list &ndash; loaded programs :: bpftool map list &ndash; active maps :: bpftool net list &ndash; networking attachments :: bpftool cgroup tree &ndash; cgroup BPF program attachments : [https://github.com/sosreport/sos/blob/main/sos/report/plugins/ebpf.py sos ebpf plugin] &ndash; diagnostics collection for eBPF ⚙️ Internals: : {{The Linux Kernel/source|kernel/bpf}} &ndash; BPF subsystem core : {{The Linux Kernel/source|net/bpf}} &ndash; BPF networking hooks 📖 References : {{The Linux Kernel/doc|eBPF and BPF|bpf}} 📚 Further reading : {{The Linux Kernel/man|7|bpf-helpers}} : [https://www.brendangregg.com/ebpf.html Linux Extended BPF (eBPF) Tracing Tools] : [https://github.com/iovisor/bpftrace bpftrace &ndash; High-level tracing language for Linux eBPF] : [https://github.com/iovisor/bcc#tools BCC &ndash; Tools for BPF-based Linux IO analysis, networking, monitoring, and more] :: [https://github.com/iovisor/bcc/blob/master/tools/trace_example.txt Example] of [https://github.com/iovisor/bcc/blob/master/tools/trace.py trace.py] : {{The Linux Kernel/man|8|stapbpf}} : [https://medium.com/@zone24x7_inc/ebpf-programming-for-linux-kernel-tracing-30364dde3fb7 eBPF Programming for Linux Kernel Tracing] : {{The Linux Kernel/doc|lockdep - Runtime locking correctness validator|locking/lockdep-design.html}} == Watchdogs == [[../Softdog Driver]] {{The Linux Kernel/id|dev_watchdog}} &ndash; network device watchdog The NMI watchdog lockup detectors: ⚲ API : /proc/sys/kernel/nmi_watchdog : /proc/sys/kernel/soft_watchdog : /proc/sys/kernel/watchdog : /proc/sys/kernel/watchdog_cpumask : /proc/sys/kernel/watchdog_thresh : /proc/sys/kernel/hardlockup_all_cpu_backtrace : /proc/sys/kernel/hardlockup_panic : /proc/sys/kernel/softlockup_all_cpu_backtrace : /proc/sys/kernel/softlockup_panic : {{The Linux Kernel/include|linux/nmi.h}} 👁️ Example : {{The Linux Kernel/source|lib/test_lockup.c}} &ndash; test module to generate lockups Provoke NMI watchdog without panic: echo 0 > /proc/sys/kernel/hardlockup_panic insmod test_lockup.ko disable_irq=1 time_secs=13 ⚙️ Internals : {{The Linux Kernel/source|kernel/watchdog.c}} &ndash; detects hard and soft lockups on a system : {{The Linux Kernel/source|kernel/watchdog_perf.c}} &ndash; detects hard lockups on a system using perf : {{The Linux Kernel/source|kernel/watchdog_buddy.c}} &ndash; coordinates watchdog checks across CPUs : {{The Linux Kernel/include|linux/hung_task.h}}, {{The Linux Kernel/source|kernel/hung_task.c}} &ndash; detects tasks stuck in uninterruptible sleep 📚 References : {{The Linux Kernel/doc|Documentation for /proc/sys/kernel/|admin-guide/sysctl/kernel.html}} : {{The Linux Kernel/doc|Softlockup detector and hardlockup detector (aka nmi_watchdog)|admin-guide/lockup-watchdogs.html}} : kernel parameters: :: {{The Linux Kernel/param|nmi_watchdog|nmi_watchdog}} :: {{The Linux Kernel/param|nowatchdog|nowatchdog%09}} :: {{The Linux Kernel/param|nosoftlockup|nosoftlockup}} :: {{The Linux Kernel/param|softlockup_panic|softlockup_panic}} <hr> ==...== ⚙️ Internals : {{The Linux Kernel/source|arch/x86/kernel/traps.c}} &ndash; x86 exception and trap handling : {{The Linux Kernel/include|linux/panic.h}}, {{The Linux Kernel/source|kernel/panic.c}} &ndash; kernel panic, oops and BUG handling : {{The Linux Kernel/include|linux/coredump.h}}, {{The Linux Kernel/source|fs/coredump.c}} &ndash; {{The Linux Kernel/man|5|core}} dump generation Kernel health counters: : /proc/sys/kernel/tainted &ndash; bitmask of kernel taint flags (proprietary modules, forced loads, machine checks, etc.) : /sys/kernel/oops_count &ndash; number of kernel oopses since boot : /sys/kernel/warn_count &ndash; number of kernel warnings since boot : collected by [https://github.com/sosreport/sos/blob/main/sos/report/plugins/kernel.py sos kernel plugin] for diagnostics 📖 References for debugging : {{The Linux Kernel/doc|Ramoops oops/panic logger|admin-guide/ramoops.html}} : {{The Linux Kernel/doc|pstore block oops/panic logger|admin-guide/pstore-blk.html}} : {{The Linux Kernel/doc|Fault injection|fault-injection}} : {{The Linux Kernel/doc|Bisecting a bug|admin-guide/bug-bisect.html}} : {{The Linux Kernel/doc|Development tools for the kernel|dev-tools}} :: {{The Linux Kernel/doc|Kernel Testing Guide|dev-tools/testing-overview.html}} :: {{The Linux Kernel/doc|Checkpatch|dev-tools/checkpatch.html}}, {{The Linux Kernel/source|scripts/checkpatch.pl}} :: {{The Linux Kernel/doc|Selftests|dev-tools/kselftest.html}}, {{The Linux Kernel/source|tools/testing/selftests}} : {{The Linux Kernel/include|linux/tracepoint.h}} : {{The Linux Kernel/doc|Tracking down and identifying problems|admin-guide/index.html#tracking-down-and-identifying-problems}} :: {{The Linux Kernel/doc|Bug hunting|admin-guide/bug-hunting.html}} :: ... 📚 Further reading : {{w|Linux kernel oops}} : {{w|kdump (Linux)}} : https://deepwiki.com/torvalds/linux/2.4-kernel-tracing-and-profiling : https://drgn.readthedocs.io/ &ndash; programmable debugger : https://crash-utility.github.io/ : https://wiki.ubuntu.com/Kernel/Debugging : [https://www.intel.com/content/www/us/en/docs/vtune-profiler/user-guide/2025-1/enabling-linux-kernel-analysis.html Intel VTune Profiler] : [[Linux Applications Debugging Techniques]] {{BookCat}} 4a4xummn7q54iduk38sqjurfz38fzic 4654532 4654510 2026-07-15T10:17:38Z Conan 3188 RHEL perf guide, flamegraphs, BCC references 4654532 wikitext text/x-wiki {{DISPLAYTITLE:Debugging Linux kernel}} ⚲ API : {{The Linux Kernel/include|linux/err.h}} &ndash; helper macros for error pointer handling and propagation : {{The Linux Kernel/include|linux/errno.h}} &ndash; standard error codes used throughout the kernel. == Performance == There are many factors that can affect the performance of the Linux kernel, including hardware configurations, software configurations, and workload characteristics. In this context, performance optimization of the Linux kernel involves identifying and addressing performance {{w|Bottleneck (software)|bottlenecks}} in the system. This can involve tuning kernel parameters, optimizing system resources, and identifying and fixing bugs and other issues that may be impacting performance. Given the complexity of the Linux kernel and the wide range of factors that can affect performance, performance optimization can be a challenging task. However, with the right tools and techniques, it is possible to significantly improve the performance and reliability of Linux-based systems. === Perf_events === {{w|perf (Linux)|Perf_events}}, short for performance events, is a powerful interface that provides detailed insights into the performance characteristics of software running on a system. By analyzing the data collected by perf_events, developers can identify performance bottlenecks and optimize software to improve performance and reduce resource utilization. Perf_events is designed to be a lightweight, low-overhead monitoring solution that has minimal impact on system performance. 🔧 TODO ⚲ Interfaces : {{The Linux Kernel/man|1|perf}} &ndash; performance analysis tools <!-- generated with man -k perf | grep ^perf- | sed -n 's%\([^ ]*\) (\(.\+\)) \W\+\(.*\)%:: {{The Linux Kernel/man|\2|\1}} \– \3%p' --> : Basic commands: :: {{The Linux Kernel/man|1|perf-help}} &ndash; display help information about perf :: {{The Linux Kernel/man|1|perf-top}} &ndash; System profiling tool. :: {{The Linux Kernel/man|1|perf-record}} &ndash; Run a command and record its profile into perf.data :: {{The Linux Kernel/man|1|perf-report}} &ndash; Read perf.data (created by perf record) and display the profile : Other commands: :: {{The Linux Kernel/man|1|perf-annotate}} &ndash; Read perf.data (created by perf record) and display annotated code :: {{The Linux Kernel/man|1|perf-archive}} &ndash; Create archive with object files with build-ids found ... :: {{The Linux Kernel/man|1|perf-arm-spe}} &ndash; Support for Arm Statistical Profiling Extension within... :: {{The Linux Kernel/man|1|perf-bench}} &ndash; General framework for benchmark suites :: {{The Linux Kernel/man|1|perf-buildid-cache}} &ndash; Manage build-id cache. :: {{The Linux Kernel/man|1|perf-buildid-list}} &ndash; List the buildids in a perf.data file :: {{The Linux Kernel/man|1|perf-c2c}} &ndash; Shared Data C2C/HITM Analyzer. :: {{The Linux Kernel/man|1|perf-config}} &ndash; Get and set variables in a configuration file. :: {{The Linux Kernel/man|1|perf-daemon}} &ndash; Run record sessions on background :: {{The Linux Kernel/man|1|perf-data}} &ndash; Data file related processing :: {{The Linux Kernel/man|1|perf-diff}} &ndash; Read perf.data files and display the differential profile :: {{The Linux Kernel/man|1|perf-dlfilter}} &ndash; Filter sample events using a dynamically loaded shared... :: {{The Linux Kernel/man|1|perf-evlist}} &ndash; List the event names in a perf.data file :: {{The Linux Kernel/man|1|perf-ftrace}} &ndash; simple wrapper for kernel's ftrace functionality :: {{The Linux Kernel/man|1|perf-inject}} &ndash; Filter to augment the events stream with additional in... :: {{The Linux Kernel/man|1|perf-intel-pt}} &ndash; Support for Intel Processor Trace within perf tools :: {{The Linux Kernel/man|1|perf-iostat}} &ndash; Show I/O performance metrics :: {{The Linux Kernel/man|1|perf-kallsyms}} &ndash; Searches running kernel for symbols :: {{The Linux Kernel/man|1|perf-kmem}} &ndash; Tool to trace/measure kernel memory properties :: {{The Linux Kernel/man|1|perf-kvm}} &ndash; Tool to trace/measure kvm guest os :: {{The Linux Kernel/man|1|perf-kwork}} &ndash; Tool to trace/measure kernel work properties (latencies) :: {{The Linux Kernel/man|1|perf-list}} &ndash; List all symbolic event types :: {{The Linux Kernel/man|1|perf-lock}} &ndash; Analyze lock events :: {{The Linux Kernel/man|1|perf-mem}} &ndash; Profile memory accesses :: {{The Linux Kernel/man|1|perf-probe}} &ndash; Define new dynamic tracepoints :: {{The Linux Kernel/man|1|perf-sched}} &ndash; Tool to trace/measure scheduler properties (latencies) :: {{The Linux Kernel/man|1|perf-script}} &ndash; Read perf.data (created by perf record) and display tr... ::: {{The Linux Kernel/man|1|perf-script-perl}} &ndash; Process trace data with a Perl script ::: {{The Linux Kernel/man|1|perf-script-python}} &ndash; Process trace data with a Python script :: {{The Linux Kernel/man|1|perf-stat}} &ndash; Run a command and gather performance counter statistics :: {{The Linux Kernel/man|1|perf-test}} &ndash; Runs sanity tests. :: {{The Linux Kernel/man|1|perf-timechart}} &ndash; Tool to visualize total system behavior during a workload :: {{The Linux Kernel/man|1|perf-trace}} &ndash; strace inspired tool :: {{The Linux Kernel/man|1|perf-version}} &ndash; display the version of perf binary ⚙️ Internals : {{The Linux Kernel/man|2|perf_event_open}} &ndash; sets up performance monitoring : {{The Linux Kernel/include|uapi/linux/perf_event.h}} : {{The Linux Kernel/source|tools/perf}} &ndash; performance analysis tools : {{The Linux Kernel/include|linux/perf_event.h}} : {{The Linux Kernel/source|kernel/events/core.c}} &ndash; performance events core : {{The Linux Kernel/source|kernel/profile.c}} &ndash; simple profiling 📖 References : {{w|perf (Linux)|perf}} &ndash; instruments CPU performance counters, tracepoints, kprobes, and uprobes : https://perfwiki.github.io/main/ 📚 Further reading : [https://www.brendangregg.com/perf.html perf Examples] : [https://www.brendangregg.com/flamegraphs.html Flame Graphs] &ndash; visualization of profiled stack traces : [https://web.eece.maine.edu/~vweaver/projects/perf_events/ The Unofficial Linux Perf Events Web-Page] : [https://docs.redhat.com/en/documentation/red_hat_enterprise_linux/latest/html/monitoring_and_managing_system_status_and_performance/getting-started-with-perf Getting started with perf, RHEL] :: [https://docs.redhat.com/en/documentation/red_hat_enterprise_linux/latest/html/monitoring_and_managing_system_status_and_performance/getting-started-with-flamegraphs Flamegraphs] :: [https://docs.redhat.com/en/documentation/red_hat_enterprise_linux/latest/html/monitoring_and_managing_system_status_and_performance/detecting-false-sharing Detecting false sharing with perf c2c] --------------- 🛠️ Utilities : {{w|Performance Co-Pilot}}, https://pcp.io/ &ndash; Performance Co-Pilot : {{w|Prometheus (software)|Prometheus}}, https://prometheus.io/ : https://github.com/redhat-nfvpe/container-perf-tools : https://github.com/brendangregg/perf-tools &ndash; performance analysis tools based on Linux perf_events (aka perf) and ftrace : [https://linux.die.net/man/1/readprofile readprofile] &ndash; a tool to read kernel profiling information 📚 Further reading : [https://docs.redhat.com/en/documentation/red_hat_enterprise_linux/latest/html/monitoring_and_managing_system_status_and_performance/analyzing-system-performance-with-bpf-compiler-collection Analyzing system performance with BCC, RHEL] : [https://wiki.ubuntu.com/Kernel/Reference/stress-ng stress-ng] &ndash; exercises various kernel interfaces : http://trac.gateworks.com/wiki/linux/profiling : [https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux_for_real_time/9/html/optimizing_rhel_9_for_real_time_for_low_latency_operation/assembly_analyzing-application-performance_optimizing-rhel9-for-real-time-for-low-latency-operation Analyzing application performance in RHEL 9] : [https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/9/html/monitoring_and_managing_system_status_and_performance/index Monitoring and managing system status and performance in RHEL 9] : [[Embedded_Systems/Linux#Real-time|Real-time Linux]] == User space debug interfaces == ⚲ Interfaces : {{The Linux Kernel/man|1|dmesg}} &ndash; prints or control the kernel ring buffer :: {{The Linux Kernel/man|2|syslog}} &ndash; system call, which is used to control the kernel printk() buffer : {{The Linux Kernel/man|1|strace}} &ndash; system calls and signals tracing tool :: {{The Linux Kernel/man|2|ptrace}} &ndash; process trace system call : {{The Linux Kernel/man|3|klogctl}} : {{The Linux Kernel/man|5|core}} : /sys/kernel/debug/ &ndash; {{w|debugfs}} : dmesg --console-level <level> : gdb /usr/src/linux/vmlinux /proc/kcore : /proc/self/stack : {{The Linux Kernel/doc|dynamic|admin-guide/dynamic-debug-howto.html}} debug :: <big>⌨️</big> hands-on: :: echo "module atkbd +pfl" | sudo tee /sys/kernel/debug/dynamic_debug/control ⚙️ Internals : {{The Linux Kernel/id|handle_sysrq}} : {{The Linux Kernel/include|linux/debugfs.h}} &ndash; debugfs API : {{The Linux Kernel/source|fs/debugfs}} &ndash; debugfs implementation : {{The Linux Kernel/include|linux/tracefs.h}}, {{The Linux Kernel/source|fs/tracefs}} &ndash; filesystem backing /sys/kernel/tracing : {{The Linux Kernel/include|linux/pstore.h}}, {{The Linux Kernel/source|fs/pstore}} &ndash; preserves crash logs across reboots 📚 '''References''' : {{The Linux Kernel/doc|Development tools for the kernel|dev-tools}} : {{The Linux Kernel/doc|DebugFS|filesystems/debugfs.html}}, {{The Linux Kernel/source|samples/qmi/qmi_sample_client.c}} : {{The Linux Kernel/doc|Kprobe-based Event Tracing|trace/kprobetrace.html}} : {{The Linux Kernel/doc|Dynamic debug|admin-guide/dynamic-debug-howto.html}} : {{The Linux Kernel/doc|Linux Magic System Request Key Hacks|admin-guide/sysrq.html}} : [https://sysprog21.github.io/lkmpg/#debugfs-flexible-debugging-interfaces LKMPG: debugfs] : {{w|Magic SysRq key}} == Tracing and logging == ⚲ API: '''User-space interface:''' : {{The Linux Kernel/man|1|dmesg}} &ndash; prints or control the kernel ring buffer :: {{The Linux Kernel/man|2|syslog}} &ndash; system call, which is used to control the kernel printk() buffer : /proc/kmsg : https://kernelshark.org/ &ndash; front end reader of trace-cmd : https://trace-cmd.org/, {{The Linux Kernel/man|1|trace-cmd}} &ndash; CLI for {{The Linux Kernel/doc|Ftrace|trace/ftrace.html}} &ndash; Linux kernel internal tracer /sys/kernel/debug/tracing/ '''The most commonly used functions''' : {{The Linux Kernel/include|linux/printk.h}} :: {{The Linux Kernel/id|dump_stack}} – prints the current kernel stack trace for debugging purposes :: {{The Linux Kernel/id|pr_alert}} – logs an alert-level message, indicating a critical event that requires immediate attention :: {{The Linux Kernel/id|pr_cont}} – continues printing the current message on the same line :: {{The Linux Kernel/id|pr_crit}} – logs a critical-level message, indicating a severe condition that might require system halt :: {{The Linux Kernel/id|pr_debug}} – logs a debug-level message for developers, usually enabled in debug builds :: {{The Linux Kernel/id|pr_devel}} – logs a developer-specific message, typically used for fine-grained debug purposes, see {{The Linux Kernel/doc|dynamic|admin-guide/dynamic-debug-howto.html}} :: {{The Linux Kernel/id|pr_emerg}} – logs an emergency-level message, indicating a serious error that could cause system crash :: {{The Linux Kernel/id|pr_err}} – logs an error-level message, typically indicating an issue that requires attention :: {{The Linux Kernel/id|pr_err_ratelimited}} – logs an error-level message with rate limiting to prevent excessive logging :: {{The Linux Kernel/id|pr_fmt}} – defines a format string for kernel messages :: {{The Linux Kernel/id|pr_info}} – logs an informational-level message, providing status updates or diagnostics :: {{The Linux Kernel/id|pr_info_ratelimited}} – logs an informational-level message with rate limiting :: {{The Linux Kernel/id|pr_notice}} – logs a notice-level message, typically used for events that aren't errors but should be noted :: {{The Linux Kernel/id|pr_warn}} – logs a warning-level message, indicating a potential issue that doesn't immediately affect system functionality :: {{The Linux Kernel/id|pr_warn_once}} – logs a warning message once, preventing repeated warnings for the same event :: {{The Linux Kernel/id|pr_warn_ratelimited}} – logs a warning-level message with rate limiting :: {{The Linux Kernel/id|print_hex_dump}} – prints a hexdump of data for debugging purposes :: {{The Linux Kernel/id|print_hex_dump_debug}} – prints a detailed hexdump with debugging-level verbosity :: {{The Linux Kernel/id|printk}} – the primary function for printing kernel messages with varying severity levels :: {{The Linux Kernel/id|va_format}} – formats a variable argument list into a string for logging or printing purposes ::: <big>⌨️</big> hands-on: ::: echo "module atkbd +pfl" | sudo tee /sys/kernel/debug/dynamic_debug/control; dmesg -w ::: and type on built-in keyboard : {{The Linux Kernel/include|linux/dev_printk.h}} – device-specific logging :: {{The Linux Kernel/id|dev_crit}} – prints a critical-level message for a device :: {{The Linux Kernel/id|dev_dbg}} – prints a debug-level message for a device if debugging is enabled :: {{The Linux Kernel/id|dev_dbg_ratelimited}} – prints debug messages for a device with rate limiting :: {{The Linux Kernel/id|dev_err}} – prints an error-level message for a device :: {{The Linux Kernel/id|dev_err_once}} – prints an error message for a device only once :: {{The Linux Kernel/id|dev_err_probe}} – prints an error related to probe failure with standard formatting :: {{The Linux Kernel/id|dev_err_ratelimited}} – prints error messages for a device with rate limiting :: {{The Linux Kernel/id|dev_fmt}} – defines a format string used by device-specific printk macros :: {{The Linux Kernel/id|dev_info}} – prints an informational-level message for a device :: {{The Linux Kernel/id|dev_notice}} – prints a notice-level message for a device :: {{The Linux Kernel/id|dev_printk}} – generic function to print kernel messages with specified log level for a device :: {{The Linux Kernel/id|dev_vdbg}} – prints verbose debug messages for a device if enabled at compile time :: {{The Linux Kernel/id|dev_warn}} – prints a warning-level message for a device :: {{The Linux Kernel/id|dev_warn_once}} – prints a warning message for a device only once :: {{The Linux Kernel/id|dev_warn_ratelimited}} – prints warning messages for a device with rate limiting : {{The Linux Kernel/include|linux/bug.h}}, {{The Linux Kernel/include|asm-generic/bug.h}} &ndash; BUG, WARN, BUILD_BUG_ON macros :: {{The Linux Kernel/id|WARN_ON}} :: {{The Linux Kernel/id|WARN}} ⚙️ Internals : {{The Linux Kernel/id|printk}} : {{The Linux Kernel/source|kernel/printk/printk.c}} &ndash; kernel message logging : {{The Linux Kernel/source|arch/x86/kernel/traps.c}} &ndash; x86 exception and trap handling : {{The Linux Kernel/source|lib/dump_stack.c}} &ndash; stack trace dumping : {{The Linux Kernel/include|linux/kprobes.h}}, {{The Linux Kernel/source|kernel/kprobes.c}} &ndash; {{The Linux Kernel/doc|dynamic tracing probes|trace/kprobes.html}} : {{The Linux Kernel/source|kernel/trace}} &ndash; tracing infrastructure : {{The Linux Kernel/source|scripts/tracing/draw_functrace.py}} &ndash; visualize function call graph from trace : {{The Linux Kernel/ltp|kernel|logging}}, {{The Linux Kernel/ltp|kernel|tracing}} : {{The Linux Kernel/source|samples/ftrace}} &ndash; ftrace usage examples : {{The Linux Kernel/source|samples/trace_events}} &ndash; trace event examples : {{The Linux Kernel/source|samples/trace_printk}} &ndash; trace_printk examples : {{The Linux Kernel/include|linux/instrumentation.h}} 📚 '''References''': : [https://elinux.org/Debugging_by_printing Debugging by printing] : {{The Linux Kernel/doc|Message logging with printk|core-api/printk-basics.html}} : {{The Linux Kernel/doc|Dynamic debug|admin-guide/dynamic-debug-howto.html}} : {{w|SystemTap}} :: {{The Linux Kernel/man|1|stap}} &ndash; systemtap script translator/driver : {{w|strace}} :: {{The Linux Kernel/man|1|strace}} &ndash; trace system calls and signals : {{w|LTTng}} : {{w|ftrace}} : {{The Linux Kernel/doc|Linux Tracing Technologies|trace}} :: {{The Linux Kernel/doc|Tracepoint Analysis|trace/tracepoint-analysis.html}} :: {{The Linux Kernel/doc|Function Tracer|trace/ftrace.html}} &ndash; function, latency and event tracing ::: {{The Linux Kernel/doc|Event Tracing|trace/events.html}} :: {{The Linux Kernel/doc|Using ftrace to hook to functions|trace/ftrace-uses.html}} :: {{The Linux Kernel/doc|Fprobe - Function entry/exit probe|trace/fprobe.html}} :: {{The Linux Kernel/doc|Kprobes|trace/kprobes.html}} :: {{The Linux Kernel/doc|Kprobe-based Event Tracing|trace/kprobetrace.html}} :: {{The Linux Kernel/doc|Uprobe-tracer: Uprobe-based Event Tracing|trace/uprobetracer.html}} :: {{The Linux Kernel/doc|Using the Linux Kernel Tracepoints|trace/tracepoints.html}} :: {{The Linux Kernel/doc|Subsystem Trace Points: kmem|trace/events-kmem.html}} :: {{The Linux Kernel/doc|Subsystem Trace Points: power|trace/events-power.html}} :: {{The Linux Kernel/doc|NMI Trace Events|trace/events-nmi.html}} :: {{The Linux Kernel/doc|In-kernel memory-mapped I/O tracing|trace/mmiotrace.html}} :: {{The Linux Kernel/doc|Event Histograms|trace/histogram.html}} :: {{The Linux Kernel/doc|Histogram Design Notes|trace/histogram-design.html}} :: {{The Linux Kernel/doc|Boot-time tracing|trace/boottime-trace.html}} :: {{The Linux Kernel/doc|Hardware Latency Detector|trace/hwlat_detector.html}} :: {{The Linux Kernel/doc|Intel(R) Trace Hub (TH)|trace/intel_th.html}} :: {{The Linux Kernel/doc|Lockless Ring Buffer Design|trace/ring-buffer-design.html}} :: {{The Linux Kernel/doc|System Trace Module|trace/stm.html}} :: {{The Linux Kernel/doc|CoreSight - ARM Hardware Trace|trace/coresight}} '''🔧 TODO. 🚀 advanced features''' : {{The Linux Kernel/include|linux/kmemleak.h}} &ndash; memory leak detector : {{The Linux Kernel/id|pr_cont}} - continues a previous log message in the same line : {{The Linux Kernel/id|print_hex_dump_bytes}} : {{The Linux Kernel/id|print_hex_dump_debug}} : {{The Linux Kernel/id|dump_stack}} : {{The Linux Kernel/id|CONFIG_PRINTK_CALLER}} : {{The Linux Kernel/id|CONFIG_DEBUG_KERNEL}} : {{The Linux Kernel/id|CONFIG_DEBUG_INFO}} : https://git.kernel.org/pub/scm/libs/libtrace/ 📚 Further reading : https://lore.kernel.org/linux-trace-kernel/ : https://git.kernel.org/pub/scm/linux/kernel/git/trace/linux-trace.git/ == Memory debugging == ⚙️ Internals: : {{The Linux Kernel/source|mm/kasan}} &ndash; {{The Linux Kernel/doc|KernelAddressSANitizer|dev-tools/kasan.html}}, detects out-of-bounds and use-after-free bugs : {{The Linux Kernel/source|mm/kfence}} &ndash; {{The Linux Kernel/doc|Kernel Electric-Fence|dev-tools/kfence.html}}, low-overhead sampling-based memory safety detector : {{The Linux Kernel/include|linux/kmemleak.h}} &ndash; {{The Linux Kernel/doc|memory leak detector|dev-tools/kmemleak.html}}, {{The Linux Kernel/source|mm/kmemleak.c}} : {{The Linux Kernel/include|linux/kcsan-checks.h}} &ndash; {{The Linux Kernel/doc|KCSAN - Kernel Concurrency Sanitizer|dev-tools/kcsan.html}}, {{The Linux Kernel/source|kernel/kcsan}} : {{The Linux Kernel/source|kernel/gcov}} &ndash; {{The Linux Kernel/doc|gcov code coverage|dev-tools/gcov.html}} == kgdb and kdb == ⚲ Interfaces : {{The Linux Kernel/include|linux/kgdb.h}} : {{The Linux Kernel/include|linux/kdb.h}} ⚙️ Internals : {{The Linux Kernel/source|kernel/debug}} &ndash; kgdb/kdb debugger 📚 '''References''' : {{The Linux Kernel/doc|Using kgdb, kdb and the kernel debugger internals|dev-tools/kgdb.html}} : {{w|kdump (Linux)|kdump}} &ndash; kernel crash dump mechanism : {{The Linux Kernel/doc|kdump|admin-guide/kdump}} :: /proc/sys/kernel/panic &ndash; seconds before auto-reboot on panic (0 = no reboot) :: /proc/sys/kernel/panic_on_oops &ndash; panic on kernel oops :: /sys/kernel/kexec_crash_loaded &ndash; whether a crash kernel is loaded :: /sys/kernel/kexec_crash_size &ndash; reserved memory for crash kernel :: kdumpctl status, kdumpctl estimate &ndash; check kdump readiness (RHEL/Fedora) : {{The Linux Kernel/man|8|crash}} &ndash; Analyze Linux crash dump data or a live system == {{w|eBPF}} == ⚲ API: : {{The Linux Kernel/man|2|bpf}} ↪ {{The Linux Kernel/source|kernel/bpf/syscall.c}} : {{The Linux Kernel/include|linux/bpf.h}} &ndash; BPF core definitions : [https://man.archlinux.org/man/bpftool.8 bpftool] &ndash; inspect and manage eBPF programs and maps :: bpftool prog list &ndash; loaded programs :: bpftool map list &ndash; active maps :: bpftool net list &ndash; networking attachments :: bpftool cgroup tree &ndash; cgroup BPF program attachments : [https://github.com/sosreport/sos/blob/main/sos/report/plugins/ebpf.py sos ebpf plugin] &ndash; diagnostics collection for eBPF ⚙️ Internals: : {{The Linux Kernel/source|kernel/bpf}} &ndash; BPF subsystem core : {{The Linux Kernel/source|net/bpf}} &ndash; BPF networking hooks 📖 References : {{The Linux Kernel/doc|eBPF and BPF|bpf}} 📚 Further reading : {{The Linux Kernel/man|7|bpf-helpers}} : [https://www.brendangregg.com/ebpf.html Linux Extended BPF (eBPF) Tracing Tools] : [https://github.com/iovisor/bpftrace bpftrace &ndash; High-level tracing language for Linux eBPF] : [https://github.com/iovisor/bcc#tools BCC &ndash; Tools for BPF-based Linux IO analysis, networking, monitoring, and more] :: [https://github.com/iovisor/bcc/blob/master/tools/trace_example.txt Example] of [https://github.com/iovisor/bcc/blob/master/tools/trace.py trace.py] : {{The Linux Kernel/man|8|stapbpf}} : [https://medium.com/@zone24x7_inc/ebpf-programming-for-linux-kernel-tracing-30364dde3fb7 eBPF Programming for Linux Kernel Tracing] : {{The Linux Kernel/doc|lockdep - Runtime locking correctness validator|locking/lockdep-design.html}} == Watchdogs == [[../Softdog Driver]] {{The Linux Kernel/id|dev_watchdog}} &ndash; network device watchdog The NMI watchdog lockup detectors: ⚲ API : /proc/sys/kernel/nmi_watchdog : /proc/sys/kernel/soft_watchdog : /proc/sys/kernel/watchdog : /proc/sys/kernel/watchdog_cpumask : /proc/sys/kernel/watchdog_thresh : /proc/sys/kernel/hardlockup_all_cpu_backtrace : /proc/sys/kernel/hardlockup_panic : /proc/sys/kernel/softlockup_all_cpu_backtrace : /proc/sys/kernel/softlockup_panic : {{The Linux Kernel/include|linux/nmi.h}} 👁️ Example : {{The Linux Kernel/source|lib/test_lockup.c}} &ndash; test module to generate lockups Provoke NMI watchdog without panic: echo 0 > /proc/sys/kernel/hardlockup_panic insmod test_lockup.ko disable_irq=1 time_secs=13 ⚙️ Internals : {{The Linux Kernel/source|kernel/watchdog.c}} &ndash; detects hard and soft lockups on a system : {{The Linux Kernel/source|kernel/watchdog_perf.c}} &ndash; detects hard lockups on a system using perf : {{The Linux Kernel/source|kernel/watchdog_buddy.c}} &ndash; coordinates watchdog checks across CPUs : {{The Linux Kernel/include|linux/hung_task.h}}, {{The Linux Kernel/source|kernel/hung_task.c}} &ndash; detects tasks stuck in uninterruptible sleep 📚 References : {{The Linux Kernel/doc|Documentation for /proc/sys/kernel/|admin-guide/sysctl/kernel.html}} : {{The Linux Kernel/doc|Softlockup detector and hardlockup detector (aka nmi_watchdog)|admin-guide/lockup-watchdogs.html}} : kernel parameters: :: {{The Linux Kernel/param|nmi_watchdog|nmi_watchdog}} :: {{The Linux Kernel/param|nowatchdog|nowatchdog%09}} :: {{The Linux Kernel/param|nosoftlockup|nosoftlockup}} :: {{The Linux Kernel/param|softlockup_panic|softlockup_panic}} <hr> ==...== ⚙️ Internals : {{The Linux Kernel/source|arch/x86/kernel/traps.c}} &ndash; x86 exception and trap handling : {{The Linux Kernel/include|linux/panic.h}}, {{The Linux Kernel/source|kernel/panic.c}} &ndash; kernel panic, oops and BUG handling : {{The Linux Kernel/include|linux/coredump.h}}, {{The Linux Kernel/source|fs/coredump.c}} &ndash; {{The Linux Kernel/man|5|core}} dump generation Kernel health counters: : /proc/sys/kernel/tainted &ndash; bitmask of kernel taint flags (proprietary modules, forced loads, machine checks, etc.) : /sys/kernel/oops_count &ndash; number of kernel oopses since boot : /sys/kernel/warn_count &ndash; number of kernel warnings since boot : collected by [https://github.com/sosreport/sos/blob/main/sos/report/plugins/kernel.py sos kernel plugin] for diagnostics 📖 References for debugging : {{The Linux Kernel/doc|Ramoops oops/panic logger|admin-guide/ramoops.html}} : {{The Linux Kernel/doc|pstore block oops/panic logger|admin-guide/pstore-blk.html}} : {{The Linux Kernel/doc|Fault injection|fault-injection}} : {{The Linux Kernel/doc|Bisecting a bug|admin-guide/bug-bisect.html}} : {{The Linux Kernel/doc|Development tools for the kernel|dev-tools}} :: {{The Linux Kernel/doc|Kernel Testing Guide|dev-tools/testing-overview.html}} :: {{The Linux Kernel/doc|Checkpatch|dev-tools/checkpatch.html}}, {{The Linux Kernel/source|scripts/checkpatch.pl}} :: {{The Linux Kernel/doc|Selftests|dev-tools/kselftest.html}}, {{The Linux Kernel/source|tools/testing/selftests}} : {{The Linux Kernel/include|linux/tracepoint.h}} : {{The Linux Kernel/doc|Tracking down and identifying problems|admin-guide/index.html#tracking-down-and-identifying-problems}} :: {{The Linux Kernel/doc|Bug hunting|admin-guide/bug-hunting.html}} :: ... 📚 Further reading : {{w|Linux kernel oops}} : {{w|kdump (Linux)}} : https://deepwiki.com/torvalds/linux/2.4-kernel-tracing-and-profiling : https://drgn.readthedocs.io/ &ndash; programmable debugger : https://crash-utility.github.io/ : https://wiki.ubuntu.com/Kernel/Debugging : [https://www.intel.com/content/www/us/en/docs/vtune-profiler/user-guide/2025-1/enabling-linux-kernel-analysis.html Intel VTune Profiler] : [[Linux Applications Debugging Techniques]] {{BookCat}} ev869aa1na7w305rezgqskvoke7bdmt Chess Opening Theory/1. e4/1...e5/2. Nf3/2...f6/3. Nxe5/3...fxe5 0 463575 4654496 4604572 2026-07-14T22:15:20Z ~2026-39793-82 3614425 /* 3...fxe5? */ 4654496 wikitext text/x-wiki {{Chess Opening Theory/Position |Damiano defence |parent=[[../|Damiano defence]] }} == 3...fxe5? == Black is up material, at least for a while. '''4. Qh5+''' forks the king and the e5 pawn. After 4...g6 5. Qxe5+ wins Black's rook. 4...Ke7 5. Qxe5+ Kf7 is no better. One continuation is 6. Bc4+ d5 (6...Kg6?? blunders mate in 11) 7. Bxd5+ Kg6 and White has three pawns for their knight, their bishop developed, and Black's king on the run. == References == {{reflist}} === See also === {{ChessFooter}} ku5fv9hegp0bwsdg0mr0i9u4l7n3cn4 4654497 4654496 2026-07-14T22:16:26Z Infernape612 2902886 Undid revision [[Special:Diff/4654496|4654496]] by [[Special:Contributions/~2026-39793-82|~2026-39793-82]] ([[User talk:~2026-39793-82|discuss]]) This was my edit, I just forgot to log in. 4654497 wikitext text/x-wiki {{Chess Opening Theory/Position |Damiano defence |parent=[[../|Damiano defence]] }} == 3...fxe5? == Black is up material, at least for a while. '''4. Qh5+''' forks the king and the e5 pawn. After 4...g6 5. Qxe5+ wins Black's rook. 4...Ke7 5. Qxe5+ Kf7 is no better. One continuation is 6. Bc4+ d5 7. Bxd5+ Kg6 and White has three pawns for their knight, their bishop developed, and Black's king on the run. == References == {{reflist}} === See also === {{ChessFooter}} 6w3kxw2bdwrcmd546uf28603dbmu8k7 4654498 4654497 2026-07-14T22:16:37Z Infernape612 2902886 /* 3...fxe5? */ 4654498 wikitext text/x-wiki {{Chess Opening Theory/Position |Damiano defence |parent=[[../|Damiano defence]] }} == 3...fxe5? == Black is up material, at least for a while. '''4. Qh5+''' forks the king and the e5 pawn. After 4...g6 5. Qxe5+ wins Black's rook. 4...Ke7 5. Qxe5+ Kf7 is no better. One continuation is 6. Bc4+ d5 (6...Kg6?? blunders mate in 11) 7. Bxd5+ Kg6 and White has three pawns for their knight, their bishop developed, and Black's king on the run. == References == {{reflist}} === See also === {{ChessFooter}} ku5fv9hegp0bwsdg0mr0i9u4l7n3cn4 Chess Opening Theory/1. b4/1...e6 0 463592 4654419 4447974 2026-07-14T12:57:17Z Greenman 7490 ce 4654419 wikitext text/x-wiki {{Chess Opening Theory/Position|Polish Opening}} == 1...e6 == Black pushes the e-pawn so they can gain control over the center. This move also allows the pawn to move without getting attacked by a bishop on b2. Secondly, this move attacks the pawn on b4. However, White can play 2. Bb2 anyway, as Black cannot capture with 2...Bxb4??, as it hangs a rook with 3. Bxg7!. {{ChessMid}} {{ChessFooter}} l2fx3l62eqqt7dw8s29zelkt9f1y1vb Chess Opening Theory/1. d4/1...g5/2. Bxg5 0 464683 4654410 4478711 2026-07-14T12:34:12Z Greenman 7490 /* 2... c6 */ ce 4654410 wikitext text/x-wiki {{Chess Opening Theory/Position|Borg Gambit Accepted| |rd|nd|bd|qd|kd|bd|nd|rd|pd|pd|pd|pd|pd|pd||pd| | | | | | | | | | | | | | |bl| | | | |pl| | | | | | | | | | | | |pl|pl|pl| |pl|pl|pl|pl|rl|nl||ql|kl|bl|nl|rl}} =2. Bxg5: Borg Gambit Accepted= === First Impressions === After '''accepting the Borg Gambit''' with Bxg5, White has gained a pawn as well as developed the queenside bishop. Obviously, this puts Black at a disadvantage, as White is now leading in development. Black has three main options here: Play the better move Bg7 and commit to a pseudo-Indian defense, c5 to try to destabilize the center and let the queen out, or try to kick the bishop out with f6. ====2... c6 ==== c6 has an interesting idea. While seeming to do nothing, White sometimes responds with 3. e3??, a mistake, since black has the strong double attack Qa5+, checking the king and attacking the bishop. Normally the bishop could come back to d2 but since white played e3, they will continue the game without a bishop. ==== 2... Bg7 ==== Bg7 prioritizes development over central control, and is considered better by masters and computers alike. This move aims to get quick development up in exchange for gambiting the g pawn. White can fight back by expanding in the center and developing their own pieces, leading to a rather quick race for who can develop their pieces the fastest. This gambit is usually considered not justified<ref>{{Cite web |title=The Borg against d4? |url=https://chess.stackexchange.com/questions/13677/the-borg-against-d4 |access-date=2024-01-25 |website=Chess Stack Exchange |language=en}}</ref>. ==== 2... c5 ==== The intent of c5 has two reasons. First, it is to destabilize White's center pawns and force them to respond lest they lose space by a center pawn being taken by a flank pawn. Secondly, it is to let the queen out, which can help destabilize the center or hunt the b2 pawn. This also develops a piece, getting a bit of advantage back for Black. ==== 2... f6? ==== f6 attempts to kick away the bishop and expand in the center with an eventual e5, but this can be refuted with 3. e4!, saving the bishop for 1 turn and making some center space. If Black tries to take the bishop, the White queen can go to h5 for a quick checkmate. Overall, this line is considered inferior to Bg7 by masters and computers. ==== Other options ==== Black can also play Nf6 to develop the kingside knight, however after Bxf6, there are doubled pawns on the f file and there is a clear line of sight to the king which can be exploited since the kingside pawns are weak. ==Theory table== {{Chess Opening Theory/Table}} '''1.d4 g5 2.Bxg5''' <table border="0" cellspacing="0" cellpadding="4"> <tr> <th></th> <th align="left">2</th> <th align="left">3</th><th>4</th></tr> <tr> <th align="right"></th> <td>...<br>[[Chess Opening Theory/1. d4/1...g5/2. Bxg5/2...Bg7|Bg7]]</td> <td>e4<br>c5</td><td>c3 cxd5 </td><td>⩲ (White has the upper hand)</td> </tr><tr><th></th><td>... [[Chess Opening Theory/1. d4/1...g5/2. Bxg5/2...c5|c5]] </td><td>c3 Qb6 </td><td>Nf3 Qxb2 </td><td>⩲ (White has the upper hand)</td></tr><tr> <th align="right"></th> <td>...<br>[[Chess Opening Theory/1. d4/1...g5/2. Bxg5/2...f6|f6]]</td> <td>e4!<br>fxg6??</td><td>Qh5# </td><td>+ −1-0 (Checkmate- White Won) </td> </tr><tr><th></th><td>... c6 </td><td>e3?? Qa5+! </td><td></td><td>Black is better</td></tr></table> {{ChessMid}} == References == <references /> 1t4a6p0t9rvc18jnbj4uqg8lkpd25d9 The Linux Kernel/Multitasking/Real-time 0 470358 4654518 4640220 2026-07-15T07:54:15Z Conan 3188 tunables 4654518 wikitext text/x-wiki <noinclude> {{DISPLAYTITLE:Real-time Linux}} </noinclude> ==== RT preemption ==== [https://wiki.linuxfoundation.org/realtime/start The Linux Foundation's Real-Time Linux (RTL) collaborative project] is focused on improving the real-time capabilities of Linux and advancing the adoption of real-time Linux in various industries, including aerospace, automotive, robotics, and telecommunications. Parameter {{The Linux Kernel/id|CONFIG_PREEMPT_RT}} enables real-time preemption. ==== RT scheduling policies ==== Scheduling policies for RT: : {{The Linux Kernel/id|SCHED_FIFO}}, {{The Linux Kernel/id|SCHED_RR}} :: implemented in {{The Linux Kernel/source|kernel/sched/rt.c}} : {{w|SCHED_DEADLINE}} :: implemented in {{The Linux Kernel/source|kernel/sched/deadline.c}} API: : {{The Linux Kernel/man|1|chrt}} &ndash; manipulate the real-time attributes of a process : {{The Linux Kernel/man|2|sched_rr_get_interval}} &ndash; get the SCHED_RR interval for the named process : {{The Linux Kernel/man|2|sched_setscheduler}}, sched_getscheduler &ndash; set and get scheduling policy/parameters : {{The Linux Kernel/man|2|sched_get_priority_min}}, sched_get_priority_max &ndash; get static priority range RT scheduler tunables: : /proc/sys/kernel/sched_rt_period_us &ndash; period over which RT task bandwidth is measured (default 1000000 µs = 1 s) : /proc/sys/kernel/sched_rt_runtime_us &ndash; maximum time RT tasks may consume per period (default 950000 µs); set to -1 to disable the RT bandwidth limit : /sys/kernel/realtime &ndash; indicates the running kernel has PREEMPT_RT enabled (present only on RT kernels) : /sys/devices/system/clocksource/clocksource0/current_clocksource &ndash; active clocksource, critical for RT timing accuracy 🛠️ Utilities : [https://git.kernel.org/pub/scm/utils/tuna/tuna.git/ tuna] &ndash; view and change thread attributes (affinity, scheduling policy, priority) :: [https://docs.redhat.com/en/documentation/red_hat_enterprise_linux/latest/html/monitoring_and_managing_system_status_and_performance/reviewing-a-system-by-using-the-tuna-interface RHEL tuna guide] : [https://github.com/sosreport/sos/blob/main/sos/report/plugins/kernelrt.py sos kernelrt plugin] &ndash; diagnostics collection for RT kernel ==== RT synchronization ==== ⚲ APIs : {{The Linux Kernel/id|migrate_disable}} + {{The Linux Kernel/id|spin_lock}} : {{The Linux Kernel/id|local_lock}} calls migrate_disable(); {{The Linux Kernel/id|rt_spin_lock}}({{The Linux Kernel/id|this_cpu_ptr}}((__lock))); 📖 References : [https://docs.kernel.org/locking/locktypes.html#:~:text=migrate_disable Usage of migrate_disable] : {{The Linux Kernel/doc|PREEMPT_RT caveats: spinlock_t, rwlock_t, migrate_disable and local_lock|locking/locktypes.html#spinlock-t-and-rwlock-t}} ⚙️ Internals Spinlock : {{The Linux Kernel/include|linux/spinlock_rt.h}} used via {{The Linux Kernel/include|linux/spinlock_types.h}} :: {{The Linux Kernel/id|spinlock_t}} ::: {{The Linux Kernel/id|rt_mutex_base}} ::: {{The Linux Kernel/id|rt_spin_lock}} ... :::: {{The Linux Kernel/id|__rt_spin_lock}} ... ::::: {{The Linux Kernel/id|rtlock_lock}} ... : {{The Linux Kernel/source|kernel/locking/spinlock_rt.c}} &ndash; RT-aware spinlock implementation RT Mutex : {{The Linux Kernel/include|linux/rtmutex.h}} used via {{The Linux Kernel/include|linux/mutex_types.h}} :: {{The Linux Kernel/id|rt_mutex_base}} :: {{The Linux Kernel/id|rt_mutex}} ::: {{The Linux Kernel/id|rt_mutex_lock}} ... : {{The Linux Kernel/source|kernel/locking/rtmutex_api.c}} &ndash; RT mutex kernel API : {{The Linux Kernel/source|kernel/locking/rtmutex_common.h}} &ndash; RT mutex internal definitions : {{The Linux Kernel/source|kernel/locking/rtmutex.c}} &ndash; RT mutex core with priority inheritance rwbase_rt : {{The Linux Kernel/include|linux/rwbase_rt.h}} used via {{The Linux Kernel/include|linux/rwlock_types.h}} :: {{The Linux Kernel/id|rwlock_t}} ::: {{The Linux Kernel/id|rwbase_rt}} &ndash; used to implement real-time read/write locks ::: {{The Linux Kernel/id|rt_read_trylock}} ... : {{The Linux Kernel/source|kernel/locking/rwbase_rt.c}} &ndash; RT rw_semaphore/rwlock base : {{The Linux Kernel/source|kernel/locking/spinlock_rt.c}} &ndash; RT-aware spinlock implementation ==== Testing RT capabilities ==== The testing process for Real-Time Linux typically involves several key aspects. First and foremost, it is crucial to verify the accuracy and stability of the system's timekeeping mechanisms. Precise time management is fundamental to real-time applications, and any inaccuracies can lead to timing errors and compromise the system's real-time capabilities. Another essential aspect of testing is evaluating the system's scheduling algorithms. Real-Time Linux employs advanced scheduling policies to prioritize critical tasks and ensure their timely execution. Testing the scheduler involves assessing its ability to allocate resources efficiently, handle task prioritization correctly, and prevent resource contention or priority inversion scenarios. Furthermore, latency measurement is a critical part of Real-Time Linux testing. Latency refers to the time delay between the occurrence of an event and the system's response to it. In real-time applications, minimizing latency is crucial to achieving timely and predictable behavior. Testing latency involves measuring the time it takes for the system to respond to various stimuli and identifying any sources of delay or unpredictability. Additionally, stress testing plays a significant role in assessing the system's robustness under heavy workloads. It involves subjecting the Real-Time Linux system to high levels of concurrent activities, intense computational loads, and input/output operations to evaluate its performance, responsiveness, and stability. Stress testing helps identify potential bottlenecks, resource limitations, or issues that might degrade the real-time behavior of the system. ===== RTLA ===== : [https://wiki.linuxfoundation.org/realtime/documentation/howto/tools/rtla RTLA – The realtime Linux analysis tool]: :: {{The Linux Kernel/doc|rtla timerlat|tools/rtla/rtla-timerlat.html}} &ndash; CLI for the kernel's {{The Linux Kernel/doc|timerlat tracer|trace/timerlat-tracer.html}} :: {{The Linux Kernel/doc|rtla osnoise|tools/rtla/rtla-osnoise.html}} &ndash; CLI for the kernel's {{The Linux Kernel/doc|osnoise tracer|trace/osnoise-tracer.html}}. ::: Kernel function {{The Linux Kernel/id|run_osnoise}} measures time with function {{The Linux Kernel/id|trace_clock_local}} in loop. :: {{The Linux Kernel/doc|rtla hwnoise|tools/rtla/rtla-hwnoise.html}} &ndash; CLI for the {{The Linux Kernel/doc|osnoise tracer|trace/osnoise-tracer.html}} with interrupts disabled ::: Implementation: {{The Linux Kernel/source|tools/tracing/rtla}} and {{The Linux Kernel/source|kernel/trace/trace_osnoise.c}} :: [https://bristot.me/linux-scheduling-latency-debug-and-analysis/ Linux scheduling latency debug and analysis] ===== RT-Tests ===== : [https://wiki.linuxfoundation.org/realtime/documentation/howto/tools/rt-tests RT-Tests], [https://git.kernel.org/pub/scm/utils/rt-tests/rt-tests.git/tree/src/ source], [https://gitlab.com/linux-kernel/rt-tests @gitlab] :: [https://wiki.linuxfoundation.org/realtime/documentation/howto/tools/cyclictest/start cyclictest] : some RT-Tests man pages: :: [https://man.archlinux.org/man/cyclictest.8.en cyclictest] &ndash; measures {{The Linux Kernel/man|2|clock_nanosleep}} or {{The Linux Kernel/man|2|nanosleep}} delay <!-- generated with grep -h ' \\- ' ./rt-tests/src/*/*.[0-9] | sed 's#^#:: #;s#\\f.##g;s#\([^ ]\+\) \\-#[https://man.archlinux.org/man/\1.8.en \1] \–#' --> :: [https://man.archlinux.org/man/hwlatdetect.8.en hwlatdetect] &ndash; CLI for {{The Linux Kernel/doc|/sys/kernel/tracing/hwlat_detector|trace/hwlat_detector.html}} / {{The Linux Kernel/source|kernel/trace/trace_hwlat.c}}. Kernel function {{The Linux Kernel/id|kthread_fn}} measures time delays with function {{The Linux Kernel/id|trace_clock_local}} in loop. :: [https://man.archlinux.org/man/oslat.8.en oslat] &ndash; measures delay with {{w|Time_Stamp_Counter|RDTSC}} in busy loop :: [https://man.archlinux.org/man/hackbench.8.en hackbench] &ndash; scheduler benchmark/stress test ===== ftrace ===== Testing latencies with the ftrace - Function Tracer. : [https://docs.kernel.org/trace/ftrace.html#:~:text=tracing_max_latency tracing_max_latency] : the {{The Linux Kernel/doc|irqsoff|trace/ftrace.html#irqsoff}}, {{The Linux Kernel/doc|preemptoff|trace/ftrace.html#preemptoff}}, {{The Linux Kernel/doc|preemptirqsoff|trace/ftrace.html#preemptirqsoff}} tracers : {{The Linux Kernel/source|tools/tracing/latency}} &ndash; latency measurement tools : {{The Linux Kernel/id|CONFIG_IRQSOFF_TRACER}} &ndash; interrupts-off latency tracer : {{The Linux Kernel/id|CONFIG_PREEMPT_TRACER}} &ndash; preemption-off latency tracer : {{The Linux Kernel/id|CONFIG_SCHED_TRACER}} &ndash; scheduling latency tracer ===== Other tests ===== : [https://github.com/xzpeter/rt-trace-bpf RT Tracing Tools with eBPF] : {{The Linux Kernel/ltp||realtime}} : https://www.latencytop.org/, {{The Linux Kernel/source|kernel/latencytop.c}} ==== RT optimizations ==== : {{The Linux Kernel/id|CONFIG_PSI_DEFAULT_DISABLED}} &ndash; disable {{The Linux Kernel/doc|PSI|accounting/psi.html}} :: Check: <code>ls /proc/pressure/</code> should fail ==== ... ==== 📚 Further reading: : https://lore.kernel.org/linux-rt-users/ : https://lore.kernel.org/linux-trace-kernel/ 📖 References : {{The Linux Kernel/doc|Real-time preemption|core-api/real-time/index.html}} : {{The Linux Kernel/doc|Documentation for /proc/sys/kernel/|admin-guide/sysctl/kernel.html}} &ndash; sched_rt_period_us, sched_rt_runtime_us : https://realtime-linux.org/ :: [https://realtime-linux.org/getting-started-with-preempt_rt-guide/ Getting Started with PREEMPT_RT Guide] :: [https://realtime-linux.org/a-checklist-for-real-time-applications-in-linux/ A Checklist for Real-Time Applications in Linux] : [https://wiki.linuxfoundation.org/realtime/start the Real-Time Linux wiki] :: [https://wiki.linuxfoundation.org/realtime/documentation/howto/tools/cpu-partitioning/start CPU partitioning and isolation] : [https://git.kernel.org/pub/scm/linux/kernel/git/rt/linux-stable-rt.git linux-stable-rt.git] : [https://git.kernel.org/pub/scm/linux/kernel/git/rt/linux-rt-devel.git/log/?h=for-kbuild-bot/current-stable linux-rt-devel.git] 📚 Further reading about real-time Linux: : [https://lpc.events/event/19/contributions/2264/ News from PREEMPT_RT] &ndash; LPC 2025, post-mainline developments : https://deepwiki.com/torvalds/linux/2.1-process-scheduler : [https://www.youtube.com/watch?v=x6g15nRGpAM Introduction to Real-Time Linux: Unleashing Deterministic Computing] : [https://www.youtube.com/playlist?list=PL0fKordpLTjKsBOUcZqnzlHShri4YBL1H Power Management and Scheduling in the Linux Kernel (OSPM)] : [https://lwn.net/Kernel/Index/#Realtime Realtime@LWN] : [https://wiki.archlinux.org/title/Realtime_kernel_patchset Realtime kernel patchset, Arch Linux] : https://www.kernel.org/pub/linux/kernel/projects/rt/ - RT patches for upstream kernel : {{w|High Precision Event Timer}} (HPET) : [https://bristot.me/demystifying-the-real-time-linux-latency/ Demystifying the Real-Time Linux Scheduling Latency] : [https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux_for_real_time/ RHEL for RT] : Linux subsystems related to real-time :: {{w|Linux kernel#Scheduling and preemption|Linux kernel scheduling and preemption}} :: [[The_Linux_Kernel/Multitasking#Interrupts|Interrupts]] :: [[The_Linux_Kernel/Multitasking#Deferred_works|Deferred works]] :: [https://0xax.gitbooks.io/linux-insides/content/Interrupts/linux-interrupts-6.html Non-maskable interrupt handler] (NMI) :: [https://wiki.linuxfoundation.org/realtime/documentation/howto/debugging/smi-latency/smi System management interrupt] (SMI) :: {{The Linux Kernel/man|7|sched}} : [https://lore.kernel.org/lkml/?q=latency latency @ LKML] : [https://lore.kernel.org/lkml/?q=PREEMPT_RT PREEMPT_RT @ LKML] : [https://www.youtube.com/watch?v=O1dzeGJUvvU QA about PREEMPT_RT, LPC'23], [https://lpc.events/event/17/contributions/1483/attachments/1261/2554/state-of-the-onion.pdf State of the onion, pdf] 💾 Historical The {{w|PREEMPT_RT}} patch has been fully merged into the mainline Linux kernel, starting from version 6.12. {{BookCat}} garzr0n9p4u785hm2auw4tfu3w8gu28 4654535 4654518 2026-07-15T10:17:44Z Conan 3188 rteval, update RHEL RT links to latest 4654535 wikitext text/x-wiki <noinclude> {{DISPLAYTITLE:Real-time Linux}} </noinclude> ==== RT preemption ==== [https://wiki.linuxfoundation.org/realtime/start The Linux Foundation's Real-Time Linux (RTL) collaborative project] is focused on improving the real-time capabilities of Linux and advancing the adoption of real-time Linux in various industries, including aerospace, automotive, robotics, and telecommunications. Parameter {{The Linux Kernel/id|CONFIG_PREEMPT_RT}} enables real-time preemption. ==== RT scheduling policies ==== Scheduling policies for RT: : {{The Linux Kernel/id|SCHED_FIFO}}, {{The Linux Kernel/id|SCHED_RR}} :: implemented in {{The Linux Kernel/source|kernel/sched/rt.c}} : {{w|SCHED_DEADLINE}} :: implemented in {{The Linux Kernel/source|kernel/sched/deadline.c}} API: : {{The Linux Kernel/man|1|chrt}} &ndash; manipulate the real-time attributes of a process : {{The Linux Kernel/man|2|sched_rr_get_interval}} &ndash; get the SCHED_RR interval for the named process : {{The Linux Kernel/man|2|sched_setscheduler}}, sched_getscheduler &ndash; set and get scheduling policy/parameters : {{The Linux Kernel/man|2|sched_get_priority_min}}, sched_get_priority_max &ndash; get static priority range RT scheduler tunables: : /proc/sys/kernel/sched_rt_period_us &ndash; period over which RT task bandwidth is measured (default 1000000 µs = 1 s) : /proc/sys/kernel/sched_rt_runtime_us &ndash; maximum time RT tasks may consume per period (default 950000 µs); set to -1 to disable the RT bandwidth limit : /sys/kernel/realtime &ndash; indicates the running kernel has PREEMPT_RT enabled (present only on RT kernels) : /sys/devices/system/clocksource/clocksource0/current_clocksource &ndash; active clocksource, critical for RT timing accuracy 🛠️ Utilities : [https://git.kernel.org/pub/scm/utils/tuna/tuna.git/ tuna] &ndash; view and change thread attributes (affinity, scheduling policy, priority) :: [https://docs.redhat.com/en/documentation/red_hat_enterprise_linux/latest/html/monitoring_and_managing_system_status_and_performance/reviewing-a-system-by-using-the-tuna-interface RHEL tuna guide] : [https://github.com/sosreport/sos/blob/main/sos/report/plugins/kernelrt.py sos kernelrt plugin] &ndash; diagnostics collection for RT kernel ==== RT synchronization ==== ⚲ APIs : {{The Linux Kernel/id|migrate_disable}} + {{The Linux Kernel/id|spin_lock}} : {{The Linux Kernel/id|local_lock}} calls migrate_disable(); {{The Linux Kernel/id|rt_spin_lock}}({{The Linux Kernel/id|this_cpu_ptr}}((__lock))); 📖 References : [https://docs.kernel.org/locking/locktypes.html#:~:text=migrate_disable Usage of migrate_disable] : {{The Linux Kernel/doc|PREEMPT_RT caveats: spinlock_t, rwlock_t, migrate_disable and local_lock|locking/locktypes.html#spinlock-t-and-rwlock-t}} ⚙️ Internals Spinlock : {{The Linux Kernel/include|linux/spinlock_rt.h}} used via {{The Linux Kernel/include|linux/spinlock_types.h}} :: {{The Linux Kernel/id|spinlock_t}} ::: {{The Linux Kernel/id|rt_mutex_base}} ::: {{The Linux Kernel/id|rt_spin_lock}} ... :::: {{The Linux Kernel/id|__rt_spin_lock}} ... ::::: {{The Linux Kernel/id|rtlock_lock}} ... : {{The Linux Kernel/source|kernel/locking/spinlock_rt.c}} &ndash; RT-aware spinlock implementation RT Mutex : {{The Linux Kernel/include|linux/rtmutex.h}} used via {{The Linux Kernel/include|linux/mutex_types.h}} :: {{The Linux Kernel/id|rt_mutex_base}} :: {{The Linux Kernel/id|rt_mutex}} ::: {{The Linux Kernel/id|rt_mutex_lock}} ... : {{The Linux Kernel/source|kernel/locking/rtmutex_api.c}} &ndash; RT mutex kernel API : {{The Linux Kernel/source|kernel/locking/rtmutex_common.h}} &ndash; RT mutex internal definitions : {{The Linux Kernel/source|kernel/locking/rtmutex.c}} &ndash; RT mutex core with priority inheritance rwbase_rt : {{The Linux Kernel/include|linux/rwbase_rt.h}} used via {{The Linux Kernel/include|linux/rwlock_types.h}} :: {{The Linux Kernel/id|rwlock_t}} ::: {{The Linux Kernel/id|rwbase_rt}} &ndash; used to implement real-time read/write locks ::: {{The Linux Kernel/id|rt_read_trylock}} ... : {{The Linux Kernel/source|kernel/locking/rwbase_rt.c}} &ndash; RT rw_semaphore/rwlock base : {{The Linux Kernel/source|kernel/locking/spinlock_rt.c}} &ndash; RT-aware spinlock implementation ==== Testing RT capabilities ==== The testing process for Real-Time Linux typically involves several key aspects. First and foremost, it is crucial to verify the accuracy and stability of the system's timekeeping mechanisms. Precise time management is fundamental to real-time applications, and any inaccuracies can lead to timing errors and compromise the system's real-time capabilities. Another essential aspect of testing is evaluating the system's scheduling algorithms. Real-Time Linux employs advanced scheduling policies to prioritize critical tasks and ensure their timely execution. Testing the scheduler involves assessing its ability to allocate resources efficiently, handle task prioritization correctly, and prevent resource contention or priority inversion scenarios. Furthermore, latency measurement is a critical part of Real-Time Linux testing. Latency refers to the time delay between the occurrence of an event and the system's response to it. In real-time applications, minimizing latency is crucial to achieving timely and predictable behavior. Testing latency involves measuring the time it takes for the system to respond to various stimuli and identifying any sources of delay or unpredictability. Additionally, stress testing plays a significant role in assessing the system's robustness under heavy workloads. It involves subjecting the Real-Time Linux system to high levels of concurrent activities, intense computational loads, and input/output operations to evaluate its performance, responsiveness, and stability. Stress testing helps identify potential bottlenecks, resource limitations, or issues that might degrade the real-time behavior of the system. ===== RTLA ===== : [https://wiki.linuxfoundation.org/realtime/documentation/howto/tools/rtla RTLA – The realtime Linux analysis tool]: :: {{The Linux Kernel/doc|rtla timerlat|tools/rtla/rtla-timerlat.html}} &ndash; CLI for the kernel's {{The Linux Kernel/doc|timerlat tracer|trace/timerlat-tracer.html}} :: {{The Linux Kernel/doc|rtla osnoise|tools/rtla/rtla-osnoise.html}} &ndash; CLI for the kernel's {{The Linux Kernel/doc|osnoise tracer|trace/osnoise-tracer.html}}. ::: Kernel function {{The Linux Kernel/id|run_osnoise}} measures time with function {{The Linux Kernel/id|trace_clock_local}} in loop. :: {{The Linux Kernel/doc|rtla hwnoise|tools/rtla/rtla-hwnoise.html}} &ndash; CLI for the {{The Linux Kernel/doc|osnoise tracer|trace/osnoise-tracer.html}} with interrupts disabled ::: Implementation: {{The Linux Kernel/source|tools/tracing/rtla}} and {{The Linux Kernel/source|kernel/trace/trace_osnoise.c}} :: [https://bristot.me/linux-scheduling-latency-debug-and-analysis/ Linux scheduling latency debug and analysis] ===== RT-Tests ===== : [https://wiki.linuxfoundation.org/realtime/documentation/howto/tools/rt-tests RT-Tests], [https://git.kernel.org/pub/scm/utils/rt-tests/rt-tests.git/tree/src/ source], [https://gitlab.com/linux-kernel/rt-tests @gitlab] :: [https://wiki.linuxfoundation.org/realtime/documentation/howto/tools/cyclictest/start cyclictest] : some RT-Tests man pages: :: [https://man.archlinux.org/man/cyclictest.8.en cyclictest] &ndash; measures {{The Linux Kernel/man|2|clock_nanosleep}} or {{The Linux Kernel/man|2|nanosleep}} delay <!-- generated with grep -h ' \\- ' ./rt-tests/src/*/*.[0-9] | sed 's#^#:: #;s#\\f.##g;s#\([^ ]\+\) \\-#[https://man.archlinux.org/man/\1.8.en \1] \–#' --> :: [https://man.archlinux.org/man/hwlatdetect.8.en hwlatdetect] &ndash; CLI for {{The Linux Kernel/doc|/sys/kernel/tracing/hwlat_detector|trace/hwlat_detector.html}} / {{The Linux Kernel/source|kernel/trace/trace_hwlat.c}}. Kernel function {{The Linux Kernel/id|kthread_fn}} measures time delays with function {{The Linux Kernel/id|trace_clock_local}} in loop. :: [https://man.archlinux.org/man/oslat.8.en oslat] &ndash; measures delay with {{w|Time_Stamp_Counter|RDTSC}} in busy loop :: [https://man.archlinux.org/man/hackbench.8.en hackbench] &ndash; scheduler benchmark/stress test ===== ftrace ===== Testing latencies with the ftrace - Function Tracer. : [https://docs.kernel.org/trace/ftrace.html#:~:text=tracing_max_latency tracing_max_latency] : the {{The Linux Kernel/doc|irqsoff|trace/ftrace.html#irqsoff}}, {{The Linux Kernel/doc|preemptoff|trace/ftrace.html#preemptoff}}, {{The Linux Kernel/doc|preemptirqsoff|trace/ftrace.html#preemptirqsoff}} tracers : {{The Linux Kernel/source|tools/tracing/latency}} &ndash; latency measurement tools : {{The Linux Kernel/id|CONFIG_IRQSOFF_TRACER}} &ndash; interrupts-off latency tracer : {{The Linux Kernel/id|CONFIG_PREEMPT_TRACER}} &ndash; preemption-off latency tracer : {{The Linux Kernel/id|CONFIG_SCHED_TRACER}} &ndash; scheduling latency tracer ===== Other tests ===== : [https://github.com/xzpeter/rt-trace-bpf RT Tracing Tools with eBPF] : {{The Linux Kernel/ltp||realtime}} : https://www.latencytop.org/, {{The Linux Kernel/source|kernel/latencytop.c}} : [https://docs.redhat.com/en/documentation/red_hat_enterprise_linux_for_real_time/latest/html/optimizing_rhel_for_real_time_for_low_latency_operation/using-the-rteval-container-for-real-time-task-execution rteval] &ndash; RT workload and latency evaluation in a container ==== RT optimizations ==== : {{The Linux Kernel/id|CONFIG_PSI_DEFAULT_DISABLED}} &ndash; disable {{The Linux Kernel/doc|PSI|accounting/psi.html}} :: Check: <code>ls /proc/pressure/</code> should fail ==== ... ==== 📚 Further reading: : https://lore.kernel.org/linux-rt-users/ : https://lore.kernel.org/linux-trace-kernel/ 📖 References : {{The Linux Kernel/doc|Real-time preemption|core-api/real-time/index.html}} : {{The Linux Kernel/doc|Documentation for /proc/sys/kernel/|admin-guide/sysctl/kernel.html}} &ndash; sched_rt_period_us, sched_rt_runtime_us : https://realtime-linux.org/ :: [https://realtime-linux.org/getting-started-with-preempt_rt-guide/ Getting Started with PREEMPT_RT Guide] :: [https://realtime-linux.org/a-checklist-for-real-time-applications-in-linux/ A Checklist for Real-Time Applications in Linux] : [https://wiki.linuxfoundation.org/realtime/start the Real-Time Linux wiki] :: [https://wiki.linuxfoundation.org/realtime/documentation/howto/tools/cpu-partitioning/start CPU partitioning and isolation] : [https://git.kernel.org/pub/scm/linux/kernel/git/rt/linux-stable-rt.git linux-stable-rt.git] : [https://git.kernel.org/pub/scm/linux/kernel/git/rt/linux-rt-devel.git/log/?h=for-kbuild-bot/current-stable linux-rt-devel.git] 📚 Further reading about real-time Linux: : [https://lpc.events/event/19/contributions/2264/ News from PREEMPT_RT] &ndash; LPC 2025, post-mainline developments : https://deepwiki.com/torvalds/linux/2.1-process-scheduler : [https://www.youtube.com/watch?v=x6g15nRGpAM Introduction to Real-Time Linux: Unleashing Deterministic Computing] : [https://www.youtube.com/playlist?list=PL0fKordpLTjKsBOUcZqnzlHShri4YBL1H Power Management and Scheduling in the Linux Kernel (OSPM)] : [https://lwn.net/Kernel/Index/#Realtime Realtime@LWN] : [https://wiki.archlinux.org/title/Realtime_kernel_patchset Realtime kernel patchset, Arch Linux] : https://www.kernel.org/pub/linux/kernel/projects/rt/ - RT patches for upstream kernel : {{w|High Precision Event Timer}} (HPET) : [https://bristot.me/demystifying-the-real-time-linux-latency/ Demystifying the Real-Time Linux Scheduling Latency] : [https://docs.redhat.com/en/documentation/red_hat_enterprise_linux_for_real_time/latest RHEL for RT] :: [https://docs.redhat.com/en/documentation/red_hat_enterprise_linux_for_real_time/latest/html/optimizing_rhel_for_real_time_for_low_latency_operation/index Optimizing for low latency] : Linux subsystems related to real-time :: {{w|Linux kernel#Scheduling and preemption|Linux kernel scheduling and preemption}} :: [[The_Linux_Kernel/Multitasking#Interrupts|Interrupts]] :: [[The_Linux_Kernel/Multitasking#Deferred_works|Deferred works]] :: [https://0xax.gitbooks.io/linux-insides/content/Interrupts/linux-interrupts-6.html Non-maskable interrupt handler] (NMI) :: [https://wiki.linuxfoundation.org/realtime/documentation/howto/debugging/smi-latency/smi System management interrupt] (SMI) :: {{The Linux Kernel/man|7|sched}} : [https://lore.kernel.org/lkml/?q=latency latency @ LKML] : [https://lore.kernel.org/lkml/?q=PREEMPT_RT PREEMPT_RT @ LKML] : [https://www.youtube.com/watch?v=O1dzeGJUvvU QA about PREEMPT_RT, LPC'23], [https://lpc.events/event/17/contributions/1483/attachments/1261/2554/state-of-the-onion.pdf State of the onion, pdf] 💾 Historical The {{w|PREEMPT_RT}} patch has been fully merged into the mainline Linux kernel, starting from version 6.12. {{BookCat}} t59wm5iidygkxze02z60pf2x0ujyq5c 4654537 4654535 2026-07-15T10:17:47Z Conan 3188 priority inversion, Understanding RHEL for RT guide 4654537 wikitext text/x-wiki <noinclude> {{DISPLAYTITLE:Real-time Linux}} </noinclude> ==== RT preemption ==== [https://wiki.linuxfoundation.org/realtime/start The Linux Foundation's Real-Time Linux (RTL) collaborative project] is focused on improving the real-time capabilities of Linux and advancing the adoption of real-time Linux in various industries, including aerospace, automotive, robotics, and telecommunications. Parameter {{The Linux Kernel/id|CONFIG_PREEMPT_RT}} enables real-time preemption. ==== RT scheduling policies ==== Scheduling policies for RT: : {{The Linux Kernel/id|SCHED_FIFO}}, {{The Linux Kernel/id|SCHED_RR}} :: implemented in {{The Linux Kernel/source|kernel/sched/rt.c}} : {{w|SCHED_DEADLINE}} :: implemented in {{The Linux Kernel/source|kernel/sched/deadline.c}} API: : {{The Linux Kernel/man|1|chrt}} &ndash; manipulate the real-time attributes of a process : {{The Linux Kernel/man|2|sched_rr_get_interval}} &ndash; get the SCHED_RR interval for the named process : {{The Linux Kernel/man|2|sched_setscheduler}}, sched_getscheduler &ndash; set and get scheduling policy/parameters : {{The Linux Kernel/man|2|sched_get_priority_min}}, sched_get_priority_max &ndash; get static priority range RT scheduler tunables: : /proc/sys/kernel/sched_rt_period_us &ndash; period over which RT task bandwidth is measured (default 1000000 µs = 1 s) : /proc/sys/kernel/sched_rt_runtime_us &ndash; maximum time RT tasks may consume per period (default 950000 µs); set to -1 to disable the RT bandwidth limit : /sys/kernel/realtime &ndash; indicates the running kernel has PREEMPT_RT enabled (present only on RT kernels) : /sys/devices/system/clocksource/clocksource0/current_clocksource &ndash; active clocksource, critical for RT timing accuracy 🛠️ Utilities : [https://git.kernel.org/pub/scm/utils/tuna/tuna.git/ tuna] &ndash; view and change thread attributes (affinity, scheduling policy, priority) :: [https://docs.redhat.com/en/documentation/red_hat_enterprise_linux/latest/html/monitoring_and_managing_system_status_and_performance/reviewing-a-system-by-using-the-tuna-interface RHEL tuna guide] : [https://github.com/sosreport/sos/blob/main/sos/report/plugins/kernelrt.py sos kernelrt plugin] &ndash; diagnostics collection for RT kernel {{w|Priority inversion}} occurs when a high-priority task blocks on a resource held by a low-priority task, while a medium-priority task preempts the low-priority one indefinitely. The kernel mitigates this with {{The Linux Kernel/id|rt_mutex}} which implements {{w|Priority inheritance}} &ndash; temporarily boosting the lock holder's priority to that of the highest-priority waiter. ==== RT synchronization ==== ⚲ APIs : {{The Linux Kernel/id|migrate_disable}} + {{The Linux Kernel/id|spin_lock}} : {{The Linux Kernel/id|local_lock}} calls migrate_disable(); {{The Linux Kernel/id|rt_spin_lock}}({{The Linux Kernel/id|this_cpu_ptr}}((__lock))); 📖 References : [https://docs.kernel.org/locking/locktypes.html#:~:text=migrate_disable Usage of migrate_disable] : {{The Linux Kernel/doc|PREEMPT_RT caveats: spinlock_t, rwlock_t, migrate_disable and local_lock|locking/locktypes.html#spinlock-t-and-rwlock-t}} ⚙️ Internals Spinlock : {{The Linux Kernel/include|linux/spinlock_rt.h}} used via {{The Linux Kernel/include|linux/spinlock_types.h}} :: {{The Linux Kernel/id|spinlock_t}} ::: {{The Linux Kernel/id|rt_mutex_base}} ::: {{The Linux Kernel/id|rt_spin_lock}} ... :::: {{The Linux Kernel/id|__rt_spin_lock}} ... ::::: {{The Linux Kernel/id|rtlock_lock}} ... : {{The Linux Kernel/source|kernel/locking/spinlock_rt.c}} &ndash; RT-aware spinlock implementation RT Mutex : {{The Linux Kernel/include|linux/rtmutex.h}} used via {{The Linux Kernel/include|linux/mutex_types.h}} :: {{The Linux Kernel/id|rt_mutex_base}} :: {{The Linux Kernel/id|rt_mutex}} ::: {{The Linux Kernel/id|rt_mutex_lock}} ... : {{The Linux Kernel/source|kernel/locking/rtmutex_api.c}} &ndash; RT mutex kernel API : {{The Linux Kernel/source|kernel/locking/rtmutex_common.h}} &ndash; RT mutex internal definitions : {{The Linux Kernel/source|kernel/locking/rtmutex.c}} &ndash; RT mutex core with priority inheritance rwbase_rt : {{The Linux Kernel/include|linux/rwbase_rt.h}} used via {{The Linux Kernel/include|linux/rwlock_types.h}} :: {{The Linux Kernel/id|rwlock_t}} ::: {{The Linux Kernel/id|rwbase_rt}} &ndash; used to implement real-time read/write locks ::: {{The Linux Kernel/id|rt_read_trylock}} ... : {{The Linux Kernel/source|kernel/locking/rwbase_rt.c}} &ndash; RT rw_semaphore/rwlock base : {{The Linux Kernel/source|kernel/locking/spinlock_rt.c}} &ndash; RT-aware spinlock implementation ==== Testing RT capabilities ==== The testing process for Real-Time Linux typically involves several key aspects. First and foremost, it is crucial to verify the accuracy and stability of the system's timekeeping mechanisms. Precise time management is fundamental to real-time applications, and any inaccuracies can lead to timing errors and compromise the system's real-time capabilities. Another essential aspect of testing is evaluating the system's scheduling algorithms. Real-Time Linux employs advanced scheduling policies to prioritize critical tasks and ensure their timely execution. Testing the scheduler involves assessing its ability to allocate resources efficiently, handle task prioritization correctly, and prevent resource contention or priority inversion scenarios. Furthermore, latency measurement is a critical part of Real-Time Linux testing. Latency refers to the time delay between the occurrence of an event and the system's response to it. In real-time applications, minimizing latency is crucial to achieving timely and predictable behavior. Testing latency involves measuring the time it takes for the system to respond to various stimuli and identifying any sources of delay or unpredictability. Additionally, stress testing plays a significant role in assessing the system's robustness under heavy workloads. It involves subjecting the Real-Time Linux system to high levels of concurrent activities, intense computational loads, and input/output operations to evaluate its performance, responsiveness, and stability. Stress testing helps identify potential bottlenecks, resource limitations, or issues that might degrade the real-time behavior of the system. ===== RTLA ===== : [https://wiki.linuxfoundation.org/realtime/documentation/howto/tools/rtla RTLA – The realtime Linux analysis tool]: :: {{The Linux Kernel/doc|rtla timerlat|tools/rtla/rtla-timerlat.html}} &ndash; CLI for the kernel's {{The Linux Kernel/doc|timerlat tracer|trace/timerlat-tracer.html}} :: {{The Linux Kernel/doc|rtla osnoise|tools/rtla/rtla-osnoise.html}} &ndash; CLI for the kernel's {{The Linux Kernel/doc|osnoise tracer|trace/osnoise-tracer.html}}. ::: Kernel function {{The Linux Kernel/id|run_osnoise}} measures time with function {{The Linux Kernel/id|trace_clock_local}} in loop. :: {{The Linux Kernel/doc|rtla hwnoise|tools/rtla/rtla-hwnoise.html}} &ndash; CLI for the {{The Linux Kernel/doc|osnoise tracer|trace/osnoise-tracer.html}} with interrupts disabled ::: Implementation: {{The Linux Kernel/source|tools/tracing/rtla}} and {{The Linux Kernel/source|kernel/trace/trace_osnoise.c}} :: [https://bristot.me/linux-scheduling-latency-debug-and-analysis/ Linux scheduling latency debug and analysis] ===== RT-Tests ===== : [https://wiki.linuxfoundation.org/realtime/documentation/howto/tools/rt-tests RT-Tests], [https://git.kernel.org/pub/scm/utils/rt-tests/rt-tests.git/tree/src/ source], [https://gitlab.com/linux-kernel/rt-tests @gitlab] :: [https://wiki.linuxfoundation.org/realtime/documentation/howto/tools/cyclictest/start cyclictest] : some RT-Tests man pages: :: [https://man.archlinux.org/man/cyclictest.8.en cyclictest] &ndash; measures {{The Linux Kernel/man|2|clock_nanosleep}} or {{The Linux Kernel/man|2|nanosleep}} delay <!-- generated with grep -h ' \\- ' ./rt-tests/src/*/*.[0-9] | sed 's#^#:: #;s#\\f.##g;s#\([^ ]\+\) \\-#[https://man.archlinux.org/man/\1.8.en \1] \–#' --> :: [https://man.archlinux.org/man/hwlatdetect.8.en hwlatdetect] &ndash; CLI for {{The Linux Kernel/doc|/sys/kernel/tracing/hwlat_detector|trace/hwlat_detector.html}} / {{The Linux Kernel/source|kernel/trace/trace_hwlat.c}}. Kernel function {{The Linux Kernel/id|kthread_fn}} measures time delays with function {{The Linux Kernel/id|trace_clock_local}} in loop. :: [https://man.archlinux.org/man/oslat.8.en oslat] &ndash; measures delay with {{w|Time_Stamp_Counter|RDTSC}} in busy loop :: [https://man.archlinux.org/man/hackbench.8.en hackbench] &ndash; scheduler benchmark/stress test ===== ftrace ===== Testing latencies with the ftrace - Function Tracer. : [https://docs.kernel.org/trace/ftrace.html#:~:text=tracing_max_latency tracing_max_latency] : the {{The Linux Kernel/doc|irqsoff|trace/ftrace.html#irqsoff}}, {{The Linux Kernel/doc|preemptoff|trace/ftrace.html#preemptoff}}, {{The Linux Kernel/doc|preemptirqsoff|trace/ftrace.html#preemptirqsoff}} tracers : {{The Linux Kernel/source|tools/tracing/latency}} &ndash; latency measurement tools : {{The Linux Kernel/id|CONFIG_IRQSOFF_TRACER}} &ndash; interrupts-off latency tracer : {{The Linux Kernel/id|CONFIG_PREEMPT_TRACER}} &ndash; preemption-off latency tracer : {{The Linux Kernel/id|CONFIG_SCHED_TRACER}} &ndash; scheduling latency tracer ===== Other tests ===== : [https://github.com/xzpeter/rt-trace-bpf RT Tracing Tools with eBPF] : {{The Linux Kernel/ltp||realtime}} : https://www.latencytop.org/, {{The Linux Kernel/source|kernel/latencytop.c}} : [https://docs.redhat.com/en/documentation/red_hat_enterprise_linux_for_real_time/latest/html/optimizing_rhel_for_real_time_for_low_latency_operation/using-the-rteval-container-for-real-time-task-execution rteval] &ndash; RT workload and latency evaluation in a container ==== RT optimizations ==== : {{The Linux Kernel/id|CONFIG_PSI_DEFAULT_DISABLED}} &ndash; disable {{The Linux Kernel/doc|PSI|accounting/psi.html}} :: Check: <code>ls /proc/pressure/</code> should fail ==== ... ==== 📚 Further reading: : https://lore.kernel.org/linux-rt-users/ : https://lore.kernel.org/linux-trace-kernel/ 📖 References : {{The Linux Kernel/doc|Real-time preemption|core-api/real-time/index.html}} : {{The Linux Kernel/doc|Documentation for /proc/sys/kernel/|admin-guide/sysctl/kernel.html}} &ndash; sched_rt_period_us, sched_rt_runtime_us : https://realtime-linux.org/ :: [https://realtime-linux.org/getting-started-with-preempt_rt-guide/ Getting Started with PREEMPT_RT Guide] :: [https://realtime-linux.org/a-checklist-for-real-time-applications-in-linux/ A Checklist for Real-Time Applications in Linux] : [https://wiki.linuxfoundation.org/realtime/start the Real-Time Linux wiki] :: [https://wiki.linuxfoundation.org/realtime/documentation/howto/tools/cpu-partitioning/start CPU partitioning and isolation] : [https://git.kernel.org/pub/scm/linux/kernel/git/rt/linux-stable-rt.git linux-stable-rt.git] : [https://git.kernel.org/pub/scm/linux/kernel/git/rt/linux-rt-devel.git/log/?h=for-kbuild-bot/current-stable linux-rt-devel.git] 📚 Further reading about real-time Linux: : [https://lpc.events/event/19/contributions/2264/ News from PREEMPT_RT] &ndash; LPC 2025, post-mainline developments : https://deepwiki.com/torvalds/linux/2.1-process-scheduler : [https://www.youtube.com/watch?v=x6g15nRGpAM Introduction to Real-Time Linux: Unleashing Deterministic Computing] : [https://www.youtube.com/playlist?list=PL0fKordpLTjKsBOUcZqnzlHShri4YBL1H Power Management and Scheduling in the Linux Kernel (OSPM)] : [https://lwn.net/Kernel/Index/#Realtime Realtime@LWN] : [https://wiki.archlinux.org/title/Realtime_kernel_patchset Realtime kernel patchset, Arch Linux] : https://www.kernel.org/pub/linux/kernel/projects/rt/ - RT patches for upstream kernel : {{w|High Precision Event Timer}} (HPET) : [https://bristot.me/demystifying-the-real-time-linux-latency/ Demystifying the Real-Time Linux Scheduling Latency] : [https://docs.redhat.com/en/documentation/red_hat_enterprise_linux_for_real_time/latest RHEL for RT] :: [https://docs.redhat.com/en/documentation/red_hat_enterprise_linux_for_real_time/latest/html/understanding_rhel_for_real_time/index Understanding RHEL for RT] &ndash; affinity, SCHED_DEADLINE cpusets, RT socket options, timerlat, runtime monitors :: [https://docs.redhat.com/en/documentation/red_hat_enterprise_linux_for_real_time/latest/html/optimizing_rhel_for_real_time_for_low_latency_operation/index Optimizing for low latency] &ndash; kernel tuning, BIOS settings, rteval : Linux subsystems related to real-time :: {{w|Linux kernel#Scheduling and preemption|Linux kernel scheduling and preemption}} :: [[The_Linux_Kernel/Multitasking#Interrupts|Interrupts]] :: [[The_Linux_Kernel/Multitasking#Deferred_works|Deferred works]] :: [https://0xax.gitbooks.io/linux-insides/content/Interrupts/linux-interrupts-6.html Non-maskable interrupt handler] (NMI) :: [https://wiki.linuxfoundation.org/realtime/documentation/howto/debugging/smi-latency/smi System management interrupt] (SMI) :: {{The Linux Kernel/man|7|sched}} : [https://lore.kernel.org/lkml/?q=latency latency @ LKML] : [https://lore.kernel.org/lkml/?q=PREEMPT_RT PREEMPT_RT @ LKML] : [https://www.youtube.com/watch?v=O1dzeGJUvvU QA about PREEMPT_RT, LPC'23], [https://lpc.events/event/17/contributions/1483/attachments/1261/2554/state-of-the-onion.pdf State of the onion, pdf] 💾 Historical The {{w|PREEMPT_RT}} patch has been fully merged into the mainline Linux kernel, starting from version 6.12. {{BookCat}} b3n7ehejg77qytzcvgejq7s6vcnkbm3 4654538 4654537 2026-07-15T10:17:48Z Conan 3188 RHEL RT optimization guide chapter links 4654538 wikitext text/x-wiki <noinclude> {{DISPLAYTITLE:Real-time Linux}} </noinclude> ==== RT preemption ==== [https://wiki.linuxfoundation.org/realtime/start The Linux Foundation's Real-Time Linux (RTL) collaborative project] is focused on improving the real-time capabilities of Linux and advancing the adoption of real-time Linux in various industries, including aerospace, automotive, robotics, and telecommunications. Parameter {{The Linux Kernel/id|CONFIG_PREEMPT_RT}} enables real-time preemption. ==== RT scheduling policies ==== Scheduling policies for RT: : {{The Linux Kernel/id|SCHED_FIFO}}, {{The Linux Kernel/id|SCHED_RR}} :: implemented in {{The Linux Kernel/source|kernel/sched/rt.c}} : {{w|SCHED_DEADLINE}} :: implemented in {{The Linux Kernel/source|kernel/sched/deadline.c}} API: : {{The Linux Kernel/man|1|chrt}} &ndash; manipulate the real-time attributes of a process : {{The Linux Kernel/man|2|sched_rr_get_interval}} &ndash; get the SCHED_RR interval for the named process : {{The Linux Kernel/man|2|sched_setscheduler}}, sched_getscheduler &ndash; set and get scheduling policy/parameters : {{The Linux Kernel/man|2|sched_get_priority_min}}, sched_get_priority_max &ndash; get static priority range RT scheduler tunables: : /proc/sys/kernel/sched_rt_period_us &ndash; period over which RT task bandwidth is measured (default 1000000 µs = 1 s) : /proc/sys/kernel/sched_rt_runtime_us &ndash; maximum time RT tasks may consume per period (default 950000 µs); set to -1 to disable the RT bandwidth limit : /sys/kernel/realtime &ndash; indicates the running kernel has PREEMPT_RT enabled (present only on RT kernels) : /sys/devices/system/clocksource/clocksource0/current_clocksource &ndash; active clocksource, critical for RT timing accuracy 🛠️ Utilities : [https://git.kernel.org/pub/scm/utils/tuna/tuna.git/ tuna] &ndash; view and change thread attributes (affinity, scheduling policy, priority) :: [https://docs.redhat.com/en/documentation/red_hat_enterprise_linux/latest/html/monitoring_and_managing_system_status_and_performance/reviewing-a-system-by-using-the-tuna-interface RHEL tuna guide] : [https://github.com/sosreport/sos/blob/main/sos/report/plugins/kernelrt.py sos kernelrt plugin] &ndash; diagnostics collection for RT kernel {{w|Priority inversion}} occurs when a high-priority task blocks on a resource held by a low-priority task, while a medium-priority task preempts the low-priority one indefinitely. The kernel mitigates this with {{The Linux Kernel/id|rt_mutex}} which implements {{w|Priority inheritance}} &ndash; temporarily boosting the lock holder's priority to that of the highest-priority waiter. ==== RT synchronization ==== ⚲ APIs : {{The Linux Kernel/id|migrate_disable}} + {{The Linux Kernel/id|spin_lock}} : {{The Linux Kernel/id|local_lock}} calls migrate_disable(); {{The Linux Kernel/id|rt_spin_lock}}({{The Linux Kernel/id|this_cpu_ptr}}((__lock))); 📖 References : [https://docs.kernel.org/locking/locktypes.html#:~:text=migrate_disable Usage of migrate_disable] : {{The Linux Kernel/doc|PREEMPT_RT caveats: spinlock_t, rwlock_t, migrate_disable and local_lock|locking/locktypes.html#spinlock-t-and-rwlock-t}} ⚙️ Internals Spinlock : {{The Linux Kernel/include|linux/spinlock_rt.h}} used via {{The Linux Kernel/include|linux/spinlock_types.h}} :: {{The Linux Kernel/id|spinlock_t}} ::: {{The Linux Kernel/id|rt_mutex_base}} ::: {{The Linux Kernel/id|rt_spin_lock}} ... :::: {{The Linux Kernel/id|__rt_spin_lock}} ... ::::: {{The Linux Kernel/id|rtlock_lock}} ... : {{The Linux Kernel/source|kernel/locking/spinlock_rt.c}} &ndash; RT-aware spinlock implementation RT Mutex : {{The Linux Kernel/include|linux/rtmutex.h}} used via {{The Linux Kernel/include|linux/mutex_types.h}} :: {{The Linux Kernel/id|rt_mutex_base}} :: {{The Linux Kernel/id|rt_mutex}} ::: {{The Linux Kernel/id|rt_mutex_lock}} ... : {{The Linux Kernel/source|kernel/locking/rtmutex_api.c}} &ndash; RT mutex kernel API : {{The Linux Kernel/source|kernel/locking/rtmutex_common.h}} &ndash; RT mutex internal definitions : {{The Linux Kernel/source|kernel/locking/rtmutex.c}} &ndash; RT mutex core with priority inheritance rwbase_rt : {{The Linux Kernel/include|linux/rwbase_rt.h}} used via {{The Linux Kernel/include|linux/rwlock_types.h}} :: {{The Linux Kernel/id|rwlock_t}} ::: {{The Linux Kernel/id|rwbase_rt}} &ndash; used to implement real-time read/write locks ::: {{The Linux Kernel/id|rt_read_trylock}} ... : {{The Linux Kernel/source|kernel/locking/rwbase_rt.c}} &ndash; RT rw_semaphore/rwlock base : {{The Linux Kernel/source|kernel/locking/spinlock_rt.c}} &ndash; RT-aware spinlock implementation ==== Testing RT capabilities ==== The testing process for Real-Time Linux typically involves several key aspects. First and foremost, it is crucial to verify the accuracy and stability of the system's timekeeping mechanisms. Precise time management is fundamental to real-time applications, and any inaccuracies can lead to timing errors and compromise the system's real-time capabilities. Another essential aspect of testing is evaluating the system's scheduling algorithms. Real-Time Linux employs advanced scheduling policies to prioritize critical tasks and ensure their timely execution. Testing the scheduler involves assessing its ability to allocate resources efficiently, handle task prioritization correctly, and prevent resource contention or priority inversion scenarios. Furthermore, latency measurement is a critical part of Real-Time Linux testing. Latency refers to the time delay between the occurrence of an event and the system's response to it. In real-time applications, minimizing latency is crucial to achieving timely and predictable behavior. Testing latency involves measuring the time it takes for the system to respond to various stimuli and identifying any sources of delay or unpredictability. Additionally, stress testing plays a significant role in assessing the system's robustness under heavy workloads. It involves subjecting the Real-Time Linux system to high levels of concurrent activities, intense computational loads, and input/output operations to evaluate its performance, responsiveness, and stability. Stress testing helps identify potential bottlenecks, resource limitations, or issues that might degrade the real-time behavior of the system. ===== RTLA ===== : [https://wiki.linuxfoundation.org/realtime/documentation/howto/tools/rtla RTLA – The realtime Linux analysis tool]: :: {{The Linux Kernel/doc|rtla timerlat|tools/rtla/rtla-timerlat.html}} &ndash; CLI for the kernel's {{The Linux Kernel/doc|timerlat tracer|trace/timerlat-tracer.html}} :: {{The Linux Kernel/doc|rtla osnoise|tools/rtla/rtla-osnoise.html}} &ndash; CLI for the kernel's {{The Linux Kernel/doc|osnoise tracer|trace/osnoise-tracer.html}}. ::: Kernel function {{The Linux Kernel/id|run_osnoise}} measures time with function {{The Linux Kernel/id|trace_clock_local}} in loop. :: {{The Linux Kernel/doc|rtla hwnoise|tools/rtla/rtla-hwnoise.html}} &ndash; CLI for the {{The Linux Kernel/doc|osnoise tracer|trace/osnoise-tracer.html}} with interrupts disabled ::: Implementation: {{The Linux Kernel/source|tools/tracing/rtla}} and {{The Linux Kernel/source|kernel/trace/trace_osnoise.c}} :: [https://bristot.me/linux-scheduling-latency-debug-and-analysis/ Linux scheduling latency debug and analysis] ===== RT-Tests ===== : [https://wiki.linuxfoundation.org/realtime/documentation/howto/tools/rt-tests RT-Tests], [https://git.kernel.org/pub/scm/utils/rt-tests/rt-tests.git/tree/src/ source], [https://gitlab.com/linux-kernel/rt-tests @gitlab] :: [https://wiki.linuxfoundation.org/realtime/documentation/howto/tools/cyclictest/start cyclictest] : some RT-Tests man pages: :: [https://man.archlinux.org/man/cyclictest.8.en cyclictest] &ndash; measures {{The Linux Kernel/man|2|clock_nanosleep}} or {{The Linux Kernel/man|2|nanosleep}} delay <!-- generated with grep -h ' \\- ' ./rt-tests/src/*/*.[0-9] | sed 's#^#:: #;s#\\f.##g;s#\([^ ]\+\) \\-#[https://man.archlinux.org/man/\1.8.en \1] \–#' --> :: [https://man.archlinux.org/man/hwlatdetect.8.en hwlatdetect] &ndash; CLI for {{The Linux Kernel/doc|/sys/kernel/tracing/hwlat_detector|trace/hwlat_detector.html}} / {{The Linux Kernel/source|kernel/trace/trace_hwlat.c}}. Kernel function {{The Linux Kernel/id|kthread_fn}} measures time delays with function {{The Linux Kernel/id|trace_clock_local}} in loop. :: [https://man.archlinux.org/man/oslat.8.en oslat] &ndash; measures delay with {{w|Time_Stamp_Counter|RDTSC}} in busy loop :: [https://man.archlinux.org/man/hackbench.8.en hackbench] &ndash; scheduler benchmark/stress test ===== ftrace ===== Testing latencies with the ftrace - Function Tracer. : [https://docs.kernel.org/trace/ftrace.html#:~:text=tracing_max_latency tracing_max_latency] : the {{The Linux Kernel/doc|irqsoff|trace/ftrace.html#irqsoff}}, {{The Linux Kernel/doc|preemptoff|trace/ftrace.html#preemptoff}}, {{The Linux Kernel/doc|preemptirqsoff|trace/ftrace.html#preemptirqsoff}} tracers : {{The Linux Kernel/source|tools/tracing/latency}} &ndash; latency measurement tools : {{The Linux Kernel/id|CONFIG_IRQSOFF_TRACER}} &ndash; interrupts-off latency tracer : {{The Linux Kernel/id|CONFIG_PREEMPT_TRACER}} &ndash; preemption-off latency tracer : {{The Linux Kernel/id|CONFIG_SCHED_TRACER}} &ndash; scheduling latency tracer ===== Other tests ===== : [https://github.com/xzpeter/rt-trace-bpf RT Tracing Tools with eBPF] : {{The Linux Kernel/ltp||realtime}} : https://www.latencytop.org/, {{The Linux Kernel/source|kernel/latencytop.c}} : [https://docs.redhat.com/en/documentation/red_hat_enterprise_linux_for_real_time/latest/html/optimizing_rhel_for_real_time_for_low_latency_operation/using-the-rteval-container-for-real-time-task-execution rteval] &ndash; RT workload and latency evaluation in a container ==== RT optimizations ==== : {{The Linux Kernel/id|CONFIG_PSI_DEFAULT_DISABLED}} &ndash; disable {{The Linux Kernel/doc|PSI|accounting/psi.html}} :: Check: <code>ls /proc/pressure/</code> should fail ==== ... ==== 📚 Further reading: : https://lore.kernel.org/linux-rt-users/ : https://lore.kernel.org/linux-trace-kernel/ 📖 References : {{The Linux Kernel/doc|Real-time preemption|core-api/real-time/index.html}} : {{The Linux Kernel/doc|Documentation for /proc/sys/kernel/|admin-guide/sysctl/kernel.html}} &ndash; sched_rt_period_us, sched_rt_runtime_us : https://realtime-linux.org/ :: [https://realtime-linux.org/getting-started-with-preempt_rt-guide/ Getting Started with PREEMPT_RT Guide] :: [https://realtime-linux.org/a-checklist-for-real-time-applications-in-linux/ A Checklist for Real-Time Applications in Linux] : [https://wiki.linuxfoundation.org/realtime/start the Real-Time Linux wiki] :: [https://wiki.linuxfoundation.org/realtime/documentation/howto/tools/cpu-partitioning/start CPU partitioning and isolation] : [https://git.kernel.org/pub/scm/linux/kernel/git/rt/linux-stable-rt.git linux-stable-rt.git] : [https://git.kernel.org/pub/scm/linux/kernel/git/rt/linux-rt-devel.git/log/?h=for-kbuild-bot/current-stable linux-rt-devel.git] 📚 Further reading about real-time Linux: : [https://lpc.events/event/19/contributions/2264/ News from PREEMPT_RT] &ndash; LPC 2025, post-mainline developments : https://deepwiki.com/torvalds/linux/2.1-process-scheduler : [https://www.youtube.com/watch?v=x6g15nRGpAM Introduction to Real-Time Linux: Unleashing Deterministic Computing] : [https://www.youtube.com/playlist?list=PL0fKordpLTjKsBOUcZqnzlHShri4YBL1H Power Management and Scheduling in the Linux Kernel (OSPM)] : [https://lwn.net/Kernel/Index/#Realtime Realtime@LWN] : [https://wiki.archlinux.org/title/Realtime_kernel_patchset Realtime kernel patchset, Arch Linux] : https://www.kernel.org/pub/linux/kernel/projects/rt/ - RT patches for upstream kernel : {{w|High Precision Event Timer}} (HPET) : [https://bristot.me/demystifying-the-real-time-linux-latency/ Demystifying the Real-Time Linux Scheduling Latency] : [https://docs.redhat.com/en/documentation/red_hat_enterprise_linux_for_real_time/latest RHEL for RT] :: [https://docs.redhat.com/en/documentation/red_hat_enterprise_linux_for_real_time/latest/html/understanding_rhel_for_real_time/index Understanding RHEL for RT] &ndash; affinity, SCHED_DEADLINE cpusets, RT socket options, timerlat, runtime monitors :: [https://docs.redhat.com/en/documentation/red_hat_enterprise_linux_for_real_time/latest/html/optimizing_rhel_for_real_time_for_low_latency_operation/index Optimizing for low latency]: ::: [https://docs.redhat.com/en/documentation/red_hat_enterprise_linux_for_real_time/latest/html/optimizing_rhel_for_real_time_for_low_latency_operation/scheduling-policies-for-rhel-for-real-time SCHED_DEADLINE parameters] ::: [https://docs.redhat.com/en/documentation/red_hat_enterprise_linux_for_real_time/latest/html/optimizing_rhel_for_real_time_for_low_latency_operation/setting-bios-parameters-for-system-tuning BIOS tuning] &ndash; disable power management, error correction, SMI ::: [https://docs.redhat.com/en/documentation/red_hat_enterprise_linux_for_real_time/latest/html/optimizing_rhel_for_real_time_for_low_latency_operation/runtime-verification-of-the-real-time-kernel Runtime verification] &ndash; monitors and reactors ::: [https://docs.redhat.com/en/documentation/red_hat_enterprise_linux_for_real_time/latest/html/optimizing_rhel_for_real_time_for_low_latency_operation/isolating-cpus-using-tuned-profiles-real-time CPU isolation] &ndash; tuned profiles, isolated_cores, nohz_full ::: [https://docs.redhat.com/en/documentation/red_hat_enterprise_linux_for_real_time/latest/html/optimizing_rhel_for_real_time_for_low_latency_operation/improving-cpu-performance-by-using-rcu-callbacks RCU callback offloading] ::: [https://docs.redhat.com/en/documentation/red_hat_enterprise_linux_for_real_time/latest/html/optimizing_rhel_for_real_time_for_low_latency_operation/scheduling-problems-on-the-real-time-kernel-and-solutions Scheduling problems] &ndash; throttling, starvation : Linux subsystems related to real-time :: {{w|Linux kernel#Scheduling and preemption|Linux kernel scheduling and preemption}} :: [[The_Linux_Kernel/Multitasking#Interrupts|Interrupts]] :: [[The_Linux_Kernel/Multitasking#Deferred_works|Deferred works]] :: [https://0xax.gitbooks.io/linux-insides/content/Interrupts/linux-interrupts-6.html Non-maskable interrupt handler] (NMI) :: [https://wiki.linuxfoundation.org/realtime/documentation/howto/debugging/smi-latency/smi System management interrupt] (SMI) :: {{The Linux Kernel/man|7|sched}} : [https://lore.kernel.org/lkml/?q=latency latency @ LKML] : [https://lore.kernel.org/lkml/?q=PREEMPT_RT PREEMPT_RT @ LKML] : [https://www.youtube.com/watch?v=O1dzeGJUvvU QA about PREEMPT_RT, LPC'23], [https://lpc.events/event/17/contributions/1483/attachments/1261/2554/state-of-the-onion.pdf State of the onion, pdf] 💾 Historical The {{w|PREEMPT_RT}} patch has been fully merged into the mainline Linux kernel, starting from version 6.12. {{BookCat}} rsgzwdujdg9lu64rl1fmhbs5k0p0di9 Vehicle Identification Numbers (VIN codes)/Polestar/VIN Codes 0 470748 4654478 4609357 2026-07-14T17:52:12Z JustTheFacts33 3434282 /* Position 8: Trim Level, Safety Equipment, GVWR */ 4654478 wikitext text/x-wiki {{Vehicle Identification Numbers (VIN codes)/Warning}}{{clear}} [[w:Polestar|Polestar]] uses the following [[w:Vehicle identification number|VIN]] codes and formats: This VIN number decoding and designation system is used primarily for the North American Market. European and Asian markets use other decoding and designation systems. This is for vehicles from the stand-alone Polestar brand, which began in the 2020 model year. For Polestar Edition or Polestar Engineered Volvo models, see the Volvo Cars VIN page: [[Vehicle Identification Numbers (VIN codes)/Volvo/VIN Codes]]. ==Position 1 - 3: World Manufacturer Identifier== *LPS = Passenger Cars made in China *YSM = Passenger Cars *YSR = Multipurpose Passenger Vehicle *7SY = Multipurpose Passenger Vehicle made in USA ==Position 4- 5: Engine or Motor Code== Vin Engine *BE = B4204T25/B4204TSH (HP) '20-'21 Polestar 1. (322 hp [gas] + 299 hp [electric]) Notes: <br> TSH = <u>T</u>urbocharged & <u>S</u>upercharged Plug-in <u>H</u>ybrid <br> HP = High Pressure All-Electric models: *EJ = E400V1 '25 Polestar 3 RWD *EA = E400V30 '25 Polestar 3 AWD *EE = E400V11 '25 Polestar 3 AWD Performance *ED = E400V6 '21-'23 Polestar 2 AWD (long range) *EG = E400V9 '22-'23 Polestar 2 FWD (long range) *ET = E400V35 '23 Polestar 2 AWD (long range) w/Performance Pack, BST Edition 270, BST Edition 230 *FD = E400V26 '24 Polestar 2 AWD (long range) *FE = E400V20 '24 Polestar 2 RWD (long range) *FF = E400V36 '25 Polestar 2 AWD (long range) w/standard Performance Pack *FG = E400V36 '24 Polestar 2 AWD (long range) w/Performance Pack *PB = E400P02 '26- Polestar 4 RWD *PA = E400P01 '26- Polestar 4 AWD ==Position 6: Emissions Code/Version Divider== *0 = ULEV ('20-'21 Polestar 1) *3 = BEV (Polestar 2, Polestar 3, Polestar 4) ==Position 7: Vehicle Code== {| class="wikitable sortable" |+ ! !!'''[2020-]''' |- |'''Y'''||'20-'21 Polestar 1 |- |'''K'''||'21-'25 Polestar 2 |- |'''Y'''||'25- Polestar 3 |- |'''A'''||'26- Polestar 4 |- |} ==Position 8: Trim Level, Safety Equipment, GVWR== *A = '21-'25 Polestar 2 *B = '25-'26 Polestar 3 *L = '20-'21 Polestar 1 *4 = '26 Polestar 4 Polestar 1 & Polestar 2 have 3-Point Seat Belts for all seats & Dual Front Air Bags & Seat-mounted Front Side Airbags & Inflatable Curtain Airbags For 1st and 2nd Rows and Driver's Knee Airbag.<br> Polestar 3 & Polestar 4 have 3-Point Seat Belts for all seats & Dual Front Air Bags & Seat-mounted Front Side Airbags (outboard-side) & Inflatable Curtain Airbags For 1st and 2nd Rows & Driver- and Passenger-side Knee Airbags & Front-row Inner-side airbags. Polestar 3 & Polestar 4 are GVWR: Class E (6001-7000 lbs.). ==Position 9: Check Digit/Gearbox== USA /Canada [[Vehicle Identification Numbers (VIN codes)/Check digit|Check digit]] ==Position 10: Year Model Code== ''See: [[Vehicle Identification Numbers (VIN codes)/Model year]]'' ==Position 11: Plant of Assembly Code== *B = [China] - Chengdu, Sichuan Province (PSCD - Polestar Chengdu Plant) *F = [China] - Hangzhou Bay, Zhejiang Province *G = [United States] Charleston Plant - Ridgeville, South Carolina (Volvo Car US Operations) *K = [South Korea] Renault Korea Pusan Plant - Pusan *L = [China] - Luqiao District, Taizhou, Zhejiang Province (Volvo AELQ plant) ==Position 12-17 - Production Sequence Number== {{BookCat}} m3c5e2yq8qmuwws8of9kd8p9hd5p874 4654479 4654478 2026-07-14T17:52:31Z JustTheFacts33 3434282 /* Position 7: Vehicle Code */ 4654479 wikitext text/x-wiki {{Vehicle Identification Numbers (VIN codes)/Warning}}{{clear}} [[w:Polestar|Polestar]] uses the following [[w:Vehicle identification number|VIN]] codes and formats: This VIN number decoding and designation system is used primarily for the North American Market. European and Asian markets use other decoding and designation systems. This is for vehicles from the stand-alone Polestar brand, which began in the 2020 model year. For Polestar Edition or Polestar Engineered Volvo models, see the Volvo Cars VIN page: [[Vehicle Identification Numbers (VIN codes)/Volvo/VIN Codes]]. ==Position 1 - 3: World Manufacturer Identifier== *LPS = Passenger Cars made in China *YSM = Passenger Cars *YSR = Multipurpose Passenger Vehicle *7SY = Multipurpose Passenger Vehicle made in USA ==Position 4- 5: Engine or Motor Code== Vin Engine *BE = B4204T25/B4204TSH (HP) '20-'21 Polestar 1. (322 hp [gas] + 299 hp [electric]) Notes: <br> TSH = <u>T</u>urbocharged & <u>S</u>upercharged Plug-in <u>H</u>ybrid <br> HP = High Pressure All-Electric models: *EJ = E400V1 '25 Polestar 3 RWD *EA = E400V30 '25 Polestar 3 AWD *EE = E400V11 '25 Polestar 3 AWD Performance *ED = E400V6 '21-'23 Polestar 2 AWD (long range) *EG = E400V9 '22-'23 Polestar 2 FWD (long range) *ET = E400V35 '23 Polestar 2 AWD (long range) w/Performance Pack, BST Edition 270, BST Edition 230 *FD = E400V26 '24 Polestar 2 AWD (long range) *FE = E400V20 '24 Polestar 2 RWD (long range) *FF = E400V36 '25 Polestar 2 AWD (long range) w/standard Performance Pack *FG = E400V36 '24 Polestar 2 AWD (long range) w/Performance Pack *PB = E400P02 '26- Polestar 4 RWD *PA = E400P01 '26- Polestar 4 AWD ==Position 6: Emissions Code/Version Divider== *0 = ULEV ('20-'21 Polestar 1) *3 = BEV (Polestar 2, Polestar 3, Polestar 4) ==Position 7: Vehicle Code== {| class="wikitable sortable" |+ ! !!'''[2020-]''' |- |'''Y'''||'20-'21 Polestar 1 |- |'''K'''||'21-'25 Polestar 2 |- |'''Y'''||'25-'26 Polestar 3 |- |'''A'''||'26 Polestar 4 |- |} ==Position 8: Trim Level, Safety Equipment, GVWR== *A = '21-'25 Polestar 2 *B = '25-'26 Polestar 3 *L = '20-'21 Polestar 1 *4 = '26 Polestar 4 Polestar 1 & Polestar 2 have 3-Point Seat Belts for all seats & Dual Front Air Bags & Seat-mounted Front Side Airbags & Inflatable Curtain Airbags For 1st and 2nd Rows and Driver's Knee Airbag.<br> Polestar 3 & Polestar 4 have 3-Point Seat Belts for all seats & Dual Front Air Bags & Seat-mounted Front Side Airbags (outboard-side) & Inflatable Curtain Airbags For 1st and 2nd Rows & Driver- and Passenger-side Knee Airbags & Front-row Inner-side airbags. Polestar 3 & Polestar 4 are GVWR: Class E (6001-7000 lbs.). ==Position 9: Check Digit/Gearbox== USA /Canada [[Vehicle Identification Numbers (VIN codes)/Check digit|Check digit]] ==Position 10: Year Model Code== ''See: [[Vehicle Identification Numbers (VIN codes)/Model year]]'' ==Position 11: Plant of Assembly Code== *B = [China] - Chengdu, Sichuan Province (PSCD - Polestar Chengdu Plant) *F = [China] - Hangzhou Bay, Zhejiang Province *G = [United States] Charleston Plant - Ridgeville, South Carolina (Volvo Car US Operations) *K = [South Korea] Renault Korea Pusan Plant - Pusan *L = [China] - Luqiao District, Taizhou, Zhejiang Province (Volvo AELQ plant) ==Position 12-17 - Production Sequence Number== {{BookCat}} sf2j7omgcrbpusa6h8b9rx1u0p5h7aa 4654480 4654479 2026-07-14T18:03:07Z JustTheFacts33 3434282 /* Position 4- 5: Engine or Motor Code */ 4654480 wikitext text/x-wiki {{Vehicle Identification Numbers (VIN codes)/Warning}}{{clear}} [[w:Polestar|Polestar]] uses the following [[w:Vehicle identification number|VIN]] codes and formats: This VIN number decoding and designation system is used primarily for the North American Market. European and Asian markets use other decoding and designation systems. This is for vehicles from the stand-alone Polestar brand, which began in the 2020 model year. For Polestar Edition or Polestar Engineered Volvo models, see the Volvo Cars VIN page: [[Vehicle Identification Numbers (VIN codes)/Volvo/VIN Codes]]. ==Position 1 - 3: World Manufacturer Identifier== *LPS = Passenger Cars made in China *YSM = Passenger Cars *YSR = Multipurpose Passenger Vehicle *7SY = Multipurpose Passenger Vehicle made in USA ==Position 4- 5: Engine or Motor Code== Vin Engine *BE = B4204T25/B4204TSH (HP) '20-'21 Polestar 1. (322 hp [gas] + 299 hp [electric]) Notes: <br> TSH = <u>T</u>urbocharged & <u>S</u>upercharged Plug-in <u>H</u>ybrid <br> HP = High Pressure All-Electric models: *EJ = E400V1 '25 Polestar 3 RWD *EA = E400V30 '25 Polestar 3 AWD *EE = E400V11 '25 Polestar 3 AWD Performance *ED = E400V6 '21-'23 Polestar 2 AWD (long range) *EG = E400V9 '22-'23 Polestar 2 FWD (long range) *ET = E400V35 '23 Polestar 2 AWD (long range) w/Performance Pack, BST Edition 270, BST Edition 230 *FD = E400V26 '24 Polestar 2 AWD (long range) *FE = E400V20 '24 Polestar 2 RWD (long range) *FF = E400V36 '25 Polestar 2 AWD (long range) w/standard Performance Pack *FG = E400V36 '24 Polestar 2 AWD (long range) w/Performance Pack *PB = E400P02 '26 Polestar 4 RWD *PA = E400P01 '26 Polestar 4 AWD ==Position 6: Emissions Code/Version Divider== *0 = ULEV ('20-'21 Polestar 1) *3 = BEV (Polestar 2, Polestar 3, Polestar 4) ==Position 7: Vehicle Code== {| class="wikitable sortable" |+ ! !!'''[2020-]''' |- |'''Y'''||'20-'21 Polestar 1 |- |'''K'''||'21-'25 Polestar 2 |- |'''Y'''||'25-'26 Polestar 3 |- |'''A'''||'26 Polestar 4 |- |} ==Position 8: Trim Level, Safety Equipment, GVWR== *A = '21-'25 Polestar 2 *B = '25-'26 Polestar 3 *L = '20-'21 Polestar 1 *4 = '26 Polestar 4 Polestar 1 & Polestar 2 have 3-Point Seat Belts for all seats & Dual Front Air Bags & Seat-mounted Front Side Airbags & Inflatable Curtain Airbags For 1st and 2nd Rows and Driver's Knee Airbag.<br> Polestar 3 & Polestar 4 have 3-Point Seat Belts for all seats & Dual Front Air Bags & Seat-mounted Front Side Airbags (outboard-side) & Inflatable Curtain Airbags For 1st and 2nd Rows & Driver- and Passenger-side Knee Airbags & Front-row Inner-side airbags. Polestar 3 & Polestar 4 are GVWR: Class E (6001-7000 lbs.). ==Position 9: Check Digit/Gearbox== USA /Canada [[Vehicle Identification Numbers (VIN codes)/Check digit|Check digit]] ==Position 10: Year Model Code== ''See: [[Vehicle Identification Numbers (VIN codes)/Model year]]'' ==Position 11: Plant of Assembly Code== *B = [China] - Chengdu, Sichuan Province (PSCD - Polestar Chengdu Plant) *F = [China] - Hangzhou Bay, Zhejiang Province *G = [United States] Charleston Plant - Ridgeville, South Carolina (Volvo Car US Operations) *K = [South Korea] Renault Korea Pusan Plant - Pusan *L = [China] - Luqiao District, Taizhou, Zhejiang Province (Volvo AELQ plant) ==Position 12-17 - Production Sequence Number== {{BookCat}} oznce3bb4nwp67bk8vf91qap257309h 4654481 4654480 2026-07-14T18:03:20Z JustTheFacts33 3434282 /* Position 7: Vehicle Code */ 4654481 wikitext text/x-wiki {{Vehicle Identification Numbers (VIN codes)/Warning}}{{clear}} [[w:Polestar|Polestar]] uses the following [[w:Vehicle identification number|VIN]] codes and formats: This VIN number decoding and designation system is used primarily for the North American Market. European and Asian markets use other decoding and designation systems. This is for vehicles from the stand-alone Polestar brand, which began in the 2020 model year. For Polestar Edition or Polestar Engineered Volvo models, see the Volvo Cars VIN page: [[Vehicle Identification Numbers (VIN codes)/Volvo/VIN Codes]]. ==Position 1 - 3: World Manufacturer Identifier== *LPS = Passenger Cars made in China *YSM = Passenger Cars *YSR = Multipurpose Passenger Vehicle *7SY = Multipurpose Passenger Vehicle made in USA ==Position 4- 5: Engine or Motor Code== Vin Engine *BE = B4204T25/B4204TSH (HP) '20-'21 Polestar 1. (322 hp [gas] + 299 hp [electric]) Notes: <br> TSH = <u>T</u>urbocharged & <u>S</u>upercharged Plug-in <u>H</u>ybrid <br> HP = High Pressure All-Electric models: *EJ = E400V1 '25 Polestar 3 RWD *EA = E400V30 '25 Polestar 3 AWD *EE = E400V11 '25 Polestar 3 AWD Performance *ED = E400V6 '21-'23 Polestar 2 AWD (long range) *EG = E400V9 '22-'23 Polestar 2 FWD (long range) *ET = E400V35 '23 Polestar 2 AWD (long range) w/Performance Pack, BST Edition 270, BST Edition 230 *FD = E400V26 '24 Polestar 2 AWD (long range) *FE = E400V20 '24 Polestar 2 RWD (long range) *FF = E400V36 '25 Polestar 2 AWD (long range) w/standard Performance Pack *FG = E400V36 '24 Polestar 2 AWD (long range) w/Performance Pack *PB = E400P02 '26 Polestar 4 RWD *PA = E400P01 '26 Polestar 4 AWD ==Position 6: Emissions Code/Version Divider== *0 = ULEV ('20-'21 Polestar 1) *3 = BEV (Polestar 2, Polestar 3, Polestar 4) ==Position 7: Vehicle Code== {| class="wikitable sortable" |+ ! !!'''[2020-]''' |- |'''Y'''||'20-'21 Polestar 1 |- |'''K'''||'21-'25 Polestar 2 |- |'''Y'''||'25 Polestar 3 |- |'''A'''||'26 Polestar 4 |- |} ==Position 8: Trim Level, Safety Equipment, GVWR== *A = '21-'25 Polestar 2 *B = '25-'26 Polestar 3 *L = '20-'21 Polestar 1 *4 = '26 Polestar 4 Polestar 1 & Polestar 2 have 3-Point Seat Belts for all seats & Dual Front Air Bags & Seat-mounted Front Side Airbags & Inflatable Curtain Airbags For 1st and 2nd Rows and Driver's Knee Airbag.<br> Polestar 3 & Polestar 4 have 3-Point Seat Belts for all seats & Dual Front Air Bags & Seat-mounted Front Side Airbags (outboard-side) & Inflatable Curtain Airbags For 1st and 2nd Rows & Driver- and Passenger-side Knee Airbags & Front-row Inner-side airbags. Polestar 3 & Polestar 4 are GVWR: Class E (6001-7000 lbs.). ==Position 9: Check Digit/Gearbox== USA /Canada [[Vehicle Identification Numbers (VIN codes)/Check digit|Check digit]] ==Position 10: Year Model Code== ''See: [[Vehicle Identification Numbers (VIN codes)/Model year]]'' ==Position 11: Plant of Assembly Code== *B = [China] - Chengdu, Sichuan Province (PSCD - Polestar Chengdu Plant) *F = [China] - Hangzhou Bay, Zhejiang Province *G = [United States] Charleston Plant - Ridgeville, South Carolina (Volvo Car US Operations) *K = [South Korea] Renault Korea Pusan Plant - Pusan *L = [China] - Luqiao District, Taizhou, Zhejiang Province (Volvo AELQ plant) ==Position 12-17 - Production Sequence Number== {{BookCat}} 8qve2p6pejthqhjjwix37y4ikr18zdy 4654482 4654481 2026-07-14T18:03:45Z JustTheFacts33 3434282 /* Position 8: Trim Level, Safety Equipment, GVWR */ 4654482 wikitext text/x-wiki {{Vehicle Identification Numbers (VIN codes)/Warning}}{{clear}} [[w:Polestar|Polestar]] uses the following [[w:Vehicle identification number|VIN]] codes and formats: This VIN number decoding and designation system is used primarily for the North American Market. European and Asian markets use other decoding and designation systems. This is for vehicles from the stand-alone Polestar brand, which began in the 2020 model year. For Polestar Edition or Polestar Engineered Volvo models, see the Volvo Cars VIN page: [[Vehicle Identification Numbers (VIN codes)/Volvo/VIN Codes]]. ==Position 1 - 3: World Manufacturer Identifier== *LPS = Passenger Cars made in China *YSM = Passenger Cars *YSR = Multipurpose Passenger Vehicle *7SY = Multipurpose Passenger Vehicle made in USA ==Position 4- 5: Engine or Motor Code== Vin Engine *BE = B4204T25/B4204TSH (HP) '20-'21 Polestar 1. (322 hp [gas] + 299 hp [electric]) Notes: <br> TSH = <u>T</u>urbocharged & <u>S</u>upercharged Plug-in <u>H</u>ybrid <br> HP = High Pressure All-Electric models: *EJ = E400V1 '25 Polestar 3 RWD *EA = E400V30 '25 Polestar 3 AWD *EE = E400V11 '25 Polestar 3 AWD Performance *ED = E400V6 '21-'23 Polestar 2 AWD (long range) *EG = E400V9 '22-'23 Polestar 2 FWD (long range) *ET = E400V35 '23 Polestar 2 AWD (long range) w/Performance Pack, BST Edition 270, BST Edition 230 *FD = E400V26 '24 Polestar 2 AWD (long range) *FE = E400V20 '24 Polestar 2 RWD (long range) *FF = E400V36 '25 Polestar 2 AWD (long range) w/standard Performance Pack *FG = E400V36 '24 Polestar 2 AWD (long range) w/Performance Pack *PB = E400P02 '26 Polestar 4 RWD *PA = E400P01 '26 Polestar 4 AWD ==Position 6: Emissions Code/Version Divider== *0 = ULEV ('20-'21 Polestar 1) *3 = BEV (Polestar 2, Polestar 3, Polestar 4) ==Position 7: Vehicle Code== {| class="wikitable sortable" |+ ! !!'''[2020-]''' |- |'''Y'''||'20-'21 Polestar 1 |- |'''K'''||'21-'25 Polestar 2 |- |'''Y'''||'25 Polestar 3 |- |'''A'''||'26 Polestar 4 |- |} ==Position 8: Trim Level, Safety Equipment, GVWR== *A = '21-'25 Polestar 2 *B = '25 Polestar 3 *L = '20-'21 Polestar 1 *4 = '26 Polestar 4 Polestar 1 & Polestar 2 have 3-Point Seat Belts for all seats & Dual Front Air Bags & Seat-mounted Front Side Airbags & Inflatable Curtain Airbags For 1st and 2nd Rows and Driver's Knee Airbag.<br> Polestar 3 & Polestar 4 have 3-Point Seat Belts for all seats & Dual Front Air Bags & Seat-mounted Front Side Airbags (outboard-side) & Inflatable Curtain Airbags For 1st and 2nd Rows & Driver- and Passenger-side Knee Airbags & Front-row Inner-side airbags. Polestar 3 & Polestar 4 are GVWR: Class E (6001-7000 lbs.). ==Position 9: Check Digit/Gearbox== USA /Canada [[Vehicle Identification Numbers (VIN codes)/Check digit|Check digit]] ==Position 10: Year Model Code== ''See: [[Vehicle Identification Numbers (VIN codes)/Model year]]'' ==Position 11: Plant of Assembly Code== *B = [China] - Chengdu, Sichuan Province (PSCD - Polestar Chengdu Plant) *F = [China] - Hangzhou Bay, Zhejiang Province *G = [United States] Charleston Plant - Ridgeville, South Carolina (Volvo Car US Operations) *K = [South Korea] Renault Korea Pusan Plant - Pusan *L = [China] - Luqiao District, Taizhou, Zhejiang Province (Volvo AELQ plant) ==Position 12-17 - Production Sequence Number== {{BookCat}} psxlq0th1zjv6ztui02tupst8u3cbqa Chess Opening Theory/1. e4/1...e5/2. Nf3/2...Nc6/3. Bc4/3...Bc5/4. d4/4...Nxd4/5. Nxe5/5...Qe7/6. Nxf7/6...d5/7. Bxd5/7...Nf6/8. Nxh8/8...Bg4/9. Bf7/9...Kf8/10. Qd3/10...Be2 0 474011 4654492 4504562 2026-07-14T21:38:31Z Greenman 7490 Rejected the last text change (by [[Special:Contributions/ArseniyRybasov|ArseniyRybasov]]) and restored revision 4487123 by ArseniyRybasov - not an improvement 4654492 wikitext text/x-wiki {{Chess Position|= |Rybasov Gambit| |rd| | | | |kd| |nl|= |pd|pd|pd| |qd|bl|pd|pd|= | | | | | |nd| | |= | | |bd| | | | | |= | | | |nd|pl| | | |= | | | |ql| | | | |= |pl|pl|pl| |bd|pl|pl|pl|= |rl|nl|bl| |kl| | |rl|= || }} = Rybasov Gambit = ==10. Be2== Black has attacked White's queen. If the queen goes to h3, Black would take the e4 pawn with their queen, if White's queen goes to e2, the e4 pawn would be captured by a knight. ==Theory table== {{Chess Opening Theory/Table}}. '''1.e4 e5 2.Nf3 Nc6 3.Bc4 Bc5 4.d4 Nxd4 5.Nxe5 Qe7 6. Nxf7 d5 7. Bxd5 Nf6 8. Nxh8 Bg4 9. Bf7+ Kf8 10. Qd3 Be2''' ==References== {{Chess Opening Theory/Footer}} au8lbabitcbf5hr5k2zsh39z5hilg8e Category:Treacle recipes 14 475232 4654430 4503671 2026-07-14T13:11:28Z MathXplore 3097823 Requesting deletion ([[:m:Special:MyLanguage/User:TenWhile6/XReport|XReport]] v3.1c) 4654430 wikitext text/x-wiki <noinclude>{{delete|1=Empty page. Broken redirect <small>[[:m:Special:MyLanguage/User:TenWhile6/XReport|XReport]]</small>}}</noinclude> #REDIRECT [[:Category:Recipes using treacle]] 9sym2vhmyncxbsz2trecka0wo3lcsf6 Category:Atama recipes 14 475422 4654429 4508178 2026-07-14T13:11:19Z MathXplore 3097823 Requesting deletion ([[:m:Special:MyLanguage/User:TenWhile6/XReport|XReport]] v3.1c) 4654429 wikitext text/x-wiki <noinclude>{{delete|1=Empty page. Broken redirect <small>[[:m:Special:MyLanguage/User:TenWhile6/XReport|XReport]]</small>}}</noinclude> #REDIRECT [[:Category:Recipes using atama]] jipx79ptja7xzrs80t9zre778ftseqs Chess Opening Theory/1. e4/1...c5/2. Nf3/2...d6/3. d4/3...cxd4/4. Nxd4/4...Nf6/5. Nc3/5...a6/6. Be3/6...e5/7. Nb3/7...Be6/8. f3 0 476706 4654493 4585523 2026-07-14T22:00:10Z Greenman 7490 /* Najdorf Sicilian, English Attack */ ce 4654493 wikitext text/x-wiki {{Chess Opening Theory/Position|= |Najdorf Sicilian, English Attack| |rd|nd| |qd|kd|bd| |rd|= | |pd| | | |pd|pd|pd|= |pd| | |pd|bd|nd| | |= | | | | |pd| | | |= | | | | |pl| | | |= | |nl|nl| |bl|pl| | |= |pl|pl|pl| | | |pl|pl|= |rl| | |ql|kl|bl| |rl|= || }} = Najdorf Sicilian, English Attack = f3 might look like a slight inaccuracy. After all, never move the f-pawn right? As it turns out, this is by far the best move for white. f3 achieves multiple things at once: ## Ng4, attempting to chop off the bishop, is now impossible. ## e4 is now supported by a pawn instead of a piece (That might come under pressure in the future!) ## If both sides castle on opposite sides, g4 and h4 are much easier to pull off. In addition, the slight weakness created along the diagonal cannot be exploited by Black. The queen will take a lot of time to mobilize, and after Qh4+ g3 ends the attack right in its tracks. Like most of the English Attack, this move is directly taken from the Yugoslav Attack. {{ChessMid}} ==References== {{reflist}} {{Wikipedia|Sicilian Defence, Najdorf Variation}} de Firmian, Nick. <u>Modern Chess Openings</u>, 15th Edition. New York, NY: Random House, 2008. {{Chess Opening Theory/Footer}} [[fi:Shakkiaapinen/Peli/1. e4/1...c5/2. Rf3/2...d6/3. d4/3...cxd4/4. Rxd4/4...Rf6/5. Rc3/5...a6/6. Be3]] jwwp7jdnti05garq4mjc63oudnuje8o Lancelot Andrewes's 'Orphan Lectures': The Exeter Manuscript 0 482471 4654460 4630679 2026-07-14T16:56:24Z SocialKnowledge 2678534 added direct links to facsimile images and thumbnails 4654460 wikitext text/x-wiki [[File:EMLS logo, higher resolution.jpg|500px|center]] <poem> <div style="text-align: center;"><small>P. G. Stanwood, Peter McCullough, Ray Siemens, and others. "Lancelot Andrewes's 'Orphan Lectures': The Exeter Manuscript". ''Early Modern Literary Studies'' Texts Series 2.</small></div> </poem> Lancelot Andrewes's “Orphan Lectures,” as presented here, reflects an important early seventeenth-century manuscript discovery. These lectures were first printed posthumously in 1657 as ''Apospasmatia Sacra'', but their reliability had long been uncertain, with doubts about whether they represent Andrewes’s own words or imperfect notes taken by listeners. Because of these uncertainties, they have often been excluded from the accepted body of his works and have received limited scholarly attention. The introduction situates the manuscript within its textual and historical context by comparing it with the seventeenth-century printed version and examining its scribal and structural features. It highlights the value of the manuscript for understanding the transmission of sermons, the relationship between spoken and written texts, and the broader practices of religious and intellectual culture in early modern England. ==Table of Contents== {{Book Search}} *[[Lancelot_Andrewes's_'Orphan_Lectures':_The_Exeter_Manuscript/Introduction | Introduction]] (P. G. Stanwood) *[[Lancelot_Andrewes's_'Orphan_Lectures':_The_Exeter_Manuscript/Bibliographical Descriptions | Bibliographical Descriptions]] (Peter McCullough): ''Lancelot Andrewes, Apospasmatia Sacra'' (1657) *[[c:Category:A Digital Facsimile of the Exeter Manuscript | ''A Digital Facsimile of the Newly-discovered Exeter Manuscript of Lancelot Andrewes'']] <small>(Ray Siemens, with Karin Armstrong, Gerry Watson, Mike Elkink, and Greg Newton)</small> **Thumbnails in Wikimedia Commons (282 thumbnails, JPG) **High-resolution Facsimile Images (282 page images, TIFF) **[[github:etcluvic/emls-lancelot-andrewes|Archived material (via GitHub)]] *''[https://ota.bodleian.ox.ac.uk/repository/xmlui/handle/20.500.12024/A25383 Apospasmatia sacra, or, A collection of posthumous and orphan lectures]'' (An external link to the EEBO 1657 text, Wing / A3125) *'''Transcriptions''' (P. G. Stanwood) **[[Lancelot_Andrewes's_'Orphan_Lectures':_The_Exeter_Manuscript/On the Transcriptions | On the Transcriptions]] **[[Lancelot_Andrewes's_'Orphan_Lectures':_The_Exeter_Manuscript/Selection 1 | Selection 1]] The lecture on Revelation 2.7 (Notes by Peter McCullough) **[[Lancelot_Andrewes's_'Orphan_Lectures':_The_Exeter_Manuscript/Selection 2 | Selection 2]] 1. Gen. 11. **[[Lancelot_Andrewes's_'Orphan_Lectures':_The_Exeter_Manuscript/Selection 3 | Selection 3]] Gen. 3.16. ==See also== *[[Essays in Early Modern Literary Studies, 1995-2000]] {{shelves|Humanities}} tjshxz17ws71mbz51g2gmnxiki2rr20 4654461 4654460 2026-07-14T16:58:32Z LodestarChariot2 3138880 /* Table of Contents */ 4654461 wikitext text/x-wiki [[File:EMLS logo, higher resolution.jpg|500px|center]] <poem> <div style="text-align: center;"><small>P. G. Stanwood, Peter McCullough, Ray Siemens, and others. "Lancelot Andrewes's 'Orphan Lectures': The Exeter Manuscript". ''Early Modern Literary Studies'' Texts Series 2.</small></div> </poem> Lancelot Andrewes's “Orphan Lectures,” as presented here, reflects an important early seventeenth-century manuscript discovery. These lectures were first printed posthumously in 1657 as ''Apospasmatia Sacra'', but their reliability had long been uncertain, with doubts about whether they represent Andrewes’s own words or imperfect notes taken by listeners. Because of these uncertainties, they have often been excluded from the accepted body of his works and have received limited scholarly attention. The introduction situates the manuscript within its textual and historical context by comparing it with the seventeenth-century printed version and examining its scribal and structural features. It highlights the value of the manuscript for understanding the transmission of sermons, the relationship between spoken and written texts, and the broader practices of religious and intellectual culture in early modern England. ==Table of Contents== {{Book Search}} *[[Lancelot_Andrewes's_'Orphan_Lectures':_The_Exeter_Manuscript/Introduction | Introduction]] (P. G. Stanwood) *[[Lancelot_Andrewes's_'Orphan_Lectures':_The_Exeter_Manuscript/Bibliographical Descriptions | Bibliographical Descriptions]] (Peter McCullough): ''Lancelot Andrewes, Apospasmatia Sacra'' (1657) *''A Digital Facsimile of the Newly-discovered Exeter Manuscript of Lancelot Andrewes'' <small>(Ray Siemens, with Karin Armstrong, Gerry Watson, Mike Elkink, and Greg Newton)</small> **[[c:Category:A Digital Facsimile of the Exeter Manuscript | Thumbnails in Wikimedia Commons]] (282 thumbnails, JPG) **[[c:Category:High-resolution TIFF images from the Exeter Manuscript | High-resolution Facsimile Images]] (282 page images, TIFF) **[[github:etcluvic/emls-lancelot-andrewes|Archived material (via GitHub)]] *''[https://ota.bodleian.ox.ac.uk/repository/xmlui/handle/20.500.12024/A25383 Apospasmatia sacra, or, A collection of posthumous and orphan lectures]'' (An external link to the EEBO 1657 text, Wing / A3125) *'''Transcriptions''' (P. G. Stanwood) **[[Lancelot_Andrewes's_'Orphan_Lectures':_The_Exeter_Manuscript/On the Transcriptions | On the Transcriptions]] **[[Lancelot_Andrewes's_'Orphan_Lectures':_The_Exeter_Manuscript/Selection 1 | Selection 1]] The lecture on Revelation 2.7 (Notes by Peter McCullough) **[[Lancelot_Andrewes's_'Orphan_Lectures':_The_Exeter_Manuscript/Selection 2 | Selection 2]] 1. Gen. 11. **[[Lancelot_Andrewes's_'Orphan_Lectures':_The_Exeter_Manuscript/Selection 3 | Selection 3]] Gen. 3.16. ==See also== *[[Essays in Early Modern Literary Studies, 1995-2000]] {{shelves|Humanities}} e1otrt2je3p9dgraupnobsa6remhi8q 4654462 4654461 2026-07-14T17:00:00Z SocialKnowledge 2678534 update reference 4654462 wikitext text/x-wiki [[File:EMLS logo, higher resolution.jpg|500px|center]] <poem> <div style="text-align: center;"><small>P. G. Stanwood, Peter McCullough, Ray Siemens, and others. "Lancelot Andrewes's 'Orphan Lectures': The Exeter Manuscript". ''Early Modern Literary Studies'' Texts Series 2.</small></div> </poem> Lancelot Andrewes's “Orphan Lectures,” as presented here, reflects an important early seventeenth-century manuscript discovery. These lectures were first printed posthumously in 1657 as ''Apospasmatia Sacra'', but their reliability had long been uncertain, with doubts about whether they represent Andrewes’s own words or imperfect notes taken by listeners. Because of these uncertainties, they have often been excluded from the accepted body of his works and have received limited scholarly attention. The introduction situates the manuscript within its textual and historical context by comparing it with the seventeenth-century printed version and examining its scribal and structural features. It highlights the value of the manuscript for understanding the transmission of sermons, the relationship between spoken and written texts, and the broader practices of religious and intellectual culture in early modern England. ==Table of Contents== {{Book Search}} *[[Lancelot_Andrewes's_'Orphan_Lectures':_The_Exeter_Manuscript/Introduction | Introduction]] (P. G. Stanwood) *[[Lancelot_Andrewes's_'Orphan_Lectures':_The_Exeter_Manuscript/Bibliographical Descriptions | Bibliographical Descriptions]] (Peter McCullough): ''Lancelot Andrewes, Apospasmatia Sacra'' (1657) *''A Digital Facsimile of the Newly-discovered Exeter Manuscript of Lancelot Andrewes'' <small>(Ray Siemens, with Karin Armstrong, Gerry Watson, Mike Elkink, and Greg Newton)</small> **[[c:Category:A Digital Facsimile of the Exeter Manuscript | Thumbnails in Wikimedia Commons]] (282 thumbnails, JPG) **[[c:Category:High-resolution TIFF images from the Exeter Manuscript | High-resolution Facsimile Images in Wikimedia Commons]] (282 page images, TIFF) **[[github:etcluvic/emls-lancelot-andrewes|Archived material (via GitHub)]] *''[https://ota.bodleian.ox.ac.uk/repository/xmlui/handle/20.500.12024/A25383 Apospasmatia sacra, or, A collection of posthumous and orphan lectures]'' (An external link to the EEBO 1657 text, Wing / A3125) *'''Transcriptions''' (P. G. Stanwood) **[[Lancelot_Andrewes's_'Orphan_Lectures':_The_Exeter_Manuscript/On the Transcriptions | On the Transcriptions]] **[[Lancelot_Andrewes's_'Orphan_Lectures':_The_Exeter_Manuscript/Selection 1 | Selection 1]] The lecture on Revelation 2.7 (Notes by Peter McCullough) **[[Lancelot_Andrewes's_'Orphan_Lectures':_The_Exeter_Manuscript/Selection 2 | Selection 2]] 1. Gen. 11. **[[Lancelot_Andrewes's_'Orphan_Lectures':_The_Exeter_Manuscript/Selection 3 | Selection 3]] Gen. 3.16. ==See also== *[[Essays in Early Modern Literary Studies, 1995-2000]] {{shelves|Humanities}} quhwsuoretztbg0qzutbgpj7ffs96en Wikijunior:African Animal Alphabet 110 482969 4654442 4633295 2026-07-14T14:51:50Z Codename Noreste 3441010 Set edit review settings for "Wikijunior:African Animal Alphabet": Wikijunior page [Default: Stable] 4633295 wikitext text/x-wiki [[File:Africa satellite orthographic.jpg|center|600px]] <div style="font-size: xx-large; text-align: center; margin: 0px auto 0px auto;">'''Wikijunior African Animal Alphabet'''</div> <noinclude> <div style="font-size: large; text-align: center; margin: 0px auto 0px auto;"> -- [[/A/]] [[/B/]] [[/C/]] [[/D/]] [[/E/]] [[/F/]] [[/G/]] [[/H/]] [[/I/]] [[/J/]] [[/K/]] [[/L/]] [[/M/]] [[/N/]] [[/O/]] [[/P/]] [[/Q/]] [[/R/]] [[/S/]] [[/T/]] [[/U/]] [[/V/]] [[/W/]] [[/X/]] [[/Y/]] [[/Z/]] -- </div> </noinclude> {{Shelves|Wikijunior pre-reader books}}{{Status|100%}} <noinclude> {{reading level|Pre-reader}} </noinclude> {{Print version|Wikijunior:African_Animal_Alphabet/All pages}} 3feuy2kkur7gtqumuijzqzbq9e6e46v Wikijunior:African Animal Alphabet/A 110 482970 4654444 4654087 2026-07-14T14:56:16Z Codename Noreste 3441010 Set edit review settings for "Wikijunior:African Animal Alphabet/A": Wikijunior page [Default: Stable] 4654087 wikitext text/x-wiki <div style="text-align: center; font-size: 400%;">'''A''' is for '''A'''ardvark</div> [[File:Orycteropus afer afer 78448701.jpg|500px|center]] [[Category:Book:Wikijunior:African Animal Alphabet]] 8zxgglldrqbjuzo8rcyw7makpe28jk4 Wikijunior:African Animal Alphabet/B 110 482971 4654445 4654091 2026-07-14T14:56:56Z Codename Noreste 3441010 Set edit review settings for "Wikijunior:African Animal Alphabet/B": Wikijunior page [Default: Stable] 4654091 wikitext text/x-wiki <div style="text-align: center; font-size: 400%;">'''B''' is for '''B'''aboon</div> [[File:Hamadryas baboon (Papio hamadryas) female.jpg|500px|center]] [[Category:Book:Wikijunior:African Animal Alphabet]] colfoiamg9rr6aavkx80wx6mjhshxtl Wikijunior:African Animal Alphabet/C 110 482972 4654447 4654092 2026-07-14T15:15:22Z Codename Noreste 3441010 Set edit review settings for "Wikijunior:African Animal Alphabet/C": Wikijunior page [Default: Stable] 4654092 wikitext text/x-wiki <div style="text-align: center; font-size: 400%;">'''C''' is for '''C'''heetah</div> [[File:Cheetah Umfolozi SouthAfrica MWegmann.jpg|500px|center]] [[Category:Book:Wikijunior:African Animal Alphabet]] 7rxm2i0vbk7fg993jqy270jd4dvcy9c Wikijunior:African Animal Alphabet/D 110 482973 4654448 4654093 2026-07-14T15:15:48Z Codename Noreste 3441010 Set edit review settings for "Wikijunior:African Animal Alphabet/D": Wikijunior page [Default: Stable] 4654093 wikitext text/x-wiki <div style="text-align: center; font-size: 400%;">'''D''' is for '''D'''uck</div> [[File:Water reflection of a domestic duck in a pond at golden hour in Don Det Laos - side view.jpg|500px|center]] [[Category:Book:Wikijunior:African Animal Alphabet]] fuylta0cjf4zge95iwumr6vewkvvnv0 Wikijunior:African Animal Alphabet/E 110 482974 4654449 4654094 2026-07-14T15:17:44Z Codename Noreste 3441010 Set edit review settings for "Wikijunior:African Animal Alphabet/E": Wikijunior page [Default: Stable] 4654094 wikitext text/x-wiki <div style="text-align: center; font-size: 400%;">'''E''' is for '''E'''lephant</div> [[File:African bush elephant (Loxodonta africana) male Kruger.jpg|500px|center]] [[Category:Book:Wikijunior:African Animal Alphabet]] 99kft2x25xzrcwo1mjsfemjs8cz93tb Taking Bearings: Artificial Intelligence in Knowledge Platforms and Open, Social Scholarship 0 483327 4654499 4638410 2026-07-14T22:44:17Z CorreiaA 3614427 /* Essential Contexts */ 4654499 wikitext text/x-wiki <div align="center"><big>'''Faraz Forghan Parast, Kyle Dase, Thomas Sherriff, Tahmineh Farnoud, Alan Colin Arce, Brittany Amell, Graham Jensen, Tim Sobie, and Ray Siemens, with the Implementing New Knowledge Environments (INKE) and Electronic Textual Cultures Lab (ETCL) Research Groups'''</big></div> ==Table of Contents== [[File:YutongLiu-KingstonSchool of Art Talkingto AI-2560x3620.jpg|frameless|250px|right]] {{Book Search}} ===[[Taking Bearings: Artificial Intelligence in Knowledge Platforms and Open, Social Scholarship/Essential Ideas | Essential Ideas]]=== *[[Taking Bearings: Artificial Intelligence in Knowledge Platforms and Open, Social Scholarship/Essential Ideas#Executive Summary: A Snapshot of this Work | Executive Summary]] *[[Taking Bearings: Artificial Intelligence in Knowledge Platforms and Open, Social Scholarship/Essential Ideas#Summative Overview: A More Detailed Snapshot | Summative Overview]] *[[Taking Bearings: Artificial Intelligence in Knowledge Platforms and Open, Social Scholarship/Essential Ideas#Recommendations: Summarized the from the Analytical Overview | Recommendations]] ===[[Taking Bearings: Artificial Intelligence in Knowledge Platforms and Open, Social Scholarship/Introduction |Introduction: A Detailed Analytical Overview]]=== *[[Taking Bearings: Artificial Intelligence in Knowledge Platforms and Open, Social Scholarship/Introduction#Mapping the Terrain | Mapping the Terrain]] *[[Taking Bearings: Artificial Intelligence in Knowledge Platforms and Open, Social Scholarship/Introduction#Four Cross-Cutting Tensions | Four Cross-Cutting Tensions]] *[[Taking Bearings: Artificial Intelligence in Knowledge Platforms and Open, Social Scholarship/Introduction#Fundamentals and Ideologies of AI | Fundamentals and Ideologies of AI]] *[[Taking Bearings: Artificial Intelligence in Knowledge Platforms and Open, Social Scholarship/Introduction#Geographic Diversity in AI Imaginaries | Geographic Diversity in AI Imaginaries]] *[[Taking Bearings: Artificial Intelligence in Knowledge Platforms and Open, Social Scholarship/Introduction#Knowledge Foundations | Knowledge Foundations]] *[[Taking Bearings: Artificial Intelligence in Knowledge Platforms and Open, Social Scholarship/Introduction#Open Social Scholarship Principles | Open Social Scholarship Principles]] *[[Taking Bearings: Artificial Intelligence in Knowledge Platforms and Open, Social Scholarship/Introduction#AI and Open | AI and “Open”]] *[[Taking Bearings: Artificial Intelligence in Knowledge Platforms and Open, Social Scholarship/Introduction#AI and Social | AI and “Social”]] *[[Taking Bearings: Artificial Intelligence in Knowledge Platforms and Open, Social Scholarship/Introduction#AI and Scholarship | AI and “Scholarship”]] *[[Taking Bearings: Artificial Intelligence in Knowledge Platforms and Open, Social Scholarship/Introduction#Audiences and Differential Impacts | Audiences and Differential Impacts]] *[[Taking Bearings: Artificial Intelligence in Knowledge Platforms and Open, Social Scholarship/Introduction#Phenomena, Relations, and Ongoing Inquiry | Phenomena, Relations, and Ongoing Inquiry]] *[[Taking Bearings: Artificial Intelligence in Knowledge Platforms and Open, Social Scholarship/Introduction#Conceptual Mapping | Conceptual Mapping]] *[[Taking Bearings: Artificial Intelligence in Knowledge Platforms and Open, Social Scholarship/Introduction#Focused Areas for Further Intervention | Focused Areas for Further Intervention]] ===[[Taking Bearings: Artificial Intelligence in Knowledge Platforms and Open, Social Scholarship/Essential Contexts | Essential Contexts]]=== *[[Taking Bearings: Artificial Intelligence in Knowledge Platforms and Open, Social Scholarship/Essential Contexts#Histories and Theories of AI | Histories and Theories of AI]] *[[Taking Bearings: Artificial Intelligence in Knowledge Platforms and Open, Social Scholarship/Essential Contexts#Past Relation to OSS-Aligned Communities | Past Relation to OSS-Aligned Communities]] *[[Taking Bearings: Artificial Intelligence in Knowledge Platforms and Open, Social Scholarship/Essential Contexts#Bias and Technological Determinism | Bias and Technological Determinism]] *[[Taking Bearings: Artificial Intelligence in Knowledge Platforms and Open, Social Scholarship/Essential Contexts#Knowledge Foundations | Knowledge Foundations]] *[[Taking Bearings: Artificial Intelligence in Knowledge Platforms and Open, Social Scholarship/Essential Contexts#Open Social Scholarship | Open Social Scholarship]] ===[[Taking Bearings: Artificial Intelligence in Knowledge Platforms and Open, Social Scholarship/AI and Open | AI and “Open”]]=== *[[Taking Bearings: Artificial Intelligence in Knowledge Platforms and Open, Social Scholarship/AI and Open#Open Access | Open Access]] *[[Taking Bearings: Artificial Intelligence in Knowledge Platforms and Open, Social Scholarship/AI and Open#Open Data | Open Data]] *[[Taking Bearings: Artificial Intelligence in Knowledge Platforms and Open, Social Scholarship/AI and Open#Open Source | Open Source]] *[[Taking Bearings: Artificial Intelligence in Knowledge Platforms and Open, Social Scholarship/AI and Open#Open Science | Open Science]] ===[[Taking Bearings: Artificial Intelligence in Knowledge Platforms and Open, Social Scholarship/AI and Social | AI and “Social”]]=== *[[Taking Bearings: Artificial Intelligence in Knowledge Platforms and Open, Social Scholarship/AI and Social#Platforms | Platforms]] *[[Taking Bearings: Artificial Intelligence in Knowledge Platforms and Open, Social Scholarship/AI and Social#Governance, Leadership, and Policy | Governance, Leadership, and Policy]] *[[Taking Bearings: Artificial Intelligence in Knowledge Platforms and Open, Social Scholarship/AI and Social#Critical Literacies | Critical Literacies]] *[[Taking Bearings: Artificial Intelligence in Knowledge Platforms and Open, Social Scholarship/AI and Social#Globalism, Colonialism and Influence | Globalism, Colonialism, and Influence]] *[[Taking Bearings: Artificial Intelligence in Knowledge Platforms and Open, Social Scholarship/AI and Social#Diversity, Determinism, Bias and Justice | Diversity, Determinism, Bias, and Justice]] *[[Taking Bearings: Artificial Intelligence in Knowledge Platforms and Open, Social Scholarship/AI and Social#Community, Connection and the Human | Community, Connection, and the Human]] *[[Taking Bearings: Artificial Intelligence in Knowledge Platforms and Open, Social Scholarship/AI and Social#Human, Labour and Environmental Costs | Human, Labour, and Environmental Costs]] ===[[Taking Bearings: Artificial Intelligence in Knowledge Platforms and Open, Social Scholarship/AI and Scholarship | AI and “Scholarship”]]=== *[[Taking Bearings: Artificial Intelligence in Knowledge Platforms and Open, Social Scholarship/AI and Scholarship#Research Methods and Practices | Research Methods and Practices]] *[[Taking Bearings: Artificial Intelligence in Knowledge Platforms and Open, Social Scholarship/AI and Scholarship#Forms of Research Output | Forms of Research Output]] *[[Taking Bearings: Artificial Intelligence in Knowledge Platforms and Open, Social Scholarship/AI and Scholarship#Teaching and Pedagogy | Teaching and Pedagogy]] *[[Taking Bearings: Artificial Intelligence in Knowledge Platforms and Open, Social Scholarship/AI and Scholarship#Service and Peer Review | Service and Peer Review]] *[[Taking Bearings: Artificial Intelligence in Knowledge Platforms and Open, Social Scholarship/AI and Scholarship#AI and Scholarship Infrastructures | AI and Scholarship Infrastructures]] **[[Taking Bearings: Artificial Intelligence in Knowledge Platforms and Open, Social Scholarship/AI and Scholarship#Organizational Infrastructures | Organizational Infrastructures]] **[[Taking Bearings: Artificial Intelligence in Knowledge Platforms and Open, Social Scholarship/AI and Scholarship#Publishing, Communication, Engagement Infrastructures | Publishing, Communication, Engagement Infrastructures]] **[[Taking Bearings: Artificial Intelligence in Knowledge Platforms and Open, Social Scholarship/AI and Scholarship#Accountability-related Infrastructures | Accountability-Related Infrastructures]] *[[Taking Bearings: Artificial Intelligence in Knowledge Platforms and Open, Social Scholarship/AI and Scholarship#Audience | Audience]] ===[[Taking Bearings: Artificial Intelligence in Knowledge Platforms and Open, Social Scholarship/Complete Alphabetical List of References | Complete Alphabetical List of References]]=== {{shelves|Humanities}} d50s913s5of4lrnr2g8su0a39n5l4ns Taking Bearings: Artificial Intelligence in Knowledge Platforms and Open, Social Scholarship/Essential Ideas 0 483348 4654501 4637977 2026-07-14T22:53:45Z CorreiaA 3614427 4654501 wikitext text/x-wiki == Executive Summary: A Snapshot of This Work == ''Taking Bearings: Artificial Intelligence in Knowledge Platforms and Open, Social Scholarship'' is an environmental scan of how AI is reshaping the infrastructures, practices, and institutions through which knowledge is produced, circulated, evaluated, and preserved. Drawing on more than one hundred and fifty sources and informed by earlier work on the theoretical foundations of open, social scholarship, it examines AI across three linked domains—the open, the social, and scholarship—and identifies four recurring tensions around authority, enclosure, capacity, and process. Together, these tensions show that AI is already affecting research, publishing, pedagogy, governance, and public knowledge exchange in ways that demand careful institutional response. The recommendations that follow highlight six areas where organizations can strengthen governance, protect scholarly integrity, and support more accountable and equitable engagement with AI. == Summative Overview: A More Detailed Snapshot == For organizations and communities engaged in scholarly publishing, research infrastructure, library services, and public knowledge exchange, the rapid integration of artificial intelligence presents both immediate practical challenges and deep structural questions. This volume, ''Taking Bearings: Artificial Intelligence in Knowledge Platforms and Open, Social Scholarship'', synthesizes over one hundred and fifty sources to map this shifting terrain. Grounded in the principles of open, social scholarship, it is intended to clarify what is at stake in the current moment and to support informed, principled institutional responses. The scan proceeds from a foundational observation: AI emerges from a broad, heterogeneous data ecology where scholarly knowledge holds a distinctive, perhaps disproportionately authoritative place. Generative AI and large language models models have been built from vast mixtures of web text, books, code, media, platform content, cultural materials and other data sources; within that mixture, open scholarship, research data, metadata, citation networks, software, and institutional knowledge infrastructures help supply forms of credibility, structure, and epistemic authority that exceed their share by volume. The relationship between AI and scholarship is therefore fundamentally recursive, not because scholarship alone produced AI, but because AI systems increasingly draw upon, reorganize, and feed back into the same knowledge systems through which scholarship is discovered, evaluated, circulated, and trusted. To map the practical implications of this shift, the scan unpacks the framework of open, social scholarship into its three constituent elements: openness, social engagement, and scholarly practice. Within each area, it examines how AI is changing existing workflows and raising new questions. Looking first at the open, the scan addresses open access, open data, open source, and open science—tracing how AI both depends on and threatens the principles of openness that have shaped scholarly communication over the past two decades. Turning to the social dimensions of this work, it examines platform governance, algorithmic moderation, critical literacies, and questions of coloniality, diversity, and justice—areas where AI's social consequences are most visible and most contested. Finally, regarding scholarship as a formal practice, it addresses research infrastructure, peer review, pedagogy, metadata, and the governance of knowledge institutions—where AI is most rapidly being integrated into professional life. Across all these three domains, four tensions recur with enough consistency to function as the scan's central analytic frame: '''Operational assistance vs. epistemic authority''': While AI can reduce friction in many workflows, it raises fundamental concerns about where judgement, accountability, and interpretive responsibility should reside. '''Openness vs. enclosure''': The open infrastructure that has supported equitable access to knowledge is being absorbed into commercial AI systems in ways that may foreclose openness rather than extend it. '''Technical capability vs. organizational capacity''': The pace of AI development consistently outstrips the ability of institutions to evaluate, govern, and respond thoughtfully. '''Efficiency vs. process''': Although AI accelerates tasks, scholarly knowledge earns its credibility through deliberate, iterative processes of review and community validation that efficiency-oriented tools may erode. These tensions resist neat resolution. What they mark, instead, are sites of genuine institutional choice—places where the decisions organizations make about adoption, governance, disclosure, and investment will have lasting consequences for how knowledge is produced, who benefits from it, and whether its production remains accountable to the communities it serves. The following recommendations translate these findings into six areas where institutional attention is most needed. They are offered as points of orientation rather than prescriptions, in recognition that organizations differ in mission, scale, and resources. The analytical introduction that follows the recommendations provides the conceptual frameworks and intersectional analysis that underpin them. The annotated bibliography, organized by domain and sub-domain, provides the evidentiary foundation in the form of a structured guide to the literature for who wish to engage with specific areas in depth. == Recommendations: Summarized the from the Analytical Overview == Building from the Executive Summary and Summative Overview, these recommendations serve as practical points of orientation for organizations and communities working to align AI adoption, refusal, adaptation and design with the principles of open, social scholarship: :'''1. Establish collaborative and iterative AI governance'''. AI adoption is fundamentally an organizational and ethical issue, not only a technical one. Decisions about these tools directly affect scholarly labour, institutional atuhority, access, and trust. Partner organizations should build governance models that draw on both technical and scholarly expertise. Because the technology shifts rapidly, policies and review structures must be designed for continuous evaluation rather than single-point approval. Governance should include explicit procedures for revisiting the boundary between operational assistance and epistemic authority as capabilities, risks, and disciplinary practices change. :'''2. Preserve human responsibility in scholarly judgement'''. A central tension identified in this volume is the distinction between operational assistance and epistemic authority. That distinction is necessary, but it is not fixed. AI can support routine tasks, and some tasks that once required subtantial expert attention may become increasingly operationalized. Yet the critical judgement required to establish scholarly validity and exercise pedagogical care remains a strictly human responsibility, especially wherever decisions carry intellectual, professional or public consequences. Institutions should clearly define the limits of appropriate AI use in contexts such as peer review, editorial assessment, pedagogical evaluation, and research interpretation, while also creating mechanisms for revising those limits as practices evolve. :'''3. Require transparency in AI-mediated workflows'''. Where AI is used in knowledge production and scholarship, its role must be made visible. The credibility of scholarly and public knowledge depends in part on clear provenance and process, and identifiable responsibility. Organizations should support disclosure standards that make AI use legible without reducing complex workflows to simplistic declarations, and should pair disclosure norms with provenance infrastructure such as persistent identifiers, content credentials, verifiable metadata, version histories, and workflow documentation. Maintaining epistemic integrity requires treating transparency as a basic requirement of scholarly communication. :'''4. Invest in human capacity and critical literacy'''. The scan repeatedly demonstrates that the primary challenge facing institutions is ensuring their communities are equipped to evaluate and use AI responsibly, regardless of what tools are available. This requires investment in staff development, pedagogical resources, and the kinds of critical literacy that help scholars and students interpret AI outputs, assess their limits, and recognize how these systems shape knowledge practices. Institutions differ widely in size, missions, and resources, and approaches to AI must be responsive to that unevenness. Capacity-building is therefore one of the preconditions for responsible engagement. :'''5. Protect and steward open knowledge from extractive enclosure'''. Contemporary AI systems rely heavily on the scholarly commons and the unpaid labour of knowledge communities, even as the benefits of these systems are often unevenly distributed. Organizations committed to open, social scholarship should actively resist the ways AI may enclose, concentrate power, or extract value from shared resources without meaningful forms of reciprocity. Governance frameworks must therefore prioritize equitable benefit-sharing alongside licensing, consent, attribution, provenance and machine-readable terms of use. Responsible participation in AI ecosystems requires attention to the conditions under which tools operate and the interests they serve, as much as to their capabilities. :'''6. Build inclusive processes for ongoing evaluation and response'''. The technological landscape is shifting rapidly, and no single framework remains adequate for long. Institutions need mechanisms for periodic reassessment, community consultation, and iterative revision in response to the new domains and effects of changing technologies. Particular attention should be paid to whose perspectives are included in such processes, especially across differences of language, geography, discipline, institutional position, and ability. The issues identified here—including disclosure, hallucination, metadata generation, peer review, ethics, and infrastructure—point toward the need for sustained, focused follow-up work rather than one-time resolution. Promising areas for shorter, targeted interventions included AI-mediated scholarly discovery, provenance and content-credential infrastructure, community-built or purpose-specific models, integrity threats such as paper mills and synthetic citations, AI in hiring, promotion, grants, and fellowships, AI and open licensing, and AI's effects on open scholarly infrastructure. {{Navigation|next=Introduction}} {{BookCat}} gd22t9uybmb9frwd8yf205gw84r50fn Wikibooks:Reading room/Administrative Assistance/Archives/2026/June 4 483978 4654527 4654385 2026-07-15T08:10:30Z ArchiverBot 1227662 Bot: Archiving 1 thread from [[Wikibooks:Reading room/Administrative Assistance]] 4654527 wikitext text/x-wiki {{talk archive}} == GSTFILLING reported by MathXplore == * {{userlinks|GSTFILLING}} Spam <!-- USERREPORTED:/GSTFILLING/ --> [[User:MathXplore|MathXplore]] ([[User talk:MathXplore|discuss]] • [[Special:Contributions/MathXplore|contribs]]) 12:29, 5 June 2026 (UTC) :{{done}} —[[User:Atcovi|Atcovi]] [[User talk:Atcovi|(Talk]] - [[Special:Contributions/Atcovi|Contribs)]] 12:45, 5 June 2026 (UTC) == ~2026-29002-30 reported by MathXplore == * {{userlinks|~2026-29002-30}} Abusing multiple accounts: [[Special:Contributions/Babywacko]] <!-- USERREPORTED:/~2026-29002-30/ --> [[User:MathXplore|MathXplore]] ([[User talk:MathXplore|discuss]] • [[Special:Contributions/MathXplore|contribs]]) 12:20, 9 June 2026 (UTC) : {{done}}. [[User:Codename Noreste|<span style="color:#0024FF">Codename Noreste</span>]] ([[User talk:Codename Noreste|discuss]] • [[Special:Contributions/Codename Noreste|contribs]]) 15:42, 9 June 2026 (UTC) == ShaneWarne1 reported by MathXplore == * {{userlinks|ShaneWarne1}} Spam <!-- USERREPORTED:/ShaneWarne1/ --> [[User:MathXplore|MathXplore]] ([[User talk:MathXplore|discuss]] • [[Special:Contributions/MathXplore|contribs]]) 12:45, 11 June 2026 (UTC) : Globally locked by M7. [[User:Codename Noreste|<span style="color:#0024FF">Codename Noreste</span>]] ([[User talk:Codename Noreste|discuss]] • [[Special:Contributions/Codename Noreste|contribs]]) 22:12, 11 June 2026 (UTC) == Nsysgroup reported by MathXplore == * {{userlinks|Nsysgroup}} Spam <!-- USERREPORTED:/Nsysgroup/ --> [[User:MathXplore|MathXplore]] ([[User talk:MathXplore|discuss]] • [[Special:Contributions/MathXplore|contribs]]) 13:36, 11 June 2026 (UTC) :{{done}} by [[User:Codename Noreste|Codename Noreste]] —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 00:21, 13 June 2026 (UTC) == "Smithjack123" reported by MathXplore == * {{userlinks|"Smithjack123"}} Spam <!-- USERREPORTED:/"Smithjack123"/ --> [[User:MathXplore|MathXplore]] ([[User talk:MathXplore|discuss]] • [[Special:Contributions/MathXplore|contribs]]) 12:25, 15 June 2026 (UTC) : {{done}}. [[User:Codename Noreste|<span style="color:#0024FF">Codename Noreste</span>]] ([[User talk:Codename Noreste|discuss]] • [[Special:Contributions/Codename Noreste|contribs]]) 15:02, 15 June 2026 (UTC) == RS-Top SEO Services reported by MathXplore == * {{userlinks|RS-Top SEO Services}} Spam <!-- USERREPORTED:/RS-Top SEO Services/ --> [[User:MathXplore|MathXplore]] ([[User talk:MathXplore|discuss]] • [[Special:Contributions/MathXplore|contribs]]) 13:15, 17 June 2026 (UTC) :{{done}} —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 13:30, 17 June 2026 (UTC) == Acemq7 reported by MathXplore == * {{userlinks|Acemq7}} Spam <!-- USERREPORTED:/Acemq7/ --> [[User:MathXplore|MathXplore]] ([[User talk:MathXplore|discuss]] • [[Special:Contributions/MathXplore|contribs]]) 22:27, 17 June 2026 (UTC) : {{done}}. [[User:Codename Noreste|<span style="color:#0024FF">Codename Noreste</span>]] ([[User talk:Codename Noreste|discuss]] • [[Special:Contributions/Codename Noreste|contribs]]) 00:03, 18 June 2026 (UTC) == Hcrobotics2026 reported by MathXplore == * {{userlinks|Hcrobotics2026}} Link spam, [[Special:AbuseLog/312962]] <!-- USERREPORTED:/Hcrobotics2026/ --> [[User:MathXplore|MathXplore]] ([[User talk:MathXplore|discuss]] • [[Special:Contributions/MathXplore|contribs]]) 02:21, 21 June 2026 (UTC) : {{done}}. [[User:Codename Noreste|<span style="color:#0024FF">Codename Noreste</span>]] ([[User talk:Codename Noreste|discuss]] • [[Special:Contributions/Codename Noreste|contribs]]) 03:10, 21 June 2026 (UTC) == Templebhard reported by MathXplore == * {{userlinks|Templebhard}} Spam <!-- USERREPORTED:/Templebhard/ --> [[User:MathXplore|MathXplore]] ([[User talk:MathXplore|discuss]] • [[Special:Contributions/MathXplore|contribs]]) 12:06, 22 June 2026 (UTC) : {{done}}. [[User:Codename Noreste|<span style="color:#0024FF">Codename Noreste</span>]] ([[User talk:Codename Noreste|discuss]] • [[Special:Contributions/Codename Noreste|contribs]]) 15:22, 25 June 2026 (UTC) == Vantagemdm1 reported by MathXplore == * {{userlinks|Vantagemdm1}} Link spam, [[Special:AbuseLog/313018]] <!-- USERREPORTED:/Vantagemdm1/ --> [[User:MathXplore|MathXplore]] ([[User talk:MathXplore|discuss]] • [[Special:Contributions/MathXplore|contribs]]) 12:29, 25 June 2026 (UTC) : {{done}}. [[User:Codename Noreste|<span style="color:#0024FF">Codename Noreste</span>]] ([[User talk:Codename Noreste|discuss]] • [[Special:Contributions/Codename Noreste|contribs]]) 15:23, 25 June 2026 (UTC) == [[:Category:Wikibooks fully protected edit requests]] needs a clean out == Has several unhandled requests dating back to December. Thanks. [[User:Pppery|Pppery]] ([[User talk:Pppery|discuss]] • [[Special:Contributions/Pppery|contribs]]) 04:56, 7 June 2026 (UTC) : Restored from archive since this stlll hasn't been dealt with. [[User:Pppery|Pppery]] ([[User talk:Pppery|discuss]] • [[Special:Contributions/Pppery|contribs]]) 19:04, 25 June 2026 (UTC) == Lisawilliam2 reported by MathXplore == * {{userlinks|Lisawilliam2}} Spam <!-- USERREPORTED:/Lisawilliam2/ --> [[User:MathXplore|MathXplore]] ([[User talk:MathXplore|discuss]] • [[Special:Contributions/MathXplore|contribs]]) 12:11, 29 June 2026 (UTC) : {{done}} by Kittycataclysm. [[User:Codename Noreste|<span style="color:#0024FF">Codename Noreste</span>]] ([[User talk:Codename Noreste|discuss]] • [[Special:Contributions/Codename Noreste|contribs]]) 23:27, 29 June 2026 (UTC) == Amz.bizistech reported by MathXplore == * {{userlinks|Amz.bizistech}} Spam <!-- USERREPORTED:/Amz.bizistech/ --> [[User:MathXplore|MathXplore]] ([[User talk:MathXplore|discuss]] • [[Special:Contributions/MathXplore|contribs]]) 12:10, 30 June 2026 (UTC) :'''Blocked'''. —[[User:Atcovi|Atcovi]] [[User talk:Atcovi|(Talk]] - [[Special:Contributions/Atcovi|Contribs)]] 12:11, 30 June 2026 (UTC) 73ch6ir1xbay63amqk2qwfmd7vai44d Wikijunior:African Animal Alphabet/All pages 110 484061 4654443 4641343 2026-07-14T14:54:11Z Codename Noreste 3441010 Set edit review settings for "Wikijunior:African Animal Alphabet/All pages": Wikijunior page [Default: Stable] 4641343 wikitext text/x-wiki {{center/top}} {{Wikijunior:African Animal Alphabet}} {{Wikijunior:African Animal Alphabet/A}} {{Wikijunior:African Animal Alphabet/B}} {{Wikijunior:African Animal Alphabet/C}} {{Wikijunior:African Animal Alphabet/D}} {{Wikijunior:African Animal Alphabet/E}} {{Wikijunior:African Animal Alphabet/F}} {{Wikijunior:African Animal Alphabet/G}} {{Wikijunior:African Animal Alphabet/H}} {{Wikijunior:African Animal Alphabet/I}} {{Wikijunior:African Animal Alphabet/J}} {{Wikijunior:African Animal Alphabet/K}} {{Wikijunior:African Animal Alphabet/L}} {{Wikijunior:African Animal Alphabet/M}} {{Wikijunior:African Animal Alphabet/N}} {{Wikijunior:African Animal Alphabet/O}} {{Wikijunior:African Animal Alphabet/P}} {{Wikijunior:African Animal Alphabet/Q}} {{Wikijunior:African Animal Alphabet/R}} {{Wikijunior:African Animal Alphabet/S}} {{Wikijunior:African Animal Alphabet/T}} {{Wikijunior:African Animal Alphabet/U}} {{Wikijunior:African Animal Alphabet/V}} {{Wikijunior:African Animal Alphabet/W}} {{Wikijunior:African Animal Alphabet/X}} {{Wikijunior:African Animal Alphabet/Y}} {{Wikijunior:African Animal Alphabet/Z}} {{center/end}} bngo7kf04rxojvgomk8sjmdsbl4i7xh Atomic Chess Opening Theory/1. e3 0 484143 4654438 4642031 2026-07-14T14:47:24Z Codename Noreste 3441010 Not eligible for speedy deletion, but for querying, I will do that shortly. 4654438 wikitext text/x-wiki {{Chess diagram | tright | 1. e3 |= |rd|nd|bd|qd|kd|bd|nd|rd |pd|pd|pd|pd|pd|pd|pd|pd | | | | | | | | | | | | | | | | | | | | | | | | | | | | |pl| | | |pl|pl|pl|pl| |pl|pl|pl |rl|nl|bl|ql|kl|bl|nl|rl | open bishop and queen }} == 1. e3 == this move open bishop and queen === Black responses === * '''1...e6!''' - main move * '''1...f5''' - Apastador defence * '''1...Nf6??''' - lose after '''2. Qf3!''' (treat mate maneuvers Bd3-Bg6 and Nh3-Ng5) * '''1...d5?? ''' - lose after '''2. Qh5! g6 3. Qe5! Be6 4. Qxc7!''' * '''1...e5??''' - lose after '''2. Qf3! Qf6 3. Nh3! Qf5 4. Ng5! f6 5. Bb5! c6 6. Nxh7!''' * '''1...d6??''' - lose after '''2. Nc3 c6 3. Nd5 cxd5 4. Qh5 g6 5. Qb5+ Nc6 6. Qb6''' hook * '''1...c6??''' - lose after '''2. Qh5! g6 3. Qe5! e6 4. Qc7!''' * '''1...h5??''' - forced checkmate after '''2. Qf3 Nf6 3. Nh3 g5 4. Nxg5 f6 5. Qd5 d6 6. Qf7+ Kd7 7. Qxe7#''' * '''1...g6??''' - forced checkmate after '''2. Qf3 Nf6 3. Nh3 d5 4. Ng5 Kd7 5. Ne6''' or '''5. Bb5+''' and mate in the next move * '''1...g5??''' - forced checkmate after '''1. Qh5''' and mate (Qxf7#) in the next move * other moves lead to forced checkmate via Qh5-Qd5 maneuver {{BookCat}} 6246e39zg6t11sylkljcbxsogevb22s 4654439 4654438 2026-07-14T14:48:22Z Codename Noreste 3441010 Adding {{qr-scope}} tag 4654439 wikitext text/x-wiki {{qr-scope}} {{Chess diagram | tright | 1. e3 |= |rd|nd|bd|qd|kd|bd|nd|rd |pd|pd|pd|pd|pd|pd|pd|pd | | | | | | | | | | | | | | | | | | | | | | | | | | | | |pl| | | |pl|pl|pl|pl| |pl|pl|pl |rl|nl|bl|ql|kl|bl|nl|rl | open bishop and queen }} == 1. e3 == this move open bishop and queen === Black responses === * '''1...e6!''' - main move * '''1...f5''' - Apastador defence * '''1...Nf6??''' - lose after '''2. Qf3!''' (treat mate maneuvers Bd3-Bg6 and Nh3-Ng5) * '''1...d5?? ''' - lose after '''2. Qh5! g6 3. Qe5! Be6 4. Qxc7!''' * '''1...e5??''' - lose after '''2. Qf3! Qf6 3. Nh3! Qf5 4. Ng5! f6 5. Bb5! c6 6. Nxh7!''' * '''1...d6??''' - lose after '''2. Nc3 c6 3. Nd5 cxd5 4. Qh5 g6 5. Qb5+ Nc6 6. Qb6''' hook * '''1...c6??''' - lose after '''2. Qh5! g6 3. Qe5! e6 4. Qc7!''' * '''1...h5??''' - forced checkmate after '''2. Qf3 Nf6 3. Nh3 g5 4. Nxg5 f6 5. Qd5 d6 6. Qf7+ Kd7 7. Qxe7#''' * '''1...g6??''' - forced checkmate after '''2. Qf3 Nf6 3. Nh3 d5 4. Ng5 Kd7 5. Ne6''' or '''5. Bb5+''' and mate in the next move * '''1...g5??''' - forced checkmate after '''1. Qh5''' and mate (Qxf7#) in the next move * other moves lead to forced checkmate via Qh5-Qd5 maneuver {{BookCat}} dkoxhsefz906dmh85xmg5sim4cpkuts Atomic Chess Opening Theory/1. e3/1...e6 0 484144 4654441 4642032 2026-07-14T14:49:03Z Codename Noreste 3441010 Not under speedy deletion, but it is queried. 4654441 wikitext text/x-wiki {{Qr-scope}} {{Chess diagram | tright | 1.e3 e6 |= |rd|nd|bd|qd|kd|bd|nd|rd |pd|pd|pd|pd| |pd|pd|pd | | | | |pd| | | | | | | | | | | | | | | | | | | | | | | |pl| | | |pl|pl|pl|pl| |pl|pl|pl |rl|nl|bl|ql|kl|bl|nl|rl | open bishop and Queen and preventing Qh5-Qd5 maneuver }} == 1...e6 - main move == this move open bishop and Queen and preventing Qh5-Qd5 maneuver === White responses === * '''2. Nf3''' - main move * '''2. Nh3 ''' * '''2. Nc3''' * '''2. Na3''' * '''2. Qh5''' * '''2. Qf3''' * '''2. Qg4''' * '''2. Bb5''' * '''2. Bd3 ''' * '''2. b4''' - JSF's gambit * '''2. f4 ''' * '''2. d4 ''' * '''2. h4''' * '''2. f3''' {{BookCat}} hakeupyywy81tpbpecasn6artjeqrn4 Category:Book:C Programming/mman.h 14 484469 4654423 4653017 2026-07-14T13:10:06Z MathXplore 3097823 Requesting deletion ([[:m:Special:MyLanguage/User:TenWhile6/XReport|XReport]] v3.1c) 4654423 wikitext text/x-wiki <noinclude>{{delete|1=Empty page. Broken redirect <small>[[:m:Special:MyLanguage/User:TenWhile6/XReport|XReport]]</small>}}</noinclude> #REDIRECT [[:Category:Book:C programming/mman.h]] dd3qdgumkaxn1b5q34rgdc4tyyc99nl Category:Book:C Programming/dirent.h 14 484569 4654422 4653228 2026-07-14T13:09:56Z MathXplore 3097823 Requesting deletion ([[:m:Special:MyLanguage/User:TenWhile6/XReport|XReport]] v3.1c) 4654422 wikitext text/x-wiki <noinclude>{{delete|1=Empty page. Broken redirect <small>[[:m:Special:MyLanguage/User:TenWhile6/XReport|XReport]]</small>}}</noinclude> #REDIRECT [[:Category:Book:C programming/dirent.h]] 1pk3iu2jcza4z94le6rfvp14hjm4z57 Category:Book:C Programming/netdb.h 14 484570 4654424 4653230 2026-07-14T13:10:16Z MathXplore 3097823 Requesting deletion ([[:m:Special:MyLanguage/User:TenWhile6/XReport|XReport]] v3.1c) 4654424 wikitext text/x-wiki <noinclude>{{delete|1=Empty page. Broken redirect <small>[[:m:Special:MyLanguage/User:TenWhile6/XReport|XReport]]</small>}}</noinclude> #REDIRECT [[:Category:Book:C programming/netdb.h]] cbf2fe76cxvy9240fd09a8js1pnwyi4 Category:Book:C Programming/stat.h 14 484571 4654425 4653232 2026-07-14T13:10:34Z MathXplore 3097823 Requesting deletion ([[:m:Special:MyLanguage/User:TenWhile6/XReport|XReport]] v3.1c) 4654425 wikitext text/x-wiki <noinclude>{{delete|1=Empty page. Broken redirect <small>[[:m:Special:MyLanguage/User:TenWhile6/XReport|XReport]]</small>}}</noinclude> #REDIRECT [[:Category:Book:C programming/stat.h]] bjngm2g7vosed38a91nyi5l04s9byy5 Category:Book:C Programming/unistd.h 14 484572 4654426 4653234 2026-07-14T13:10:43Z MathXplore 3097823 Requesting deletion ([[:m:Special:MyLanguage/User:TenWhile6/XReport|XReport]] v3.1c) 4654426 wikitext text/x-wiki <noinclude>{{delete|1=Empty page. Broken redirect <small>[[:m:Special:MyLanguage/User:TenWhile6/XReport|XReport]]</small>}}</noinclude> #REDIRECT [[:Category:Book:C programming/unistd.h]] ti2wru867c6ym5imuq6oz2irhhrcgrn Category:Book:C Programming/utime.h 14 484573 4654427 4653236 2026-07-14T13:10:53Z MathXplore 3097823 Requesting deletion ([[:m:Special:MyLanguage/User:TenWhile6/XReport|XReport]] v3.1c) 4654427 wikitext text/x-wiki <noinclude>{{delete|1=Empty page. Broken redirect <small>[[:m:Special:MyLanguage/User:TenWhile6/XReport|XReport]]</small>}}</noinclude> #REDIRECT [[:Category:Book:C programming/utime.h]] qs6gej295slva84mjhk62t4exrrxtzm Vehicle Identification Numbers (VIN codes)/Saab/VIN Codes 0 484603 4654446 4654355 2026-07-14T15:04:12Z JustTheFacts33 3434282 4654446 wikitext text/x-wiki {{Vehicle Identification Numbers (VIN codes)/Warning}}{{clear}} For Saab 9-2X, see the Subaru VIN page: [[Vehicle Identification Numbers (VIN codes)/Subaru/VIN Codes]]. For Saab 9-4X and 9-7X, see the GM VIN page: [[Vehicle Identification Numbers (VIN codes)/GM/VIN Codes]]. ===Positions 1–3, World Manufacturer Identifier:=== * YS3 - Saab passenger car * YK1 - Saab passenger car made by Valmet in Finland ('81-'83) * JF4 - Saab passenger car made by Subaru in Japan ('05-'06 9-2X) * 3G0 - Saab MPV made by GM in Mexico ('11 9-4X) * 5S3 - Saab MPV made by GM in US ('05-'09 9-7X) ===Positions 4, Model Line:=== * A = 900 (1st gen. - '81-'93, '94 convertible) * C = 9000 ('86-'98) * D = 900 (2nd gen. - '94-'98 3-d/5-d, '95-'98 convertible) * D = 9-3 (1st gen. - '99-'02, '03 convertible) * E = 9-5 (1st gen. - '99-'09) * F = 9-3 (2nd gen. - '03-'11 4-d, '04-'11 convertible, '06-'11 wagon) * G = 9-5 (2nd gen. - '10-'11) ===Positions 5, Series 1981-1986:=== * G = Base model ('81-'83 900) * S = S 3-d ('81-'83 900) * E = S 4-d ('81-'83 900) * M = Base model ('84-'85 900) * H = S ('84-'85 900) * T = Turbo ('81-'85 900) * B = Base model ('86 900) * C = S ('86 900) * D = Turbo ('86 900, '86 9000) ===Positions 5, Series/Restraint 1987-2011:=== * R = Base model w/Active (Manual) seat belts ('87-'89 900) * S = S w/Active (Manual) seat belts ('87-'89 900, '87-'89 9000) * T = Turbo w/Active (Manual) seat belts ('87-'89 900, '87-'89 9000) * J = Base model w/Motorized seat belts (Passive Restraint) ('89 900) * K = S w/Motorized seat belts (Passive Restraint) ('87-'89 900) * L = Turbo w/Motorized seat belts (Passive Restraint) ('88-'89 900) * J = Base model w/Active (Manual) seat belts & Driver-side airbag ('90 900) * K = S w/Active (Manual) seat belts & Driver-side airbag ('89-'90 9000, '90 900) * K = Models w/normally aspirated engine w/Active (Manual) seat belts & Driver-side airbag ('91-'93 9000, '91-'93 900, '94 900 convertible) * L = Turbo or CD Turbo (9000) or CD Turbo Griffin Edition ('92 9000) w/Active (Manual) seat belts & Driver-side airbag ('89-'92 9000, '90-'92 900) * L = Models w/turbocharged engine w/Active (Manual) seat belts & Driver-side airbag ('93 9000, '93 900, '94 900 convertible) * M = Models w/normally aspirated engine w/Active (Manual) seat belts & Dual front airbags ('94 900 3-d/5-d, '94 9000) * N = Models w/turbocharged engine w/Active (Manual) seat belts & Dual front airbags ('94 900 3-d/5-d, '94 9000) * D = 900 S or 9000 CS w/Active (Manual) seat belts & Dual front airbags ('95-'98) * F = 900 SE or 9000 CSE/CDE w/Active (Manual) seat belts & Dual front airbags ('95-'98) * H = 9000 Aero w/Active (Manual) seat belts & Dual front airbags ('95-'97) * B = 9-3 Linear w/Active (Manual) seat belts & Dual front airbags ('03-'05) * B = 9-3 2.0T w/Active (Manual) seat belts & Dual front airbags ('08-'09) * B = 9-5 Linear w/Active (Manual) seat belts & Dual front airbags ('02-'05) * B = 9-5 Griffin Edition w/Active (Manual) seat belts & Dual front airbags ('09) * D = 9-3 Base model or 9-5 Base model or 9-5 Gary Fisher Edition ('00) w/Active (Manual) seat belts & Dual front airbags ('99-'01) * D = 9-3 Arc w/Active (Manual) seat belts & Dual front airbags ('03-'05) * D = 9-3 2.0T w/Active (Manual) seat belts & Dual front airbags ('06-'07) * D = 9-5 Arc w/Active (Manual) seat belts & Dual front airbags ('02-'05) * D = 9-5 Standard model 2.3T w/Active (Manual) seat belts & Dual front airbags ('06-'09) * F = 9-3 SE w/Active (Manual) seat belts & Dual front airbags ('99-'02, '03 convertible) * F = 9-3 Vector w/Active (Manual) seat belts & Dual front airbags ('03) * F = 9-5 SE w/Active (Manual) seat belts & Dual front airbags ('99-'01) * H = 9-3 Aero w/Active (Manual) seat belts & Dual front airbags ('04-'09) * H = 9-5 Aero w/Active (Manual) seat belts & Dual front airbags ('00-'05) * H = 9-5 w/Sport Package w/Active (Manual) seat belts & Dual front airbags ('06) * H = 9-5 w/Aero Package w/Active (Manual) seat belts & Dual front airbags ('07) * H = 9-5 Aero w/Active (Manual) seat belts & Dual front airbags ('08-'09) * M = 9-3 Turbo X w/Active (Manual) seat belts & Dual front airbags ('08) * P = 9-3 Viggen w/Active (Manual) seat belts & Dual front airbags ('99-'02) * A = 9-3 2.0T 4-d/wagon w/Active (Manual) seat belts & Dual Front Airbags & Front Side Airbags & Side Curtain Airbags ('10-'11) * A = 9-3 2.0T convertible made in Sweden w/Active (Manual) seat belts & Dual Front Airbags & Front Side Head/Thorax Airbags ('10-'11) * C = 9-3 Aero 4-d/wagon w/Active (Manual) seat belts & Dual Front Airbags & Front Side Airbags & Side Curtain Airbags ('10-'11) * C = 9-3 Aero convertible made in Sweden w/Active (Manual) seat belts & Dual Front Airbags & Front Side Head/Thorax Airbags ('10-'11) * D = 9-3X wagon w/Active (Manual) seat belts & Dual Front Airbags & Front Side Airbags & Side Curtain Airbags ('10-'11) * E = 9-3 2.0T convertible made in Austria w/Active (Manual) seat belts & Dual Front Airbags & Front Side Head/Thorax Airbags ('10) * G = 9-3 Aero convertible made in Austria w/Active (Manual) seat belts & Dual Front Airbags & Front Side Head/Thorax Airbags ('10) * N = 9-5 Turbo4 & Turbo6 w/Active (Manual) seat belts & Dual Front Airbags & Front and Rear Side Airbags & Side Curtain Airbags ('11) * R = 9-5 Aero w/Active (Manual) seat belts & Dual Front Airbags & Front and Rear Side Airbags & Side Curtain Airbags ('10-'11) ===Positions 6, Body Style:=== * 2 = 2-dr. sedan ('85-'86 900) * 3 = 3-dr. hatchback ('81-'98 900, '99-'02 9-3) * 4 = 4-dr. sedan ('81-'93 900, '03-'11 9-3, '89-'95 9000, '99-'11 9-5) * 5 = 5-dr. hatchback ('94-'98 900, '99-'02 9-3, '86-'92 9000) * 5 = 5-dr. wagon ('99-'09 9-5 wagon/SportCombi, '06-'11 9-3 SportCombi) * 6 = 5-dr. hatchback ('93-'98 9000) * 7 = 2-dr. convertible ('86-'98 900, '99-'11 9-3) ===Position 7, Engine 1981-1983:=== *3 = 2.0L SOHC 8-valve fuel injected Saab H engine B201I I4 ('81-'83 900 base model, S) *4 = 2.0L turbo SOHC 8-valve fuel injected Saab H engine B201S I4 ('81-'83 900 Turbo) ===Positions 7, Transmission 1984-2011:=== * 5 = 5-spd. manual ('84-'93 900, '94 900 convertible, '86-'98 9000) * 6 = 3-spd. automatic ('84-'93 900, '94 900 convertible) * 6 = 6-spd. manual ('03-'07 9-3) * 8 = 4-spd. automatic ('94-'98 900, '99-'02 9-3, '03 9-3 convertible, '86-'98 9000, '99-'01 9-5) * 9 = 5-spd. automatic ('02-'07 9-5) * 1 = 6-spd. automatic ('06-'07 9-3 Aero 2.8T) * 1 = 6-spd. automatic, FWD ('08-'09 9-3 Aero 2.8T) * 2 = 6-spd. automatic, AWD ('08-'09 9-3 Aero 2.8T, '08 9-3 Turbo X, '09 9-3 2.0T XWD) * 5 = 5-spd. manual, FWD ('08-'09 9-5) * 6 = 6-spd. manual, FWD ('08-'09 9-3) * 7 = 6-spd. manual, AWD ('08-'09 9-3 Aero 2.8T, '08 9-3 Turbo X, '09 9-3 2.0T XWD) * 9 = 5-spd. automatic, FWD ('08-'09 9-3 2.0T FWD, '08-'09 9-5) * A = 6-spd. automatic, FWD ('11 9-5) * B = 6-spd. automatic, AWD ('10-'11 9-3, '10-'11 9-5) * C = 5-spd. automatic, FWD ('10-'11 9-3) * M = 6-spd. manual, FWD ('10-'11 9-3, '11 9-5) * N = 6-spd. manual, AWD ('10-'11 9-3) ===Position 8, Restraint 1981-1983:=== *S = Active (Manual) seat belts ===Position 8, Engine 1984-2011:=== *A = 2.3L turbo [[w:Intercooler|IC]] DOHC 16-valve Saab H engine B235L I4 ('04-'05 9-5 Arc) *B = 2.3L DOHC 16-valve Saab H engine B234I I4 <br> (Mid '90 9000 S, '91-'92 9000 Base/S/CD, '93-'94 9000 CS/CSE, '93 9000 CD/CDE, '94-'98 900 S 5-d, '94-'97 900 S 3-d, '95-'98 900 S convertible) *D = 2.0L DOHC 16-valve Saab H engine B202I I4 ('89-'90 900 base model, '86-'90 900 S, '87-Early '90 9000 S) *E = 2.1L DOHC 16-valve Saab H engine B212I I4 ('91-'92 900 base model, '91-'93 900 S, '94 900 S Convertible) *E = 2.3L turbo [[w:Intercooler|IC]] DOHC 16-valve Saab H engine B235E Light-pressure turbo I4 <br> ('99 9-5 2.3T, '00-'01 9-5 2.3T Base model, '00 9-5 Gary Fisher Edition wagon, '02-'05 9-5 Linear) *G = 2.3L turbo [[w:Intercooler|IC]] DOHC 16-valve Saab H engine B235R high output I4 ('99-'02 9-3 Viggen, '00-'05 9-5 Aero, '06-'09 9-5) *H = 2.0L turbo [[w:Intercooler|IC]] DOHC 16-valve Saab H engine B205L std. output I4 ('00-'01 9-3 base model) *J = 2.0L SOHC 8-valve Saab H engine B201I I4 ('84-'88 900 base model, '84-'85 900 S) *J = 2.8L turbo [[w:Intercooler|IC]] DOHC 24-valve GM High Feature Saab A28NER V6 (RPO code: LAU) ('10-'11 9-5) *K = 2.0L turbo [[w:Intercooler|IC]] DOHC 16-valve Saab H engine B205R high output I4 ('00-'02 9-3 SE 5-d, '00-'03 9-3 SE convertible) *L = 2.0L turbo [[w:Intercooler|IC]] DOHC 16-valve Saab H engine B202L I4 <br> ('85-'93 900 Turbo, '85-'91 900 Turbo SPG, '91 900 S.E. Turbo convertible, '94 900 Turbo Convertible, '86-'90 9000 Turbo, '89-'90 9000 CD Turbo) *M = 2.3L turbo [[w:Intercooler|IC]] DOHC 16-valve Saab H engine B234L std. output I4 <br> ('91-'92 9000 Turbo/CD Turbo, '92 9000 CD Turbo Griffin Edition, '93-'94 9000 CS Turbo, '93-'97 9000 CSE Turbo, '93 9000 CD Turbo, '93-'94 9000 CDE Turbo, <br> '93-'97 9000 Aero w/auto. trans., '98 9000 CSE w/auto. trans.) *N = 2.0L turbo [[w:Intercooler|IC]] DOHC 16-valve Saab H engine B204L std. output I4 ('98 900 S Turbo 3-d, '94-'98 900 SE Turbo 3-d, '95-'98 900 SE Turbo convertible,<br> '96-'98 900 SE Turbo 5-d, '97 900 SE Turbo Talladega Edition, '99 9-3 base model, SE w/auto. trans., Early '99 9-3 SE w/man. trans.) *P = 2.0L turbo [[w:Intercooler|IC]] DOHC 16-valve Saab H engine B204R high output I4 (Mid '99 9-3 SE w/man. trans.) *R = 2.3L turbo [[w:Intercooler|IC]] DOHC 16-valve Saab H engine B234R high output I4 ('93-'97 9000 Aero w/man. trans., '98 9000 CSE w/man. trans.) *R = 2.8L turbo [[w:Intercooler|IC]] DOHC 24-valve GM High Feature Saab B284R high output V6 <br> ('08-'09 9-3 Aero XWD 4-d/wagon, '08 9-3 Turbo X XWD 4-d/wagon, '09 9-3 Aero FWD convertible) *R = 2.0L turbo [[w:Intercooler|IC]] Gas/E85 Flex-Fuel (Biopower) DOHC 16-valve Direct injection GM Ecotec Gen II Saab A20NFT I4 (RPO code: LHU) ('11 9-5) *S = 2.0L turbo SOHC 8-valve Saab H engine B201S I4 ('84 900 Turbo) *S = 2.0L turbo [[w:Intercooler|IC]] DOHC 16-valve GM Ecotec Gen I Saab B207L Light-pressure turbo I4 ('03-'05 9-3 Linear) *T = 2.0L turbo [[w:Intercooler|IC]] DOHC 16-valve Saab H engine B202R high output I4 [185 hp] <br> ('93 900 Turbo 3-d Commemorative Edition, '94 900 Turbo Convertible Commemorative Edition) *U = 2.3L turbo [[w:Intercooler|IC]] DOHC 16-valve Saab H engine B234E Light-pressure turbo I4 ('95-'97 9000 CS) *U = 2.8L turbo [[w:Intercooler|IC]] DOHC 24-valve GM High Feature Saab B284L V6 ('06-'08 9-3 Aero FWD) *V = 2.5L DOHC 24-valve GM/Opel 54° V6 Saab B258I ('94-'97 900 SE V6 5-d, '95-'97 900 SE V6 convertible) *W = 3.0L DOHC 24-valve GM/Opel 54° V6 Saab B308I ('95-'97 9000 CSE V6, '95 9000 CDE V6) *Y = 2.0L turbo [[w:Intercooler|IC]] DOHC 16-valve GM Ecotec Gen I Saab B207R high output I4 ('03 9-3 Arc, Vector, '04-'05 9-3 Arc, Aero, '06-'11 9-3 2.0T) *Z = 3.0L turbo [[w:Intercooler|IC]] DOHC 24-valve GM/Opel 54° V6 Saab B308E ('99 9-5 V6, '00-'01 9-5 SE, '02-'03 9-5 Arc) ===Position 9, Check Digit=== [[Vehicle Identification Numbers (VIN codes)/Check digit |Check digit]] ===Position 10, Model Year=== [[Vehicle Identification Numbers (VIN codes)/Model year|Model year]] ===Position 11, Production Plant:=== * 1: Trollhattan, Sweden (Line 1: '81-'85 900, Line A: '86-'98 9000, '03-'11 9-3) * 2: Trollhattan, Sweden (Line 2: '81-'85 900, Line B: '86-'98 900, '88-'91 9000) * 2: Trollhattan, Sweden (Line A: '99-'02 9-3) * 3: Arlov, Sweden ('85-'90 900) * 3: Trollhattan, Sweden (Line B: '99-'09 9-5) * 4: Trollhattan, Sweden ('10-'11 9-5) * 5: Malmo, Sweden ('90-'91 900) * 6: Graz, Austria (Magna Steyr plant: '04-'10 9-3 convertible) * 7: Uusikaupunki, Finland (Valmet plant - '85-'98 900, '99-'03 9-3) * 9: Trollhattan, Sweden (Prototype Line) * G: Ota, Gunma prefecture, Japan [Subaru plant] ('05-'06 Saab 9-2X w/5-spd. man. trans.) * H: Ota, Gunma prefecture, Japan [Subaru plant] ('05-'06 Saab 9-2X w/4-spd. auto. trans.) * S: Ramos Arizpe, Coahuila, Mexico [GM plant] ('11 9-4X) * 2: Moraine, Ohio, US [GM plant] ('05-'09 9-7X) '''Positions 12–17, Serial Number''' {{BookCat}} ohq97nwr48iog55cudquiz6aiahuk13 4654450 4654446 2026-07-14T15:35:54Z JustTheFacts33 3434282 /* Position 11, Production Plant: */ 4654450 wikitext text/x-wiki {{Vehicle Identification Numbers (VIN codes)/Warning}}{{clear}} For Saab 9-2X, see the Subaru VIN page: [[Vehicle Identification Numbers (VIN codes)/Subaru/VIN Codes]]. For Saab 9-4X and 9-7X, see the GM VIN page: [[Vehicle Identification Numbers (VIN codes)/GM/VIN Codes]]. ===Positions 1–3, World Manufacturer Identifier:=== * YS3 - Saab passenger car * YK1 - Saab passenger car made by Valmet in Finland ('81-'83) * JF4 - Saab passenger car made by Subaru in Japan ('05-'06 9-2X) * 3G0 - Saab MPV made by GM in Mexico ('11 9-4X) * 5S3 - Saab MPV made by GM in US ('05-'09 9-7X) ===Positions 4, Model Line:=== * A = 900 (1st gen. - '81-'93, '94 convertible) * C = 9000 ('86-'98) * D = 900 (2nd gen. - '94-'98 3-d/5-d, '95-'98 convertible) * D = 9-3 (1st gen. - '99-'02, '03 convertible) * E = 9-5 (1st gen. - '99-'09) * F = 9-3 (2nd gen. - '03-'11 4-d, '04-'11 convertible, '06-'11 wagon) * G = 9-5 (2nd gen. - '10-'11) ===Positions 5, Series 1981-1986:=== * G = Base model ('81-'83 900) * S = S 3-d ('81-'83 900) * E = S 4-d ('81-'83 900) * M = Base model ('84-'85 900) * H = S ('84-'85 900) * T = Turbo ('81-'85 900) * B = Base model ('86 900) * C = S ('86 900) * D = Turbo ('86 900, '86 9000) ===Positions 5, Series/Restraint 1987-2011:=== * R = Base model w/Active (Manual) seat belts ('87-'89 900) * S = S w/Active (Manual) seat belts ('87-'89 900, '87-'89 9000) * T = Turbo w/Active (Manual) seat belts ('87-'89 900, '87-'89 9000) * J = Base model w/Motorized seat belts (Passive Restraint) ('89 900) * K = S w/Motorized seat belts (Passive Restraint) ('87-'89 900) * L = Turbo w/Motorized seat belts (Passive Restraint) ('88-'89 900) * J = Base model w/Active (Manual) seat belts & Driver-side airbag ('90 900) * K = S w/Active (Manual) seat belts & Driver-side airbag ('89-'90 9000, '90 900) * K = Models w/normally aspirated engine w/Active (Manual) seat belts & Driver-side airbag ('91-'93 9000, '91-'93 900, '94 900 convertible) * L = Turbo or CD Turbo (9000) or CD Turbo Griffin Edition ('92 9000) w/Active (Manual) seat belts & Driver-side airbag ('89-'92 9000, '90-'92 900) * L = Models w/turbocharged engine w/Active (Manual) seat belts & Driver-side airbag ('93 9000, '93 900, '94 900 convertible) * M = Models w/normally aspirated engine w/Active (Manual) seat belts & Dual front airbags ('94 900 3-d/5-d, '94 9000) * N = Models w/turbocharged engine w/Active (Manual) seat belts & Dual front airbags ('94 900 3-d/5-d, '94 9000) * D = 900 S or 9000 CS w/Active (Manual) seat belts & Dual front airbags ('95-'98) * F = 900 SE or 9000 CSE/CDE w/Active (Manual) seat belts & Dual front airbags ('95-'98) * H = 9000 Aero w/Active (Manual) seat belts & Dual front airbags ('95-'97) * B = 9-3 Linear w/Active (Manual) seat belts & Dual front airbags ('03-'05) * B = 9-3 2.0T w/Active (Manual) seat belts & Dual front airbags ('08-'09) * B = 9-5 Linear w/Active (Manual) seat belts & Dual front airbags ('02-'05) * B = 9-5 Griffin Edition w/Active (Manual) seat belts & Dual front airbags ('09) * D = 9-3 Base model or 9-5 Base model or 9-5 Gary Fisher Edition ('00) w/Active (Manual) seat belts & Dual front airbags ('99-'01) * D = 9-3 Arc w/Active (Manual) seat belts & Dual front airbags ('03-'05) * D = 9-3 2.0T w/Active (Manual) seat belts & Dual front airbags ('06-'07) * D = 9-5 Arc w/Active (Manual) seat belts & Dual front airbags ('02-'05) * D = 9-5 Standard model 2.3T w/Active (Manual) seat belts & Dual front airbags ('06-'09) * F = 9-3 SE w/Active (Manual) seat belts & Dual front airbags ('99-'02, '03 convertible) * F = 9-3 Vector w/Active (Manual) seat belts & Dual front airbags ('03) * F = 9-5 SE w/Active (Manual) seat belts & Dual front airbags ('99-'01) * H = 9-3 Aero w/Active (Manual) seat belts & Dual front airbags ('04-'09) * H = 9-5 Aero w/Active (Manual) seat belts & Dual front airbags ('00-'05) * H = 9-5 w/Sport Package w/Active (Manual) seat belts & Dual front airbags ('06) * H = 9-5 w/Aero Package w/Active (Manual) seat belts & Dual front airbags ('07) * H = 9-5 Aero w/Active (Manual) seat belts & Dual front airbags ('08-'09) * M = 9-3 Turbo X w/Active (Manual) seat belts & Dual front airbags ('08) * P = 9-3 Viggen w/Active (Manual) seat belts & Dual front airbags ('99-'02) * A = 9-3 2.0T 4-d/wagon w/Active (Manual) seat belts & Dual Front Airbags & Front Side Airbags & Side Curtain Airbags ('10-'11) * A = 9-3 2.0T convertible made in Sweden w/Active (Manual) seat belts & Dual Front Airbags & Front Side Head/Thorax Airbags ('10-'11) * C = 9-3 Aero 4-d/wagon w/Active (Manual) seat belts & Dual Front Airbags & Front Side Airbags & Side Curtain Airbags ('10-'11) * C = 9-3 Aero convertible made in Sweden w/Active (Manual) seat belts & Dual Front Airbags & Front Side Head/Thorax Airbags ('10-'11) * D = 9-3X wagon w/Active (Manual) seat belts & Dual Front Airbags & Front Side Airbags & Side Curtain Airbags ('10-'11) * E = 9-3 2.0T convertible made in Austria w/Active (Manual) seat belts & Dual Front Airbags & Front Side Head/Thorax Airbags ('10) * G = 9-3 Aero convertible made in Austria w/Active (Manual) seat belts & Dual Front Airbags & Front Side Head/Thorax Airbags ('10) * N = 9-5 Turbo4 & Turbo6 w/Active (Manual) seat belts & Dual Front Airbags & Front and Rear Side Airbags & Side Curtain Airbags ('11) * R = 9-5 Aero w/Active (Manual) seat belts & Dual Front Airbags & Front and Rear Side Airbags & Side Curtain Airbags ('10-'11) ===Positions 6, Body Style:=== * 2 = 2-dr. sedan ('85-'86 900) * 3 = 3-dr. hatchback ('81-'98 900, '99-'02 9-3) * 4 = 4-dr. sedan ('81-'93 900, '03-'11 9-3, '89-'95 9000, '99-'11 9-5) * 5 = 5-dr. hatchback ('94-'98 900, '99-'02 9-3, '86-'92 9000) * 5 = 5-dr. wagon ('99-'09 9-5 wagon/SportCombi, '06-'11 9-3 SportCombi) * 6 = 5-dr. hatchback ('93-'98 9000) * 7 = 2-dr. convertible ('86-'98 900, '99-'11 9-3) ===Position 7, Engine 1981-1983:=== *3 = 2.0L SOHC 8-valve fuel injected Saab H engine B201I I4 ('81-'83 900 base model, S) *4 = 2.0L turbo SOHC 8-valve fuel injected Saab H engine B201S I4 ('81-'83 900 Turbo) ===Positions 7, Transmission 1984-2011:=== * 5 = 5-spd. manual ('84-'93 900, '94 900 convertible, '86-'98 9000) * 6 = 3-spd. automatic ('84-'93 900, '94 900 convertible) * 6 = 6-spd. manual ('03-'07 9-3) * 8 = 4-spd. automatic ('94-'98 900, '99-'02 9-3, '03 9-3 convertible, '86-'98 9000, '99-'01 9-5) * 9 = 5-spd. automatic ('02-'07 9-5) * 1 = 6-spd. automatic ('06-'07 9-3 Aero 2.8T) * 1 = 6-spd. automatic, FWD ('08-'09 9-3 Aero 2.8T) * 2 = 6-spd. automatic, AWD ('08-'09 9-3 Aero 2.8T, '08 9-3 Turbo X, '09 9-3 2.0T XWD) * 5 = 5-spd. manual, FWD ('08-'09 9-5) * 6 = 6-spd. manual, FWD ('08-'09 9-3) * 7 = 6-spd. manual, AWD ('08-'09 9-3 Aero 2.8T, '08 9-3 Turbo X, '09 9-3 2.0T XWD) * 9 = 5-spd. automatic, FWD ('08-'09 9-3 2.0T FWD, '08-'09 9-5) * A = 6-spd. automatic, FWD ('11 9-5) * B = 6-spd. automatic, AWD ('10-'11 9-3, '10-'11 9-5) * C = 5-spd. automatic, FWD ('10-'11 9-3) * M = 6-spd. manual, FWD ('10-'11 9-3, '11 9-5) * N = 6-spd. manual, AWD ('10-'11 9-3) ===Position 8, Restraint 1981-1983:=== *S = Active (Manual) seat belts ===Position 8, Engine 1984-2011:=== *A = 2.3L turbo [[w:Intercooler|IC]] DOHC 16-valve Saab H engine B235L I4 ('04-'05 9-5 Arc) *B = 2.3L DOHC 16-valve Saab H engine B234I I4 <br> (Mid '90 9000 S, '91-'92 9000 Base/S/CD, '93-'94 9000 CS/CSE, '93 9000 CD/CDE, '94-'98 900 S 5-d, '94-'97 900 S 3-d, '95-'98 900 S convertible) *D = 2.0L DOHC 16-valve Saab H engine B202I I4 ('89-'90 900 base model, '86-'90 900 S, '87-Early '90 9000 S) *E = 2.1L DOHC 16-valve Saab H engine B212I I4 ('91-'92 900 base model, '91-'93 900 S, '94 900 S Convertible) *E = 2.3L turbo [[w:Intercooler|IC]] DOHC 16-valve Saab H engine B235E Light-pressure turbo I4 <br> ('99 9-5 2.3T, '00-'01 9-5 2.3T Base model, '00 9-5 Gary Fisher Edition wagon, '02-'05 9-5 Linear) *G = 2.3L turbo [[w:Intercooler|IC]] DOHC 16-valve Saab H engine B235R high output I4 ('99-'02 9-3 Viggen, '00-'05 9-5 Aero, '06-'09 9-5) *H = 2.0L turbo [[w:Intercooler|IC]] DOHC 16-valve Saab H engine B205L std. output I4 ('00-'01 9-3 base model) *J = 2.0L SOHC 8-valve Saab H engine B201I I4 ('84-'88 900 base model, '84-'85 900 S) *J = 2.8L turbo [[w:Intercooler|IC]] DOHC 24-valve GM High Feature Saab A28NER V6 (RPO code: LAU) ('10-'11 9-5) *K = 2.0L turbo [[w:Intercooler|IC]] DOHC 16-valve Saab H engine B205R high output I4 ('00-'02 9-3 SE 5-d, '00-'03 9-3 SE convertible) *L = 2.0L turbo [[w:Intercooler|IC]] DOHC 16-valve Saab H engine B202L I4 <br> ('85-'93 900 Turbo, '85-'91 900 Turbo SPG, '91 900 S.E. Turbo convertible, '94 900 Turbo Convertible, '86-'90 9000 Turbo, '89-'90 9000 CD Turbo) *M = 2.3L turbo [[w:Intercooler|IC]] DOHC 16-valve Saab H engine B234L std. output I4 <br> ('91-'92 9000 Turbo/CD Turbo, '92 9000 CD Turbo Griffin Edition, '93-'94 9000 CS Turbo, '93-'97 9000 CSE Turbo, '93 9000 CD Turbo, '93-'94 9000 CDE Turbo, <br> '93-'97 9000 Aero w/auto. trans., '98 9000 CSE w/auto. trans.) *N = 2.0L turbo [[w:Intercooler|IC]] DOHC 16-valve Saab H engine B204L std. output I4 ('98 900 S Turbo 3-d, '94-'98 900 SE Turbo 3-d, '95-'98 900 SE Turbo convertible,<br> '96-'98 900 SE Turbo 5-d, '97 900 SE Turbo Talladega Edition, '99 9-3 base model, SE w/auto. trans., Early '99 9-3 SE w/man. trans.) *P = 2.0L turbo [[w:Intercooler|IC]] DOHC 16-valve Saab H engine B204R high output I4 (Mid '99 9-3 SE w/man. trans.) *R = 2.3L turbo [[w:Intercooler|IC]] DOHC 16-valve Saab H engine B234R high output I4 ('93-'97 9000 Aero w/man. trans., '98 9000 CSE w/man. trans.) *R = 2.8L turbo [[w:Intercooler|IC]] DOHC 24-valve GM High Feature Saab B284R high output V6 <br> ('08-'09 9-3 Aero XWD 4-d/wagon, '08 9-3 Turbo X XWD 4-d/wagon, '09 9-3 Aero FWD convertible) *R = 2.0L turbo [[w:Intercooler|IC]] Gas/E85 Flex-Fuel (Biopower) DOHC 16-valve Direct injection GM Ecotec Gen II Saab A20NFT I4 (RPO code: LHU) ('11 9-5) *S = 2.0L turbo SOHC 8-valve Saab H engine B201S I4 ('84 900 Turbo) *S = 2.0L turbo [[w:Intercooler|IC]] DOHC 16-valve GM Ecotec Gen I Saab B207L Light-pressure turbo I4 ('03-'05 9-3 Linear) *T = 2.0L turbo [[w:Intercooler|IC]] DOHC 16-valve Saab H engine B202R high output I4 [185 hp] <br> ('93 900 Turbo 3-d Commemorative Edition, '94 900 Turbo Convertible Commemorative Edition) *U = 2.3L turbo [[w:Intercooler|IC]] DOHC 16-valve Saab H engine B234E Light-pressure turbo I4 ('95-'97 9000 CS) *U = 2.8L turbo [[w:Intercooler|IC]] DOHC 24-valve GM High Feature Saab B284L V6 ('06-'08 9-3 Aero FWD) *V = 2.5L DOHC 24-valve GM/Opel 54° V6 Saab B258I ('94-'97 900 SE V6 5-d, '95-'97 900 SE V6 convertible) *W = 3.0L DOHC 24-valve GM/Opel 54° V6 Saab B308I ('95-'97 9000 CSE V6, '95 9000 CDE V6) *Y = 2.0L turbo [[w:Intercooler|IC]] DOHC 16-valve GM Ecotec Gen I Saab B207R high output I4 ('03 9-3 Arc, Vector, '04-'05 9-3 Arc, Aero, '06-'11 9-3 2.0T) *Z = 3.0L turbo [[w:Intercooler|IC]] DOHC 24-valve GM/Opel 54° V6 Saab B308E ('99 9-5 V6, '00-'01 9-5 SE, '02-'03 9-5 Arc) ===Position 9, Check Digit=== [[Vehicle Identification Numbers (VIN codes)/Check digit |Check digit]] ===Position 10, Model Year=== [[Vehicle Identification Numbers (VIN codes)/Model year|Model year]] ===Position 11, Production Plant:=== * 1: Trollhattan, Sweden (Line 1: '81-'85 900, Line A: '86-'98 9000, '03-'11 9-3) * 2: Trollhattan, Sweden (Line 2: '81-'85 900, Line B: '86-'98 900, '88-'91 9000) * 2: Trollhattan, Sweden (Line A: '99-'02 9-3) * 3: Arlov, Sweden ('85-'90 900) * 3: Trollhattan, Sweden (Line B: '99-'09 9-5) * 4: Trollhattan, Sweden ('10-'11 9-5) * 5: Malmo, Sweden ('90-'91 900) * 6: Graz, Austria (Magna Steyr plant: '04-'10 9-3 convertible) * 7: Uusikaupunki, Finland (Valmet plant - '85-'98 900, '99-'03 9-3) * 9: Trollhattan, Sweden (Prototype/Pre-production Line) * G: Ota, Gunma prefecture, Japan [Subaru plant] ('05-'06 Saab 9-2X w/5-spd. man. trans.) * H: Ota, Gunma prefecture, Japan [Subaru plant] ('05-'06 Saab 9-2X w/4-spd. auto. trans.) * S: Ramos Arizpe, Coahuila, Mexico [GM plant] ('11 9-4X) * 2: Moraine, Ohio, US [GM plant] ('05-'09 9-7X) '''Positions 12–17, Serial Number''' {{BookCat}} mjcuxz6cngoiinkhrkcimbtifgow215 Five Rules for Meaningful Living 0 484795 4654455 4654334 2026-07-14T16:35:37Z Kittycataclysm 3371989 flag 4654455 wikitext text/x-wiki {{AI-suspected|reason=numbered headers, incorrectly formatted lists}} This wikibook, '''Five Rules for Meaningful Living''', is based on the shared wisdom of Frankl, Jung, and Watts on overcoming inner suffering and living life with meaning. '''First chapter''' introduces how Frankl's logotherapy, Jung's shadow work, and Watts' Zen insights align on how meaning rather than happiness is the foundation for a fulfilled life. '''Second chapter''' is on practical steps and details the five rules with examples; to pursue responsibility over comfort, face avoided realities, embrace a more flexible identity, release micromanagement of outcomes, and step into discomfort for growth. '''Third chapter''' is daily application where actionable exercises are provided, as well as strategies for overcoming common barriers like fear and perfectionism in modern routines. '''Fourth chapter''' is for readers who wish to explore the philosophical and psychological ideas that inspired the Five Rules for Meaningful Living. ==1. Introduction== Viktor Frankl was a Holocaust survivor. Carl Jung was a famous psychologist. And Alan Watts is a Zenz philosopher. Despite these three men coming from very different backgrounds, their insights converged on the understanding that many of our greatest struggles in life arise not only from life's external hardships, but also from the psychological patterns through which we respond to them. All three argued that we can suffer and fare poorly due to the invisible psychological traps we refuse to confront, and that sustainable growth and meaning depends on confronting the fears, assumptions, and habits that shape our experience. ==2. Core Principles== The five rules, based on the insights of Frankl, Jung, and Watts, do not promise constant happiness but instead provide practical path for cultivating courage, purpose, responsibility, acceptance, adaptability, and psychological resilience. They are; '''1. Seek meaning over happiness''' '''2. Taking action on situations that you avoid or put off and do it even if feeling less than perfect to reduce long-term anxiety''' '''3. Have responsibility for self instead of waiting for motivation or perfect conditions.''' '''4. Develop strong internal locus of control where you accept limits of control - and let go of micromanaging outcomes by setting intentions then accepting the results.''' '''5. Cultivate a fluid identity and regularly questioning rigid self-views on what you can and can't do.''' Together these 5 principles aim to develop qualities that are relatively stable and less dependent on external circumstances, providing a practical framework for psychological freedom, flexibility, and personal growth. ==3. Application== ==4. Further reading== This chapter provides references for readers who wish to further study related ideas and the philosophical and psychological works that influenced the ''Five Rules for Meaningful Living''. It include selected works that introduces key concepts from Viktor Frankl, Carl Jung, and Alan Watts as well as related ideas from other thinkers. === Viktor Frankl === * [[wikipedia:Man's Search for Meaning|''Man's Search for Meaning'']] === Carl Jung === * [[wikipedia:Man and His Symbols|''Man and His Symbols'']] === Alan Watts === * [https://books.google.com.au/books?id=tKy_sIIr4RcC ''The Book: On the Taboo Against Knowing Who You Are''] === Marcus Aurelius === * [[wikipedia:Meditations|''Meditations'']] === M. Scott Peck === * [[wikipedia:M. Scott Peck#The Road Less Traveled|''The Road Less Traveled'']] {{shelves|self improvement}} fu9lumlcl7dfbumchf6whmvgop4jaf1 4654514 4654455 2026-07-15T06:02:22Z JaredMcKenzie 3528493 That was 100% my own personal decision to number my chapters. No AI did that. I numbered them to be considerate to readers who read my introduction and wanted to know what are the first to fourth chapters. - https://en.wikibooks.org/w/index.php?title=Five_Rules_for_Meaningful_Living&diff=prev&oldid=4654328 4654514 wikitext text/x-wiki This wikibook, '''Five Rules for Meaningful Living''', is based on the shared wisdom of Frankl, Jung, and Watts on overcoming inner suffering and living life with meaning. '''First chapter''' introduces how Frankl's logotherapy, Jung's shadow work, and Watts' Zen insights align on how meaning rather than happiness is the foundation for a fulfilled life. '''Second chapter''' is on practical steps and details the five rules with examples; to pursue responsibility over comfort, face avoided realities, embrace a more flexible identity, release micromanagement of outcomes, and step into discomfort for growth. '''Third chapter''' is daily application where actionable exercises are provided, as well as strategies for overcoming common barriers like fear and perfectionism in modern routines. '''Fourth chapter''' is for readers who wish to explore the philosophical and psychological ideas that inspired the Five Rules for Meaningful Living. ==1. Introduction== Viktor Frankl was a Holocaust survivor. Carl Jung was a famous psychologist. And Alan Watts is a Zenz philosopher. Despite these three men coming from very different backgrounds, their insights converged on the understanding that many of our greatest struggles in life arise not only from life's external hardships, but also from the psychological patterns through which we respond to them. All three argued that we can suffer and fare poorly due to the invisible psychological traps we refuse to confront, and that sustainable growth and meaning depends on confronting the fears, assumptions, and habits that shape our experience. ==2. Core Principles== The five rules, based on the insights of Frankl, Jung, and Watts, do not promise constant happiness but instead provide practical path for cultivating courage, purpose, responsibility, acceptance, adaptability, and psychological resilience. They are; '''1. Seek meaning over happiness''' '''2. Taking action on situations that you avoid or put off and do it even if feeling less than perfect to reduce long-term anxiety''' '''3. Have responsibility for self instead of waiting for motivation or perfect conditions.''' '''4. Develop strong internal locus of control where you accept limits of control - and let go of micromanaging outcomes by setting intentions then accepting the results.''' '''5. Cultivate a fluid identity and regularly questioning rigid self-views on what you can and can't do.''' Together these 5 principles aim to develop qualities that are relatively stable and less dependent on external circumstances, providing a practical framework for psychological freedom, flexibility, and personal growth. ==3. Application== ==4. Further reading== This chapter provides references for readers who wish to further study related ideas and the philosophical and psychological works that influenced the ''Five Rules for Meaningful Living''. It include selected works that introduces key concepts from Viktor Frankl, Carl Jung, and Alan Watts as well as related ideas from other thinkers. === Viktor Frankl === * [[wikipedia:Man's Search for Meaning|''Man's Search for Meaning'']] === Carl Jung === * [[wikipedia:Man and His Symbols|''Man and His Symbols'']] === Alan Watts === * [https://books.google.com.au/books?id=tKy_sIIr4RcC ''The Book: On the Taboo Against Knowing Who You Are''] === Marcus Aurelius === * [[wikipedia:Meditations|''Meditations'']] === M. Scott Peck === * [[wikipedia:M. Scott Peck#The Road Less Traveled|''The Road Less Traveled'']] {{shelves|self improvement}} 3vbq0yns5t741e6lb2l26cl1la41zkl Talk:Fractals/Iterations in the complex plane/MandelbrotSetExterior 1 484803 4654406 4654391 2026-07-14T12:06:51Z MathXplore 3097823 Reset talk page with [[:w:simple:User:DannyS712/Reset talk|reset talk]] (version 1.1) 4654406 wikitext text/x-wiki {{Talk header}} 6ujz0t3lkt6jsf7d1r360l6l7wj3njb Talk:Fractals/Mandelbrot CLI: Renderer with Perturbation Theory 1 484804 4654407 4654392 2026-07-14T12:06:56Z MathXplore 3097823 Reset talk page with [[:w:simple:User:DannyS712/Reset talk|reset talk]] (version 1.1) 4654407 wikitext text/x-wiki {{Talk header}} 6ujz0t3lkt6jsf7d1r360l6l7wj3njb User talk:AtomicChess 3 484805 4654440 2026-07-14T14:48:23Z Codename Noreste 3441010 Notifying author about page tagging 4654440 wikitext text/x-wiki == I have added a tag to a page you created == Hi! I'm Codename Noreste, and I recently reviewed your page, [[:Atomic Chess Opening Theory/1. e3]]. I have added a tag to the page, because it <strong>has some problems that need to be looked at.</strong> If you have any questions or concerns, please [[User talk:Codename Noreste|let me know]]. Thank you! <!-- Substituted from User:JJPMaster/CurateThisPage/authorMsg --> [[User:Codename Noreste|<span style="color: blue">Codename Noreste</span>]] ([[User talk:Codename Noreste|discuss]] • [[Special:Contributions/Codename Noreste|contribs]]) 14:48, 14 July 2026 (UTC) nx4pc8c1ozb9bzerffw6li9zaxi3s9s User:JaredMcKenzie 2 484806 4654451 2026-07-14T15:40:27Z JaredMcKenzie 3528493 Created page with "Just a wikibook contributor. How ya doin? ^_^" 4654451 wikitext text/x-wiki Just a wikibook contributor. How ya doin? ^_^ q7mm616rbd0oga7fku6xopo2tboymqe User:JaredMcKenzie/sandbox 2 484807 4654452 2026-07-14T15:49:56Z JaredMcKenzie 3528493 First steps - structure. 4654452 wikitext text/x-wiki First step is be aware of your patterns. Do you withdraw when feeling overwhelmed? When things get dark - do you disappear? If you feel ashamed- do you stop engaging? If you agree and see these patterns, then you need ''structure'' to interrupt these patterns. '''What is Structure?''' Structure is basically creating repeated patterns that helps stop your life from being completely governed by your mood, shame and or your avoidance. Structure interrupts your bad patterns to withdraw and to conflate withdrawal as safety. Examples of structure can include; * waking at roughly consistent times * daily walk or cycling * showering regularly * going outside daily * scheduled shopping * exercise routine * regular meals * sleeping before sunrise * one productive task daily * planned social contact occasionally All of the above may seem boring but psychologically, they are huge because the stabilize the nervous system and reduce a plunge into chaos. mi873j13prgbpo2rv5gsry86kqw1qcb 4654458 4654452 2026-07-14T16:44:58Z JaredMcKenzie 3528493 Expand. 4654458 wikitext text/x-wiki '''Building structure''' First step is be aware of your patterns. Do you withdraw when feeling overwhelmed? When things get dark - do you disappear? If you feel ashamed- do you stop engaging? If you agree and see these patterns, then you need ''structure'' to interrupt these patterns. When people feel depressed, it's common for them be less active, which consequently creates a vicious cycle in which being less active means less opportunities to experience pleasure, mastery, and connection. Structure interrupts your bad patterns to withdraw and to conflate withdrawal as safety. '''What is Structure?''' Structure is basically creating repeated patterns that helps stop your life from being completely governed by your mood, shame and or your avoidance. Examples of structure can include; * waking at roughly consistent times * daily walk or cycling * showering regularly * going outside daily * scheduled shopping * exercise routine * listening to a podcast * regular meals * sleeping before sunrise * one productive task daily * planned social contact occasionally All of the above may seem boring but psychologically, they are huge because they stabilize the nervous system and reduce a plunge into chaos. Concept of structure for mental wellness is widely championed by a number of mental health professionals as an evidence-based treatment for depression. It is a protective factor as our brains thrive on pattern and disruptions to our routines can harm our mental health.[https://www.beyondblue.org.au/mental-health/wellbeing/routines-and-mental-health] Building routines and structure is synonymous and the core mechanism of '''Behavioral Activation''' (BA) used in Cognitive Behavioral Therapy (CBT). According to ''Psychology Today'' (PT), a "number of studies suggest that Behavioral Activation is the component of CBT most responsible for its effectiveness and that it is at least as effective as antidepressant medication, even among the severely depressed."<ref>A</ref> PT notes further, that as BA also challenges the avoidance behavior that is integral to anxiety, this technique has been increasingly used for treating anxiety as well as chronic depression. You can find a BA therapist who follows standardized treatment protocols. Though you can absolutely learn to build behavioral activation (BA) structure yourself. The hallmark of BA is that it's intentionally simple, highly structured, and allows self-directed engagement once you understand the basic mechanics. A therapist or counselor can offer external accountability but one can follow the standardized protocol by following the systematic, step-by-step process below. pvidc4n70bdnzgsffn4csoqhh5y0zr9 4654459 4654458 2026-07-14T16:51:16Z JaredMcKenzie 3528493 Cites. 4654459 wikitext text/x-wiki '''Building structure''' First step is be aware of your patterns. Do you withdraw when feeling overwhelmed? When things get dark - do you disappear? If you feel ashamed- do you stop engaging? If you agree and see these patterns, then you need ''structure'' to interrupt these patterns. When people feel depressed, it's common for them be less active, which consequently creates a vicious cycle in which being less active means less opportunities to experience pleasure, mastery, and connection. Structure interrupts your bad patterns to withdraw and to conflate withdrawal as safety. '''What is Structure?''' Structure is basically creating repeated patterns that helps stop your life from being completely governed by your mood, shame and or your avoidance. Examples of structure can include; * waking at roughly consistent times * daily walk or cycling * showering regularly * going outside daily * scheduled shopping * exercise routine * listening to a podcast * regular meals * sleeping before sunrise * one productive task daily * planned social contact occasionally All of the above may seem boring but psychologically, they are huge because they stabilize the nervous system and reduce a plunge into chaos. Concept of structure for mental wellness is widely championed by a number of mental health professionals as an evidence-based treatment for depression. It is a protective factor as our brains thrive on pattern and disruptions to our routines can harm our mental health.<ref>{{Cite web |date=2026-04-23 |title=The Role of Routine in Stabilizing Mental Health {{!}} Mental Health Center |url=https://www.mentalhealthctr.com/the-role-of-routine-in-stabilizing-mental-health/ |access-date=2026-07-14 |language=en-US}}</ref><ref>{{Cite web |last=Team |first=Arlene Holland Clinical |date=2026-07-03 |title=The Role of Routine and Structure in Mental Health |url=https://www.arleneholland.net/blog/the-role-of-routine-and-structure-in-mental-health |access-date=2026-07-14 |website=www.arleneholland.net |language=en}}</ref><ref>{{Cite web |title=Routines and mental health |url=https://www.beyondblue.org.au/mental-health/wellbeing/routines-and-mental-health |access-date=2026-07-14 |website=www.beyondblue.org.au |language=en}}</ref> Building routines and structure is synonymous and the core mechanism of '''Behavioral Activation''' (BA) used in Cognitive Behavioral Therapy (CBT). According to ''Psychology Today'' (PT), a "number of studies suggest that Behavioral Activation is the component of CBT most responsible for its effectiveness and that it is at least as effective as antidepressant medication, even among the severely depressed." PT notes further, that as BA also challenges the avoidance behavior that is integral to anxiety, this technique has been increasingly used for treating anxiety as well as chronic depression.<ref>{{Cite web |title=Behavioral Activation {{!}} Psychology Today Australia |url=https://www.psychologytoday.com/au/therapy-types/behavioral-activation |access-date=2026-07-14 |website=www.psychologytoday.com |language=en-AU}}</ref> You can find a BA therapist who follows standardized treatment protocols. Though you can absolutely learn to build behavioral activation (BA) structure yourself. The hallmark of BA is that it's intentionally simple, highly structured, and allows self-directed engagement once you understand the basic mechanics. A therapist or counselor can offer external accountability but one can follow the standardized protocol by following the systematic, step-by-step process below. k9et1ykg55hdjx85t75osqr7x81icbq 4654465 4654459 2026-07-14T17:26:34Z JaredMcKenzie 3528493 Add key note. 4654465 wikitext text/x-wiki '''Building structure''' First step is be aware of your patterns. Do you withdraw when feeling overwhelmed? When things get dark - do you disappear? If you feel ashamed- do you stop engaging? If you agree and see these patterns, then you need ''structure'' to interrupt these patterns. When people feel depressed, it's common for them be less active, which consequently creates a vicious cycle in which being less active means less opportunities to experience pleasure, mastery, and connection. Structure interrupts your bad patterns to withdraw and to conflate withdrawal as safety. '''What is Structure?''' Structure is basically creating repeated patterns that helps stop your life from being completely governed by your mood, shame and or your avoidance. Examples of structure can include; * waking at roughly consistent times * daily walk or cycling * showering regularly * going outside daily * scheduled shopping * exercise routine * listening to a podcast * regular meals * sleeping before sunrise * one productive task daily * planned social contact occasionally All of the above may seem boring but psychologically, they are huge because they stabilize the nervous system and reduce a plunge into chaos. Concept of structure for mental wellness is widely championed by a number of mental health professionals as an evidence-based treatment for depression. It is a protective factor as our brains thrive on pattern and disruptions to our routines can harm our mental health.<ref>{{Cite web |date=2026-04-23 |title=The Role of Routine in Stabilizing Mental Health {{!}} Mental Health Center |url=https://www.mentalhealthctr.com/the-role-of-routine-in-stabilizing-mental-health/ |access-date=2026-07-14 |language=en-US}}</ref><ref>{{Cite web |last=Team |first=Arlene Holland Clinical |date=2026-07-03 |title=The Role of Routine and Structure in Mental Health |url=https://www.arleneholland.net/blog/the-role-of-routine-and-structure-in-mental-health |access-date=2026-07-14 |website=www.arleneholland.net |language=en}}</ref><ref>{{Cite web |title=Routines and mental health |url=https://www.beyondblue.org.au/mental-health/wellbeing/routines-and-mental-health |access-date=2026-07-14 |website=www.beyondblue.org.au |language=en}}</ref> Building routines and structure is synonymous and the core mechanism of '''Behavioral Activation''' (BA) used in Cognitive Behavioral Therapy (CBT). According to ''Psychology Today'' (PT), a "number of studies suggest that Behavioral Activation is the component of CBT most responsible for its effectiveness and that it is at least as effective as antidepressant medication, even among the severely depressed." PT notes further, that as BA also challenges the avoidance behavior that is integral to anxiety, this technique has been increasingly used for treating anxiety as well as chronic depression.<ref>{{Cite web |title=Behavioral Activation {{!}} Psychology Today Australia |url=https://www.psychologytoday.com/au/therapy-types/behavioral-activation |access-date=2026-07-14 |website=www.psychologytoday.com |language=en-AU}}</ref> You can find a BA therapist who follows standardized treatment protocols. Though you can absolutely learn to build behavioral activation (BA) structure yourself. The hallmark of BA is that it's intentionally simple, highly structured, and allows self-directed engagement once you understand the basic mechanics. A therapist or counselor can offer external accountability but one can follow the standardized protocol by following the systematic, step-by-step process below. '''Note''' - Building routines can seem difficult for those struggling with depression. But it is important to know it's not about waiting until you feel motivated to do them. Instead, you should do it regardless of your mood. Over time, this helps break the cycle of depression and avoidance, by teaching your brain that activity is safe and manageable rather than something to fear. Your goal shouldn't be about perfection but rather on progress. Celebrate the small wins and start with a few few key anchor points (such as waking at consistent time of taking a short daily walk), and gradually build more structure as these habits become established. ssg5baqur6v96yzmndjq6nyw87cqb9s 4654468 4654465 2026-07-14T17:27:30Z JaredMcKenzie 3528493 Ce 4654468 wikitext text/x-wiki '''Building structure''' Be aware of your patterns. Do you withdraw when feeling overwhelmed? When things get dark - do you disappear? If you feel ashamed- do you stop engaging? If you agree and see these patterns, then you need ''structure'' to interrupt these patterns. When people feel depressed, it's common for them be less active, which consequently creates a vicious cycle in which being less active means less opportunities to experience pleasure, mastery, and connection. Structure interrupts your bad patterns to withdraw and to conflate withdrawal as safety. '''What is Structure?''' Structure is basically creating repeated patterns that helps stop your life from being completely governed by your mood, shame and or your avoidance. Examples of structure can include; * waking at roughly consistent times * daily walk or cycling * showering regularly * going outside daily * scheduled shopping * exercise routine * listening to a podcast * regular meals * sleeping before sunrise * one productive task daily * planned social contact occasionally All of the above may seem boring but psychologically, they are huge because they stabilize the nervous system and reduce a plunge into chaos. Concept of structure for mental wellness is widely championed by a number of mental health professionals as an evidence-based treatment for depression. It is a protective factor as our brains thrive on pattern and disruptions to our routines can harm our mental health.<ref>{{Cite web |date=2026-04-23 |title=The Role of Routine in Stabilizing Mental Health {{!}} Mental Health Center |url=https://www.mentalhealthctr.com/the-role-of-routine-in-stabilizing-mental-health/ |access-date=2026-07-14 |language=en-US}}</ref><ref>{{Cite web |last=Team |first=Arlene Holland Clinical |date=2026-07-03 |title=The Role of Routine and Structure in Mental Health |url=https://www.arleneholland.net/blog/the-role-of-routine-and-structure-in-mental-health |access-date=2026-07-14 |website=www.arleneholland.net |language=en}}</ref><ref>{{Cite web |title=Routines and mental health |url=https://www.beyondblue.org.au/mental-health/wellbeing/routines-and-mental-health |access-date=2026-07-14 |website=www.beyondblue.org.au |language=en}}</ref> Building routines and structure is synonymous and the core mechanism of '''Behavioral Activation''' (BA) used in Cognitive Behavioral Therapy (CBT). According to ''Psychology Today'' (PT), a "number of studies suggest that Behavioral Activation is the component of CBT most responsible for its effectiveness and that it is at least as effective as antidepressant medication, even among the severely depressed." PT notes further, that as BA also challenges the avoidance behavior that is integral to anxiety, this technique has been increasingly used for treating anxiety as well as chronic depression.<ref>{{Cite web |title=Behavioral Activation {{!}} Psychology Today Australia |url=https://www.psychologytoday.com/au/therapy-types/behavioral-activation |access-date=2026-07-14 |website=www.psychologytoday.com |language=en-AU}}</ref> You can find a BA therapist who follows standardized treatment protocols. Though you can absolutely learn to build behavioral activation (BA) structure yourself. The hallmark of BA is that it's intentionally simple, highly structured, and allows self-directed engagement once you understand the basic mechanics. A therapist or counselor can offer external accountability but one can follow the standardized protocol by following the systematic, step-by-step process below. '''Note''' - Building routines can seem difficult for those struggling with depression. But it is important to know it's not about waiting until you feel motivated to do them. Instead, you should do it regardless of your mood. Over time, this helps break the cycle of depression and avoidance, by teaching your brain that activity is safe and manageable rather than something to fear. Your goal shouldn't be about perfection but rather on progress. Celebrate the small wins and start with a few few key anchor points (such as waking at consistent time of taking a short daily walk), and gradually build more structure as these habits become established. nw5cl93aphxgaisr7mjmjwd2rw3pk6d 4654483 4654468 2026-07-14T18:28:08Z JaredMcKenzie 3528493 Add 4654483 wikitext text/x-wiki '''Building structure''' Be aware of your patterns. Do you withdraw when feeling overwhelmed? When things get dark - do you disappear? If you feel ashamed- do you stop engaging? If you agree and see these patterns, then you need ''structure'' to interrupt these patterns. When people feel depressed, it's common for them be less active, which consequently creates a vicious cycle in which being less active means less opportunities to experience pleasure, mastery, and connection. Structure interrupts your bad patterns to withdraw and to conflate withdrawal as safety. ==What is Structure?== Structure is basically creating repeated patterns that helps stop your life from being completely governed by your mood, shame and or your avoidance. Examples of structure can include; * waking at roughly consistent times * daily walk or cycling * showering regularly * going outside daily * scheduled shopping * exercise routine * listening to a podcast * regular meals * sleeping before sunrise * one productive task daily * planned social contact occasionally All of the above may seem boring but psychologically, they are huge because they stabilize the nervous system and reduce a plunge into chaos. Concept of structure for mental wellness is widely championed by a number of mental health professionals as an evidence-based treatment for depression. It is a protective factor as our brains thrive on pattern and disruptions to our routines can harm our mental health.<ref>{{Cite web |date=2026-04-23 |title=The Role of Routine in Stabilizing Mental Health {{!}} Mental Health Center |url=https://www.mentalhealthctr.com/the-role-of-routine-in-stabilizing-mental-health/ |access-date=2026-07-14 |language=en-US}}</ref><ref>{{Cite web |last=Team |first=Arlene Holland Clinical |date=2026-07-03 |title=The Role of Routine and Structure in Mental Health |url=https://www.arleneholland.net/blog/the-role-of-routine-and-structure-in-mental-health |access-date=2026-07-14 |website=www.arleneholland.net |language=en}}</ref><ref>{{Cite web |title=Routines and mental health |url=https://www.beyondblue.org.au/mental-health/wellbeing/routines-and-mental-health |access-date=2026-07-14 |website=www.beyondblue.org.au |language=en}}</ref> ==Behavioral Activation (BA)== Building routines and structure is synonymous and the core mechanism of '''Behavioral Activation''' (BA) used in Cognitive Behavioral Therapy (CBT). According to ''Psychology Today'' (PT), a "number of studies suggest that Behavioral Activation is the component of CBT most responsible for its effectiveness and that it is at least as effective as antidepressant medication, even among the severely depressed." PT notes further, that as BA also challenges the avoidance behavior that is integral to anxiety, this technique has been increasingly used for treating anxiety as well as chronic depression.<ref>{{Cite web |title=Behavioral Activation {{!}} Psychology Today Australia |url=https://www.psychologytoday.com/au/therapy-types/behavioral-activation |access-date=2026-07-14 |website=www.psychologytoday.com |language=en-AU}}</ref> You can find a BA therapist who follows standardized treatment protocols. Though you can absolutely learn to build Behavioral Activation (BA) structure yourself. The hallmark of BA is that it's intentionally simple, highly structured, and allows self-directed engagement once you understand the basic mechanics. A therapist or counselor can offer external accountability but one can follow the standardized protocol by following the systematic, step-by-step process in section below. == The fundamental mechanism of Behavioral Activation (BA) is to shift from an '''inside-out approach''' (waiting to feel motivated before acting) to the more pro-active '''outside-in approach''' (acting first to change how you feel). This is ultimately done by following 7 steps; '''Note''' - Building routines can seem difficult for those struggling with depression. But it is important to know it's not about waiting until you feel motivated to do them. Instead, you should do it regardless of your mood. Over time, this helps break the cycle of depression and avoidance, by teaching your brain that activity is safe and manageable rather than something to fear. Your goal shouldn't be about perfection but rather on progress. Celebrate the small wins and start with a few few key anchor points (such as waking at consistent time of taking a short daily walk), and gradually build more structure as these habits become established. mlk0cvn9eqvuxi8r3lqgd43ledx0uvy User:Adejumo Dasolaa 2 484808 4654454 2026-07-14T16:31:46Z Adejumo Dasolaa 3614347 Created page with "My name is Adejumo Dasola Felicia. I am 12 years old. I am from Igbajo Town in Osun State, Nigeria. I come from a loving and caring family. My father's name is Adejumo Adeboye, and my mother's name is Adejumo Foyeke. They love and support me, and they encourage me to do my best in everything I do. I have two sisters, and we enjoyspending time together as a family. We play, learn, and help one another at home. I am light in complexion, and I am currently a JSS 1 student...." 4654454 wikitext text/x-wiki My name is Adejumo Dasola Felicia. I am 12 years old. I am from Igbajo Town in Osun State, Nigeria. I come from a loving and caring family. My father's name is Adejumo Adeboye, and my mother's name is Adejumo Foyeke. They love and support me, and they encourage me to do my best in everything I do. I have two sisters, and we enjoyspending time together as a family. We play, learn, and help one another at home. I am light in complexion, and I am currently a JSS 1 student. I enjoy going to school because it gives me the opportunity to learn new things every day. I always try to pay attention in class, complete my assignments, and respect my teachers and classmates. My dream is to study hard and become a successful person who will make my parents proud. My favorite food is rice and beans because I enjoy its delicious taste. My favorite 59c4pqz4dxyc78qonqdxcqdd8y72hnl User talk:Adejumo Dasolaa 3 484809 4654457 2026-07-14T16:38:26Z Adejumo Dasolaa 3614347 Created page with "My name is Adejumo Dasola Felicia. I am 12 years old. I am from Igbajo Town in Osun State, Nigeria. I come from a loving and caring family. My father's name is Adejumo Adeboye, and my mother's name is Adejumo Foyeke. They love and support me, and they encourage me to do my best in everything I do. I have two sisters, and we enjoyspending time together as a family. We play, learn, and help one another at home. I am light in complexion, and I am currently a JSS 1 student...." 4654457 wikitext text/x-wiki My name is Adejumo Dasola Felicia. I am 12 years old. I am from Igbajo Town in Osun State, Nigeria. I come from a loving and caring family. My father's name is Adejumo Adeboye, and my mother's name is Adejumo Foyeke. They love and support me, and they encourage me to do my best in everything I do. I have two sisters, and we enjoyspending time together as a family. We play, learn, and help one another at home. I am light in complexion, and I am currently a JSS 1 student. I enjoy going to school because it gives me the opportunity to learn new things every day. I always try to pay attention in class, complete my assignments, and respect my teachers and classmates. My dream is to study hard and become a successful person who will make my parents proud. My favorite food is rice and beans because I enjoy its delicious taste. My favorite 59c4pqz4dxyc78qonqdxcqdd8y72hnl