diff --git a/common/hw-gfx-gma.adb b/common/hw-gfx-gma.adb
index 7fa58a4..f962e1c 100644
--- a/common/hw-gfx-gma.adb
+++ b/common/hw-gfx-gma.adb
@@ -299,6 +299,8 @@
             then
                Display_Controller.Setup_FB
                  (Pipe, New_Config.Mode, New_Config.Framebuffer);
+               Display_Controller.Update_Cursor
+                 (Pipe, New_Config.Framebuffer, New_Config.Cursor);
                Cur_Config := New_Config;
             end if;
          end;
@@ -311,6 +313,44 @@
 
    ----------------------------------------------------------------------------
 
+   procedure Update_Cursor (Pipe : Pipe_Index; Cursor : Cursor_Type)
+   is
+   begin
+      Cur_Configs (Pipe).Cursor := Cursor;
+      Display_Controller.Update_Cursor
+        (Pipe, Cur_Configs (Pipe).Framebuffer, Cur_Configs (Pipe).Cursor);
+   end Update_Cursor;
+
+   procedure Place_Cursor
+     (Pipe  : Pipe_Index;
+      X     : Cursor_Pos;
+      Y     : Cursor_Pos)
+   is
+   begin
+      Cur_Configs (Pipe).Cursor.Center_X := X;
+      Cur_Configs (Pipe).Cursor.Center_Y := Y;
+      Display_Controller.Place_Cursor
+        (Pipe, Cur_Configs (Pipe).Framebuffer, Cur_Configs (Pipe).Cursor);
+   end Place_Cursor;
+
+   procedure Move_Cursor
+     (Pipe  : Pipe_Index;
+      X     : Cursor_Pos;
+      Y     : Cursor_Pos)
+   is
+      function Cap_Add (A, B : Cursor_Pos) return Cursor_Pos is
+        (if A + B < 0
+         then Int32'Max (Cursor_Pos'First, A + B)
+         else Int32'Min (Cursor_Pos'Last, A + B));
+   begin
+      Place_Cursor
+        (Pipe  => Pipe,
+         X     => Cap_Add (Cur_Configs (Pipe).Cursor.Center_X, X),
+         Y     => Cap_Add (Cur_Configs (Pipe).Cursor.Center_Y, Y));
+   end Move_Cursor;
+
+   ----------------------------------------------------------------------------
+
    procedure Initialize
      (Write_Delay : in     Word64 := 0;
       Clean_State : in     Boolean := False;
