summaryrefslogtreecommitdiff
path: root/emulators/hercules/files/patch-hc-hack
blob: 2795112da6d7dede21f43ee3d5ce03154df1fdbc (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
diff -ur ./Makefile.in ../../work/hercules-2.16.5/Makefile.in
--- ./Makefile.in	Mon Jul  8 14:55:57 2002
+++ ../../work/hercules-2.16.5/Makefile.in	Mon Dec 16 17:17:45 2002
@@ -116,7 +116,7 @@
 	   ipl.c assist.c dat.c \
 	   stack.c cpu.c vstore.c \
 	   general1.c general2.c plo.c \
-	   control.c io.c \
+	   control.c io.c hc.c \
 	   decimal.c service.c opcode.c \
 	   diagnose.c diagmssf.c vm.c \
 	   channel.c ckddasd.c fbadasd.c \
@@ -327,7 +327,7 @@
 	version.$(OBJEXT) ipl.$(OBJEXT) assist.$(OBJEXT) dat.$(OBJEXT) \
 	stack.$(OBJEXT) cpu.$(OBJEXT) vstore.$(OBJEXT) \
 	general1.$(OBJEXT) general2.$(OBJEXT) plo.$(OBJEXT) \
-	control.$(OBJEXT) io.$(OBJEXT) decimal.$(OBJEXT) \
+	control.$(OBJEXT) io.$(OBJEXT) hc.$(OBJEXT) decimal.$(OBJEXT) \
 	service.$(OBJEXT) opcode.$(OBJEXT) diagnose.$(OBJEXT) \
 	diagmssf.$(OBJEXT) vm.$(OBJEXT) channel.$(OBJEXT) \
 	ckddasd.$(OBJEXT) fbadasd.$(OBJEXT) tapedev.$(OBJEXT) \
@@ -402,6 +402,7 @@
 @AMDEP_TRUE@	./$(DEPDIR)/ckddasd.Po ./$(DEPDIR)/cmpsc.Po \
 @AMDEP_TRUE@	./$(DEPDIR)/codepage.Po ./$(DEPDIR)/config.Po \
 @AMDEP_TRUE@	./$(DEPDIR)/console.Po ./$(DEPDIR)/control.Po \
+@AMDEP_TRUE@	./$(DEPDIR)/hc.Po \
 @AMDEP_TRUE@	./$(DEPDIR)/cpu.Po ./$(DEPDIR)/ctc_ctci.Po \
 @AMDEP_TRUE@	./$(DEPDIR)/ctc_lcs.Po ./$(DEPDIR)/ctcadpt.Po \
 @AMDEP_TRUE@	./$(DEPDIR)/dasdcat.Po ./$(DEPDIR)/dasdcopy.Po \
@@ -608,6 +609,7 @@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/config.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/console.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/control.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/hc.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/cpu.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ctcadpt.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/dasdcat.Po@am__quote@
diff -ur ./configure.ac ../../work/hercules-2.16.5/configure.ac
--- ./configure.ac	Mon Jul  8 14:55:42 2002
+++ ../../work/hercules-2.16.5/configure.ac	Mon Dec 16 17:17:45 2002
@@ -153,6 +153,16 @@
                                [AC_DEFINE([HAVE_U_INT])],
                                [AC_MSG_ERROR([Unable to find fixed-size data types])] )] )
 
+dnl AC_MSG_NOTICE([Checking for SCSI tape support and what type])
+AC_CHECK_HEADER(sys/mtio.h,
+		[AC_DEFINE([HAVE_MTIO_H])])
+
+AC_TRY_COMPILE([#include mtio.h],
+		[mtget test;
+		 int result;
+		 result = test.mt_gstat; ],
+		[AC_DEFINE([GNU_MTIO_SUPPORT])])
+
 # Compiler characteristics
 
 AC_C_BIGENDIAN
@@ -375,5 +385,9 @@
             [Define to debug correct fthreads LOCK handling (requires fthreads)])
 AH_TEMPLATE([PKGDATADIR],
             [Directory where the HTTP server will find documents])
+AH_TEMPLATE([HAVE_MTIO_H],
+	    Define if your system has sys/mtio.h])
+AH_TEMPLATE([GNU_MTIO_SUPPORT],
+	    [Define if you have the GNU version of mtio.h (Linux)])
 
 AC_OUTPUT(Makefile util/Makefile html/Makefile)
diff -ur ./opcode.c ../../work/hercules-2.16.5/opcode.c
--- ./opcode.c	Wed Jul  3 04:04:41 2002
+++ ../../work/hercules-2.16.5/opcode.c	Mon Dec 16 17:17:45 2002
@@ -1276,8 +1276,8 @@
  /*0100*/ GENx___x___x___ ,
  /*0101*/ GENx___x390x900 (program_return,E,"PR"),
  /*0102*/ GENx___x390x900 (update_tree,E,"UPT"),
- /*0103*/ GENx___x___x___ ,
- /*0104*/ GENx___x___x___ ,
+ /*0103*/ GENx370x390x900 (hconsole_get_char,E,"HCGC"),
+ /*0104*/ GENx370x390x900 (hconsole_put_char,E,"HCPC"),
  /*0105*/ GENx___x___x___ ,                                     /* CMSG      */
  /*0106*/ GENx___x___x___ ,                                     /* TMSG      */
  /*0107*/ GENx___x390x900 (set_clock_programmable_field,E,"SCKPF"),
diff -ur ./opcode.h ../../work/hercules-2.16.5/opcode.h
--- ./opcode.h	Mon Mar 11 18:40:40 2002
+++ ../../work/hercules-2.16.5/opcode.h	Mon Dec 16 17:17:45 2002
@@ -1599,6 +1599,11 @@
 DEF_INST(dummy_instruction);
 
 
+/* Instructions in hc.c */
+DEF_INST(hconsole_get_char);
+DEF_INST(hconsole_put_char);
+
+
 /* Instructions in assist.c */
 DEF_INST(svc_assist);
 DEF_INST(obtain_local_lock);