about summary refs log tree commit diff stats
path: root/tools/iso/kernel.soso/vbe.h
diff options
context:
space:
mode:
authorKartik K. Agaram <vc@akkartik.com>2021-03-03 22:09:50 -0800
committerKartik K. Agaram <vc@akkartik.com>2021-03-03 22:21:03 -0800
commit71e4f3812982dba2efb471283d310224e8db363e (patch)
treeea111a1acb8b8845dbda39c0e1b4bac1d198143b /tools/iso/kernel.soso/vbe.h
parentc6b928be29ac8cdb4e4d6e1eaa20420ff03e5a4c (diff)
downloadmu-71e4f3812982dba2efb471283d310224e8db363e.tar.gz
7842 - new directory organization
Baremetal is now the default build target and therefore has its sources
at the top-level. Baremetal programs build using the phase-2 Mu toolchain
that requires a Linux kernel. This phase-2 codebase which used to be at
the top-level is now under the linux/ directory. Finally, the phase-2 toolchain,
while self-hosting, has a way to bootstrap from a C implementation, which
is now stored in linux/bootstrap. The bootstrap C implementation uses some
literate programming tools that are now in linux/bootstrap/tools.

So the whole thing has gotten inverted. Each directory should build one
artifact and include the main sources (along with standard library). Tools
used for building it are relegated to sub-directories, even though those
tools are often useful in their own right, and have had lots of interesting
programs written using them.

A couple of things have gotten dropped in this process:
  - I had old ways to run on just a Linux kernel, or with a Soso kernel.
    No more.
  - I had some old tooling for running a single test at the cursor. I haven't
    used that lately. Maybe I'll bring it back one day.

The reorg isn't done yet. Still to do:
  - redo documentation everywhere. All the README files, all other markdown,
    particularly vocabulary.md.
  - clean up how-to-run comments at the start of programs everywhere
  - rethink what to do with the html/ directory. Do we even want to keep
    supporting it?

In spite of these shortcomings, all the scripts at the top-level, linux/
and linux/bootstrap are working. The names of the scripts also feel reasonable.
This is a good milestone to take stock at.
Diffstat (limited to 'tools/iso/kernel.soso/vbe.h')
-rw-r--r--tools/iso/kernel.soso/vbe.h63
1 files changed, 0 insertions, 63 deletions
diff --git a/tools/iso/kernel.soso/vbe.h b/tools/iso/kernel.soso/vbe.h
deleted file mode 100644
index abaf0940..00000000
--- a/tools/iso/kernel.soso/vbe.h
+++ /dev/null
@@ -1,63 +0,0 @@
-#ifndef VBE_H
-#define VBE_H
-
-typedef struct {
-  /*  Mandatory information for all VBE revisions */
-  uint16 ModeAttributes; 	/**< @brief mode attributes */
-  uint8 WinAAttributes; 		/**< @brief window A attributes */
-  uint8 WinBAttributes; 		/**< @brief window B attributes */
-  uint16 WinGranularity; 	/**< @brief window granularity */
-  uint16 WinSize;		/**< @brief window size */
-  uint16 WinASegment;		/**< @brief window A start segment */
-  uint16 WinBSegment;		/**< @brief window B start segment */
-  void* WinFuncPtr;	/**< @brief real mode/far pointer to window function */
-  uint16 BytesPerScanLine; 	/**< @brief bytes per scan line */
-
-  /* Mandatory information for VBE 1.2 and above */
-
-  uint16 XResolution;      	/**< @brief horizontal resolution in pixels/characters */
-  uint16 YResolution;      	/**< @brief vertical resolution in pixels/characters */
-  uint8 XCharSize; 		/**< @brief character cell width in pixels */
-  uint8 YCharSize; 		/**< @brief character cell height in pixels */
-  uint8 NumberOfPlanes; 		/**< @brief number of memory planes */
-  uint8 BitsPerPixel; 		/**< @brief bits per pixel */
-  uint8 NumberOfBanks;		/**< @brief number of banks */
-  uint8 MemoryModel;		/**< @brief memory model type */
-  uint8 BankSize;		/**< @brief bank size in KB */
-  uint8 NumberOfImagePages;	/**< @brief number of images */
-  uint8 Reserved1;		/**< @brief reserved for page function */
-
-  /* Direct Color fields (required for direct/6 and YUV/7 memory models) */
-
-  uint8 RedMaskSize;		/* size of direct color red mask in bits */
-  uint8 RedFieldPosition;	/* bit position of lsb of red mask */
-  uint8 GreenMaskSize;		/* size of direct color green mask in bits */
-  uint8 GreenFieldPosition;	/* bit position of lsb of green mask */
-  uint8 BlueMaskSize; 		/* size of direct color blue mask in bits */
-  uint8 BlueFieldPosition;	/* bit position of lsb of blue mask */
-  uint8 RsvdMaskSize;		/* size of direct color reserved mask in bits */
-  uint8 RsvdFieldPosition;	/* bit position of lsb of reserved mask */
-  uint8 DirectColorModeInfo;	/* direct color mode attributes */
-
-  /* Mandatory information for VBE 2.0 and above */
-  void* PhysBasePtr;       /**< @brief physical address for flat memory frame buffer */
-  uint8 Reserved2[4]; 		/**< @brief Reserved - always set to 0 */
-  uint8 Reserved3[2]; 		/**< @brief Reserved - always set to 0 */
-
-  /* Mandatory information for VBE 3.0 and above */
-  uint16 LinBytesPerScanLine;    /* bytes per scan line for linear modes */
-  uint8 BnkNumberOfImagePages; 	/* number of images for banked modes */
-  uint8 LinNumberOfImagePages; 	/* number of images for linear modes */
-  uint8 LinRedMaskSize; 	        /* size of direct color red mask (linear modes) */
-  uint8 LinRedFieldPosition; 	/* bit position of lsb of red mask (linear modes) */
-  uint8 LinGreenMaskSize; 	/* size of direct color green mask (linear modes) */
-  uint8 LinGreenFieldPosition; /* bit position of lsb of green mask (linear  modes) */
-  uint8 LinBlueMaskSize; 	/* size of direct color blue mask (linear modes) */
-  uint8 LinBlueFieldPosition; 	/* bit position of lsb of blue mask (linear modes ) */
-  uint8 LinRsvdMaskSize; 	/* size of direct color reserved mask (linear modes) */
-  uint8 LinRsvdFieldPosition;	 /* bit position of lsb of reserved mask (linear modes) */
-  uint32 MaxPixelClock; 	         /* maximum pixel clock (in Hz) for graphics mode */
-  uint8 Reserved4[190]; 		 /* remainder of ModeInfoBlock */
-} __attribute__((packed)) vbe_mode_info_t;
-
-#endif // VBE_H