diff --git a/kernel/trunk/acpi/acpi.inc b/kernel/trunk/acpi/acpi.inc
index 82939ddd36..f5e14b4353 100644
--- a/kernel/trunk/acpi/acpi.inc
+++ b/kernel/trunk/acpi/acpi.inc
@@ -1,11 +1,10 @@
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; ;;
-;; Copyright (C) KolibriOS team 2004-2020. All rights reserved. ;;
+;; Copyright (C) KolibriOS team 2004-2024. All rights reserved. ;;
;; Distributed under terms of the GNU General Public License ;;
;; ;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
-$Revision$
; ACPI Generic Address Structure
struct GAS
diff --git a/kernel/trunk/asmxygen.py b/kernel/trunk/asmxygen.py
index f3b6b53547..4bcc2e1c16 100644
--- a/kernel/trunk/asmxygen.py
+++ b/kernel/trunk/asmxygen.py
@@ -1,1207 +1,1207 @@
-import re
-import os
-import argparse
-import sys
-import pickle
-import hashlib
-import difflib
-
-# fasm keywords
-keywords = [
- "align", "equ", "org", "while", "load", "store", "times", "repeat",
- "display", "err", "assert", "if", "aaa", "aad", "aam", "aas", "adc",
- "add", "addpd", "addps", "addsd", "addss", "addsubpd", "addsubps", "adox",
- "aesdeclast", "aesenc", "aesenclast", "aesimc", "aeskeygenassist", "and",
- "andnpd", "andnps", "andpd", "andps", "arpl", "bextr", "blendpd",
- "blendvpd", "blendvps", "blsi", "blsmsk", "blsr", "bndcl", "bndcn",
- "bndldx", "bndmk", "bndmov", "bndstx", "bound", "bsf", "bsr", "bswap",
- "btc", "btr", "bts", "bzhi", "call", "cbw", "cdq", "cdqe", "clac", "clc",
- "cldemote", "clflush", "clflushopt", "cli", "clts", "clwb", "cmc", "cmova",
- "cmovb", "cmovbe", "cmovc", "cmove", "cmovg", "cmovge", "cmovl", "cmovle",
- "cmovnae", "cmovnb", "cmovnbe", "cmovnc", "cmovne", "cmovng", "cmovnge",
- "cmovnle", "cmovno", "cmovnp", "cmovns", "cmovnz", "cmovo", "cmovp",
- "cmovpo", "cmovs", "cmovz", "cmp", "cmppd", "cmpps", "cmps", "cmpsb",
- "cmpsd", "cmpsq", "cmpss", "cmpsw", "cmpxchg", "cmpxchg16b", "cmpxchg8b",
- "comiss", "cpuid", "cqo", "crc32", "cvtdq2pd", "cvtdq2ps", "cvtpd2dq",
- "cvtpd2ps", "cvtpi2pd", "cvtpi2ps", "cvtps2dq", "cvtps2pd", "cvtps2pi",
- "cvtsd2ss", "cvtsi2sd", "cvtsi2ss", "cvtss2sd", "cvtss2si", "cvttpd2dq",
- "cvttps2dq", "cvttps2pi", "cvttsd2si", "cvttss2si", "cwd", "cwde", "daa",
- "dec", "div", "divpd", "divps", "divsd", "divss", "dppd", "dpps", "emms",
- "extractps", "f2xm1", "fabs", "fadd", "faddp", "fbld", "fbstp", "fchs",
- "fcmova", "fcmovae", "fcmovb", "fcmovbe", "fcmovc", "fcmove", "fcmovg",
- "fcmovl", "fcmovle", "fcmovna", "fcmovnae", "fcmovnb", "fcmovnbe",
- "fcmovne", "fcmovng", "fcmovnge", "fcmovnl", "fcmovnle", "fcmovno",
- "fcmovns", "fcmovnz", "fcmovo", "fcmovp", "fcmovpe", "fcmovpo", "fcmovs",
- "fcom", "fcomi", "fcomip", "fcomp", "fcompp", "fcos", "fdecstp", "fdiv",
- "fdivr", "fdivrp", "ffree", "fiadd", "ficom", "ficomp", "fidiv", "fidivr",
- "fimul", "fincstp", "finit", "fist", "fistp", "fisttp", "fisub", "fisubr",
- "fld1", "fldcw", "fldenv", "fldl2e", "fldl2t", "fldlg2", "fldln2", "fldpi",
- "fmul", "fmulp", "fnclex", "fninit", "fnop", "fnsave", "fnstcw", "fnstenv",
- "fpatan", "fprem", "fprem1", "fptan", "frndint", "frstor", "fsave",
- "fsin", "fsincos", "fsqrt", "fst", "fstcw", "fstenv", "fstp", "fstsw",
- "fsubp", "fsubr", "fsubrp", "ftst", "fucom", "fucomi", "fucomip", "fucomp",
- "fwait", "fxam", "fxch", "fxrstor", "fxsave", "fxtract", "fyl2x",
- "gf2p8affineinvqb", "gf2p8affineqb", "gf2p8mulb", "haddpd", "haddps",
- "hsubpd", "hsubps", "idiv", "imul", "in", "inc", "ins", "insb", "insd",
- "insw", "int", "int1", "int3", "into", "invd", "invlpg", "invpcid", "iret",
- "jmp", "ja", "jae", "jb", "jbe", "jc", "jcxz", "jecxz", "je", "jg", "jge",
- "jle", "jna", "jnae", "jnb", "jnbe", "jnc", "jne", "jng", "jnge", "jnl",
- "jno", "jnp", "jns", "jnz", "jo", "jp", "jpe", "jpo", "js", "jz", "kaddb",
- "kaddq", "kaddw", "kandb", "kandd", "kandnb", "kandnd", "kandnq", "kandnw",
- "kandw", "kmovb", "kmovd", "kmovq", "kmovw", "knotb", "knotd", "knotq",
- "korb", "kord", "korq", "kortestb", "kortestd", "kortestq", "kortestw",
- "kshiftlb", "kshiftld", "kshiftlq", "kshiftlw", "kshiftrb", "kshiftrd",
- "kshiftrw", "ktestb", "ktestd", "ktestq", "ktestw", "kunpckbw", "kunpckdq",
- "kxnorb", "kxnord", "kxnorq", "kxnorw", "kxorb", "kxord", "kxorq", "kxorw",
- "lar", "lddqu", "ldmxcsr", "lds", "lea", "leave", "les", "lfence", "lfs",
- "lgs", "lidt", "lldt", "lmsw", "lock", "lods", "lodsb", "lodsd", "lodsq",
- "loop", "loopa", "loopae", "loopb", "loopbe", "loopc", "loope", "loopg",
- "loopl", "loople", "loopna", "loopnae", "loopnb", "loopnbe", "loopnc",
- "loopng", "loopnge", "loopnl", "loopnle", "loopno", "loopnp", "loopns",
- "loopo", "loopp", "looppe", "looppo", "loops", "loopz", "lsl", "lss",
- "lzcnt", "maskmovdqu", "maskmovq", "maxpd", "maxps", "maxsd", "maxss",
- "minpd", "minps", "minsd", "minss", "monitor", "mov", "movapd", "movaps",
- "movd", "movddup", "movdir64b", "movdiri", "movdq2q", "movdqa", "movdqu",
- "movhpd", "movhps", "movlhps", "movlpd", "movlps", "movmskpd", "movmskps",
- "movntdqa", "movnti", "movntpd", "movntps", "movntq", "movq", "movq",
- "movs", "movsb", "movsd", "movsd", "movshdup", "movsldup", "movsq",
- "movsw", "movsx", "movsxd", "movupd", "movups", "movzx", "mpsadbw", "mul",
- "mulps", "mulsd", "mulss", "mulx", "mwait", "neg", "nop", "not", "or",
- "orps", "out", "outs", "outsb", "outsd", "outsw", "pabsb", "pabsd",
- "pabsw", "packssdw", "packsswb", "packusdw", "packuswb", "paddb", "paddd",
- "paddsb", "paddsw", "paddusb", "paddusw", "paddw", "palignr", "pand",
- "pause", "pavgb", "pavgw", "pblendvb", "pblendw", "pclmulqdq", "pcmpeqb",
- "pcmpeqq", "pcmpeqw", "pcmpestri", "pcmpestrm", "pcmpgtb", "pcmpgtd",
- "pcmpgtw", "pcmpistri", "pcmpistrm", "pdep", "pext", "pextrb", "pextrd",
- "pextrw", "phaddd", "phaddsw", "phaddw", "phminposuw", "phsubd", "phsubsw",
- "pinsrb", "pinsrd", "pinsrq", "pinsrw", "pmaddubsw", "pmaddwd", "pmaxsb",
- "pmaxsq", "pmaxsw", "pmaxub", "pmaxud", "pmaxuq", "pmaxuw", "pminsb",
- "pminsq", "pminsw", "pminub", "pminud", "pminuq", "pminuw", "pmovmskb",
- "pmovzx", "pmuldq", "pmulhrsw", "pmulhuw", "pmulhw", "pmulld", "pmullq",
- "pmuludq", "pop", "popa", "popad", "popcnt", "popf", "popfd", "popfq",
- "prefetchw", "prefetchh", "psadbw", "pshufb", "pshufd", "pshufhw",
- "pshufw", "psignb", "psignd", "psignw", "pslld", "pslldq", "psllq",
- "psrad", "psraq", "psraw", "psrld", "psrldq", "psrlq", "psrlw", "psubb",
- "psubq", "psubsb", "psubsw", "psubusb", "psubusw", "psubw", "ptest",
- "punpckhbw", "punpckhdq", "punpckhqdq", "punpckhwd", "punpcklbw",
- "punpcklqdq", "punpcklwd", "push", "pushw", "pushd", "pusha", "pushad",
- "pushfd", "pushfq", "pxor", "rcl", "rcpps", "rcpss", "rcr", "rdfsbase",
- "rdmsr", "rdpid", "rdpkru", "rdpmc", "rdrand", "rdseed", "rdtsc", "rdtscp",
- "repe", "repne", "repnz", "repz", "ret", "rol", "ror", "rorx", "roundpd",
- "roundsd", "roundss", "rsm", "rsqrtps", "rsqrtss", "sahf", "sal", "sar",
- "sbb", "scas", "scasb", "scasd", "scasw", "seta", "setae", "setb", "setbe",
- "sete", "setg", "setge", "setl", "setle", "setna", "setnae", "setnb",
- "setnc", "setne", "setng", "setnge", "setnl", "setnle", "setno", "setnp",
- "setnz", "seto", "setp", "setpe", "setpo", "sets", "setz", "sfence",
- "sha1msg1", "sha1msg2", "sha1nexte", "sha1rnds4", "sha256msg1",
- "sha256rnds2", "shl", "shld", "shlx", "shr", "shrd", "shrx", "shufpd",
- "sidt", "sldt", "smsw", "sqrtpd", "sqrtps", "sqrtsd", "sqrtss", "stac",
- "std", "sti", "stmxcsr", "stos", "stosb", "stosd", "stosq", "stosw", "str",
- "subpd", "subps", "subsd", "subss", "swapgs", "syscall", "sysenter",
- "sysret", "test", "tpause", "tzcnt", "ucomisd", "ucomiss", "ud",
- "umwait", "unpckhpd", "unpckhps", "unpcklpd", "unpcklps", "valignd",
- "vblendmpd", "vblendmps", "vbroadcast", "vcompresspd", "vcompressps",
- "vcvtpd2udq", "vcvtpd2uqq", "vcvtph2ps", "vcvtps2ph", "vcvtps2qq",
- "vcvtps2uqq", "vcvtqq2pd", "vcvtqq2ps", "vcvtsd2usi", "vcvtss2usi",
- "vcvttpd2udq", "vcvttpd2uqq", "vcvttps2qq", "vcvttps2udq", "vcvttps2uqq",
- "vcvttss2usi", "vcvtudq2pd", "vcvtudq2ps", "vcvtuqq2pd", "vcvtuqq2ps",
- "vcvtusi2ss", "vdbpsadbw", "verr", "verw", "vexpandpd", "vexpandps",
- "vextractf32x4", "vextractf32x8", "vextractf64x2", "vextractf64x4",
- "vextracti32x4", "vextracti32x8", "vextracti64x2", "vextracti64x4",
- "vfixupimmps", "vfixupimmsd", "vfixupimmss", "vfmadd132pd", "vfmadd132ps",
- "vfmadd132ss", "vfmadd213pd", "vfmadd213ps", "vfmadd213sd", "vfmadd213ss",
- "vfmadd231ps", "vfmadd231sd", "vfmadd231ss", "vfmaddsub132pd",
- "vfmaddsub213pd", "vfmaddsub213ps", "vfmaddsub231pd", "vfmaddsub231ps",
- "vfmsub132ps", "vfmsub132sd", "vfmsub132ss", "vfmsub213pd", "vfmsub213ps",
- "vfmsub213ss", "vfmsub231pd", "vfmsub231ps", "vfmsub231sd", "vfmsub231ss",
- "vfmsubadd132ps", "vfmsubadd213pd", "vfmsubadd213ps", "vfmsubadd231pd",
- "vfnmadd132pd", "vfnmadd132ps", "vfnmadd132sd", "vfnmadd132ss",
- "vfnmadd213ps", "vfnmadd213sd", "vfnmadd213ss", "vfnmadd231pd",
- "vfnmadd231sd", "vfnmadd231ss", "vfnmsub132pd", "vfnmsub132ps",
- "vfnmsub132ss", "vfnmsub213pd", "vfnmsub213ps", "vfnmsub213sd",
- "vfnmsub231pd", "vfnmsub231ps", "vfnmsub231sd", "vfnmsub231ss",
- "vfpclassps", "vfpclasssd", "vfpclassss", "vgatherdpd", "vgatherdpd",
- "vgatherdps", "vgatherqpd", "vgatherqpd", "vgatherqps", "vgatherqps",
- "vgetexpps", "vgetexpsd", "vgetexpss", "vgetmantpd", "vgetmantps",
- "vgetmantss", "vinsertf128", "vinsertf32x4", "vinsertf32x8",
- "vinsertf64x4", "vinserti128", "vinserti32x4", "vinserti32x8",
- "vinserti64x4", "vmaskmov", "vmovdqa32", "vmovdqa64", "vmovdqu16",
- "vmovdqu64", "vmovdqu8", "vpblendd", "vpblendmb", "vpblendmd", "vpblendmq",
- "vpbroadcast", "vpbroadcastb", "vpbroadcastd", "vpbroadcastm",
- "vpbroadcastw", "vpcmpb", "vpcmpd", "vpcmpq", "vpcmpub", "vpcmpud",
- "vpcmpuw", "vpcmpw", "vpcompressd", "vpcompressq", "vpconflictd",
- "vperm2f128", "vperm2i128", "vpermb", "vpermd", "vpermi2b", "vpermi2d",
- "vpermi2ps", "vpermi2q", "vpermi2w", "vpermilpd", "vpermilps", "vpermpd",
- "vpermq", "vpermt2b", "vpermt2d", "vpermt2pd", "vpermt2ps", "vpermt2q",
- "vpermw", "vpexpandd", "vpexpandq", "vpgatherdd", "vpgatherdd",
- "vpgatherdq", "vpgatherqd", "vpgatherqd", "vpgatherqq", "vpgatherqq",
- "vplzcntq", "vpmadd52huq", "vpmadd52luq", "vpmaskmov", "vpmovb2m",
- "vpmovdb", "vpmovdw", "vpmovm2b", "vpmovm2d", "vpmovm2q", "vpmovm2w",
- "vpmovqb", "vpmovqd", "vpmovqw", "vpmovsdb", "vpmovsdw", "vpmovsqb",
- "vpmovsqw", "vpmovswb", "vpmovusdb", "vpmovusdw", "vpmovusqb", "vpmovusqd",
- "vpmovuswb", "vpmovw2m", "vpmovwb", "vpmultishiftqb", "vprold", "vprolq",
- "vprolvq", "vprord", "vprorq", "vprorvd", "vprorvq", "vpscatterdd",
- "vpscatterqd", "vpscatterqq", "vpsllvd", "vpsllvq", "vpsllvw", "vpsravd",
- "vpsravw", "vpsrlvd", "vpsrlvq", "vpsrlvw", "vpternlogd", "vpternlogq",
- "vptestmd", "vptestmq", "vptestmw", "vptestnmb", "vptestnmd", "vptestnmq",
- "vrangepd", "vrangeps", "vrangesd", "vrangess", "vrcp14pd", "vrcp14ps",
- "vrcp14ss", "vreducepd", "vreduceps", "vreducesd", "vreducess",
- "vrndscaleps", "vrndscalesd", "vrndscaless", "vrsqrt14pd", "vrsqrt14ps",
- "vrsqrt14ss", "vscalefpd", "vscalefps", "vscalefsd", "vscalefss",
- "vscatterdps", "vscatterqpd", "vscatterqps", "vshuff32x4", "vshuff64x2",
- "vshufi64x2", "vtestpd", "vtestps", "vzeroall", "vzeroupper", "wait",
- "wrfsbase", "wrgsbase", "wrmsr", "wrpkru", "xabort", "xacquire", "xadd",
- "xchg", "xend", "xgetbv", "xlat", "xlatb", "xor", "xorpd", "xorps",
- "xrstor", "xrstors", "xsave", "xsavec", "xsaveopt", "xsaves", "xsetbv",
-]
-
-fasm_types = [
- "db", "rb",
- "dw", "rw",
- "dd", "rd",
- "dp", "rp",
- "df", "rf",
- "dq", "rq",
- "dt", "rt",
- "du",
-]
-
-
-# Add kind flag to identifier in id2kind
-def id_add_kind(identifier, kind):
- if identifier not in id2kind:
- id2kind[identifier] = ''
- id2kind[identifier] += kind
-
-
-# Remove kind flag of identifier in id2kind
-def id_remove_kind(identifier, kind):
- if identifier in id2kind:
- if kind in id2kind[identifier]:
- id2kind[identifier] = id2kind[identifier].replace(kind, '')
-
-
-# Get kind of an identifier
-def id_get_kind(identifier):
- if identifier in id2kind:
- return id2kind[identifier]
- else:
- return ''
-
-
-class LegacyAsmReader:
- def __init__(self, file):
- self.file = file
- self.lines = open(file, "r", encoding="utf-8").readlines()
- self.line_idx = 0
- self.i = 0
-
- def currline(self):
- return self.lines[self.line_idx]
-
- def curr(self):
- try:
- return self.lines[self.line_idx][self.i]
- except:
- return ''
-
- def step(self):
- c = self.curr()
- self.i += 1
- # Wrap the line if '\\' followed by whitespaces and/or comment
- while self.curr() == '\\':
- i_of_backslash = self.i
- self.i += 1
- while self.curr().isspace():
- self.i += 1
- if self.curr() == ';' or self.curr() == '':
- self.line_idx += 1
- self.i = 0
- else:
- # There's something other than a comment after the backslash
- # So don't interpret the backslash as a line wrap
- self.i = i_of_backslash
- break
- return c
-
- def nextline(self):
- c = self.curr()
- while c != '':
- c = self.step()
- self.line_idx += 1
- self.i = 0
-
- def no_lines(self):
- if self.line_idx >= len(self.lines):
- return True
- return False
-
- def location(self):
- return f"{self.file}:{self.line_idx + 1}"
-
- def skip_spaces(self):
- while self.curr().isspace():
- self.step()
-
-
-class AsmReaderRecognizingStrings(LegacyAsmReader):
- def __init__(self, file):
- super().__init__(file)
- self.in_string = None
- self.should_recognize_strings = True
-
- def step(self):
- c = super().step()
- if self.should_recognize_strings and (c == '"' or c == "'"):
- # If just now we was at the double or single quotation mark
- # and we aren't in a string yet then say
- # "we are in a string openned with this quotation mark now"
- if self.in_string is None:
- self.in_string = c
- # If just now we was at the double or single quotation mark
- # and we are in the string entered with the same quotation mark
- # then say "we aren't in a string anymore"
- elif self.in_string == c:
- self.in_string = None
- return c
-
-
-class AsmReaderReadingComments(AsmReaderRecognizingStrings):
- def __init__(self, file):
- super().__init__(file)
- self.status = dict()
- self.status_reset()
- self.comment = ''
-
- def status_reset(self):
- # If the line has non-comment code
- self.status_has_code = False
- # If the line has a comment at the end
- self.status_has_comment = False
- # Let it recognize strings further, we are definitely out of a comment
- self.should_recognize_strings = True
-
- def status_set_has_comment(self):
- self.status_has_comment = True
- # Don't let it recognize strings cause we are in a comment now
- self.should_recognize_strings = False
-
- def status_set_has_code(self):
- self.status_has_code = True
-
- def update_status(self):
- # If we aren't in a comment and we aren't in a string -
- # say we are now in a comment if ';' met
- if (not self.status_has_comment and
- not self.in_string and
- self.curr() == ';'):
- self.status_set_has_comment()
- # Else if we are in a comment - collect the comment
- elif self.status_has_comment:
- self.comment += self.curr()
- # Else if there's some non-whitespace character out of a comment
- # then the line has code
- elif not self.status_has_comment and not self.curr().isspace():
- self.status_set_has_code()
-
- def step(self):
- # Get to the next character
- c = super().step()
- # Update status of the line according to the next character
- self.update_status()
- return c
-
- def nextline(self):
- prev_line = self.currline()
- super().nextline()
- # If the line we leave was not a comment-only line
- # then forget the collected comment
- # Otherwise the collected comment should be complemented by
- # comment from next line in step()
- if self.status_has_code:
- # But we should preserve comment for the next line
- # If previous line set align (cause many functions re documented
- # right before align set, not before their labels)
- if not prev_line.startswith("align "):
- self.comment = ''
- # Reset the line status (now it's the status of the new line)
- self.status_reset()
- # Set new status for this line according to the
- # first character in the line
- self.update_status()
-
-
-class AsmReaderFetchingIdentifiers(AsmReaderReadingComments):
- def __init__(self, file):
- super().__init__(file)
-
- def fetch_identifier(self):
- self.skip_spaces()
- result = ''
- while is_id(self.curr()):
- result += self.step()
- return result
-
-
-class AsmReader(AsmReaderFetchingIdentifiers):
- def __init__(self, file):
- super().__init__(file)
-
-
-def append_file(full_path, contents):
- if debug_mode:
- if full_path not in output_files:
- output_files[full_path] = ""
- output_files[full_path] += contents
- else:
- f = open(full_path, "a")
- f.write(contents)
- f.close()
-
-
-class AsmElement:
- def __init__(self, location, name, comment):
- global warnings
-
- # If the element was constructed during this execution then
- # the element is new
- self.new = True
- self.location = location
- self.file = self.location.split(':')[0].replace('\\', '/')
- self.line = self.location.split(':')[1]
- self.name = name
- self.comment = comment
-
- if self.comment == '':
- warnings += f'{self.location}: Undocumented element\n'
-
- def dump(self):
- print(f"\n{self.location}: {self.name}")
- print(f"{self.comment}")
-
- def emit(self, dest, doxycomment='', declaration=''):
- # Do not emit anything if the symbol is marked as hidden in its comment
- if '@dont_give_a_doxygen' in self.comment:
- return
-
- global warnings
- # Redefine default declaration
- if declaration == '':
- declaration = f'#define {self.name}'
- # Check doxycomment
- if not doxycomment.endswith('\n'):
- doxycomment += '\n'
- if doxycomment.split('@brief ')[1][0].islower():
- warnings += (f"{self.location}: Brief comment starting from " +
- "lowercase\n")
- # Build contents to emit
- contents = ''
- contents += '/**\n'
- contents += doxycomment
- contents += (f"@par Source\n" +
- f"{self.file}:{self.line}\n")
- contents += '*/\n'
- contents += declaration
- contents += '\n\n'
- # Get path to file to emit this
- full_path = dest + '/' + self.file
- # Remove the file on first access if it was
- # created by previous generation
- if full_path not in created_files:
- if os.path.isfile(full_path):
- os.remove(full_path)
- created_files.append(full_path)
- # Create directories need for the file
- os.makedirs(os.path.dirname(full_path), exist_ok=True)
- contents = ''.join([i if ord(i) < 128 else '?' for i in contents])
-
- append_file(full_path, contents)
-
-
-class AsmVariable(AsmElement):
- def __init__(self, location, name, comment, type, init):
- super().__init__(location, name, comment)
- self.type = type
- self.init = init
-
- def dump(self):
- super().dump()
- print(f"(Variable)\n---")
-
- def emit(self, dest):
- # Build doxycomment specific for the variable
- doxycomment = ''
- doxycomment += self.comment
- if '@brief' not in doxycomment:
- doxycomment = '@brief ' + doxycomment
- doxycomment += (f"@par Initial value\n" +
- f"{self.init}\n")
- # Build the declaration
- name = self.name.replace(".", "_")
- var_type = self.type.replace(".", "_")
- declaration = f"{var_type} {name};"
- # Emit this
- super().emit(dest, doxycomment, declaration)
-
-
-class AsmFunction(AsmElement):
- def __init__(self, location, name, comment, calling_convention,
- args, used_regs):
- super().__init__(location, name, comment)
- self.calling_convention = calling_convention
- self.args = args
- self.used_regs = used_regs
-
- def dump(self):
- super().dump()
- print(f"(Function)\n---")
-
- def emit(self, dest):
- # Build doxycomment specific for the variable
- doxycomment = ''
- doxycomment += self.comment
- if '@brief' not in doxycomment:
- doxycomment = '@brief ' + doxycomment
- # If there was no arguments, maybe that's just a label
- # then parse parameters from its comment
- if len(self.args) == 0 and '@param' in self.comment:
- i = 0
- while '@param' in self.comment[i:]:
- i = self.comment.index('@param', i)
- # Skip '@param'
- i += len('@param')
- # Skip spaces after '@param'
- while self.comment[i].isspace():
- i += 1
- # Get the parameter name
- name = ''
- while is_id(self.comment[i]):
- name += self.comment[i]
- i += 1
- # Save the parameter
- self.args.append((name, 'arg_t'))
- # Build the arg list for declaration
- arg_list = '('
- if len(self.args) > 0:
- argc = 0
- for arg in self.args:
- if argc != 0:
- arg_list += ", "
- arg_list += f"{arg[1]} {arg[0]}"
- argc += 1
- arg_list += ')'
- # Build the declaration
- name = self.name.replace(".", "_")
- declaration = f"void {name}{arg_list};"
- # Emit this
- super().emit(dest, doxycomment, declaration)
-
-
-class AsmLabel(AsmElement):
- def __init__(self, location, name, comment):
- super().__init__(location, name, comment)
-
- def dump(self):
- super().dump()
- print(f"(Label)\n---")
-
- def emit(self, dest):
- # Build doxycomment specific for the variable
- doxycomment = ''
- doxycomment += self.comment
- if '@brief' not in doxycomment:
- doxycomment = '@brief ' + doxycomment
- # Build the declaration
- name = self.name.replace(".", "_")
- declaration = f"label {name};"
- # Emit this
- super().emit(dest, doxycomment, declaration)
-
-
-class AsmMacro(AsmElement):
- def __init__(self, location, name, comment, args):
- super().__init__(location, name, comment)
- self.args = args
-
- def dump(self):
- super().dump()
- print(f"(Macro)\n---")
-
- def emit(self, dest):
- # Construct arg list without '['s, ']'s and '*'s
- args = [arg for arg in self.args if arg not in "[]*"]
- # Construct C-like arg list
- arg_list = ""
- if len(args) > 0:
- arg_list += '('
- argc = 0
- for arg in args:
- if argc != 0:
- arg_list += ", "
- arg_list += arg
- argc += 1
- arg_list += ')'
- # Build doxycomment
- doxycomment = ''
- doxycomment += self.comment
- if '@brief' not in doxycomment:
- doxycomment = '@brief ' + doxycomment
- # Build declaration
- declaration = f"#define {self.name}{arg_list}"
- # Emit this
- super().emit(dest, doxycomment, declaration)
-
-
-class AsmStruct(AsmElement):
- def __init__(self, location, name, comment, members):
- super().__init__(location, name, comment)
- self.members = members
-
- def dump(self):
- super().dump()
- print(f"(Struct)\n---")
-
- def emit(self, dest):
- # Build doxycomment
- doxycomment = ''
- doxycomment += self.comment
- if '@brief' not in doxycomment:
- doxycomment = '@brief ' + doxycomment
- doxycomment += '\n'
- # Build declaration
- declaration = f"struct {self.name}" + " {\n"
- for member in self.members:
- if type(member) == AsmVariable:
- declaration += (f'\t{member.type} {member.name}; ' +
- f'/**< {member.comment} */\n')
- declaration += '};'
- # Emit this
- super().emit(dest, doxycomment, declaration)
-
-
-class AsmUnion(AsmElement):
- def __init__(self, location, name, comment, members):
- super().__init__(location, name, comment)
- self.members = members
-
- def dump(self):
- super().dump()
- print(f"(Union)\n---")
-
- def emit(self, dest):
- # Build doxycomment
- doxycomment = ''
- doxycomment += self.comment
- if '@brief' not in doxycomment:
- doxycomment = '@brief ' + doxycomment
- # Build declaration
- declaration = f"union {self.name}" + " {};"
- # Emit this
- super().emit(dest, doxycomment, declaration)
-
-
-class VariableNameIsMacroName:
- def __init__(self, name):
- self.name = name
-
-
-def is_id(c):
- return c.isprintable() and c not in "+-/*=<>()[]{};:,|&~#`'\" \n\r\t\v"
-
-
-def is_starts_as_id(s):
- return not s[0].isdigit()
-
-
-def parse_after_macro(r):
- location = r.location()
-
- # Skip spaces after the "macro" keyword
- r.skip_spaces()
- # Read macro name
- name = ""
- while is_id(r.curr()) or r.curr() == '#':
- name += r.step()
- # Skip spaces after macro name
- r.skip_spaces()
- # Find all arguments
- args = []
- arg = ''
- while r.curr() and r.curr() != ';' and r.curr() != '{':
- # Collect identifier
- if is_id(r.curr()):
- arg += r.step()
- # Save the collected identifier
- elif r.curr() == ',':
- args.append(arg)
- arg = ''
- r.step()
- # Just push the '['
- elif r.curr() == '[':
- args.append(r.step())
- # Just push the identifier and get ']' ready to be pushed on next comma
- elif r.curr() == ']':
- args.append(arg)
- arg = r.step()
- # Just push the identifier and get '*' ready to be pushed on next comma
- elif r.curr() == '*':
- args.append(arg)
- arg = r.step()
- # Just skip whitespaces
- elif r.curr().isspace():
- r.step()
- # Something unexpected
- else:
- raise Exception(f"Unexpected symbol '{r.curr()}' " +
- f"at index #{r.i} in the macro declaration " +
- f"at {location} " +
- f"(line: {r.lines[r.line_idx]})\n''")
- # Append the last argument
- if arg != '':
- args.append(arg)
- # Skip t spaces after the argument list
- r.skip_spaces()
- # Get a comment if it is: read till the end of the line and
- # get the comment from the reader
- while r.curr() != '':
- r.step()
- comment = r.comment
- # Find end of the macro
- prev = ''
- while True:
- if r.curr() == '}' and prev != '\\':
- break
- elif r.curr() == '':
- prev = ''
- r.nextline()
- continue
- prev = r.step()
- # Build the output
- return AsmMacro(location, name, comment, args)
-
-
-def parse_variable(r, first_word=None):
- global warnings
- location = r.location()
-
- # Skip spaces before variable name
- r.skip_spaces()
- # Get variable name
- name = ""
- # Read it if it was not supplied
- if first_word is None:
- while is_id(r.curr()):
- name += r.step()
- # Or use the supplied one instead
- else:
- name = first_word
- # Check the name
- # If it's 0 len, that means threr's something else than an
- # identifier at the beginning
- if len(name) == 0:
- return None
- # If it starts from digit or othervice illegally it's illegal
- if not is_starts_as_id(name):
- return None
- # Get kind of the identifier from id2kind table
- kind = id_get_kind(name)
- # If it's a keyword, that's not a variable declaration
- if ID_KIND_KEYWORD in kind:
- return None
- # If it's a macro name, that's not a variable declaration
- if ID_KIND_MACRO_NAME in kind:
- return VariableNameIsMacroName(name)
- # If it's a datatype or a structure name that's not a
- # variable declaration: that's just a data
- # don't document just a data for now
- if ID_KIND_STRUCT_NAME in kind or ID_KIND_FASM_TYPE in kind:
- return None
- # Skip spaces before type name
- r.skip_spaces()
- # Read type name
- var_type = ""
- while is_id(r.curr()):
- var_type += r.step()
- # Check the type name
- if len(var_type) == 0:
- # If there's no type identifier after the name
- # maybe the name is something meaningful for the next parser
- # return it
- return name
- # If it starts from digit or othervice illegally it's illegal
- if not is_starts_as_id(var_type):
- return None
- # Get kind of type identifier
- type_kind = id_get_kind(var_type)
- # If it's a keyword, that's not a variable declaration
- # return the two words of the lexical structure
- if ID_KIND_KEYWORD in type_kind:
- return (name, var_type)
- # Skip spaces before the value
- r.skip_spaces()
- # Read the value until the comment or end of the line
- value = ""
- while r.curr() != ';' and r.curr() != '' and r.curr() != '\n':
- value += r.step()
- # Skip spaces after the value
- r.skip_spaces()
- # Read till end of the line to get a comment from the reader
- while r.curr() != '':
- r.step()
- # Build the result
- return AsmVariable(location, name, r.comment, var_type, value)
-
-
-def parse_after_struct(r, as_union=True):
- global warnings
- location = r.location()
-
- # Skip spaces after "struct" keyword
- r.skip_spaces()
- # Read struct name
- name = ""
- while is_id(r.curr()):
- name += r.step()
- # Read till end of the line and get the comment from the reader
- while r.curr() != '':
- r.step()
- comment = r.comment
- # Get to the next line to parse struct members
- r.nextline()
- # Parse struct members
- members = []
- while True:
- r.skip_spaces()
- var = parse_variable(r)
- if type(var) == AsmVariable:
- members.append(var)
- elif type(var) == str:
- if var == 'union':
- # Parse the union as a struct
- union = parse_after_struct(r, as_union=True)
- members.append(union)
- # Skip the ends of the union
- r.nextline()
- elif r.curr() == ':':
- warnings += f"{r.location()}: Skept the label in the struct\n"
- else:
- raise Exception(f"Garbage in struct member at {location} " +
- f" (got '{var}' identifier)")
- elif type(var) == VariableNameIsMacroName:
- if var.name == 'ends':
- break
- r.nextline()
- # Return the result
- if as_union:
- return AsmStruct(location, name, comment, members)
- else:
- return AsmUnion(location, name, comment, members)
-
-
-def parse_after_proc(r):
- # Get proc name
- name = r.fetch_identifier()
- # Next identifier after the proc name
- identifier = r.fetch_identifier()
- # Check if the id is 'stdcall' or 'c' (calling convention specifier)
- # and if so - save the convention and lookup the next identifier
- calling_convention = ''
- if identifier == 'stdcall' or identifier == 'c':
- calling_convention = identifier
- # If next is a comma, just skip it
- if r.curr() == ',':
- r.step()
- # Read the next identifier
- identifier = r.fetch_identifier()
- # Check if the id is 'uses' (used register list specifier)
- # and if so save the used register list
- used_regs = []
- if identifier == 'uses':
- # Read the registers
- while True:
- reg_name = r.fetch_identifier()
- if reg_name != '':
- used_regs.append(reg_name)
- else:
- break
- # If next is a comma, just skip it
- if r.curr() == ',':
- r.step()
- # Read the next identifier
- identifier = r.fetch_identifier()
- # Check if there are argument identifiers
- args = []
- while identifier != '':
- arg_name = identifier
- arg_type = 'arg_t'
- # Skip spaces after argument name
- r.skip_spaces()
- # If there's a ':' after the name - the next identifier is type
- if r.curr() == ':':
- r.step()
- arg_type = r.fetch_identifier()
- # If there's a comma - there's one more argument
- # else no arguments anymore
- if r.curr() == ',':
- r.step()
- identifier = r.fetch_identifier()
- else:
- identifier = ''
- args.append((arg_name, arg_type))
- # Get to the end of the line and get a comment from the reader
- while r.curr() != '':
- r.step()
- comment = r.comment
- # Build the element
- return AsmFunction(r.location(), name, comment, calling_convention,
- args, used_regs)
-
-
-def get_declarations(asm_file_contents, asm_file_name):
- r = AsmReader(asm_file_name)
-
- while not r.no_lines():
- # Skip leading spaces
- r.skip_spaces()
- # Skip the line if it's starting with a comment
- if r.curr() == ';':
- r.nextline()
- continue
- # Get first word
- first_word = ""
- while is_id(r.curr()):
- first_word += r.step()
- # Match macro declaration
- if first_word == "macro":
- macro = parse_after_macro(r)
- elements.append(macro)
- id_add_kind(macro.name, ID_KIND_MACRO_NAME)
- # Match structure declaration
- elif first_word == "struct":
- struct = parse_after_struct(r)
- elements.append(struct)
- id_add_kind(struct.name, ID_KIND_STRUCT_NAME)
- # Match function definition
- elif first_word == "proc":
- proc = parse_after_proc(r)
- elements.append(proc)
- elif first_word == 'format':
- # Skip the format directive
- pass
- elif first_word == 'include':
- # Skip the include directive
- pass
- elif first_word == 'if':
- # Skip the conditional directive
- pass
- elif first_word == 'repeat':
- # Skip the repeat directive
- pass
- elif first_word == 'purge':
- while True:
- # Skip spaces after the 'purge' keyword or after
- # the comma what separated the previous macro name
- r.skip_spaces()
- # Get the purged macro name
- name = ''
- while is_id(r.curr()):
- name += r.step()
- # Remove the purged macro from the macro names list
- try:
- id_remove_kind(name, ID_KIND_MACRO_NAME)
- except:
- pass
- # Skip spaces after the name
- r.skip_spaces()
- # If it's comma (',') after then that's not the last purged
- # macro, continue purging
- if r.curr() == ',':
- r.step()
- continue
- # Here we purged all the macros should be purged
- break
- # Match label or a variable
- elif len(first_word) != 0:
- # Skip spaces after the identifier
- r.skip_spaces()
- # Match a variable
- var = parse_variable(r, first_word)
- if type(var) == AsmVariable:
- elements.append(var)
- # If it wasn't a variable but there was an identifier
- # Maybe that's a label and the identifier is the label name
- # The parse_variable returns the first found or supplied identifier
- # In this case it returns the first_word which is supplied
- # If it didn't match a type identifier after the word
- elif type(var) == str:
- name = var
- # Match label beginning (':' after name)
- if r.curr() == ':':
- # Get to the end of the line and
- # get the coment from the reader
- while r.curr() != '':
- r.step()
- comment = r.comment
- # Only handle non-local labels
- if name[0] != '.' and name != "@@" and name != "$Revision":
- # Treate the label as function if there's @return or
- # @param in its comment. Othervice it's just a variable
- # with type `label` in generated doxygen C
- if '@return' in comment or '@param' in comment:
- element = AsmFunction(r.location(), name, comment,
- '', [], [])
- else:
- element = AsmLabel(r.location(), name, comment)
- elements.append(element)
- elif r.curr() == '=':
- # Save the identifier as a set constant
- id_add_kind(first_word, ID_KIND_SET_CONSTANT)
- elif type(var) == tuple:
- (word_one, word_two) = var
- if word_two == 'equ':
- # Save the identifier as an equated constant
- id_add_kind(word_one, ID_KIND_EQUATED_CONSTANT)
- r.nextline()
-
-
-def it_neds_to_be_parsed(source_file):
- # If there's no symbols file saved - parse it anyway
- # cause we need to create the symbols file and use it
- # if we gonna generate proper doxygen
- if not os.path.isfile('asmxygen.elements.pickle'):
- return True
- dest = doxygen_src_path + '/' + source_file
- # If there's no the doxygen file it should be compiled to
- # then yes, we should compile it to doxygen
- if not os.path.isfile(dest):
- return True
- source_change_time = os.path.getmtime(source_file)
- dest_change_file = os.path.getmtime(dest)
- # If the source is newer than the doxygen it was compiled to
- # then the source should be recompiled (existing doxygen is old)
- if source_change_time > dest_change_file:
- return True
- return False
-
-
-def handle_file(handled_files, asm_file_name, subdir="."):
- global elements
- # Canonicalize the file path and get it relative to cwd
- cwd = os.path.abspath(os.path.dirname(sys.argv[0]))
- asm_file_name = os.path.realpath(asm_file_name)
- asm_file_name = asm_file_name[len(cwd) + 1:]
- # If it's lang.inc - skip it
- if asm_file_name == 'lang.inc':
- return
- # If the file was handled in this execution before - skip it
- if asm_file_name in handled_files:
- return
- # Say that the file was handled in this execution
- handled_files.append(asm_file_name)
- # Check if the file should be parsed
- # (if it was modified or wasn't parsed yet)
- should_get_declarations = True
- if not it_neds_to_be_parsed(asm_file_name):
- print(f"Skipping {asm_file_name} (already newest)")
- should_get_declarations = False
- else:
- print(f"Handling {asm_file_name}")
- # Remove elements parsed from this file before if any
- elements_to_remove = [
- x for x in elements if x.location.split(':')[0] == asm_file_name
- ]
- elements = [
- x for x in elements if x.location.split(':')[0] != asm_file_name
- ]
- # Forget types of identifiers of names of the removed elements
- for element in elements_to_remove:
- if type(element) == AsmStruct:
- id_remove_kind(element.name, ID_KIND_STRUCT_NAME)
- elif type(element) == AsmMacro:
- id_remove_kind(element.name, ID_KIND_MACRO_NAME)
- # Read the source
- asm_file_contents = open(asm_file_name, "r", encoding="utf-8").read()
- # Find includes, fix their paths and handle em recoursively
- includes = re.findall(r'^include (["\'])(.*)\1', asm_file_contents,
- flags=re.MULTILINE)
- for include in includes:
- include = include[1].replace('\\', '/')
- full_path = subdir + '/' + include
- # If the path isn't valid, maybe that's not relative path
- if not os.path.isfile(full_path):
- full_path = include
- new_subdir = full_path.rsplit('/', 1)[0]
- handle_file(handled_files, full_path, new_subdir)
- # Only collect declarations from the file if it wasn't parsed before
- if should_get_declarations and not clean_generated_stuff:
- get_declarations(asm_file_contents, asm_file_name)
-
-if __name__ == "__main__":
- link_root = "http://websvn.kolibrios.org/filedetails.php"
- link_root += "?repname=Kolibri+OS&path=/kernel/trunk"
-
- # Dict where an identifier is assicoated with a string
- # The string contains characters specifying flags
- # Available flags:
- # k - Keyword
- # m - Macro name
- # t - fasm data Type name (db, rq, etc.)
- # s - Struct type name
- # e - equated constant (name equ value)
- # = - set constants (name = value)
- ID_KIND_KEYWORD = 'k'
- ID_KIND_MACRO_NAME = 'm'
- ID_KIND_FASM_TYPE = 't'
- ID_KIND_STRUCT_NAME = 's'
- ID_KIND_EQUATED_CONSTANT = 'e'
- ID_KIND_SET_CONSTANT = '='
- id2kind = {}
-
- for keyword in keywords:
- id_add_kind(keyword, ID_KIND_KEYWORD)
-
- for fasm_type in fasm_types:
- id_add_kind(fasm_type, ID_KIND_FASM_TYPE)
-
- # Warning list
- warnings = ""
-
- # Parameters
- # Path to doxygen folder to make doxygen files in: -o
- doxygen_src_path = 'docs/doxygen'
- # Remove generated doxygen files: --clean
- clean_generated_stuff = False
- # Dump all defined symbols: --dump
- dump_symbols = False
- # Print symbol stats: --stats
- print_stats = False
- # Do not write warnings file: --nowarn
- enable_warnings = True
-
- # Parse arguments
- parser = argparse.ArgumentParser()
- parser.add_argument("-o", help="Doxygen output folder")
- parser.add_argument("--clean",
- help="Remove generated files",
- action="store_true")
- parser.add_argument("--dump",
- help="Dump all defined symbols",
- action="store_true")
- parser.add_argument("--stats",
- help="Print symbol stats",
- action="store_true")
- parser.add_argument("--nowarn",
- help="Do not write warnings file",
- action="store_true")
- parser.add_argument("--noemit",
- help="Do not emit doxygen files (for testing)",
- action="store_true")
- parser.add_argument("--debug",
- help="Show hashes of files (for testing)",
- action="store_true")
- args = parser.parse_args()
- doxygen_src_path = args.o if args.o else 'docs/doxygen'
- clean_generated_stuff = args.clean
- dump_symbols = args.dump
- print_stats = args.stats
- enable_warnings = not args.nowarn
- noemit = args.noemit
- debug_mode = args.debug
-
- # Variables, functions, labels, macros, structure types
- elements = []
- created_files = []
- kernel_files = []
- output_files = {} # If --debug then all the files are written here
-
- # Load remembered list of symbols
- if os.path.isfile('asmxygen.elements.pickle'):
- print('Reading existing dump of symbols')
- pickle_file = open('asmxygen.elements.pickle', 'rb')
- (elements, id2kind) = pickle.load(pickle_file)
- pickle_file.close()
-
- handle_file(kernel_files, "./kernel.asm")
-
- if dump_symbols:
- stdout = sys.stdout
- sys.stdout = open('asmxygen.dump.txt', 'w', encoding='utf-8')
- for asm_element in elements:
- asm_element.dump()
- sys.stdout = stdout
-
- if clean_generated_stuff:
- kernel_files_set = set(kernel_files)
- for file in kernel_files:
- doxygen_file = f"{doxygen_src_path}/{file}"
- if (os.path.isfile(doxygen_file)):
- print(f"Removing {file}... ", end='')
- os.remove(doxygen_file)
- print("Done.")
- elif not noemit:
- print(f"Writing doumented sources to {doxygen_src_path}")
-
- i = 0
- new_elements = [x for x in elements if x.new]
- for element in new_elements:
- counter = f"[{i + 1}/{len(new_elements)}]"
- print(f"{counter} Emitting {element.name} from {element.location}")
- element.emit(doxygen_src_path)
- i += 1
-
- print(f"Writing dump of symbols to asmxygen.elements.pickle")
-
- # Now when the new elements already was written, there's no new
- # elements anymore
- for element in elements:
- element.new = False
- pickle_file = open('asmxygen.elements.pickle', 'wb')
- pickle.dump((elements, id2kind), pickle_file)
- pickle_file.close()
-
- if print_stats:
- var_count = 0
- mac_count = 0
- lab_count = 0
- fun_count = 0
- uni_count = 0
- str_count = 0
- for element in elements:
- if type(element) == AsmVariable:
- var_count += 1
- elif type(element) == AsmMacro:
- mac_count += 1
- elif type(element) == AsmLabel:
- lab_count += 1
- elif type(element) == AsmFunction:
- fun_count += 1
- elif type(element) == AsmUnion:
- uni_count += 1
- elif type(element) == AsmStruct:
- str_count += 1
- print(f'Parsed variable count: {var_count}')
- print(f'Parsed macro count: {mac_count}')
- print(f'Parsed label count: {lab_count}')
- print(f'Parsed function count: {fun_count}')
- print(f'Parsed union type count: {uni_count}')
- print(f'Parsed structure type count: {str_count}')
-
- if enable_warnings:
- open('asmxygen.txt', "w", encoding="utf-8").write(warnings)
-
- if debug_mode:
- hash_per_file = ""
- for file in output_files:
- h = hashlib.sha1(bytes(output_files[file], "ascii")).hexdigest()
- hash_per_file += f"{file}: {h}\n"
- if not os.path.exists("asmxygen_hash_per_file.txt"):
- open("asmxygen_hash_per_file.txt", "w").write(hash_per_file)
- print("NEW")
- else:
- reference_hash_per_file = open("asmxygen_hash_per_file.txt").read()
- if reference_hash_per_file != hash_per_file:
- diffs = difflib.ndiff(reference_hash_per_file, hash_per_file)
- print(''.join(diffs))
- else:
- print("SUCCESS")
+import re
+import os
+import argparse
+import sys
+import pickle
+import hashlib
+import difflib
+
+# fasm keywords
+keywords = [
+ "align", "equ", "org", "while", "load", "store", "times", "repeat",
+ "display", "err", "assert", "if", "aaa", "aad", "aam", "aas", "adc",
+ "add", "addpd", "addps", "addsd", "addss", "addsubpd", "addsubps", "adox",
+ "aesdeclast", "aesenc", "aesenclast", "aesimc", "aeskeygenassist", "and",
+ "andnpd", "andnps", "andpd", "andps", "arpl", "bextr", "blendpd",
+ "blendvpd", "blendvps", "blsi", "blsmsk", "blsr", "bndcl", "bndcn",
+ "bndldx", "bndmk", "bndmov", "bndstx", "bound", "bsf", "bsr", "bswap",
+ "btc", "btr", "bts", "bzhi", "call", "cbw", "cdq", "cdqe", "clac", "clc",
+ "cldemote", "clflush", "clflushopt", "cli", "clts", "clwb", "cmc", "cmova",
+ "cmovb", "cmovbe", "cmovc", "cmove", "cmovg", "cmovge", "cmovl", "cmovle",
+ "cmovnae", "cmovnb", "cmovnbe", "cmovnc", "cmovne", "cmovng", "cmovnge",
+ "cmovnle", "cmovno", "cmovnp", "cmovns", "cmovnz", "cmovo", "cmovp",
+ "cmovpo", "cmovs", "cmovz", "cmp", "cmppd", "cmpps", "cmps", "cmpsb",
+ "cmpsd", "cmpsq", "cmpss", "cmpsw", "cmpxchg", "cmpxchg16b", "cmpxchg8b",
+ "comiss", "cpuid", "cqo", "crc32", "cvtdq2pd", "cvtdq2ps", "cvtpd2dq",
+ "cvtpd2ps", "cvtpi2pd", "cvtpi2ps", "cvtps2dq", "cvtps2pd", "cvtps2pi",
+ "cvtsd2ss", "cvtsi2sd", "cvtsi2ss", "cvtss2sd", "cvtss2si", "cvttpd2dq",
+ "cvttps2dq", "cvttps2pi", "cvttsd2si", "cvttss2si", "cwd", "cwde", "daa",
+ "dec", "div", "divpd", "divps", "divsd", "divss", "dppd", "dpps", "emms",
+ "extractps", "f2xm1", "fabs", "fadd", "faddp", "fbld", "fbstp", "fchs",
+ "fcmova", "fcmovae", "fcmovb", "fcmovbe", "fcmovc", "fcmove", "fcmovg",
+ "fcmovl", "fcmovle", "fcmovna", "fcmovnae", "fcmovnb", "fcmovnbe",
+ "fcmovne", "fcmovng", "fcmovnge", "fcmovnl", "fcmovnle", "fcmovno",
+ "fcmovns", "fcmovnz", "fcmovo", "fcmovp", "fcmovpe", "fcmovpo", "fcmovs",
+ "fcom", "fcomi", "fcomip", "fcomp", "fcompp", "fcos", "fdecstp", "fdiv",
+ "fdivr", "fdivrp", "ffree", "fiadd", "ficom", "ficomp", "fidiv", "fidivr",
+ "fimul", "fincstp", "finit", "fist", "fistp", "fisttp", "fisub", "fisubr",
+ "fld1", "fldcw", "fldenv", "fldl2e", "fldl2t", "fldlg2", "fldln2", "fldpi",
+ "fmul", "fmulp", "fnclex", "fninit", "fnop", "fnsave", "fnstcw", "fnstenv",
+ "fpatan", "fprem", "fprem1", "fptan", "frndint", "frstor", "fsave",
+ "fsin", "fsincos", "fsqrt", "fst", "fstcw", "fstenv", "fstp", "fstsw",
+ "fsubp", "fsubr", "fsubrp", "ftst", "fucom", "fucomi", "fucomip", "fucomp",
+ "fwait", "fxam", "fxch", "fxrstor", "fxsave", "fxtract", "fyl2x",
+ "gf2p8affineinvqb", "gf2p8affineqb", "gf2p8mulb", "haddpd", "haddps",
+ "hsubpd", "hsubps", "idiv", "imul", "in", "inc", "ins", "insb", "insd",
+ "insw", "int", "int1", "int3", "into", "invd", "invlpg", "invpcid", "iret",
+ "jmp", "ja", "jae", "jb", "jbe", "jc", "jcxz", "jecxz", "je", "jg", "jge",
+ "jle", "jna", "jnae", "jnb", "jnbe", "jnc", "jne", "jng", "jnge", "jnl",
+ "jno", "jnp", "jns", "jnz", "jo", "jp", "jpe", "jpo", "js", "jz", "kaddb",
+ "kaddq", "kaddw", "kandb", "kandd", "kandnb", "kandnd", "kandnq", "kandnw",
+ "kandw", "kmovb", "kmovd", "kmovq", "kmovw", "knotb", "knotd", "knotq",
+ "korb", "kord", "korq", "kortestb", "kortestd", "kortestq", "kortestw",
+ "kshiftlb", "kshiftld", "kshiftlq", "kshiftlw", "kshiftrb", "kshiftrd",
+ "kshiftrw", "ktestb", "ktestd", "ktestq", "ktestw", "kunpckbw", "kunpckdq",
+ "kxnorb", "kxnord", "kxnorq", "kxnorw", "kxorb", "kxord", "kxorq", "kxorw",
+ "lar", "lddqu", "ldmxcsr", "lds", "lea", "leave", "les", "lfence", "lfs",
+ "lgs", "lidt", "lldt", "lmsw", "lock", "lods", "lodsb", "lodsd", "lodsq",
+ "loop", "loopa", "loopae", "loopb", "loopbe", "loopc", "loope", "loopg",
+ "loopl", "loople", "loopna", "loopnae", "loopnb", "loopnbe", "loopnc",
+ "loopng", "loopnge", "loopnl", "loopnle", "loopno", "loopnp", "loopns",
+ "loopo", "loopp", "looppe", "looppo", "loops", "loopz", "lsl", "lss",
+ "lzcnt", "maskmovdqu", "maskmovq", "maxpd", "maxps", "maxsd", "maxss",
+ "minpd", "minps", "minsd", "minss", "monitor", "mov", "movapd", "movaps",
+ "movd", "movddup", "movdir64b", "movdiri", "movdq2q", "movdqa", "movdqu",
+ "movhpd", "movhps", "movlhps", "movlpd", "movlps", "movmskpd", "movmskps",
+ "movntdqa", "movnti", "movntpd", "movntps", "movntq", "movq", "movq",
+ "movs", "movsb", "movsd", "movsd", "movshdup", "movsldup", "movsq",
+ "movsw", "movsx", "movsxd", "movupd", "movups", "movzx", "mpsadbw", "mul",
+ "mulps", "mulsd", "mulss", "mulx", "mwait", "neg", "nop", "not", "or",
+ "orps", "out", "outs", "outsb", "outsd", "outsw", "pabsb", "pabsd",
+ "pabsw", "packssdw", "packsswb", "packusdw", "packuswb", "paddb", "paddd",
+ "paddsb", "paddsw", "paddusb", "paddusw", "paddw", "palignr", "pand",
+ "pause", "pavgb", "pavgw", "pblendvb", "pblendw", "pclmulqdq", "pcmpeqb",
+ "pcmpeqq", "pcmpeqw", "pcmpestri", "pcmpestrm", "pcmpgtb", "pcmpgtd",
+ "pcmpgtw", "pcmpistri", "pcmpistrm", "pdep", "pext", "pextrb", "pextrd",
+ "pextrw", "phaddd", "phaddsw", "phaddw", "phminposuw", "phsubd", "phsubsw",
+ "pinsrb", "pinsrd", "pinsrq", "pinsrw", "pmaddubsw", "pmaddwd", "pmaxsb",
+ "pmaxsq", "pmaxsw", "pmaxub", "pmaxud", "pmaxuq", "pmaxuw", "pminsb",
+ "pminsq", "pminsw", "pminub", "pminud", "pminuq", "pminuw", "pmovmskb",
+ "pmovzx", "pmuldq", "pmulhrsw", "pmulhuw", "pmulhw", "pmulld", "pmullq",
+ "pmuludq", "pop", "popa", "popad", "popcnt", "popf", "popfd", "popfq",
+ "prefetchw", "prefetchh", "psadbw", "pshufb", "pshufd", "pshufhw",
+ "pshufw", "psignb", "psignd", "psignw", "pslld", "pslldq", "psllq",
+ "psrad", "psraq", "psraw", "psrld", "psrldq", "psrlq", "psrlw", "psubb",
+ "psubq", "psubsb", "psubsw", "psubusb", "psubusw", "psubw", "ptest",
+ "punpckhbw", "punpckhdq", "punpckhqdq", "punpckhwd", "punpcklbw",
+ "punpcklqdq", "punpcklwd", "push", "pushw", "pushd", "pusha", "pushad",
+ "pushfd", "pushfq", "pxor", "rcl", "rcpps", "rcpss", "rcr", "rdfsbase",
+ "rdmsr", "rdpid", "rdpkru", "rdpmc", "rdrand", "rdseed", "rdtsc", "rdtscp",
+ "repe", "repne", "repnz", "repz", "ret", "rol", "ror", "rorx", "roundpd",
+ "roundsd", "roundss", "rsm", "rsqrtps", "rsqrtss", "sahf", "sal", "sar",
+ "sbb", "scas", "scasb", "scasd", "scasw", "seta", "setae", "setb", "setbe",
+ "sete", "setg", "setge", "setl", "setle", "setna", "setnae", "setnb",
+ "setnc", "setne", "setng", "setnge", "setnl", "setnle", "setno", "setnp",
+ "setnz", "seto", "setp", "setpe", "setpo", "sets", "setz", "sfence",
+ "sha1msg1", "sha1msg2", "sha1nexte", "sha1rnds4", "sha256msg1",
+ "sha256rnds2", "shl", "shld", "shlx", "shr", "shrd", "shrx", "shufpd",
+ "sidt", "sldt", "smsw", "sqrtpd", "sqrtps", "sqrtsd", "sqrtss", "stac",
+ "std", "sti", "stmxcsr", "stos", "stosb", "stosd", "stosq", "stosw", "str",
+ "subpd", "subps", "subsd", "subss", "swapgs", "syscall", "sysenter",
+ "sysret", "test", "tpause", "tzcnt", "ucomisd", "ucomiss", "ud",
+ "umwait", "unpckhpd", "unpckhps", "unpcklpd", "unpcklps", "valignd",
+ "vblendmpd", "vblendmps", "vbroadcast", "vcompresspd", "vcompressps",
+ "vcvtpd2udq", "vcvtpd2uqq", "vcvtph2ps", "vcvtps2ph", "vcvtps2qq",
+ "vcvtps2uqq", "vcvtqq2pd", "vcvtqq2ps", "vcvtsd2usi", "vcvtss2usi",
+ "vcvttpd2udq", "vcvttpd2uqq", "vcvttps2qq", "vcvttps2udq", "vcvttps2uqq",
+ "vcvttss2usi", "vcvtudq2pd", "vcvtudq2ps", "vcvtuqq2pd", "vcvtuqq2ps",
+ "vcvtusi2ss", "vdbpsadbw", "verr", "verw", "vexpandpd", "vexpandps",
+ "vextractf32x4", "vextractf32x8", "vextractf64x2", "vextractf64x4",
+ "vextracti32x4", "vextracti32x8", "vextracti64x2", "vextracti64x4",
+ "vfixupimmps", "vfixupimmsd", "vfixupimmss", "vfmadd132pd", "vfmadd132ps",
+ "vfmadd132ss", "vfmadd213pd", "vfmadd213ps", "vfmadd213sd", "vfmadd213ss",
+ "vfmadd231ps", "vfmadd231sd", "vfmadd231ss", "vfmaddsub132pd",
+ "vfmaddsub213pd", "vfmaddsub213ps", "vfmaddsub231pd", "vfmaddsub231ps",
+ "vfmsub132ps", "vfmsub132sd", "vfmsub132ss", "vfmsub213pd", "vfmsub213ps",
+ "vfmsub213ss", "vfmsub231pd", "vfmsub231ps", "vfmsub231sd", "vfmsub231ss",
+ "vfmsubadd132ps", "vfmsubadd213pd", "vfmsubadd213ps", "vfmsubadd231pd",
+ "vfnmadd132pd", "vfnmadd132ps", "vfnmadd132sd", "vfnmadd132ss",
+ "vfnmadd213ps", "vfnmadd213sd", "vfnmadd213ss", "vfnmadd231pd",
+ "vfnmadd231sd", "vfnmadd231ss", "vfnmsub132pd", "vfnmsub132ps",
+ "vfnmsub132ss", "vfnmsub213pd", "vfnmsub213ps", "vfnmsub213sd",
+ "vfnmsub231pd", "vfnmsub231ps", "vfnmsub231sd", "vfnmsub231ss",
+ "vfpclassps", "vfpclasssd", "vfpclassss", "vgatherdpd", "vgatherdpd",
+ "vgatherdps", "vgatherqpd", "vgatherqpd", "vgatherqps", "vgatherqps",
+ "vgetexpps", "vgetexpsd", "vgetexpss", "vgetmantpd", "vgetmantps",
+ "vgetmantss", "vinsertf128", "vinsertf32x4", "vinsertf32x8",
+ "vinsertf64x4", "vinserti128", "vinserti32x4", "vinserti32x8",
+ "vinserti64x4", "vmaskmov", "vmovdqa32", "vmovdqa64", "vmovdqu16",
+ "vmovdqu64", "vmovdqu8", "vpblendd", "vpblendmb", "vpblendmd", "vpblendmq",
+ "vpbroadcast", "vpbroadcastb", "vpbroadcastd", "vpbroadcastm",
+ "vpbroadcastw", "vpcmpb", "vpcmpd", "vpcmpq", "vpcmpub", "vpcmpud",
+ "vpcmpuw", "vpcmpw", "vpcompressd", "vpcompressq", "vpconflictd",
+ "vperm2f128", "vperm2i128", "vpermb", "vpermd", "vpermi2b", "vpermi2d",
+ "vpermi2ps", "vpermi2q", "vpermi2w", "vpermilpd", "vpermilps", "vpermpd",
+ "vpermq", "vpermt2b", "vpermt2d", "vpermt2pd", "vpermt2ps", "vpermt2q",
+ "vpermw", "vpexpandd", "vpexpandq", "vpgatherdd", "vpgatherdd",
+ "vpgatherdq", "vpgatherqd", "vpgatherqd", "vpgatherqq", "vpgatherqq",
+ "vplzcntq", "vpmadd52huq", "vpmadd52luq", "vpmaskmov", "vpmovb2m",
+ "vpmovdb", "vpmovdw", "vpmovm2b", "vpmovm2d", "vpmovm2q", "vpmovm2w",
+ "vpmovqb", "vpmovqd", "vpmovqw", "vpmovsdb", "vpmovsdw", "vpmovsqb",
+ "vpmovsqw", "vpmovswb", "vpmovusdb", "vpmovusdw", "vpmovusqb", "vpmovusqd",
+ "vpmovuswb", "vpmovw2m", "vpmovwb", "vpmultishiftqb", "vprold", "vprolq",
+ "vprolvq", "vprord", "vprorq", "vprorvd", "vprorvq", "vpscatterdd",
+ "vpscatterqd", "vpscatterqq", "vpsllvd", "vpsllvq", "vpsllvw", "vpsravd",
+ "vpsravw", "vpsrlvd", "vpsrlvq", "vpsrlvw", "vpternlogd", "vpternlogq",
+ "vptestmd", "vptestmq", "vptestmw", "vptestnmb", "vptestnmd", "vptestnmq",
+ "vrangepd", "vrangeps", "vrangesd", "vrangess", "vrcp14pd", "vrcp14ps",
+ "vrcp14ss", "vreducepd", "vreduceps", "vreducesd", "vreducess",
+ "vrndscaleps", "vrndscalesd", "vrndscaless", "vrsqrt14pd", "vrsqrt14ps",
+ "vrsqrt14ss", "vscalefpd", "vscalefps", "vscalefsd", "vscalefss",
+ "vscatterdps", "vscatterqpd", "vscatterqps", "vshuff32x4", "vshuff64x2",
+ "vshufi64x2", "vtestpd", "vtestps", "vzeroall", "vzeroupper", "wait",
+ "wrfsbase", "wrgsbase", "wrmsr", "wrpkru", "xabort", "xacquire", "xadd",
+ "xchg", "xend", "xgetbv", "xlat", "xlatb", "xor", "xorpd", "xorps",
+ "xrstor", "xrstors", "xsave", "xsavec", "xsaveopt", "xsaves", "xsetbv",
+]
+
+fasm_types = [
+ "db", "rb",
+ "dw", "rw",
+ "dd", "rd",
+ "dp", "rp",
+ "df", "rf",
+ "dq", "rq",
+ "dt", "rt",
+ "du",
+]
+
+
+# Add kind flag to identifier in id2kind
+def id_add_kind(identifier, kind):
+ if identifier not in id2kind:
+ id2kind[identifier] = ''
+ id2kind[identifier] += kind
+
+
+# Remove kind flag of identifier in id2kind
+def id_remove_kind(identifier, kind):
+ if identifier in id2kind:
+ if kind in id2kind[identifier]:
+ id2kind[identifier] = id2kind[identifier].replace(kind, '')
+
+
+# Get kind of an identifier
+def id_get_kind(identifier):
+ if identifier in id2kind:
+ return id2kind[identifier]
+ else:
+ return ''
+
+
+class LegacyAsmReader:
+ def __init__(self, file):
+ self.file = file
+ self.lines = open(file, "r", encoding="utf-8").readlines()
+ self.line_idx = 0
+ self.i = 0
+
+ def currline(self):
+ return self.lines[self.line_idx]
+
+ def curr(self):
+ try:
+ return self.lines[self.line_idx][self.i]
+ except:
+ return ''
+
+ def step(self):
+ c = self.curr()
+ self.i += 1
+ # Wrap the line if '\\' followed by whitespaces and/or comment
+ while self.curr() == '\\':
+ i_of_backslash = self.i
+ self.i += 1
+ while self.curr().isspace():
+ self.i += 1
+ if self.curr() == ';' or self.curr() == '':
+ self.line_idx += 1
+ self.i = 0
+ else:
+ # There's something other than a comment after the backslash
+ # So don't interpret the backslash as a line wrap
+ self.i = i_of_backslash
+ break
+ return c
+
+ def nextline(self):
+ c = self.curr()
+ while c != '':
+ c = self.step()
+ self.line_idx += 1
+ self.i = 0
+
+ def no_lines(self):
+ if self.line_idx >= len(self.lines):
+ return True
+ return False
+
+ def location(self):
+ return f"{self.file}:{self.line_idx + 1}"
+
+ def skip_spaces(self):
+ while self.curr().isspace():
+ self.step()
+
+
+class AsmReaderRecognizingStrings(LegacyAsmReader):
+ def __init__(self, file):
+ super().__init__(file)
+ self.in_string = None
+ self.should_recognize_strings = True
+
+ def step(self):
+ c = super().step()
+ if self.should_recognize_strings and (c == '"' or c == "'"):
+ # If just now we was at the double or single quotation mark
+ # and we aren't in a string yet then say
+ # "we are in a string openned with this quotation mark now"
+ if self.in_string is None:
+ self.in_string = c
+ # If just now we was at the double or single quotation mark
+ # and we are in the string entered with the same quotation mark
+ # then say "we aren't in a string anymore"
+ elif self.in_string == c:
+ self.in_string = None
+ return c
+
+
+class AsmReaderReadingComments(AsmReaderRecognizingStrings):
+ def __init__(self, file):
+ super().__init__(file)
+ self.status = dict()
+ self.status_reset()
+ self.comment = ''
+
+ def status_reset(self):
+ # If the line has non-comment code
+ self.status_has_code = False
+ # If the line has a comment at the end
+ self.status_has_comment = False
+ # Let it recognize strings further, we are definitely out of a comment
+ self.should_recognize_strings = True
+
+ def status_set_has_comment(self):
+ self.status_has_comment = True
+ # Don't let it recognize strings cause we are in a comment now
+ self.should_recognize_strings = False
+
+ def status_set_has_code(self):
+ self.status_has_code = True
+
+ def update_status(self):
+ # If we aren't in a comment and we aren't in a string -
+ # say we are now in a comment if ';' met
+ if (not self.status_has_comment and
+ not self.in_string and
+ self.curr() == ';'):
+ self.status_set_has_comment()
+ # Else if we are in a comment - collect the comment
+ elif self.status_has_comment:
+ self.comment += self.curr()
+ # Else if there's some non-whitespace character out of a comment
+ # then the line has code
+ elif not self.status_has_comment and not self.curr().isspace():
+ self.status_set_has_code()
+
+ def step(self):
+ # Get to the next character
+ c = super().step()
+ # Update status of the line according to the next character
+ self.update_status()
+ return c
+
+ def nextline(self):
+ prev_line = self.currline()
+ super().nextline()
+ # If the line we leave was not a comment-only line
+ # then forget the collected comment
+ # Otherwise the collected comment should be complemented by
+ # comment from next line in step()
+ if self.status_has_code:
+ # But we should preserve comment for the next line
+ # If previous line set align (cause many functions re documented
+ # right before align set, not before their labels)
+ if not prev_line.startswith("align "):
+ self.comment = ''
+ # Reset the line status (now it's the status of the new line)
+ self.status_reset()
+ # Set new status for this line according to the
+ # first character in the line
+ self.update_status()
+
+
+class AsmReaderFetchingIdentifiers(AsmReaderReadingComments):
+ def __init__(self, file):
+ super().__init__(file)
+
+ def fetch_identifier(self):
+ self.skip_spaces()
+ result = ''
+ while is_id(self.curr()):
+ result += self.step()
+ return result
+
+
+class AsmReader(AsmReaderFetchingIdentifiers):
+ def __init__(self, file):
+ super().__init__(file)
+
+
+def append_file(full_path, contents):
+ if debug_mode:
+ if full_path not in output_files:
+ output_files[full_path] = ""
+ output_files[full_path] += contents
+ else:
+ f = open(full_path, "a")
+ f.write(contents)
+ f.close()
+
+
+class AsmElement:
+ def __init__(self, location, name, comment):
+ global warnings
+
+ # If the element was constructed during this execution then
+ # the element is new
+ self.new = True
+ self.location = location
+ self.file = self.location.split(':')[0].replace('\\', '/')
+ self.line = self.location.split(':')[1]
+ self.name = name
+ self.comment = comment
+
+ if self.comment == '':
+ warnings += f'{self.location}: Undocumented element\n'
+
+ def dump(self):
+ print(f"\n{self.location}: {self.name}")
+ print(f"{self.comment}")
+
+ def emit(self, dest, doxycomment='', declaration=''):
+ # Do not emit anything if the symbol is marked as hidden in its comment
+ if '@dont_give_a_doxygen' in self.comment:
+ return
+
+ global warnings
+ # Redefine default declaration
+ if declaration == '':
+ declaration = f'#define {self.name}'
+ # Check doxycomment
+ if not doxycomment.endswith('\n'):
+ doxycomment += '\n'
+ if doxycomment.split('@brief ')[1][0].islower():
+ warnings += (f"{self.location}: Brief comment starting from " +
+ "lowercase\n")
+ # Build contents to emit
+ contents = ''
+ contents += '/**\n'
+ contents += doxycomment
+ contents += (f"@par Source\n" +
+ f"{self.file}:{self.line}\n")
+ contents += '*/\n'
+ contents += declaration
+ contents += '\n\n'
+ # Get path to file to emit this
+ full_path = dest + '/' + self.file
+ # Remove the file on first access if it was
+ # created by previous generation
+ if full_path not in created_files:
+ if os.path.isfile(full_path):
+ os.remove(full_path)
+ created_files.append(full_path)
+ # Create directories need for the file
+ os.makedirs(os.path.dirname(full_path), exist_ok=True)
+ contents = ''.join([i if ord(i) < 128 else '?' for i in contents])
+
+ append_file(full_path, contents)
+
+
+class AsmVariable(AsmElement):
+ def __init__(self, location, name, comment, type, init):
+ super().__init__(location, name, comment)
+ self.type = type
+ self.init = init
+
+ def dump(self):
+ super().dump()
+ print(f"(Variable)\n---")
+
+ def emit(self, dest):
+ # Build doxycomment specific for the variable
+ doxycomment = ''
+ doxycomment += self.comment
+ if '@brief' not in doxycomment:
+ doxycomment = '@brief ' + doxycomment
+ doxycomment += (f"@par Initial value\n" +
+ f"{self.init}\n")
+ # Build the declaration
+ name = self.name.replace(".", "_")
+ var_type = self.type.replace(".", "_")
+ declaration = f"{var_type} {name};"
+ # Emit this
+ super().emit(dest, doxycomment, declaration)
+
+
+class AsmFunction(AsmElement):
+ def __init__(self, location, name, comment, calling_convention,
+ args, used_regs):
+ super().__init__(location, name, comment)
+ self.calling_convention = calling_convention
+ self.args = args
+ self.used_regs = used_regs
+
+ def dump(self):
+ super().dump()
+ print(f"(Function)\n---")
+
+ def emit(self, dest):
+ # Build doxycomment specific for the variable
+ doxycomment = ''
+ doxycomment += self.comment
+ if '@brief' not in doxycomment:
+ doxycomment = '@brief ' + doxycomment
+ # If there was no arguments, maybe that's just a label
+ # then parse parameters from its comment
+ if len(self.args) == 0 and '@param' in self.comment:
+ i = 0
+ while '@param' in self.comment[i:]:
+ i = self.comment.index('@param', i)
+ # Skip '@param'
+ i += len('@param')
+ # Skip spaces after '@param'
+ while self.comment[i].isspace():
+ i += 1
+ # Get the parameter name
+ name = ''
+ while is_id(self.comment[i]):
+ name += self.comment[i]
+ i += 1
+ # Save the parameter
+ self.args.append((name, 'arg_t'))
+ # Build the arg list for declaration
+ arg_list = '('
+ if len(self.args) > 0:
+ argc = 0
+ for arg in self.args:
+ if argc != 0:
+ arg_list += ", "
+ arg_list += f"{arg[1]} {arg[0]}"
+ argc += 1
+ arg_list += ')'
+ # Build the declaration
+ name = self.name.replace(".", "_")
+ declaration = f"void {name}{arg_list};"
+ # Emit this
+ super().emit(dest, doxycomment, declaration)
+
+
+class AsmLabel(AsmElement):
+ def __init__(self, location, name, comment):
+ super().__init__(location, name, comment)
+
+ def dump(self):
+ super().dump()
+ print(f"(Label)\n---")
+
+ def emit(self, dest):
+ # Build doxycomment specific for the variable
+ doxycomment = ''
+ doxycomment += self.comment
+ if '@brief' not in doxycomment:
+ doxycomment = '@brief ' + doxycomment
+ # Build the declaration
+ name = self.name.replace(".", "_")
+ declaration = f"label {name};"
+ # Emit this
+ super().emit(dest, doxycomment, declaration)
+
+
+class AsmMacro(AsmElement):
+ def __init__(self, location, name, comment, args):
+ super().__init__(location, name, comment)
+ self.args = args
+
+ def dump(self):
+ super().dump()
+ print(f"(Macro)\n---")
+
+ def emit(self, dest):
+ # Construct arg list without '['s, ']'s and '*'s
+ args = [arg for arg in self.args if arg not in "[]*"]
+ # Construct C-like arg list
+ arg_list = ""
+ if len(args) > 0:
+ arg_list += '('
+ argc = 0
+ for arg in args:
+ if argc != 0:
+ arg_list += ", "
+ arg_list += arg
+ argc += 1
+ arg_list += ')'
+ # Build doxycomment
+ doxycomment = ''
+ doxycomment += self.comment
+ if '@brief' not in doxycomment:
+ doxycomment = '@brief ' + doxycomment
+ # Build declaration
+ declaration = f"#define {self.name}{arg_list}"
+ # Emit this
+ super().emit(dest, doxycomment, declaration)
+
+
+class AsmStruct(AsmElement):
+ def __init__(self, location, name, comment, members):
+ super().__init__(location, name, comment)
+ self.members = members
+
+ def dump(self):
+ super().dump()
+ print(f"(Struct)\n---")
+
+ def emit(self, dest):
+ # Build doxycomment
+ doxycomment = ''
+ doxycomment += self.comment
+ if '@brief' not in doxycomment:
+ doxycomment = '@brief ' + doxycomment
+ doxycomment += '\n'
+ # Build declaration
+ declaration = f"struct {self.name}" + " {\n"
+ for member in self.members:
+ if type(member) == AsmVariable:
+ declaration += (f'\t{member.type} {member.name}; ' +
+ f'/**< {member.comment} */\n')
+ declaration += '};'
+ # Emit this
+ super().emit(dest, doxycomment, declaration)
+
+
+class AsmUnion(AsmElement):
+ def __init__(self, location, name, comment, members):
+ super().__init__(location, name, comment)
+ self.members = members
+
+ def dump(self):
+ super().dump()
+ print(f"(Union)\n---")
+
+ def emit(self, dest):
+ # Build doxycomment
+ doxycomment = ''
+ doxycomment += self.comment
+ if '@brief' not in doxycomment:
+ doxycomment = '@brief ' + doxycomment
+ # Build declaration
+ declaration = f"union {self.name}" + " {};"
+ # Emit this
+ super().emit(dest, doxycomment, declaration)
+
+
+class VariableNameIsMacroName:
+ def __init__(self, name):
+ self.name = name
+
+
+def is_id(c):
+ return c.isprintable() and c not in "+-/*=<>()[]{};:,|&~#`'\" \n\r\t\v"
+
+
+def is_starts_as_id(s):
+ return not s[0].isdigit()
+
+
+def parse_after_macro(r):
+ location = r.location()
+
+ # Skip spaces after the "macro" keyword
+ r.skip_spaces()
+ # Read macro name
+ name = ""
+ while is_id(r.curr()) or r.curr() == '#':
+ name += r.step()
+ # Skip spaces after macro name
+ r.skip_spaces()
+ # Find all arguments
+ args = []
+ arg = ''
+ while r.curr() and r.curr() != ';' and r.curr() != '{':
+ # Collect identifier
+ if is_id(r.curr()):
+ arg += r.step()
+ # Save the collected identifier
+ elif r.curr() == ',':
+ args.append(arg)
+ arg = ''
+ r.step()
+ # Just push the '['
+ elif r.curr() == '[':
+ args.append(r.step())
+ # Just push the identifier and get ']' ready to be pushed on next comma
+ elif r.curr() == ']':
+ args.append(arg)
+ arg = r.step()
+ # Just push the identifier and get '*' ready to be pushed on next comma
+ elif r.curr() == '*':
+ args.append(arg)
+ arg = r.step()
+ # Just skip whitespaces
+ elif r.curr().isspace():
+ r.step()
+ # Something unexpected
+ else:
+ raise Exception(f"Unexpected symbol '{r.curr()}' " +
+ f"at index #{r.i} in the macro declaration " +
+ f"at {location} " +
+ f"(line: {r.lines[r.line_idx]})\n''")
+ # Append the last argument
+ if arg != '':
+ args.append(arg)
+ # Skip t spaces after the argument list
+ r.skip_spaces()
+ # Get a comment if it is: read till the end of the line and
+ # get the comment from the reader
+ while r.curr() != '':
+ r.step()
+ comment = r.comment
+ # Find end of the macro
+ prev = ''
+ while True:
+ if r.curr() == '}' and prev != '\\':
+ break
+ elif r.curr() == '':
+ prev = ''
+ r.nextline()
+ continue
+ prev = r.step()
+ # Build the output
+ return AsmMacro(location, name, comment, args)
+
+
+def parse_variable(r, first_word=None):
+ global warnings
+ location = r.location()
+
+ # Skip spaces before variable name
+ r.skip_spaces()
+ # Get variable name
+ name = ""
+ # Read it if it was not supplied
+ if first_word is None:
+ while is_id(r.curr()):
+ name += r.step()
+ # Or use the supplied one instead
+ else:
+ name = first_word
+ # Check the name
+ # If it's 0 len, that means threr's something else than an
+ # identifier at the beginning
+ if len(name) == 0:
+ return None
+ # If it starts from digit or othervice illegally it's illegal
+ if not is_starts_as_id(name):
+ return None
+ # Get kind of the identifier from id2kind table
+ kind = id_get_kind(name)
+ # If it's a keyword, that's not a variable declaration
+ if ID_KIND_KEYWORD in kind:
+ return None
+ # If it's a macro name, that's not a variable declaration
+ if ID_KIND_MACRO_NAME in kind:
+ return VariableNameIsMacroName(name)
+ # If it's a datatype or a structure name that's not a
+ # variable declaration: that's just a data
+ # don't document just a data for now
+ if ID_KIND_STRUCT_NAME in kind or ID_KIND_FASM_TYPE in kind:
+ return None
+ # Skip spaces before type name
+ r.skip_spaces()
+ # Read type name
+ var_type = ""
+ while is_id(r.curr()):
+ var_type += r.step()
+ # Check the type name
+ if len(var_type) == 0:
+ # If there's no type identifier after the name
+ # maybe the name is something meaningful for the next parser
+ # return it
+ return name
+ # If it starts from digit or othervice illegally it's illegal
+ if not is_starts_as_id(var_type):
+ return None
+ # Get kind of type identifier
+ type_kind = id_get_kind(var_type)
+ # If it's a keyword, that's not a variable declaration
+ # return the two words of the lexical structure
+ if ID_KIND_KEYWORD in type_kind:
+ return (name, var_type)
+ # Skip spaces before the value
+ r.skip_spaces()
+ # Read the value until the comment or end of the line
+ value = ""
+ while r.curr() != ';' and r.curr() != '' and r.curr() != '\n':
+ value += r.step()
+ # Skip spaces after the value
+ r.skip_spaces()
+ # Read till end of the line to get a comment from the reader
+ while r.curr() != '':
+ r.step()
+ # Build the result
+ return AsmVariable(location, name, r.comment, var_type, value)
+
+
+def parse_after_struct(r, as_union=True):
+ global warnings
+ location = r.location()
+
+ # Skip spaces after "struct" keyword
+ r.skip_spaces()
+ # Read struct name
+ name = ""
+ while is_id(r.curr()):
+ name += r.step()
+ # Read till end of the line and get the comment from the reader
+ while r.curr() != '':
+ r.step()
+ comment = r.comment
+ # Get to the next line to parse struct members
+ r.nextline()
+ # Parse struct members
+ members = []
+ while True:
+ r.skip_spaces()
+ var = parse_variable(r)
+ if type(var) == AsmVariable:
+ members.append(var)
+ elif type(var) == str:
+ if var == 'union':
+ # Parse the union as a struct
+ union = parse_after_struct(r, as_union=True)
+ members.append(union)
+ # Skip the ends of the union
+ r.nextline()
+ elif r.curr() == ':':
+ warnings += f"{r.location()}: Skept the label in the struct\n"
+ else:
+ raise Exception(f"Garbage in struct member at {location} " +
+ f" (got '{var}' identifier)")
+ elif type(var) == VariableNameIsMacroName:
+ if var.name == 'ends':
+ break
+ r.nextline()
+ # Return the result
+ if as_union:
+ return AsmStruct(location, name, comment, members)
+ else:
+ return AsmUnion(location, name, comment, members)
+
+
+def parse_after_proc(r):
+ # Get proc name
+ name = r.fetch_identifier()
+ # Next identifier after the proc name
+ identifier = r.fetch_identifier()
+ # Check if the id is 'stdcall' or 'c' (calling convention specifier)
+ # and if so - save the convention and lookup the next identifier
+ calling_convention = ''
+ if identifier == 'stdcall' or identifier == 'c':
+ calling_convention = identifier
+ # If next is a comma, just skip it
+ if r.curr() == ',':
+ r.step()
+ # Read the next identifier
+ identifier = r.fetch_identifier()
+ # Check if the id is 'uses' (used register list specifier)
+ # and if so save the used register list
+ used_regs = []
+ if identifier == 'uses':
+ # Read the registers
+ while True:
+ reg_name = r.fetch_identifier()
+ if reg_name != '':
+ used_regs.append(reg_name)
+ else:
+ break
+ # If next is a comma, just skip it
+ if r.curr() == ',':
+ r.step()
+ # Read the next identifier
+ identifier = r.fetch_identifier()
+ # Check if there are argument identifiers
+ args = []
+ while identifier != '':
+ arg_name = identifier
+ arg_type = 'arg_t'
+ # Skip spaces after argument name
+ r.skip_spaces()
+ # If there's a ':' after the name - the next identifier is type
+ if r.curr() == ':':
+ r.step()
+ arg_type = r.fetch_identifier()
+ # If there's a comma - there's one more argument
+ # else no arguments anymore
+ if r.curr() == ',':
+ r.step()
+ identifier = r.fetch_identifier()
+ else:
+ identifier = ''
+ args.append((arg_name, arg_type))
+ # Get to the end of the line and get a comment from the reader
+ while r.curr() != '':
+ r.step()
+ comment = r.comment
+ # Build the element
+ return AsmFunction(r.location(), name, comment, calling_convention,
+ args, used_regs)
+
+
+def get_declarations(asm_file_contents, asm_file_name):
+ r = AsmReader(asm_file_name)
+
+ while not r.no_lines():
+ # Skip leading spaces
+ r.skip_spaces()
+ # Skip the line if it's starting with a comment
+ if r.curr() == ';':
+ r.nextline()
+ continue
+ # Get first word
+ first_word = ""
+ while is_id(r.curr()):
+ first_word += r.step()
+ # Match macro declaration
+ if first_word == "macro":
+ macro = parse_after_macro(r)
+ elements.append(macro)
+ id_add_kind(macro.name, ID_KIND_MACRO_NAME)
+ # Match structure declaration
+ elif first_word == "struct":
+ struct = parse_after_struct(r)
+ elements.append(struct)
+ id_add_kind(struct.name, ID_KIND_STRUCT_NAME)
+ # Match function definition
+ elif first_word == "proc":
+ proc = parse_after_proc(r)
+ elements.append(proc)
+ elif first_word == 'format':
+ # Skip the format directive
+ pass
+ elif first_word == 'include':
+ # Skip the include directive
+ pass
+ elif first_word == 'if':
+ # Skip the conditional directive
+ pass
+ elif first_word == 'repeat':
+ # Skip the repeat directive
+ pass
+ elif first_word == 'purge':
+ while True:
+ # Skip spaces after the 'purge' keyword or after
+ # the comma what separated the previous macro name
+ r.skip_spaces()
+ # Get the purged macro name
+ name = ''
+ while is_id(r.curr()):
+ name += r.step()
+ # Remove the purged macro from the macro names list
+ try:
+ id_remove_kind(name, ID_KIND_MACRO_NAME)
+ except:
+ pass
+ # Skip spaces after the name
+ r.skip_spaces()
+ # If it's comma (',') after then that's not the last purged
+ # macro, continue purging
+ if r.curr() == ',':
+ r.step()
+ continue
+ # Here we purged all the macros should be purged
+ break
+ # Match label or a variable
+ elif len(first_word) != 0:
+ # Skip spaces after the identifier
+ r.skip_spaces()
+ # Match a variable
+ var = parse_variable(r, first_word)
+ if type(var) == AsmVariable:
+ elements.append(var)
+ # If it wasn't a variable but there was an identifier
+ # Maybe that's a label and the identifier is the label name
+ # The parse_variable returns the first found or supplied identifier
+ # In this case it returns the first_word which is supplied
+ # If it didn't match a type identifier after the word
+ elif type(var) == str:
+ name = var
+ # Match label beginning (':' after name)
+ if r.curr() == ':':
+ # Get to the end of the line and
+ # get the coment from the reader
+ while r.curr() != '':
+ r.step()
+ comment = r.comment
+ # Only handle non-local labels
+ if name[0] != '.' and name != "@@":
+ # Treat the label as function if there's @return or
+ # @param in its comment. Otherwise it's just a variable
+ # with type `label` in generated doxygen C
+ if '@return' in comment or '@param' in comment:
+ element = AsmFunction(r.location(), name, comment,
+ '', [], [])
+ else:
+ element = AsmLabel(r.location(), name, comment)
+ elements.append(element)
+ elif r.curr() == '=':
+ # Save the identifier as a set constant
+ id_add_kind(first_word, ID_KIND_SET_CONSTANT)
+ elif type(var) == tuple:
+ (word_one, word_two) = var
+ if word_two == 'equ':
+ # Save the identifier as an equated constant
+ id_add_kind(word_one, ID_KIND_EQUATED_CONSTANT)
+ r.nextline()
+
+
+def it_neds_to_be_parsed(source_file):
+ # If there's no symbols file saved - parse it anyway
+ # cause we need to create the symbols file and use it
+ # if we gonna generate proper doxygen
+ if not os.path.isfile('asmxygen.elements.pickle'):
+ return True
+ dest = doxygen_src_path + '/' + source_file
+ # If there's no the doxygen file it should be compiled to
+ # then yes, we should compile it to doxygen
+ if not os.path.isfile(dest):
+ return True
+ source_change_time = os.path.getmtime(source_file)
+ dest_change_file = os.path.getmtime(dest)
+ # If the source is newer than the doxygen it was compiled to
+ # then the source should be recompiled (existing doxygen is old)
+ if source_change_time > dest_change_file:
+ return True
+ return False
+
+
+def handle_file(handled_files, asm_file_name, subdir="."):
+ global elements
+ # Canonicalize the file path and get it relative to cwd
+ cwd = os.path.abspath(os.path.dirname(sys.argv[0]))
+ asm_file_name = os.path.realpath(asm_file_name)
+ asm_file_name = asm_file_name[len(cwd) + 1:]
+ # If it's lang.inc - skip it
+ if asm_file_name == 'lang.inc':
+ return
+ # If the file was handled in this execution before - skip it
+ if asm_file_name in handled_files:
+ return
+ # Say that the file was handled in this execution
+ handled_files.append(asm_file_name)
+ # Check if the file should be parsed
+ # (if it was modified or wasn't parsed yet)
+ should_get_declarations = True
+ if not it_neds_to_be_parsed(asm_file_name):
+ print(f"Skipping {asm_file_name} (already newest)")
+ should_get_declarations = False
+ else:
+ print(f"Handling {asm_file_name}")
+ # Remove elements parsed from this file before if any
+ elements_to_remove = [
+ x for x in elements if x.location.split(':')[0] == asm_file_name
+ ]
+ elements = [
+ x for x in elements if x.location.split(':')[0] != asm_file_name
+ ]
+ # Forget types of identifiers of names of the removed elements
+ for element in elements_to_remove:
+ if type(element) == AsmStruct:
+ id_remove_kind(element.name, ID_KIND_STRUCT_NAME)
+ elif type(element) == AsmMacro:
+ id_remove_kind(element.name, ID_KIND_MACRO_NAME)
+ # Read the source
+ asm_file_contents = open(asm_file_name, "r", encoding="utf-8").read()
+ # Find includes, fix their paths and handle em recoursively
+ includes = re.findall(r'^include (["\'])(.*)\1', asm_file_contents,
+ flags=re.MULTILINE)
+ for include in includes:
+ include = include[1].replace('\\', '/')
+ full_path = subdir + '/' + include
+ # If the path isn't valid, maybe that's not relative path
+ if not os.path.isfile(full_path):
+ full_path = include
+ new_subdir = full_path.rsplit('/', 1)[0]
+ handle_file(handled_files, full_path, new_subdir)
+ # Only collect declarations from the file if it wasn't parsed before
+ if should_get_declarations and not clean_generated_stuff:
+ get_declarations(asm_file_contents, asm_file_name)
+
+if __name__ == "__main__":
+ link_root = "http://websvn.kolibrios.org/filedetails.php"
+ link_root += "?repname=Kolibri+OS&path=/kernel/trunk"
+
+ # Dict where an identifier is assicoated with a string
+ # The string contains characters specifying flags
+ # Available flags:
+ # k - Keyword
+ # m - Macro name
+ # t - fasm data Type name (db, rq, etc.)
+ # s - Struct type name
+ # e - equated constant (name equ value)
+ # = - set constants (name = value)
+ ID_KIND_KEYWORD = 'k'
+ ID_KIND_MACRO_NAME = 'm'
+ ID_KIND_FASM_TYPE = 't'
+ ID_KIND_STRUCT_NAME = 's'
+ ID_KIND_EQUATED_CONSTANT = 'e'
+ ID_KIND_SET_CONSTANT = '='
+ id2kind = {}
+
+ for keyword in keywords:
+ id_add_kind(keyword, ID_KIND_KEYWORD)
+
+ for fasm_type in fasm_types:
+ id_add_kind(fasm_type, ID_KIND_FASM_TYPE)
+
+ # Warning list
+ warnings = ""
+
+ # Parameters
+ # Path to doxygen folder to make doxygen files in: -o
+ doxygen_src_path = 'docs/doxygen'
+ # Remove generated doxygen files: --clean
+ clean_generated_stuff = False
+ # Dump all defined symbols: --dump
+ dump_symbols = False
+ # Print symbol stats: --stats
+ print_stats = False
+ # Do not write warnings file: --nowarn
+ enable_warnings = True
+
+ # Parse arguments
+ parser = argparse.ArgumentParser()
+ parser.add_argument("-o", help="Doxygen output folder")
+ parser.add_argument("--clean",
+ help="Remove generated files",
+ action="store_true")
+ parser.add_argument("--dump",
+ help="Dump all defined symbols",
+ action="store_true")
+ parser.add_argument("--stats",
+ help="Print symbol stats",
+ action="store_true")
+ parser.add_argument("--nowarn",
+ help="Do not write warnings file",
+ action="store_true")
+ parser.add_argument("--noemit",
+ help="Do not emit doxygen files (for testing)",
+ action="store_true")
+ parser.add_argument("--debug",
+ help="Show hashes of files (for testing)",
+ action="store_true")
+ args = parser.parse_args()
+ doxygen_src_path = args.o if args.o else 'docs/doxygen'
+ clean_generated_stuff = args.clean
+ dump_symbols = args.dump
+ print_stats = args.stats
+ enable_warnings = not args.nowarn
+ noemit = args.noemit
+ debug_mode = args.debug
+
+ # Variables, functions, labels, macros, structure types
+ elements = []
+ created_files = []
+ kernel_files = []
+ output_files = {} # If --debug then all the files are written here
+
+ # Load remembered list of symbols
+ if os.path.isfile('asmxygen.elements.pickle'):
+ print('Reading existing dump of symbols')
+ pickle_file = open('asmxygen.elements.pickle', 'rb')
+ (elements, id2kind) = pickle.load(pickle_file)
+ pickle_file.close()
+
+ handle_file(kernel_files, "./kernel.asm")
+
+ if dump_symbols:
+ stdout = sys.stdout
+ sys.stdout = open('asmxygen.dump.txt', 'w', encoding='utf-8')
+ for asm_element in elements:
+ asm_element.dump()
+ sys.stdout = stdout
+
+ if clean_generated_stuff:
+ kernel_files_set = set(kernel_files)
+ for file in kernel_files:
+ doxygen_file = f"{doxygen_src_path}/{file}"
+ if (os.path.isfile(doxygen_file)):
+ print(f"Removing {file}... ", end='')
+ os.remove(doxygen_file)
+ print("Done.")
+ elif not noemit:
+ print(f"Writing doumented sources to {doxygen_src_path}")
+
+ i = 0
+ new_elements = [x for x in elements if x.new]
+ for element in new_elements:
+ counter = f"[{i + 1}/{len(new_elements)}]"
+ print(f"{counter} Emitting {element.name} from {element.location}")
+ element.emit(doxygen_src_path)
+ i += 1
+
+ print(f"Writing dump of symbols to asmxygen.elements.pickle")
+
+ # Now when the new elements already was written, there's no new
+ # elements anymore
+ for element in elements:
+ element.new = False
+ pickle_file = open('asmxygen.elements.pickle', 'wb')
+ pickle.dump((elements, id2kind), pickle_file)
+ pickle_file.close()
+
+ if print_stats:
+ var_count = 0
+ mac_count = 0
+ lab_count = 0
+ fun_count = 0
+ uni_count = 0
+ str_count = 0
+ for element in elements:
+ if type(element) == AsmVariable:
+ var_count += 1
+ elif type(element) == AsmMacro:
+ mac_count += 1
+ elif type(element) == AsmLabel:
+ lab_count += 1
+ elif type(element) == AsmFunction:
+ fun_count += 1
+ elif type(element) == AsmUnion:
+ uni_count += 1
+ elif type(element) == AsmStruct:
+ str_count += 1
+ print(f'Parsed variable count: {var_count}')
+ print(f'Parsed macro count: {mac_count}')
+ print(f'Parsed label count: {lab_count}')
+ print(f'Parsed function count: {fun_count}')
+ print(f'Parsed union type count: {uni_count}')
+ print(f'Parsed structure type count: {str_count}')
+
+ if enable_warnings:
+ open('asmxygen.txt', "w", encoding="utf-8").write(warnings)
+
+ if debug_mode:
+ hash_per_file = ""
+ for file in output_files:
+ h = hashlib.sha1(bytes(output_files[file], "ascii")).hexdigest()
+ hash_per_file += f"{file}: {h}\n"
+ if not os.path.exists("asmxygen_hash_per_file.txt"):
+ open("asmxygen_hash_per_file.txt", "w").write(hash_per_file)
+ print("NEW")
+ else:
+ reference_hash_per_file = open("asmxygen_hash_per_file.txt").read()
+ if reference_hash_per_file != hash_per_file:
+ diffs = difflib.ndiff(reference_hash_per_file, hash_per_file)
+ print(''.join(diffs))
+ else:
+ print("SUCCESS")
diff --git a/kernel/trunk/blkdev/ahci.inc b/kernel/trunk/blkdev/ahci.inc
index 79493f3654..6b71c30ec6 100644
--- a/kernel/trunk/blkdev/ahci.inc
+++ b/kernel/trunk/blkdev/ahci.inc
@@ -1,11 +1,10 @@
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; ;;
-;; Copyright (C) KolibriOS team 2004-2022. All rights reserved. ;;
+;; Copyright (C) KolibriOS team 2004-2024. All rights reserved. ;;
;; Distributed under terms of the GNU General Public License ;;
;; ;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
-$Revision$
PCI_REG_STATUS_COMMAND = 0x0004
PCI_REG_BAR5 = 0x0024
@@ -45,11 +44,11 @@ bit_AHCI_HBA_CAP2_BOH = 0 ; Supports BIOS/OS Handoff
bit_AHCI_HBA_BOHC_BOS = 0 ; BIOS-Owned Semaphore (BIOS owns controller)
bit_AHCI_HBA_BOHC_OOS = 1 ; OS-Owned Semaphore (OS owns controller)
-bit_AHCI_HBA_BOHC_BB = 4 ; BIOS Busy (polling bit while BIOS cleans up
+bit_AHCI_HBA_BOHC_BB = 4 ; BIOS Busy (polling bit while BIOS cleans up
bit_AHCI_HBA_GHC_AHCI_ENABLE = 31 ; Enable AHCI mode
bit_AHCI_HBA_GHC_RESET = 0 ; Reset HBA
-bit_AHCI_HBA_GHC_INTERRUPT_ENABLE = 1 ; Enable interrupts from the HBA
+bit_AHCI_HBA_GHC_INTERRUPT_ENABLE = 1 ; Enable interrupts from the HBA
bit_AHCI_HBA_PxCMD_ST = 0
bit_AHCI_HBA_PxCMD_FRE = 4
@@ -97,7 +96,7 @@ struct HBA_MEM
cap2 dd ? ; 0x24, Host capabilities extended
bohc dd ? ; 0x28, BIOS/OS handoff control and status
reserved rb (0xA0-HBA_MEM.reserved) ; 0x2C - 0x9F, Reserved
- vendor rb (0x100-HBA_MEM.vendor) ; 0xA0 - 0xFF, Vendor specific
+ vendor rb (0x100-HBA_MEM.vendor) ; 0xA0 - 0xFF, Vendor specific
ports rb (sizeof.HBA_PORT*AHCI_MAX_PORTS) ; 0x100 - 0x10FF, Port control registers, max AHCI_MAX_PORTS
ends
@@ -128,10 +127,10 @@ ends
struct HBA_CMD_HDR
flags1 db ? ; 0bPWACCCCC, P - Prefetchable, W - Write (1: H2D, 0: D2H)
; A - ATAPI, C - Command FIS length in DWORDS, 2 ~ 16
-
+
flags2 db ? ; 0bPPPPRCB(Re), P - Port multiplier port, R - Reserved,
; C - Clear busy upon R_OK, B - BIST, Re - Reset
-
+
prdtl dw ? ; Physical region descriptor table length in entries
prdbc dd ? ; Physical region descriptor byte count transferred
ctba dd ? ; Command table descriptor base address
@@ -173,52 +172,52 @@ struct FIS_REG_H2D
fis_type db ? ; FIS_TYPE_REG_H2D
flags db ? ; 0bCRRRPPPP, C - 1: Command, 0: Control
; R - Reserved, P - Port multiplier
-
+
command db ? ; Command register
featurel db ? ; Feature register, 7:0
-
+
lba0 db ? ; LBA low register, 7:0
lba1 db ? ; LBA mid register, 15:8
lba2 db ? ; LBA high register, 23:16
device db ? ; Device register
-
+
lba3 db ? ; LBA register, 31:24
lba4 db ? ; LBA register, 39:32
lba5 db ? ; LBA register, 47:40
featureh db ? ; Feature register, 15:8
-
+
countl db ? ; Count register, 7:0
counth db ? ; Count register, 15:8
icc db ? ; Isochronous command completion
control db ? ; Control register
-
+
rb 4 ; Reserved
ends
; Register FIS – Device to Host
struct FIS_REG_D2H
fis_type db ? ; FIS_TYPE_REG_D2H
-
+
flags db ? ; 0bRIRPPPP, P - Port multiplier, R - Reserved
; I - Interrupt bit
-
+
status db ? ; Status register
error db ? ; Error register
-
+
lba0 db ? ; LBA low register, 7:0
lba1 db ? ; LBA mid register, 15:8
lba2 db ? ; LBA high register, 23:16
device db ? ; Device register
-
+
lba3 db ? ; LBA register, 31:24
lba4 db ? ; LBA register, 39:32
lba5 db ? ; LBA register, 47:40
db ? ; Reserved
-
+
countl db ? ; Count register, 7:0
counth db ? ; Count register, 15:8
rb 2 ; Reserved
-
+
rb 4 ; Reserved
ends
@@ -234,28 +233,28 @@ ends
; PIO Setup – Device to Host
struct FIS_PIO_SETUP
fis_type db ? ; FIS_TYPE_PIO_SETUP
-
+
flags db ? ; 0bRIDRPPPP, P - Port multiplier, R - Reserved
; I - Interrupt bit, D - Data transfer direction, 1 - device to host
-
+
status db ? ; Status register
error db ? ; Error register
-
+
lba0 db ? ; LBA low register, 7:0
lba1 db ? ; LBA mid register, 15:8
lba2 db ? ; LBA high register, 23:16
device db ? ; Device register
-
+
lba3 db ? ; LBA register, 31:24
lba4 db ? ; LBA register, 39:32
lba5 db ? ; LBA register, 47:40
db ? ; Reserved
-
+
countl db ? ; Count register, 7:0
counth db ? ; Count register, 15:8
db ? ; Reserved
e_status db ? ; New value of status register
-
+
tc dw ? ; Transfer count
rb 2 ; Reserved
ends
@@ -284,10 +283,10 @@ struct FIS_DEV_BITS
fis_type db ? ; FIS_TYPE_DEV_BITS
flags db ? ; 0bNIRRPPPP, N - Notification, I - Interrupt,
; R - Reserved, P - Port multiplier
-
+
status db ? ; Status register
error db ? ; Error register
-
+
protocol dd ? ; Protocol
ends
@@ -390,8 +389,8 @@ ahci_init:
movzx edx, byte [esi+PCIDEV.devfn]
and edx, 00000111b ; get only 3 lowest bits (function code)
DEBUGF 1, "K: found AHCI controller, (class, subcl, progif) = %x, bus = %x, device = %x, function = %x\n", eax, ebx, ecx, edx
-
- ; get BAR5 value, it is physical address
+
+ ; get BAR5 value, it is physical address
movzx ebx, [esi + PCIDEV.bus]
movzx ebp, [esi + PCIDEV.devfn]
stdcall pci_read32, ebx, ebp, PCI_REG_BAR5
@@ -475,7 +474,7 @@ ahci_init:
bts [esi + HBA_MEM.ghc], bit_AHCI_HBA_GHC_INTERRUPT_ENABLE
mov ebx, 2
call delay_hs
-
+
DEBUGF 1, "K: AHCI: caps: %x %x, ver: %x, ghc: %x, pi: %x\n", [esi + HBA_MEM.cap], [esi + HBA_MEM.cap2], [esi + HBA_MEM.version], [esi + HBA_MEM.ghc], [esi + HBA_MEM.pi]
; TODO:
@@ -553,7 +552,7 @@ ahci_init:
cmp ecx, AHCI_HBA_PxSSTS_DET_PRESENT
jne .continue_detect_drives
- ; DEBUGF 1, "K: AHCI: found drive at port %d, cmd = 0x%x, ssts = 0x%x, signature = 0x%x\n", ebx, [edi + HBA_PORT.command], [edi + HBA_PORT.sata_status], [edi + HBA_PORT.signature]
+ ; DEBUGF 1, "K: AHCI: found drive at port %d, cmd = 0x%x, ssts = 0x%x, signature = 0x%x\n", ebx, [edi + HBA_PORT.command], [edi + HBA_PORT.sata_status], [edi + HBA_PORT.signature]
mov ecx, ebx
imul ecx, sizeof.PORT_DATA
@@ -595,7 +594,7 @@ ahci_init:
cmp [ecx + PORT_DATA.drive_type], AHCI_DEV_SATA
jne .after_add_disk ; skip adding disk code
; register disk in system:
-
+
;stdcall ahci_read_first_sector, ecx
push ecx
@@ -638,7 +637,7 @@ ahci_init:
inc ebx
jmp .detect_drives
-
+
.end_detect_drives:
pop esi
@@ -663,7 +662,7 @@ proc ahci_port_identify stdcall, pdata: dword
endl
pushad
-
+
mov esi, [pdata] ; esi - address of PORT_DATA struct of port
stdcall ahci_find_cmdslot, esi
@@ -748,7 +747,7 @@ proc ahci_port_identify stdcall, pdata: dword
cld
rep movsb
mov byte [edi], 0
-
+
stdcall swap_bytes_in_words, modelstr, (46-27)+1
DEBUGF 1, "IDENTIFICATION RESULT: MODEL = %s\n", modelstr
@@ -848,7 +847,7 @@ proc ahci_rw_sectors stdcall pdata: dword, vbuf: dword, startsector: qword, nums
shl ebx, 9 ; *= 512
mov [vbuf_len], ebx
DEBUGF AHCI_DBGLVL, "vbuf_len = %u bytes\n", ebx
-
+
mov ebx, [vbuf]
and ebx, 0xFFF
mov eax, [vbuf]
@@ -889,7 +888,7 @@ proc ahci_rw_sectors stdcall pdata: dword, vbuf: dword, startsector: qword, nums
mov [dbc], eax
mov eax, [next_phys_page]
mov [new_phys_region_start], eax
- jmp .add_prd
+ jmp .add_prd
.check_if2:
mov eax, [cur_phys]
@@ -934,7 +933,7 @@ proc ahci_rw_sectors stdcall pdata: dword, vbuf: dword, startsector: qword, nums
and [ebx + HBA_PRDT_ENTRY.flags], not 0x3FFFFF ; zero out lower 22 bits, they used for byte count
mov eax, [dbc]
or [ebx + HBA_PRDT_ENTRY.flags], eax
-
+
inc [cur_prd]
mov eax, [dbc]
inc eax
@@ -945,7 +944,7 @@ proc ahci_rw_sectors stdcall pdata: dword, vbuf: dword, startsector: qword, nums
jne @f
jmp .fill_prdt_end
@@:
-
+
.step_next:
mov eax, [vbuf_len]
cmp eax, [cur_antioffset]
@@ -1051,7 +1050,7 @@ proc ahci_read stdcall pdata: dword, buffer: dword, startsector: qword, numsecto
endl
pushad
-
+
mov ecx, [pdata]
mov ecx, [ecx + PORT_DATA.ctr_ptr]
mov ecx, [ecx + AHCI_CTR.mutex]
@@ -1096,7 +1095,7 @@ proc ahci_read stdcall pdata: dword, buffer: dword, startsector: qword, numsecto
mov ecx, [ecx + PORT_DATA.ctr_ptr]
mov ecx, [ecx + AHCI_CTR.mutex]
call mutex_unlock
-
+
popad
xor eax, eax
ret
@@ -1110,7 +1109,7 @@ proc ahci_write stdcall pdata: dword, buffer: dword, startsector: qword, numsect
endl
pushad
-
+
mov ecx, [pdata]
mov ecx, [ecx + PORT_DATA.ctr_ptr]
mov ecx, [ecx + AHCI_CTR.mutex]
@@ -1146,7 +1145,7 @@ proc ahci_write stdcall pdata: dword, buffer: dword, startsector: qword, numsect
mov ecx, [ecx + PORT_DATA.ctr_ptr]
mov ecx, [ecx + AHCI_CTR.mutex]
call mutex_unlock
-
+
popad
xor eax, eax
ret
@@ -1158,7 +1157,7 @@ ahci_start_cmd:
.wait_cr: ; Wait until CR (bit15) is cleared
bt [eax + HBA_PORT.command], bit_AHCI_HBA_PxCMD_CR
jc .wait_cr
-
+
; Set FRE (bit4) and ST (bit0)
bts [eax + HBA_PORT.command], bit_AHCI_HBA_PxCMD_FRE
bts [eax + HBA_PORT.command], bit_AHCI_HBA_PxCMD_ST
@@ -1248,7 +1247,7 @@ endp
; ahci_send_cmd:
; push ecx
; mov [eax + HBA_PORT.interrupt_status], 0xFFFFFFFF
-
+
; mov cl, bl
; mov [eax + HBA_PORT.command_issue], 1
; shl [eax + HBA_PORT.command_issue], cl
@@ -1291,7 +1290,7 @@ proc ahci_port_rebase stdcall, port: dword, portno: dword, pdata: dword
mov esi, [port]
mov ebx, [phys_page1]
mov [esi + HBA_PORT.command_list_base_l], ebx ; set the command list base
- mov [esi + HBA_PORT.command_list_base_h], 0 ; zero upper 32 bits of addr cause we are 32 bit os
+ mov [esi + HBA_PORT.command_list_base_h], 0 ; zero upper 32 bits of addr cause we are 32 bit os
mov edi, [pdata]
mov ebx, [virt_page1]
@@ -1303,7 +1302,7 @@ proc ahci_port_rebase stdcall, port: dword, portno: dword, pdata: dword
mov [edi + PORT_DATA.portno], eax
stdcall _memset, ebx, 0, 1024 ; zero out the command list
-
+
; FIS entry size = 256 bytes per port
mov eax, [phys_page1]
add eax, 1024
@@ -1312,9 +1311,9 @@ proc ahci_port_rebase stdcall, port: dword, portno: dword, pdata: dword
mov eax, [virt_page1]
add eax, 1024
- mov [edi + PORT_DATA.fb], eax ; set pdata->fb
+ mov [edi + PORT_DATA.fb], eax ; set pdata->fb
stdcall _memset, eax, 0, 256 ; zero out
-
+
stdcall alloc_pages, 32*(64 + 16 + 48 + PRDT_MAX_ENTRIES*16)/4096
mov [phys_page23], eax
stdcall map_io_mem, eax, 32*(64 + 16 + 48 + PRDT_MAX_ENTRIES*16), PG_NOCACHE + PG_SWR
@@ -1337,7 +1336,7 @@ proc ahci_port_rebase stdcall, port: dword, portno: dword, pdata: dword
; bytes per command table = 64+16+48+PRDT_MAX_ENTRIES*16 = N
push edx
-
+
; cmdheader[ecx].ctba = phys_page23 + ecx*N
mov [ebx + HBA_CMD_HDR.ctba], ecx
mov edx, [ebx + HBA_CMD_HDR.ctba]
@@ -1361,13 +1360,13 @@ proc ahci_port_rebase stdcall, port: dword, portno: dword, pdata: dword
inc ecx
jmp .for1
.for1_end:
-
+
mov eax, [port]
call ahci_start_cmd
DEBUGF 1, "End rebasing port %u\n", [portno]
popad
- ret
+ ret
endp
; ----------------------------------------------------------- ; TODO check
@@ -1420,9 +1419,9 @@ proc _memset stdcall, dest:dword, val:byte, cnt:dword ; doesnt clobber any regis
mov edi, dword [dest]
mov al, byte [val]
mov ecx, dword [cnt]
- rep stosb
+ rep stosb
pop edi ecx eax
- ret
+ ret
endp
; Swaps byte order in words
diff --git a/kernel/trunk/blkdev/bd_drv.inc b/kernel/trunk/blkdev/bd_drv.inc
index 1e05803291..da1b66c4f1 100644
--- a/kernel/trunk/blkdev/bd_drv.inc
+++ b/kernel/trunk/blkdev/bd_drv.inc
@@ -1,11 +1,10 @@
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; ;;
-;; Copyright (C) KolibriOS team 2004-2015. All rights reserved. ;;
+;; Copyright (C) KolibriOS team 2004-2024. All rights reserved. ;;
;; Distributed under terms of the GNU General Public License ;;
;; ;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
-$Revision$
; Disk access through BIOS
iglobal
@@ -105,7 +104,7 @@ locals
sectors_todo dd ?
endl
; 1. Initialize number of sectors: get number of requested sectors
-; and say that no sectors were read yet.
+; and say that no sectors were read yet.
mov ecx, [numsectors]
mov eax, [ecx]
mov dword [ecx], 0
diff --git a/kernel/trunk/blkdev/cd_drv.inc b/kernel/trunk/blkdev/cd_drv.inc
index 8e8a5b1c01..54e2c07de0 100644
--- a/kernel/trunk/blkdev/cd_drv.inc
+++ b/kernel/trunk/blkdev/cd_drv.inc
@@ -1,11 +1,10 @@
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; ;;
-;; Copyright (C) KolibriOS team 2004-2015. All rights reserved. ;;
+;; Copyright (C) KolibriOS team 2004-2024. All rights reserved. ;;
;; Distributed under terms of the GNU General Public License ;;
;; ;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
-$Revision$
;-----------------------------------------------------------------------------
;**********************************************************
diff --git a/kernel/trunk/blkdev/disk.inc b/kernel/trunk/blkdev/disk.inc
index 3ffdef4bee..05ba0b941a 100644
--- a/kernel/trunk/blkdev/disk.inc
+++ b/kernel/trunk/blkdev/disk.inc
@@ -1,11 +1,10 @@
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; ;;
-;; Copyright (C) KolibriOS team 2011-2021. All rights reserved. ;;
+;; Copyright (C) KolibriOS team 2011-2024. All rights reserved. ;;
;; Distributed under terms of the GNU General Public License ;;
;; ;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
-$Revision$
; =============================================================================
; ================================= Constants =================================
diff --git a/kernel/trunk/blkdev/disk_cache.inc b/kernel/trunk/blkdev/disk_cache.inc
index 470c0fe8fa..765a0102bc 100644
--- a/kernel/trunk/blkdev/disk_cache.inc
+++ b/kernel/trunk/blkdev/disk_cache.inc
@@ -1,11 +1,10 @@
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; ;;
-;; Copyright (C) KolibriOS team 2011-2015. All rights reserved. ;;
+;; Copyright (C) KolibriOS team 2011-2024. All rights reserved. ;;
;; Distributed under terms of the GNU General Public License ;;
;; ;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
-$Revision$
; Read/write functions try to do large operations,
; it is significantly faster than several small operations.
diff --git a/kernel/trunk/blkdev/fdc.inc b/kernel/trunk/blkdev/fdc.inc
index 1f377ab5da..2c6702c58b 100644
--- a/kernel/trunk/blkdev/fdc.inc
+++ b/kernel/trunk/blkdev/fdc.inc
@@ -1,12 +1,10 @@
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; ;;
-;; Copyright (C) KolibriOS team 2004-2015. All rights reserved. ;;
+;; Copyright (C) KolibriOS team 2004-2024. All rights reserved. ;;
;; Copyright (C) MenuetOS 2000-2004 Ville Mikael Turjanmaa ;;
;; Distributed under terms of the GNU General Public License ;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
-$Revision$
-
uglobal
dmasize db 0x0
diff --git a/kernel/trunk/blkdev/flp_drv.inc b/kernel/trunk/blkdev/flp_drv.inc
index 2c5c2bd3fe..24efb5a8c8 100644
--- a/kernel/trunk/blkdev/flp_drv.inc
+++ b/kernel/trunk/blkdev/flp_drv.inc
@@ -1,12 +1,10 @@
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; ;;
-;; Copyright (C) KolibriOS team 2004-2015. All rights reserved. ;;
+;; Copyright (C) KolibriOS team 2004-2024. All rights reserved. ;;
;; Distributed under terms of the GNU General Public License ;;
;; ;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
-$Revision$
-
;**********************************************************
; Direct work with floppy disk drive
diff --git a/kernel/trunk/blkdev/hd_drv.inc b/kernel/trunk/blkdev/hd_drv.inc
index 73c4b56c5f..f89c57b1a0 100644
--- a/kernel/trunk/blkdev/hd_drv.inc
+++ b/kernel/trunk/blkdev/hd_drv.inc
@@ -1,11 +1,10 @@
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; ;;
-;; Copyright (C) KolibriOS team 2004-2015. All rights reserved. ;;
+;; Copyright (C) KolibriOS team 2004-2024. All rights reserved. ;;
;; Distributed under terms of the GNU General Public License ;;
;; ;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
-$Revision$
; HDD driver
diff --git a/kernel/trunk/blkdev/ide_cache.inc b/kernel/trunk/blkdev/ide_cache.inc
index b030fee6ce..b739f2e555 100644
--- a/kernel/trunk/blkdev/ide_cache.inc
+++ b/kernel/trunk/blkdev/ide_cache.inc
@@ -1,10 +1,11 @@
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; ;;
-;; Copyright (C) KolibriOS team 2004-2015. All rights reserved. ;;
+;; Copyright (C) KolibriOS team 2004-2024. All rights reserved. ;;
;; Distributed under terms of the GNU General Public License ;;
;; ;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+
;**************************************************************************
;
; [cache_ide[X]_pointer]
@@ -21,8 +22,6 @@
;
;**************************************************************************
-$Revision$
-
align 4
find_empty_slot_CD_cache:
;-----------------------------------------------------------
diff --git a/kernel/trunk/blkdev/rd.inc b/kernel/trunk/blkdev/rd.inc
index 8ae2bccc27..9b076e2e89 100644
--- a/kernel/trunk/blkdev/rd.inc
+++ b/kernel/trunk/blkdev/rd.inc
@@ -1,12 +1,11 @@
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; ;;
-;; Copyright (C) KolibriOS team 2013-2015. All rights reserved. ;;
+;; Copyright (C) KolibriOS team 2013-2024. All rights reserved. ;;
;; Distributed under terms of the GNU General Public License ;;
;; ;;
;; RAMDISK functions ;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
-$Revision$
iglobal
align 4
diff --git a/kernel/trunk/blkdev/rdsave.inc b/kernel/trunk/blkdev/rdsave.inc
index 722aa49efb..dfa5a2ea1f 100644
--- a/kernel/trunk/blkdev/rdsave.inc
+++ b/kernel/trunk/blkdev/rdsave.inc
@@ -1,12 +1,10 @@
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; ;;
-;; Copyright (C) KolibriOS team 2004-2015. All rights reserved. ;;
+;; Copyright (C) KolibriOS team 2004-2024. All rights reserved. ;;
;; Distributed under terms of the GNU General Public License ;;
;; ;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
-$Revision$
-
iglobal
saverd_fileinfo:
diff --git a/kernel/trunk/boot/bootcode.inc b/kernel/trunk/boot/bootcode.inc
index 4361b4b82f..4365bbd360 100644
--- a/kernel/trunk/boot/bootcode.inc
+++ b/kernel/trunk/boot/bootcode.inc
@@ -1,6 +1,6 @@
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; ;;
-;; Copyright (C) KolibriOS team 2004-2015. All rights reserved. ;;
+;; Copyright (C) KolibriOS team 2004-2024. All rights reserved. ;;
;; Copyright (C) MenuetOS 2000-2004 Ville Mikael Turjanmaa ;;
;; Distributed under terms of the GNU General Public License ;;
;; ;;
@@ -11,8 +11,6 @@
;; ;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
-$Revision$
-
;==========================================================================
;
@@ -805,7 +803,7 @@ end if
push word [es:bp+6]
pop word [number_vm]
mov word [preboot_graph], bp ;save choose
-
+
jmp .d
.change_b: ; b) preboot_biosdisk = use BIOS disks through V86 emulation?
@@ -1012,7 +1010,7 @@ end if
; Start the first app (right now it's LAUNCHER) after kernel is loaded?
mov al, [preboot_launcher]
- mov [es:BOOT_LO.launcher_start], al ;// 0x901D
+ mov [es:BOOT_LO.launcher_start], al ;// 0x901D
; BOOT DEVICE
@@ -1168,7 +1166,7 @@ include '../detect/biosmem.inc'
; and copy them to extended memory
mov si, movedesc
mov [si+8*2+3], bh ; from
-
+
mov ax, word [BPB_BytsPerSec]
shr ax, 1 ; words per sector
mov cx, word [BPB_RsvdSecCnt]
@@ -1176,7 +1174,7 @@ include '../detect/biosmem.inc'
mul cx
push ax ; save to stack count of words in boot+FAT
xchg ax, cx
-
+
push es
push ds
pop es
@@ -1202,7 +1200,7 @@ sayerr_memmove:
; TODO: BPB_NumFATs !!!!!
add bx, word [BPB_BytsPerSec] ; !!! TODO: may be need multiply by BPB_RsvdSecCnt !!!
mov byte [si+8*2+3], bh ; bx - begin of FAT
-
+
mov ax, word [BPB_BytsPerSec]
shr ax, 1 ; words per sector
mov cx, word [BPB_FATSz16]
@@ -1217,12 +1215,12 @@ sayerr_memmove:
pop es
test ah, ah
jnz sayerr_floppy
-
+
mov ax, cx
shl ax, 1
and eax, 0ffffh ; ax - count of bytes in FAT
add dword [si+8*3+2], eax
-
+
; reading RootDir
; TODO: BPB_NumFATs
add bx, ax
@@ -1247,7 +1245,7 @@ sayerr_memmove:
pop bx
push bx
add word [FirstDataSector], bx ; Begin of data region of floppy
-
+
; read RootDir
call conv_abs_to_THS
pop ax
diff --git a/kernel/trunk/boot/bootet.inc b/kernel/trunk/boot/bootet.inc
index d93fe55d43..5983f767b4 100644
--- a/kernel/trunk/boot/bootet.inc
+++ b/kernel/trunk/boot/bootet.inc
@@ -1,19 +1,17 @@
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; ;;
-;; Copyright (C) KolibriOS team 2004-2015. All rights reserved. ;;
+;; Copyright (C) KolibriOS team 2004-2024. All rights reserved. ;;
;; Distributed under terms of the GNU General Public License ;;
;; ;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+
;======================================================================
;
; BOOT DATA
;
;======================================================================
-$Revision$
-
-
d80x25_bottom:
latin1 '║ KolibriOS on IGASUGUSE GARANTIITA. Vaata faili COPYING info saamiseks. Kui ║'
latin1 '║ leiate vigu, anna neist palun teada aadressil: http://board.kolibrios.org ║'
diff --git a/kernel/trunk/boot/bootge.inc b/kernel/trunk/boot/bootge.inc
index b5c730c8fb..61e8e3f563 100644
--- a/kernel/trunk/boot/bootge.inc
+++ b/kernel/trunk/boot/bootge.inc
@@ -1,22 +1,20 @@
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; ;;
-;; Copyright (C) KolibriOS team 2004-2015. All rights reserved. ;;
+;; Copyright (C) KolibriOS team 2004-2024. All rights reserved. ;;
;; Distributed under terms of the GNU General Public License ;;
;; ;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+
;======================================================================
;
; BOOT DATA
;
;======================================================================
-$Revision$
-
-
d80x25_bottom:
db 186,' KolibriOS wird ohne jegliche Garantie vertrieben. Details stehen in der ',186
- db 186,' Datei COPYING. Bitte melden Sie Fehler bei: http://board.kolibrios.org ',186
+ db 186,' Datei COPYING. Bitte melden Sie Fehler bei: http://board.kolibrios.org ',186
line_full_bottom
d80x25_bottom_num = 3
diff --git a/kernel/trunk/boot/bootru.inc b/kernel/trunk/boot/bootru.inc
index 174ddf34b2..372cfa7fac 100644
--- a/kernel/trunk/boot/bootru.inc
+++ b/kernel/trunk/boot/bootru.inc
@@ -1,19 +1,17 @@
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; ;;
-;; Copyright (C) KolibriOS team 2004-2015. All rights reserved. ;;
+;; Copyright (C) KolibriOS team 2004-2024. All rights reserved. ;;
;; Distributed under terms of the GNU General Public License ;;
;; ;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+
;=================================================================
;
; BOOT DATA
;
;=================================================================
-$Revision$
-
-
d80x25_bottom:
cp866 '║ KolibriOS НЕ ПРЕДОСТАВЛЯЕТ НИКАКИХ ГАРAНТИЙ. Подробнее смотрите в файле ║'
cp866 '║ COPYING.TXT. О найденных ошибках сообщайте на http://board.kolibrios.org ║'
@@ -58,7 +56,7 @@ current_cfg_msg cp866 "Текущие настройки:",13,10,0
curvideo_msg cp866 " [a] Видеорежим: ",0
mode0 cp866 "320x200, EGA/CGA 256 цветов",13,10,0
-mode9 cp866 "640x480, VGA 16 цветов",13,10,0
+mode9 cp866 "640x480, VGA 16 цветов",13,10,0
usebd_msg cp866 " [b] Добавить диски, видимые через BIOS:",0
on_msg cp866 " вкл",13,10,0
diff --git a/kernel/trunk/boot/bootsp.inc b/kernel/trunk/boot/bootsp.inc
index 45d93ee097..3892b966d9 100644
--- a/kernel/trunk/boot/bootsp.inc
+++ b/kernel/trunk/boot/bootsp.inc
@@ -1,10 +1,11 @@
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; ;;
-;; Copyright (C) KolibriOS team 2004-2015. All rights reserved. ;;
+;; Copyright (C) KolibriOS team 2004-2024. All rights reserved. ;;
;; Distributed under terms of the GNU General Public License ;;
;; ;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+
;======================================================================
;
; BOOT DATA
@@ -13,9 +14,6 @@
; Para modificar éste archivo es necesario abrirlo con codificación CP850
-$Revision$
-
-
d80x25_bottom:
cp850 '║ KolibriOS viene ABSOLUTAMENTE SIN GARANTíA. Lee el archivo COPYING por más ║'
cp850 '║ detalles. Por favor, informar de los errores en: http://board.kolibrios.org ║'
diff --git a/kernel/trunk/boot/bootstr.inc b/kernel/trunk/boot/bootstr.inc
index 1fd52d5267..dadd0684db 100644
--- a/kernel/trunk/boot/bootstr.inc
+++ b/kernel/trunk/boot/bootstr.inc
@@ -1,12 +1,10 @@
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; ;;
-;; Copyright (C) KolibriOS team 2004-2015. All rights reserved. ;;
+;; Copyright (C) KolibriOS team 2004-2024. All rights reserved. ;;
;; Distributed under terms of the GNU General Public License ;;
;; ;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
-$Revision$
-
; boot data: common strings (for all languages)
macro line_full_top {
diff --git a/kernel/trunk/boot/bootvesa.inc b/kernel/trunk/boot/bootvesa.inc
index 39a60fe646..eed6573967 100644
--- a/kernel/trunk/boot/bootvesa.inc
+++ b/kernel/trunk/boot/bootvesa.inc
@@ -1,11 +1,10 @@
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; ;;
-;; Copyright (C) KolibriOS team 2004-2015. All rights reserved. ;;
+;; Copyright (C) KolibriOS team 2004-2024. All rights reserved. ;;
;; Distributed under terms of the GNU General Public License ;;
;; ;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
-$Revision$
struc VBE_VGAInfo {
.VESASignature dd ? ; char
@@ -194,7 +193,7 @@ calc_vmodes_table:
mov word [es:bx], 640
mov word [es:bx+2], 480
mov word [es:bx+6], 0x13
-
+
mov word [es:bx+10], 640
mov word [es:bx+12], 480
mov word [es:bx+16], 0x12
@@ -222,7 +221,7 @@ calc_vmodes_table:
jb @f
; 16 bpp might actually be 15 bpp
- cmp [es:mi.BitsPerPixel], 16
+ cmp [es:mi.BitsPerPixel], 16
jne .l0
cmp [es:mi.GreenMaskSize], 5
jne .l0
@@ -727,7 +726,7 @@ set_vmode:
mov si, word [preboot_graph] ;[preboot_graph]
mov cx, word [es:si+6] ; number of mode
-
+
mov ax, word [es:si+0] ; resolution X
mov bx, word [es:si+2] ; resolution Y
diff --git a/kernel/trunk/boot/et.inc b/kernel/trunk/boot/et.inc
index 585d3368e1..a5529181e7 100644
--- a/kernel/trunk/boot/et.inc
+++ b/kernel/trunk/boot/et.inc
@@ -1,12 +1,10 @@
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; ;;
-;; Copyright (C) KolibriOS team 2004-2015. All rights reserved. ;;
+;; Copyright (C) KolibriOS team 2004-2024. All rights reserved. ;;
;; Distributed under terms of the GNU General Public License ;;
;; ;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
-$Revision$
-
; Full ASCII code font
; only õ,ä,ü added
diff --git a/kernel/trunk/boot/parsers.inc b/kernel/trunk/boot/parsers.inc
index e4cf0a98ad..754f071e5f 100644
--- a/kernel/trunk/boot/parsers.inc
+++ b/kernel/trunk/boot/parsers.inc
@@ -1,11 +1,10 @@
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; ;;
-;; Copyright (C) KolibriOS team 2011-2015. All rights reserved. ;;
+;; Copyright (C) KolibriOS team 2011-2024. All rights reserved. ;;
;; Distributed under terms of the GNU General Public License ;;
;; ;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
-$Revision$
; All parsers are called with ds:si -> value of the variable,
; possibly with spaces before, and dx = limit of config file.
diff --git a/kernel/trunk/boot/preboot.inc b/kernel/trunk/boot/preboot.inc
index eff3072be4..1db7808204 100644
--- a/kernel/trunk/boot/preboot.inc
+++ b/kernel/trunk/boot/preboot.inc
@@ -1,12 +1,10 @@
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; ;;
-;; Copyright (C) KolibriOS team 2004-2015. All rights reserved. ;;
+;; Copyright (C) KolibriOS team 2004-2024. All rights reserved. ;;
;; Distributed under terms of the GNU General Public License ;;
;; ;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
-$Revision$
-
display_modechg db 0 ; display mode change for text, yes/no (0 or 2)
;
diff --git a/kernel/trunk/boot/rdload.inc b/kernel/trunk/boot/rdload.inc
index fd3650efbb..8ba37175c2 100644
--- a/kernel/trunk/boot/rdload.inc
+++ b/kernel/trunk/boot/rdload.inc
@@ -1,12 +1,10 @@
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; ;;
-;; Copyright (C) KolibriOS team 2004-2015. All rights reserved. ;;
+;; Copyright (C) KolibriOS team 2004-2024. All rights reserved. ;;
;; Distributed under terms of the GNU General Public License ;;
;; ;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
-$Revision$
-
read_ramdisk:
; READ RAMDISK IMAGE FROM HD (only for IDE0, IDE1, IDE2, IDE3)
@@ -111,18 +109,18 @@ no_sys_on_hd:
mov edi, RAMDISK
mov ecx, 0x1080
xor eax, eax
-@@:
+@@:
stosd
loop @b
mov ecx, 0x58F7F
mov eax, 0xF6F6F6F6
-@@:
+@@:
stosd
loop @b
-
+
mov [RAMDISK+0x200], dword 0xFFFFF0 ; fat table
mov [RAMDISK+0x4200], dword 0xFFFFF0
-
+
not_format_ram_disk:
yes_sys_on_hd:
diff --git a/kernel/trunk/boot/ru.inc b/kernel/trunk/boot/ru.inc
index df4089c13f..7bd395ba95 100644
--- a/kernel/trunk/boot/ru.inc
+++ b/kernel/trunk/boot/ru.inc
@@ -1,17 +1,15 @@
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; ;;
-;; Copyright (C) KolibriOS team 2004-2015. All rights reserved. ;;
+;; Copyright (C) KolibriOS team 2004-2024. All rights reserved. ;;
;; Distributed under terms of the GNU General Public License ;;
;; ;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
-$Revision$
-
; Generated by RUFNT.EXE
; By BadBugsKiller (C)
; Modifyed by BadBugsKiller 12.01.2004 17:45
-; Шрифт уменьшен в размере и теперь состоит из 2-ух частей,
+; Шрифт уменьшен в размере и теперь состоит из 2-ух частей,
; содержащих только символы русского алфавита.
; символы в кодировке ASCII (ДОС'овская), кодовая страница 866.
RU_FNT1:
@@ -31,7 +29,7 @@ RU_FNT1:
db 0x00, 0x00, 0xC6, 0xC6, 0xC6, 0xC6, 0xFE, 0xC6, 0xC6, 0xC6, 0xC6, 0xC6, 0x00, 0x00, 0x00, 0x00
db 0x00, 0x00, 0x7C, 0xC6, 0xC6, 0xC6, 0xC6, 0xC6, 0xC6, 0xC6, 0xC6, 0x7C, 0x00, 0x00, 0x00, 0x00
db 0x00, 0x00, 0xFE, 0xC6, 0xC6, 0xC6, 0xC6, 0xC6, 0xC6, 0xC6, 0xC6, 0xC6, 0x00, 0x00, 0x00, 0x00
-
+
db 0x00, 0x00, 0xFC, 0x66, 0x66, 0x66, 0x66, 0x7C, 0x60, 0x60, 0x60, 0xF0, 0x00, 0x00, 0x00, 0x00
db 0x00, 0x00, 0x7C, 0xC6, 0xC6, 0xC0, 0xC0, 0xC0, 0xC0, 0xC2, 0xC6, 0x7C, 0x00, 0x00, 0x00, 0x00
db 0x00, 0x00, 0xFF, 0xDB, 0x99, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x3C, 0x00, 0x00, 0x00, 0x00
@@ -48,7 +46,7 @@ RU_FNT1:
db 0x00, 0x00, 0x7C, 0xC6, 0x06, 0x26, 0x3E, 0x26, 0x06, 0x06, 0xC6, 0x7C, 0x00, 0x00, 0x00, 0x00
db 0x00, 0x00, 0xCE, 0xDB, 0xDB, 0xDB, 0xFB, 0xDB, 0xDB, 0xDB, 0xDB, 0xCE, 0x00, 0x00, 0x00, 0x00
db 0x00, 0x00, 0x3F, 0x66, 0x66, 0x66, 0x3E, 0x3E, 0x66, 0x66, 0x66, 0xE7, 0x00, 0x00, 0x00, 0x00
-
+
db 0x00, 0x00, 0x00, 0x00, 0x00, 0x78, 0x0C, 0x7C, 0xCC, 0xCC, 0xCC, 0x76, 0x00, 0x00, 0x00, 0x00
db 0x00, 0x02, 0x06, 0x7C, 0xC0, 0xC0, 0xFC, 0xC6, 0xC6, 0xC6, 0xC6, 0x7C, 0x00, 0x00, 0x00, 0x00
db 0x00, 0x00, 0x00, 0x00, 0x00, 0xFC, 0x66, 0x66, 0x7C, 0x66, 0x66, 0xFC, 0x00, 0x00, 0x00, 0x00
@@ -65,7 +63,7 @@ RU_FNT1:
db 0x00, 0x00, 0x00, 0x00, 0x00, 0xC6, 0xC6, 0xC6, 0xFE, 0xC6, 0xC6, 0xC6, 0x00, 0x00, 0x00, 0x00
db 0x00, 0x00, 0x00, 0x00, 0x00, 0x7C, 0xC6, 0xC6, 0xC6, 0xC6, 0xC6, 0x7C, 0x00, 0x00, 0x00, 0x00
db 0x00, 0x00, 0x00, 0x00, 0x00, 0xFE, 0xC6, 0xC6, 0xC6, 0xC6, 0xC6, 0xC6, 0x00, 0x00, 0x00, 0x00
-
+
RU_FNT2:
db 0x00, 0x00, 0x00, 0x00, 0x00, 0xDC, 0x66, 0x66, 0x66, 0x66, 0x66, 0x7C, 0x60, 0x60, 0xF0, 0x00
db 0x00, 0x00, 0x00, 0x00, 0x00, 0x7C, 0xC6, 0xC0, 0xC0, 0xC0, 0xC6, 0x7C, 0x00, 0x00, 0x00, 0x00
@@ -83,7 +81,7 @@ RU_FNT2:
db 0x00, 0x00, 0x00, 0x00, 0x00, 0x7C, 0xC6, 0x06, 0x3E, 0x06, 0xC6, 0x7C, 0x00, 0x00, 0x00, 0x00
db 0x00, 0x00, 0x00, 0x00, 0x00, 0xCE, 0xDB, 0xDB, 0xFB, 0xDB, 0xDB, 0xCE, 0x00, 0x00, 0x00, 0x00
db 0x00, 0x00, 0x00, 0x00, 0x00, 0x7F, 0xC6, 0xC6, 0x7E, 0x36, 0x66, 0xE7, 0x00, 0x00, 0x00, 0x00
-
+
db 0x6C, 0x00, 0xFE, 0x66, 0x62, 0x68, 0x78, 0x68, 0x60, 0x62, 0x66, 0xFE, 0x00, 0x00, 0x00, 0x00
db 0x00, 0x00, 0x00, 0x6C, 0x00, 0x7C, 0xC6, 0xC6, 0xFC, 0xC0, 0xC6, 0x7C, 0x00, 0x00, 0x00, 0x00
db 0x00, 0x00, 0x7C, 0xC6, 0xC0, 0xC8, 0xF8, 0xC8, 0xC0, 0xC0, 0xC6, 0x7C, 0x00, 0x00, 0x00, 0x00
diff --git a/kernel/trunk/boot/shutdown.inc b/kernel/trunk/boot/shutdown.inc
index ff5388db14..c895f5f3e8 100644
--- a/kernel/trunk/boot/shutdown.inc
+++ b/kernel/trunk/boot/shutdown.inc
@@ -1,6 +1,6 @@
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; ;;
-;; Copyright (C) KolibriOS team 2004-2016. All rights reserved. ;;
+;; Copyright (C) KolibriOS team 2004-2024. All rights reserved. ;;
;; Distributed under terms of the GNU General Public License ;;
;; ;;
;; Shutdown for Menuet ;;
@@ -11,7 +11,6 @@
;; ;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
-$Revision$
align 4
system_shutdown: ; shut down the system
diff --git a/kernel/trunk/bootbios.inc b/kernel/trunk/bootbios.inc
index beb3d2f204..df806e9c59 100644
--- a/kernel/trunk/bootbios.inc
+++ b/kernel/trunk/bootbios.inc
@@ -5,7 +5,7 @@
;; ;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
-$Revision$
+
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; ;;
;; 16 BIT ENTRY FROM BOOTSECTOR ;;
diff --git a/kernel/trunk/bus/pci/PCIe.inc b/kernel/trunk/bus/pci/PCIe.inc
index fe984eb601..76c2da1cab 100644
--- a/kernel/trunk/bus/pci/PCIe.inc
+++ b/kernel/trunk/bus/pci/PCIe.inc
@@ -1,6 +1,6 @@
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; ;;
-;; Copyright (C) KolibriOS team 2010-2015. All rights reserved. ;;
+;; Copyright (C) KolibriOS team 2010-2024. All rights reserved. ;;
;; Distributed under terms of the GNU General Public License ;;
;; ;;
;; ;;
@@ -12,7 +12,6 @@
;; ;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
-$Revision$
;***************************************************************************
; Function
@@ -21,16 +20,16 @@ $Revision$
; Description
; PCIe extended (memory-mapped) config space detection
;
-; WARNINGs:
-; 1) Very Experimental!
+; WARNINGs:
+; 1) Very Experimental!
; 2) direct HT-detection (no ACPI or BIOS service used)
-; 3) Only AMD/HT processors currently supported
+; 3) Only AMD/HT processors currently supported
;
;***************************************************************************
PCIe_CONFIG_SPACE = 0xF0000000 ; to be moved to const.inc
mmio_pcie_cfg_addr dd 0x0 ; intel pcie space may be defined here
-mmio_pcie_cfg_lim dd 0x0 ; upper pcie space address
+mmio_pcie_cfg_lim dd 0x0 ; upper pcie space address
align 4
@@ -40,7 +39,7 @@ pci_ext_config:
mov ebx, [mmio_pcie_cfg_addr]
or ebx, ebx
jz @f
- or ebx, 0x7FFFFFFF ; required by PCI-SIG standards
+ or ebx, 0x7FFFFFFF ; required by PCI-SIG standards
jnz .pcie_failed
add ebx, 0x0FFFFC
cmp ebx, [mmio_pcie_cfg_lim]; is the space limit correct?
@@ -60,8 +59,8 @@ pci_ext_config:
sub bl, 4
and al, 0x80 ; check the NP bit
jz .no_pcie_cfg
- shl eax, 8 ; bus:[27..20], dev:[19:15]
- or eax, 0x00007FFC ; fun:[14..12], reg:[11:2]
+ shl eax, 8 ; bus:[27..20], dev:[19:15]
+ or eax, 0x00007FFC ; fun:[14..12], reg:[11:2]
mov [mmio_pcie_cfg_lim], eax
mov cl, bl
mov ax, 0x0002 ; bus = 0, 1dword to read
@@ -80,7 +79,7 @@ pci_ext_config:
sub eax, [mmio_pcie_cfg_lim]; MMIO must cover at least one bus
ja .no_pcie_cfg
-; -- it looks like a true PCIe config space;
+; -- it looks like a true PCIe config space;
mov eax, [mmio_pcie_cfg_addr] ; physical address
or eax, (PG_SHARED + PG_LARGE + PG_USER)
mov ebx, PCIe_CONFIG_SPACE ; linear address
@@ -98,12 +97,12 @@ pci_ext_config:
jmp @b
.pcie_cfg_mapped:
-
+
; -- glad to have the extended PCIe config field found
; mov esi, boot_pcie_ok
; call boot_log
ret ; <<<<<<<<<<< OK >>>>>>>>>>>
-
+
.no_pcie_cfg:
xor eax, eax
diff --git a/kernel/trunk/bus/pci/pci16.inc b/kernel/trunk/bus/pci/pci16.inc
index 02ec50411c..f36058f5e6 100644
--- a/kernel/trunk/bus/pci/pci16.inc
+++ b/kernel/trunk/bus/pci/pci16.inc
@@ -1,6 +1,6 @@
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; ;;
-;; Copyright (C) KolibriOS team 2004-2015. All rights reserved. ;;
+;; Copyright (C) KolibriOS team 2004-2024. All rights reserved. ;;
;; Distributed under terms of the GNU General Public License ;;
;; ;;
;; PCI16.INC ;;
@@ -15,8 +15,6 @@
;; ;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
-$Revision$
-
init_pci_16:
diff --git a/kernel/trunk/bus/pci/pci32.inc b/kernel/trunk/bus/pci/pci32.inc
index 71c7a88b2c..a0d41d6fad 100644
--- a/kernel/trunk/bus/pci/pci32.inc
+++ b/kernel/trunk/bus/pci/pci32.inc
@@ -1,6 +1,6 @@
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; ;;
-;; Copyright (C) KolibriOS team 2004-2015. All rights reserved. ;;
+;; Copyright (C) KolibriOS team 2004-2024. All rights reserved. ;;
;; Distributed under terms of the GNU General Public License ;;
;; ;;
;; ;;
@@ -21,7 +21,6 @@
;; ;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
-$Revision$
;***************************************************************************
; Function
@@ -764,4 +763,4 @@ proc pci_write32 stdcall, bus:dword, devfn:dword, reg:dword, val:dword
call pci_write_reg
pop ebx
ret
-endp
\ No newline at end of file
+endp
diff --git a/kernel/trunk/bus/usb/hccommon.inc b/kernel/trunk/bus/usb/hccommon.inc
index 90eacfab5f..279153d422 100644
--- a/kernel/trunk/bus/usb/hccommon.inc
+++ b/kernel/trunk/bus/usb/hccommon.inc
@@ -1,12 +1,10 @@
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; ;;
-;; Copyright (C) KolibriOS team 2013-2015. All rights reserved. ;;
+;; Copyright (C) KolibriOS team 2013-2024. All rights reserved. ;;
;; Distributed under terms of the GNU General Public License ;;
;; ;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
-$Revision$
-
; USB Host Controller support code: hardware-independent part,
; common for all controller types.
diff --git a/kernel/trunk/bus/usb/hub.inc b/kernel/trunk/bus/usb/hub.inc
index 40cfaa5b6f..0cd023aab6 100644
--- a/kernel/trunk/bus/usb/hub.inc
+++ b/kernel/trunk/bus/usb/hub.inc
@@ -1,12 +1,10 @@
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; ;;
-;; Copyright (C) KolibriOS team 2013-2015. All rights reserved. ;;
+;; Copyright (C) KolibriOS team 2013-2024. All rights reserved. ;;
;; Distributed under terms of the GNU General Public License ;;
;; ;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
-$Revision$
-
; Support for USB (non-root) hubs:
; powering up/resetting/disabling ports,
diff --git a/kernel/trunk/bus/usb/init.inc b/kernel/trunk/bus/usb/init.inc
index 82641e5c3e..40239c6c22 100644
--- a/kernel/trunk/bus/usb/init.inc
+++ b/kernel/trunk/bus/usb/init.inc
@@ -1,12 +1,10 @@
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; ;;
-;; Copyright (C) KolibriOS team 2013-2015. All rights reserved. ;;
+;; Copyright (C) KolibriOS team 2013-2024. All rights reserved. ;;
;; Distributed under terms of the GNU General Public License ;;
;; ;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
-$Revision$
-
; Initialization of the USB subsystem.
; Provides usb_init procedure, includes all needed files.
diff --git a/kernel/trunk/bus/usb/memory.inc b/kernel/trunk/bus/usb/memory.inc
index 1a68336ac8..28594a8fd3 100644
--- a/kernel/trunk/bus/usb/memory.inc
+++ b/kernel/trunk/bus/usb/memory.inc
@@ -1,11 +1,10 @@
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; ;;
-;; Copyright (C) KolibriOS team 2013-2015. All rights reserved. ;;
+;; Copyright (C) KolibriOS team 2013-2024. All rights reserved. ;;
;; Distributed under terms of the GNU General Public License ;;
;; ;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
-$Revision$
; Memory management for USB structures.
; Protocol layer uses the common kernel heap malloc/free.
diff --git a/kernel/trunk/bus/usb/pipe.inc b/kernel/trunk/bus/usb/pipe.inc
index 312594f4b3..f5aeaba828 100644
--- a/kernel/trunk/bus/usb/pipe.inc
+++ b/kernel/trunk/bus/usb/pipe.inc
@@ -1,12 +1,10 @@
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; ;;
-;; Copyright (C) KolibriOS team 2013-2015. All rights reserved. ;;
+;; Copyright (C) KolibriOS team 2013-2024. All rights reserved. ;;
;; Distributed under terms of the GNU General Public License ;;
;; ;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
-$Revision$
-
; Functions for USB pipe manipulation: opening/closing, sending data etc.
;
diff --git a/kernel/trunk/bus/usb/protocol.inc b/kernel/trunk/bus/usb/protocol.inc
index 011f07b933..2187903fb6 100644
--- a/kernel/trunk/bus/usb/protocol.inc
+++ b/kernel/trunk/bus/usb/protocol.inc
@@ -1,12 +1,10 @@
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; ;;
-;; Copyright (C) KolibriOS team 2013-2015. All rights reserved. ;;
+;; Copyright (C) KolibriOS team 2013-2024. All rights reserved. ;;
;; Distributed under terms of the GNU General Public License ;;
;; ;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
-$Revision$
-
; Implementation of the USB protocol for device enumeration.
; Manage a USB device when it becomes ready for USB commands:
diff --git a/kernel/trunk/const.inc b/kernel/trunk/const.inc
index ccce152508..731a26cc25 100644
--- a/kernel/trunk/const.inc
+++ b/kernel/trunk/const.inc
@@ -5,8 +5,6 @@
;; ;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
-$Revision$
-
dpl0 = 10010000b ; data read dpl0
drw0 = 10010010b ; data read/write dpl0
diff --git a/kernel/trunk/core/apic.inc b/kernel/trunk/core/apic.inc
index 7cb243fb8e..d0521f0b87 100644
--- a/kernel/trunk/core/apic.inc
+++ b/kernel/trunk/core/apic.inc
@@ -1,11 +1,10 @@
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; ;;
-;; Copyright (C) KolibriOS team 2004-2022. All rights reserved. ;;
+;; Copyright (C) KolibriOS team 2004-2024. All rights reserved. ;;
;; Distributed under terms of the GNU General Public License ;;
;; ;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
-$Revision$
MAX_IOAPICS = 2
diff --git a/kernel/trunk/core/clipboard.inc b/kernel/trunk/core/clipboard.inc
index 45756f8e39..28293b1d76 100644
--- a/kernel/trunk/core/clipboard.inc
+++ b/kernel/trunk/core/clipboard.inc
@@ -1,12 +1,10 @@
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; ;;
-;; Copyright (C) KolibriOS team 2013-2022. All rights reserved. ;;
+;; Copyright (C) KolibriOS team 2013-2024. All rights reserved. ;;
;; Distributed under terms of the GNU General Public License ;;
;; ;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
-$Revision$
-
;------------------------------------------------------------------------------
align 4
@@ -136,7 +134,7 @@ align 4
cmp [ebx], eax
je .exit_2
-; there should be a procedure for checking the integrity of the slots
+; there should be a procedure for checking the integrity of the slots
; and I will do so in the future
; unlock last slot
diff --git a/kernel/trunk/core/conf_lib-sp.inc b/kernel/trunk/core/conf_lib-sp.inc
index bbfb429753..23816158b9 100644
--- a/kernel/trunk/core/conf_lib-sp.inc
+++ b/kernel/trunk/core/conf_lib-sp.inc
@@ -1,12 +1,10 @@
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; ;;
-;; Copyright (C) KolibriOS team 2013-2022. All rights reserved. ;;
+;; Copyright (C) KolibriOS team 2013-2024. All rights reserved. ;;
;; Distributed under terms of the GNU General Public License ;;
;; ;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
-$Revision$
-
; Éste archivo debe ser editado con codificación CP866
diff --git a/kernel/trunk/core/conf_lib.inc b/kernel/trunk/core/conf_lib.inc
index 1188dd37d8..336a7ddb70 100644
--- a/kernel/trunk/core/conf_lib.inc
+++ b/kernel/trunk/core/conf_lib.inc
@@ -1,17 +1,16 @@
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; ;;
-;; Copyright (C) KolibriOS team 2004-2022. All rights reserved. ;;
+;; Copyright (C) KolibriOS team 2004-2024. All rights reserved. ;;
;; Distributed under terms of the GNU General Public License ;;
;; ;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+
;-------------------------------------------------------------------------
;Loading configuration from ini file
; {SPraid.simba}
;-------------------------------------------------------------------------
-$Revision$
-
iglobal
conf_path_sect:
db 'path',0
diff --git a/kernel/trunk/core/debug.inc b/kernel/trunk/core/debug.inc
index d353005f42..c9dca73b13 100644
--- a/kernel/trunk/core/debug.inc
+++ b/kernel/trunk/core/debug.inc
@@ -1,12 +1,10 @@
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; ;;
-;; Copyright (C) KolibriOS team 2004-2022. All rights reserved. ;;
+;; Copyright (C) KolibriOS team 2004-2024. All rights reserved. ;;
;; Distributed under terms of the GNU General Public License ;;
;; ;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
-$Revision$
-
; diamond, 2006
sys_debug_services:
diff --git a/kernel/trunk/core/dll.inc b/kernel/trunk/core/dll.inc
index dd9d8f303b..1ab0d10a74 100644
--- a/kernel/trunk/core/dll.inc
+++ b/kernel/trunk/core/dll.inc
@@ -1,12 +1,10 @@
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; ;;
-;; Copyright (C) KolibriOS team 2004-2022. All rights reserved. ;;
+;; Copyright (C) KolibriOS team 2004-2024. All rights reserved. ;;
;; Distributed under terms of the GNU General Public License. ;;
;; ;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
-$Revision$
-
DRV_COMPAT = 5 ;minimal required drivers version
DRV_CURRENT = 6 ;current drivers model version
diff --git a/kernel/trunk/core/export.inc b/kernel/trunk/core/export.inc
index 0ae0bfe86f..ab4b158ffe 100644
--- a/kernel/trunk/core/export.inc
+++ b/kernel/trunk/core/export.inc
@@ -1,11 +1,10 @@
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; ;;
-;; Copyright (C) KolibriOS team 2004-2022. All rights reserved. ;;
+;; Copyright (C) KolibriOS team 2004-2024. All rights reserved. ;;
;; Distributed under terms of the GNU General Public License ;;
;; ;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
-$Revision$
; Macroinstruction for making export section
diff --git a/kernel/trunk/core/exports.inc b/kernel/trunk/core/exports.inc
index cdafe18111..7092d95c0c 100644
--- a/kernel/trunk/core/exports.inc
+++ b/kernel/trunk/core/exports.inc
@@ -1,11 +1,10 @@
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; ;;
-;; Copyright (C) KolibriOS team 2004-2022. All rights reserved. ;;
+;; Copyright (C) KolibriOS team 2004-2024. All rights reserved. ;;
;; Distributed under terms of the GNU General Public License ;;
;; ;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
-$Revision$
align 4
__exports:
diff --git a/kernel/trunk/core/ext_lib.inc b/kernel/trunk/core/ext_lib.inc
index 92450191b9..663a1dd928 100644
--- a/kernel/trunk/core/ext_lib.inc
+++ b/kernel/trunk/core/ext_lib.inc
@@ -1,6 +1,6 @@
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; ;;
-;; Copyright (C) KolibriOS team 2004-2022. All rights reserved. ;;
+;; Copyright (C) KolibriOS team 2004-2024. All rights reserved. ;;
;; Distributed under terms of the GNU General Public License ;;
;; ;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
@@ -8,7 +8,6 @@
; External kernel dependencies (libraries) loading.
; The code currently does not work, requires correcting dll.inc.
-$Revision$
if 0
iglobal
diff --git a/kernel/trunk/core/fpu.inc b/kernel/trunk/core/fpu.inc
index 778686d98d..3dc0dc864b 100644
--- a/kernel/trunk/core/fpu.inc
+++ b/kernel/trunk/core/fpu.inc
@@ -1,12 +1,10 @@
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; ;;
-;; Copyright (C) KolibriOS team 2004-2022. All rights reserved. ;;
+;; Copyright (C) KolibriOS team 2004-2024. All rights reserved. ;;
;; Distributed under terms of the GNU General Public License ;;
;; ;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
-$Revision$
-
init_fpu:
clts
diff --git a/kernel/trunk/core/heap.inc b/kernel/trunk/core/heap.inc
index b6beb6d2cc..8d62264989 100644
--- a/kernel/trunk/core/heap.inc
+++ b/kernel/trunk/core/heap.inc
@@ -1,12 +1,10 @@
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; ;;
-;; Copyright (C) KolibriOS team 2004-2022. All rights reserved. ;;
+;; Copyright (C) KolibriOS team 2004-2024. All rights reserved. ;;
;; Distributed under terms of the GNU General Public License ;;
;; ;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
-$Revision$
-
struct MEM_BLOCK
list LHEAD
@@ -1589,4 +1587,4 @@ endl
xor eax, eax
ret
-endp
\ No newline at end of file
+endp
diff --git a/kernel/trunk/core/hpet.inc b/kernel/trunk/core/hpet.inc
index 992be60f1a..e9976187a6 100644
--- a/kernel/trunk/core/hpet.inc
+++ b/kernel/trunk/core/hpet.inc
@@ -1,11 +1,10 @@
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; ;;
-;; Copyright (C) KolibriOS team 2004-2022. All rights reserved. ;;
+;; Copyright (C) KolibriOS team 2004-2024. All rights reserved. ;;
;; Distributed under terms of the GNU General Public License ;;
;; ;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
-$Revision$
HPET_ID = 0x0000
HPET_PERIOD = 0x0004
diff --git a/kernel/trunk/core/irq.inc b/kernel/trunk/core/irq.inc
index f706cd6f5c..efecf139bd 100644
--- a/kernel/trunk/core/irq.inc
+++ b/kernel/trunk/core/irq.inc
@@ -1,12 +1,10 @@
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; ;;
-;; Copyright (C) KolibriOS team 2004-2022. All rights reserved. ;;
+;; Copyright (C) KolibriOS team 2004-2024. All rights reserved. ;;
;; Distributed under terms of the GNU General Public License ;;
;; ;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
-$Revision$
-
IRQ_RESERVED = 56
diff --git a/kernel/trunk/core/malloc.inc b/kernel/trunk/core/malloc.inc
index b668b36e8b..c57a9c3134 100644
--- a/kernel/trunk/core/malloc.inc
+++ b/kernel/trunk/core/malloc.inc
@@ -1,12 +1,10 @@
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; ;;
-;; Copyright (C) KolibriOS team 2004-2022. All rights reserved. ;;
+;; Copyright (C) KolibriOS team 2004-2024. All rights reserved. ;;
;; Distributed under terms of the GNU General Public License ;;
;; ;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
-$Revision$
-
; Small heap based on malloc/free/realloc written by Doug Lea
; Version 2.8.3 Thu Sep 22 11:16:15 2005 Doug Lea (dl at gee)
diff --git a/kernel/trunk/core/memory.inc b/kernel/trunk/core/memory.inc
index 351cb4ec22..af78cd311d 100644
--- a/kernel/trunk/core/memory.inc
+++ b/kernel/trunk/core/memory.inc
@@ -1,12 +1,10 @@
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; ;;
-;; Copyright (C) KolibriOS team 2004-2022. All rights reserved. ;;
+;; Copyright (C) KolibriOS team 2004-2024. All rights reserved. ;;
;; Distributed under terms of the GNU General Public License ;;
;; ;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
-$Revision$
-
align 4
proc alloc_page
@@ -597,7 +595,7 @@ proc page_fault_handler
mov eax, [page_tabs + ebx*4]
test eax, 2
jz .fail ;address is not reserved for usage. Error
-
+
.alloc:
call alloc_page
test eax, eax
@@ -656,10 +654,10 @@ proc page_fault_handler
test eax, 12 ;U/S (+below)
jnz .fail ;application requested kernel memory
-
+
;test eax, 8
;jnz .fail ;the reserved bit is set in page tables. Added in P4/Xeon
-
+
;an attempt to write to a protected kernel page
diff --git a/kernel/trunk/core/mtrr.inc b/kernel/trunk/core/mtrr.inc
index 36f23b2409..40abb360bc 100644
--- a/kernel/trunk/core/mtrr.inc
+++ b/kernel/trunk/core/mtrr.inc
@@ -1,11 +1,10 @@
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; ;;
-;; Copyright (C) KolibriOS team 2004-2022. All rights reserved. ;;
+;; Copyright (C) KolibriOS team 2004-2024. All rights reserved. ;;
;; Distributed under terms of the GNU General Public License ;;
;; ;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
-$Revision$
; Initializes PAT (Page Attribute Table) and MTRRs.
proc init_pat_mtrr
diff --git a/kernel/trunk/core/mtrrtest.asm b/kernel/trunk/core/mtrrtest.asm
index d8694e3ae8..195f604fb1 100644
--- a/kernel/trunk/core/mtrrtest.asm
+++ b/kernel/trunk/core/mtrrtest.asm
@@ -2,13 +2,7 @@
; Contains some inputs taken from real-life MTRRs and expected outputs.
format PE console
;include 'win32a.inc'
-macro $Revision [args]
-{
-}
-macro ignore_empty_revision_keyword {
- macro $Revi#sion$ \{\}
-}
-ignore_empty_revision_keyword
+
include '../proc32.inc'
include '../struct.inc'
entry start
diff --git a/kernel/trunk/core/peload.inc b/kernel/trunk/core/peload.inc
index cf3c788f03..fee4792026 100644
--- a/kernel/trunk/core/peload.inc
+++ b/kernel/trunk/core/peload.inc
@@ -1,11 +1,10 @@
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; ;;
-;; Copyright (C) KolibriOS team 2004-2022. All rights reserved. ;;
+;; Copyright (C) KolibriOS team 2004-2024. All rights reserved. ;;
;; Distributed under terms of the GNU General Public License ;;
;; ;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
-$Revision$
include 'export.inc'
diff --git a/kernel/trunk/core/sched.inc b/kernel/trunk/core/sched.inc
index 42e0d610df..067006e689 100644
--- a/kernel/trunk/core/sched.inc
+++ b/kernel/trunk/core/sched.inc
@@ -1,12 +1,10 @@
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; ;;
-;; Copyright (C) KolibriOS team 2004-2023. All rights reserved. ;;
+;; Copyright (C) KolibriOS team 2004-2024. All rights reserved. ;;
;; Copyright (C) MenuetOS 2000-2004 Ville Mikael Turjanmaa ;;
;; Distributed under terms of the GNU General Public License ;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
-$Revision$
-
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; IRQ0 HANDLER (TIMER INTERRUPT) ;;
diff --git a/kernel/trunk/core/slab.inc b/kernel/trunk/core/slab.inc
index c7babcb19f..8e7e4a8ba0 100644
--- a/kernel/trunk/core/slab.inc
+++ b/kernel/trunk/core/slab.inc
@@ -1,11 +1,10 @@
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; ;;
-;; Copyright (C) KolibriOS team 2013-2022. All rights reserved. ;;
+;; Copyright (C) KolibriOS team 2013-2024. All rights reserved. ;;
;; Distributed under terms of the GNU General Public License ;;
;; ;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
-$Revision$
; Memory management for slab structures.
; The allocator meets special requirements:
diff --git a/kernel/trunk/core/string.inc b/kernel/trunk/core/string.inc
index 5abb7c113c..601f8b755a 100644
--- a/kernel/trunk/core/string.inc
+++ b/kernel/trunk/core/string.inc
@@ -1,12 +1,10 @@
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; ;;
-;; Copyright (C) KolibriOS team 2004-2022. All rights reserved. ;;
+;; Copyright (C) KolibriOS team 2004-2024. All rights reserved. ;;
;; Distributed under terms of the GNU General Public License ;;
;; Author: Kees J. Bot 1 Jan 1994 ;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
-$Revision$
-
; size_t strncat(char *s1, const char *s2, size_t n)
; Append string s2 to s1.
diff --git a/kernel/trunk/core/sync.inc b/kernel/trunk/core/sync.inc
index 7a8e40b47f..8148317697 100644
--- a/kernel/trunk/core/sync.inc
+++ b/kernel/trunk/core/sync.inc
@@ -1,15 +1,12 @@
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; ;;
-;; Copyright (C) KolibriOS team 2004-2022. All rights reserved. ;;
+;; Copyright (C) KolibriOS team 2004-2024. All rights reserved. ;;
;; Distributed under terms of the GNU General Public License ;;
;; ;;
;; Synhronization for MenuetOS. ;;
;; Author: Halyavin Andrey, halyavin@land.ru ;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
-$Revision$
-
-
RWSEM_WAITING_FOR_WRITE = 0
RWSEM_WAITING_FOR_READ = 1
diff --git a/kernel/trunk/core/sys32-sp.inc b/kernel/trunk/core/sys32-sp.inc
index a56df68d2e..a475c76514 100644
--- a/kernel/trunk/core/sys32-sp.inc
+++ b/kernel/trunk/core/sys32-sp.inc
@@ -1,12 +1,10 @@
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; ;;
-;; Copyright (C) KolibriOS team 2013-2022. All rights reserved. ;;
+;; Copyright (C) KolibriOS team 2013-2024. All rights reserved. ;;
;; Distributed under terms of the GNU General Public License ;;
;; ;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
-$Revision$
-
; Éste archivo debe ser editado con codificación CP866
diff --git a/kernel/trunk/core/sys32.inc b/kernel/trunk/core/sys32.inc
index d3a4417735..6a52bc6218 100644
--- a/kernel/trunk/core/sys32.inc
+++ b/kernel/trunk/core/sys32.inc
@@ -1,11 +1,10 @@
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; ;;
-;; Copyright (C) KolibriOS team 2004-2022. All rights reserved. ;;
+;; Copyright (C) KolibriOS team 2004-2024. All rights reserved. ;;
;; Distributed under terms of the GNU General Public License. ;;
;; ;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
-$Revision$
struct EXCEPT_STACK
RegEIP dd ?
diff --git a/kernel/trunk/core/syscall.inc b/kernel/trunk/core/syscall.inc
index 96af2a19da..4beea74c40 100644
--- a/kernel/trunk/core/syscall.inc
+++ b/kernel/trunk/core/syscall.inc
@@ -1,11 +1,10 @@
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; ;;
-;; Copyright (C) KolibriOS team 2004-2022. All rights reserved. ;;
+;; Copyright (C) KolibriOS team 2004-2024. All rights reserved. ;;
;; Distributed under terms of the GNU General Public License ;;
;; ;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
-$Revision$
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; ;;
diff --git a/kernel/trunk/core/taskman.inc b/kernel/trunk/core/taskman.inc
index 1c98dbc1f9..f43231b193 100644
--- a/kernel/trunk/core/taskman.inc
+++ b/kernel/trunk/core/taskman.inc
@@ -1,12 +1,10 @@
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; ;;
-;; Copyright (C) KolibriOS team 2004-2022. All rights reserved. ;;
+;; Copyright (C) KolibriOS team 2004-2024. All rights reserved. ;;
;; Distributed under terms of the GNU General Public License. ;;
;; ;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
-$Revision$
-
GREEDY_KERNEL = 0
@@ -772,7 +770,7 @@ common_app_entry:
test ebp, ebp
jz .exit
; APPDATA.exec_params have first thread only,
-; so second and next threads don't get here (they jump to .exit)
+; so second and next threads don't get here (they jump to .exit)
stdcall map_process_image, [ebp + APP_HDR._emem],\
[ebp + APP_HDR.img_base], [ebp + APP_HDR.img_size]
mov esi, [ebp + APP_HDR.path_string]
@@ -826,10 +824,10 @@ common_app_entry:
mov [tls_data_l+4], al
mov [tls_data_l+7], ah
mov dx, app_tls
- mov fs, dx
-; { Patch by Coldy, For DLL autoload
-.try_load_dll:
-; Test app header version
+ mov fs, dx
+; { Patch by Coldy, For DLL autoload
+.try_load_dll:
+; Test app header version
mov ecx, dword[ebp + APP_HDR.img_base]
cmp dword[ecx+8], 2
jne .cleanup
@@ -838,26 +836,26 @@ common_app_entry:
stdcall load_library, dll_lib_path, 0
cmp eax, 0
jne @f
-; Something went wrong (TODO: Next 2 line is code copy after .cleanup)
+; Something went wrong (TODO: Next 2 line is code copy after .cleanup)
stdcall free_kernel_space, [ebp+APP_HDR.img_base]
stdcall kernel_free, ebp
DEBUGF 1, 'K : DLL.OBJ not found! Terminate application!\n'
mov ebx, dll_error_msg
mov ebp, notifyapp
call fs_execute_from_sysdir_param
-; Terminate process (TODO: Need jump to .cleanup after sys_end ?)
+; Terminate process (TODO: Need jump to .cleanup after sys_end ?)
call sys_end
-
-@@:
+
+@@:
; Find APP_STARTUP_THUNK in DLL.OBJ
sub eax, 4
mov eax, [eax]
-
+
;.change_eip:
mov ecx, [current_slot]
mov ecx, [ecx + APPDATA.pl0_stack]
mov [ecx+REG_EIP], eax
-
+
; } End patch by Coldy, For DLL autoload
.cleanup:
stdcall free_kernel_space, [ebp+APP_HDR.img_base]
diff --git a/kernel/trunk/core/test_malloc.asm b/kernel/trunk/core/test_malloc.asm
index 2e4845397b..9c21b10ad6 100644
--- a/kernel/trunk/core/test_malloc.asm
+++ b/kernel/trunk/core/test_malloc.asm
@@ -174,10 +174,6 @@ kernel_alloc:
mov eax, buffer
ret 4
-macro $Revision [args]
-{
-}
-
; Error handlers
error1:
mov eax, 1
diff --git a/kernel/trunk/core/timers.inc b/kernel/trunk/core/timers.inc
index 81862f3b48..b2f83b2ca3 100644
--- a/kernel/trunk/core/timers.inc
+++ b/kernel/trunk/core/timers.inc
@@ -1,11 +1,10 @@
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; ;;
-;; Copyright (C) KolibriOS team 2012-2022. All rights reserved. ;;
+;; Copyright (C) KolibriOS team 2012-2024. All rights reserved. ;;
;; Distributed under terms of the GNU General Public License ;;
;; ;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
-$Revision$
; Simple implementation of timers. All timers are organized in a double-linked
; list, and the OS loop after every timer tick processes the list.
diff --git a/kernel/trunk/core/v86.inc b/kernel/trunk/core/v86.inc
index 7a154bf772..a935734c6d 100644
--- a/kernel/trunk/core/v86.inc
+++ b/kernel/trunk/core/v86.inc
@@ -1,11 +1,10 @@
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; ;;
-;; Copyright (C) KolibriOS team 2007-2022. All rights reserved. ;;
+;; Copyright (C) KolibriOS team 2007-2024. All rights reserved. ;;
;; Distributed under terms of the GNU General Public License ;;
;; ;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
-$Revision$
; Virtual-8086 mode manager
; diamond, 2007, 2008
diff --git a/kernel/trunk/crc.inc b/kernel/trunk/crc.inc
index 61b0d5b278..6c18f2fd93 100644
--- a/kernel/trunk/crc.inc
+++ b/kernel/trunk/crc.inc
@@ -1,11 +1,10 @@
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; ;;
-;; Copyright (C) KolibriOS team 2004-2022. All rights reserved. ;;
+;; Copyright (C) KolibriOS team 2004-2024. All rights reserved. ;;
;; Distributed under terms of the GNU General Public License. ;;
;; ;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
-$Revision$
; This crc32 routine doesn't use precomputed table to allow different
; polynomials, which is the first param.
diff --git a/kernel/trunk/data16.inc b/kernel/trunk/data16.inc
index 4e0bd3818a..1ca3bc3e68 100644
--- a/kernel/trunk/data16.inc
+++ b/kernel/trunk/data16.inc
@@ -1,12 +1,10 @@
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; ;;
-;; Copyright (C) KolibriOS team 2004-2022. All rights reserved. ;;
+;; Copyright (C) KolibriOS team 2004-2024. All rights reserved. ;;
;; Distributed under terms of the GNU General Public License ;;
;; ;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
-$Revision$
-
flm db 0
preboot_lfb db 0
diff --git a/kernel/trunk/data32.inc b/kernel/trunk/data32.inc
index e1cd07c55b..b044db73c6 100644
--- a/kernel/trunk/data32.inc
+++ b/kernel/trunk/data32.inc
@@ -1,12 +1,10 @@
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; ;;
-;; Copyright (C) KolibriOS team 2004-2022. All rights reserved. ;;
+;; Copyright (C) KolibriOS team 2004-2024. All rights reserved. ;;
;; Distributed under terms of the GNU General Public License ;;
;; ;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
-$Revision$
-
keymap:
@@ -179,7 +177,7 @@ kernel_file_load:
dev_data_path db '/RD/1/DRIVERS/DEVICES.DAT',0
; { Patch by Coldy, For DLL autoload
dll_lib_path db '/SYS/LIB/DLL.OBJ',0
-dll_error_msg db '"DLL.OBJ not found!\nTerminate application!" -dE',0
+dll_error_msg db '"DLL.OBJ not found!\nTerminate application!" -dE',0
; } End patch by Coldy, For DLL autoload
align 4
diff --git a/kernel/trunk/data32et.inc b/kernel/trunk/data32et.inc
index 66fabad54b..219c785774 100644
--- a/kernel/trunk/data32et.inc
+++ b/kernel/trunk/data32et.inc
@@ -1,12 +1,10 @@
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; ;;
-;; Copyright (C) KolibriOS team 2013-2022. All rights reserved. ;;
+;; Copyright (C) KolibriOS team 2013-2024. All rights reserved. ;;
;; Distributed under terms of the GNU General Public License ;;
;; ;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
-$Revision$
-
boot_initirq latin1 'Algväärtustan IRQ',0
boot_picinit latin1 'Algväärtustan PIC',0
@@ -45,4 +43,4 @@ $Revision$
boot_APIC_nfound latin1 'APIC ei leitud', 0
if preboot_blogesc
boot_tasking latin1 'Kõik valmis - vajuta ESC alustamiseks',0
-end if
\ No newline at end of file
+end if
diff --git a/kernel/trunk/data32sp.inc b/kernel/trunk/data32sp.inc
index 3a55b08d46..6bab756f35 100644
--- a/kernel/trunk/data32sp.inc
+++ b/kernel/trunk/data32sp.inc
@@ -1,12 +1,10 @@
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; ;;
-;; Copyright (C) KolibriOS team 2013-2022. All rights reserved. ;;
+;; Copyright (C) KolibriOS team 2013-2024. All rights reserved. ;;
;; Distributed under terms of the GNU General Public License ;;
;; ;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
-$Revision$
-
boot_initirq: cp850 'Inicializar IRQ',0
boot_picinit: cp850 'Inicializar PIC',0
diff --git a/kernel/trunk/detect/biosdisk.inc b/kernel/trunk/detect/biosdisk.inc
index 81a9f463a1..1e20e0abeb 100644
--- a/kernel/trunk/detect/biosdisk.inc
+++ b/kernel/trunk/detect/biosdisk.inc
@@ -1,12 +1,10 @@
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; ;;
-;; Copyright (C) KolibriOS team 2008-2015. All rights reserved. ;;
+;; Copyright (C) KolibriOS team 2008-2024. All rights reserved. ;;
;; Distributed under terms of the GNU General Public License ;;
;; ;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
-$Revision$
-
; Detect all BIOS hard drives.
; diamond, 2008
diff --git a/kernel/trunk/detect/biosmem.inc b/kernel/trunk/detect/biosmem.inc
index bf032393d4..f4c5e60210 100644
--- a/kernel/trunk/detect/biosmem.inc
+++ b/kernel/trunk/detect/biosmem.inc
@@ -1,12 +1,10 @@
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; ;;
-;; Copyright (C) KolibriOS team 2009-2017. All rights reserved. ;;
+;; Copyright (C) KolibriOS team 2009-2024. All rights reserved. ;;
;; Distributed under terms of the GNU General Public License ;;
;; ;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
-$Revision$
-
; Query physical memory map from BIOS.
; diamond, 2009
diff --git a/kernel/trunk/detect/dev_fd.inc b/kernel/trunk/detect/dev_fd.inc
index 6e3fded9de..57b20c3294 100644
--- a/kernel/trunk/detect/dev_fd.inc
+++ b/kernel/trunk/detect/dev_fd.inc
@@ -1,12 +1,10 @@
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; ;;
-;; Copyright (C) KolibriOS team 2004-2015. All rights reserved. ;;
+;; Copyright (C) KolibriOS team 2004-2024. All rights reserved. ;;
;; Distributed under terms of the GNU General Public License ;;
;; ;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
-$Revision$
-
;***************************************************
; clear the DRIVE_DATA table,
diff --git a/kernel/trunk/detect/dev_hdcd.inc b/kernel/trunk/detect/dev_hdcd.inc
index 24e256c3f7..a8229688e7 100644
--- a/kernel/trunk/detect/dev_hdcd.inc
+++ b/kernel/trunk/detect/dev_hdcd.inc
@@ -1,11 +1,10 @@
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; ;;
-;; Copyright (C) KolibriOS team 2004-2015. All rights reserved. ;;
+;; Copyright (C) KolibriOS team 2004-2024. All rights reserved. ;;
;; Distributed under terms of the GNU General Public License ;;
;; ;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
-$Revision$
; HDD and CD search
diff --git a/kernel/trunk/detect/disks.inc b/kernel/trunk/detect/disks.inc
index 0001fb1297..a2b4eb934d 100644
--- a/kernel/trunk/detect/disks.inc
+++ b/kernel/trunk/detect/disks.inc
@@ -1,12 +1,10 @@
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; ;;
-;; Copyright (C) KolibriOS team 2004-2015. All rights reserved. ;;
+;; Copyright (C) KolibriOS team 2004-2024. All rights reserved. ;;
;; Distributed under terms of the GNU General Public License ;;
;; ;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
-$Revision$
-
include 'dev_fd.inc'
include 'dev_hdcd.inc'
diff --git a/kernel/trunk/detect/getcache.inc b/kernel/trunk/detect/getcache.inc
index c7f7bde80b..f29d4107b6 100644
--- a/kernel/trunk/detect/getcache.inc
+++ b/kernel/trunk/detect/getcache.inc
@@ -1,11 +1,10 @@
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; ;;
-;; Copyright (C) KolibriOS team 2004-2015. All rights reserved. ;;
+;; Copyright (C) KolibriOS team 2004-2024. All rights reserved. ;;
;; Distributed under terms of the GNU General Public License ;;
;; ;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
-$Revision$
;-----------------------------------------------------------------------------
pusha
diff --git a/kernel/trunk/detect/init_ata.inc b/kernel/trunk/detect/init_ata.inc
index eccd102775..40a51cb90f 100644
--- a/kernel/trunk/detect/init_ata.inc
+++ b/kernel/trunk/detect/init_ata.inc
@@ -1,12 +1,10 @@
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; ;;
-;; Copyright (C) KolibriOS team 2014-2015. All rights reserved. ;;
+;; Copyright (C) KolibriOS team 2014-2024. All rights reserved. ;;
;; Distributed under terms of the GNU General Public License ;;
;; ;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
-$Revision$
-
;-----------------------------------------------------------------------------
; find the IDE controller in the device list
diff --git a/kernel/trunk/detect/sear_par.inc b/kernel/trunk/detect/sear_par.inc
index 1c896a27bd..6e7b16b5fb 100644
--- a/kernel/trunk/detect/sear_par.inc
+++ b/kernel/trunk/detect/sear_par.inc
@@ -1,11 +1,10 @@
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; ;;
-;; Copyright (C) KolibriOS team 2004-2015. All rights reserved. ;;
+;; Copyright (C) KolibriOS team 2004-2024. All rights reserved. ;;
;; Distributed under terms of the GNU General Public License ;;
;; ;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
-$Revision$
search_partitions:
push ecx
diff --git a/kernel/trunk/detect/vortex86.inc b/kernel/trunk/detect/vortex86.inc
index 5dd751c008..c981b606ba 100644
--- a/kernel/trunk/detect/vortex86.inc
+++ b/kernel/trunk/detect/vortex86.inc
@@ -1,6 +1,6 @@
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; ;;
-;; Copyright (C) KolibriOS team 2004-2015. All rights reserved. ;;
+;; Copyright (C) KolibriOS team 2004-2024. All rights reserved. ;;
;; Distributed under terms of the GNU General Public License ;;
;; ;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
@@ -9,7 +9,6 @@
; 26/11/2013 yogev_ezra: Added CPU speed modifier and MMX support flag detection
; Thanks for help to: dunkaist, eAndrew, hidnplayr, Mario
-$Revision$
VORTEX86DEBUG = 0 ; For testing in emulators and in non-Vortex86 CPU computers, set this to 1
VORTEX86DEBUGVALUE = 'DMP5' ; FAKE port output = used for testing
@@ -41,7 +40,7 @@ endg
; When in debug mode, perform SoC detection regardless of the actual CPU vendor (even for vendors other than DMP)
; When in normal (not debug) mode, check the CPU vendor first, and perform SoC detection only if vendor is 'Vortex86 SoC'
-if ~ VORTEX86DEBUG
+if ~ VORTEX86DEBUG
cmp [cpu_vendor], 'Vort'
jnz .Vortex86end ; If the CPU vendor is not 'Vortex86 SoC', skip the SoC detection
end if
@@ -52,7 +51,7 @@ end if
if VORTEX86DEBUG ; When in debug mode, pretend that we received port output equal to "VORTEX86DEBUGVALUE"
mov eax, VORTEX86DEBUGVALUE
end if
-
+
DEBUGF 1, "K : Vortex86 SoC type register (93H~90H) returned 0x"
test eax, eax ; Check whether the port output was '\0'
jz .nullPCIoutput ; In case the result is '\0' (NULL), skip further testing and exit
@@ -67,7 +66,7 @@ end if
sub al, 0x30 ; Current Vortex86 CPU codes are in the range of 31h-37h, so convert them to integer (1,2,...)
mov [Vortex86CPUid], al ; Save the CPUid (1=Vortex86SX, 2=Vortex86DX, ..., 7=Vortex86EX, ...)
-
+
mov esi, Vortex86SoClist ; ESI points to the start of Vortex86SoClist (used implicitly in "LODSD" command below)
xor ecx, ecx ; Zero ECX (it is used as counter)
cld ; Clears the DF flag in the EFLAGS register (DF=0 --> String operations increment ESI)
@@ -104,7 +103,7 @@ end if
mov eax, SOUTH_BRIDGE+0xCC ; 0x800038CC = PCI Configuration Address Register to read from (8-bit register - accessed as BYTE)
call .Vortex86PCIreg ; Flags of Vortex86 South Bridge Internal Peripheral Feature Control Register III (Register Offset: CCh)
DEBUGF 1, "K : Vortex86 Internal Peripheral Feature Control Register III (CCh) returned 0x%x\n",al
-
+
mov eax, NORTH_BRIDGE+0xA0 ; 0x800000A0 = PCI Configuration Address Register to read from (32-bit register - accessed as DWORD)
call .Vortex86PCIreg ; Get current flags of Vortex86SoC North Bridge Host Control Register (Register Offset: A3h~A0h)
DEBUGF 1, "K : Vortex86 Host Control Register (A3h~A0h) returned 0x%x: CPU speed is ",eax
@@ -130,7 +129,7 @@ end if
DEBUGF 1, "ENABLED\n" ; Print to the log that MMX is enabled
.AfterMMXenabled:
DEBUGF 1, "K : Vortex86 MMX report to CPUID: " ; Print to the log what CPUID command knowns about MMX support
- test al, 1000000b ; On MMX-capable Vortex86 SoC, Bit6 = report MMX support to CPUID? (1=Yes/0=No)
+ test al, 1000000b ; On MMX-capable Vortex86 SoC, Bit6 = report MMX support to CPUID? (1=Yes/0=No)
jnz .Vortex86MMXreported ; MMX is already reported to CPUID (Bit6=1)
DEBUGF 1, "OFF - turning it ON for this session\n" ; Print to the log that MMX will now be reported to CPUID
or al, 1000000b ; Turn on MMX reporting to CPUID (don't write the value to PCI port yet)
@@ -151,7 +150,7 @@ end if
mov dl, 0xfc ; CFCh = Vortex86 PCI Configuration Data port
in eax, dx ; Read data from PCI data port
ret
-
+
.nullPCIoutput: ; Emulators and non-Vortex86 CPU computers will usually return \0 in this register
DEBUGF 1, "0 (NULL)\n"
diff --git a/kernel/trunk/encoding.inc b/kernel/trunk/encoding.inc
index 216291e11c..3cd0eb685f 100644
--- a/kernel/trunk/encoding.inc
+++ b/kernel/trunk/encoding.inc
@@ -1,11 +1,10 @@
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; ;;
-;; Copyright (C) KolibriOS team 2013-2022. All rights reserved. ;;
+;; Copyright (C) KolibriOS team 2013-2024. All rights reserved. ;;
;; Distributed under terms of the GNU General Public License ;;
;; ;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
-$Revision$
; fetch the UTF-8 character in addrspace:offs to char
macro fetch_utf8_char addrspace, offs, char
diff --git a/kernel/trunk/fdo.inc b/kernel/trunk/fdo.inc
index 9d3782794a..44edf51ae5 100644
--- a/kernel/trunk/fdo.inc
+++ b/kernel/trunk/fdo.inc
@@ -1,10 +1,9 @@
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; ;;
-;; Copyright (C) KolibriOS team 2004-2022. All rights reserved. ;;
+;; Copyright (C) KolibriOS team 2004-2024. All rights reserved. ;;
;; Distributed under terms of the GNU General Public License ;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
-$Revision$
;
; Formatted Debug Output (FDO)
diff --git a/kernel/trunk/fs/exfat.inc b/kernel/trunk/fs/exfat.inc
index e26eee3f9c..8b15a66172 100644
--- a/kernel/trunk/fs/exfat.inc
+++ b/kernel/trunk/fs/exfat.inc
@@ -1,11 +1,10 @@
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; ;;
-;; Copyright (C) KolibriOS team 2021-2022. All rights reserved. ;;
+;; Copyright (C) KolibriOS team 2021-2024. All rights reserved. ;;
;; Distributed under terms of the GNU General Public License. ;;
;; ;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
-$Revision$
; exFAT external functions
; in:
@@ -267,7 +266,7 @@ exFAT_create_partition:
; movsd
; popa
;------------------------------------------------------------------------------
-; offset +96 = First cluster of root directory
+; offset +96 = First cluster of root directory
mov eax, [ebx+0x60] ; rootdir cluster
mov [ebp+exFAT.ROOT_CLUSTER], eax
; DEBUGF 1, "K : exFAT.ROOT_CLUSTER EAX: %x\n", eax
@@ -361,12 +360,12 @@ exFAT_get_name:
; DEBUGF 1, "K : exFAT_get_name.label \n"
add esi, 2
lea edi, [ebp+exFAT.volumeLabel]
-
+
push ecx
mov ecx, 12
call UTF16to8_string
pop ecx
-
+
; push edi
; lea edi, [ebp+exFAT.volumeLabel]
; DEBUGF 1, "K : exFAT Volume label: %s\n", edi
@@ -462,7 +461,7 @@ exFAT_get_name:
; mov ebp,[esp+12+8+4+4+7*4+262*2+4+4]
; DEBUGF 1, "K : exFAT_get_name.longname Input FS EBP:%x\n", ebp
; pop ebp
- call .save_curr_sector_number
+ call .save_curr_sector_number
mov eax, [ebp+exFAT.hash_flag]
test eax, eax
jnz .no
@@ -485,7 +484,7 @@ exFAT_get_name:
movsd
mov [ebp+exFAT.fname_extdir_offset], edi
pop esi edi
-; copy name
+; copy name
push edi esi
xchg esi, edi
add esi, 2
@@ -502,7 +501,7 @@ exFAT_get_name:
xor eax, eax
stosw
pop esi edi
-
+
; push ebp
; mov ebp,[esp+12+8+4+4+7*4+262*2+4+4]
; DEBUGF 1, "K : exFAT_get_name.longname Output FS EBP:%x\n", ebp
@@ -934,14 +933,14 @@ align 4
; DEBUGF 1, "+ (Hash>>1)) EAX:%x\n", eax
movzx bx, byte [esi]
add ax, bx
-; DEBUGF 1, "+ (UInt16)Buffer[Index] EAX:%x\n", eax
+; DEBUGF 1, "+ (UInt16)Buffer[Index] EAX:%x\n", eax
inc esi
dec ecx
jnz .start
;--------------------------------------
pop ecx ebx
mov [ebp+exFAT.current_hash], eax
-; DEBUGF 1, "K : exFAT current hash :%x\n", eax
+; DEBUGF 1, "K : exFAT current hash :%x\n", eax
pop edi esi
.l1:
; push esi
@@ -1044,7 +1043,7 @@ exFAT_ReadFile:
; DEBUGF 1, "K : exFAT F70 +16: %x\n", [ebx+16]
; DEBUGF 1, "K : exFAT F70 +20: %x\n", [ebx+20]
; DEBUGF 1, "K : exFAT Path: %s\n", esi
-
+
; push eax
; pushfd
; pop eax
@@ -1115,7 +1114,7 @@ exFAT_ReadFile:
sub eax, edx ; low dword file size - file offset low = rest of file
push eax
mov eax, [ebp+exFAT.RDX_high]
- sbb [ebp+exFAT.RAX_high], eax
+ sbb [ebp+exFAT.RAX_high], eax
pop eax
jb .fileEnd
; DEBUGF 1, "K : exFAT_ReadFile Hdword rest of file RAX:%x\n", [ebp+exFAT.RAX_high]
@@ -1344,7 +1343,7 @@ exFAT_ReadFile:
sbb [ebp+exFAT.RCX_high], eax
pop eax
jbe .readEnd
-
+
; push edi
; lea edi, [ebp+exFAT.file_dir_entry]
; Check - General Secondary Flags
@@ -1389,14 +1388,14 @@ exFAT_ReadFile:
adc edx, ebx
mov [ebp+exFAT.RAX_high], edx
pop edx ebx
-
+
push dword [ebp+exFAT.RCX_high]
push ecx ; requested size low
-
+
mov ecx, [ebp+exFAT.RAX_high]
mov [ebp+exFAT.RCX_high], ecx
mov ecx, eax ; ecx << RFile_start_sector_low
-
+
xor eax, eax
mov [ebp+exFAT.RAX_high], eax
mov eax, esi ; eax << custer
@@ -1521,7 +1520,7 @@ exFAT_ReadFile:
pop eax edx
sub ebx, edx
; DEBUGF 1, "K : exFAT_ReadFile Return EBX:%x\n", ebx
-
+
; push eax
; pushfd
; pop eax
@@ -1582,7 +1581,7 @@ exFAT_ReadFolder:
; DEBUGF 1, "K : exFAT.ROOT_CLUSTER: %x\n", eax
cmp byte [esi], 0
jz .doit
-
+
; push ebp
; mov ebp,[esp+12+8+4+4]
; DEBUGF 1, "K : exFAT Input FS EBP:%x\n", ebp
@@ -2046,7 +2045,7 @@ exFAT_SetFileInfo:
call calculate_SetChecksum_field
mov [edi+2], ax
pop eax
-
+
lea ebx, [ebp+exFAT.buffer]
call fs_write32_sys
call exFAT_update_disk
@@ -2376,7 +2375,7 @@ align 4
movzx bx, byte [esi]
add ax, bx
; DEBUGF 1, "+ (UInt16)Entries[Index] EAX:%x\n", eax
-.continue:
+.continue:
inc esi
dec ecx
jnz .start
@@ -2708,4 +2707,4 @@ exFAT_get_sector:
mov eax, ecx
pop ecx
ret
-;------------------------------------------------------------------------------
\ No newline at end of file
+;------------------------------------------------------------------------------
diff --git a/kernel/trunk/fs/ext.inc b/kernel/trunk/fs/ext.inc
index 84a97c2052..3e1b75b0ec 100644
--- a/kernel/trunk/fs/ext.inc
+++ b/kernel/trunk/fs/ext.inc
@@ -1,11 +1,10 @@
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; ;;
-;; Copyright (C) KolibriOS team 2013-2016. All rights reserved. ;;
+;; Copyright (C) KolibriOS team 2013-2024. All rights reserved. ;;
;; Distributed under terms of the GNU General Public License. ;;
;; ;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
-$Revision$
; EXT external functions
; in:
diff --git a/kernel/trunk/fs/fat.inc b/kernel/trunk/fs/fat.inc
index abe3937a65..65ac101ce6 100644
--- a/kernel/trunk/fs/fat.inc
+++ b/kernel/trunk/fs/fat.inc
@@ -1,11 +1,10 @@
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; ;;
-;; Copyright (C) KolibriOS team 2004-2016. All rights reserved. ;;
+;; Copyright (C) KolibriOS team 2004-2024. All rights reserved. ;;
;; Distributed under terms of the GNU General Public License. ;;
;; ;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
-$Revision$
; FAT external functions
; in:
diff --git a/kernel/trunk/fs/fs_common.inc b/kernel/trunk/fs/fs_common.inc
index 2a87b7e535..c482b7ab1b 100644
--- a/kernel/trunk/fs/fs_common.inc
+++ b/kernel/trunk/fs/fs_common.inc
@@ -1,11 +1,10 @@
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; ;;
-;; Copyright (C) KolibriOS team 2004-2016. All rights reserved. ;;
+;; Copyright (C) KolibriOS team 2004-2024. All rights reserved. ;;
;; Distributed under terms of the GNU General Public License. ;;
;; ;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
-$Revision$
fsReadCMOS:
out 70h, al
diff --git a/kernel/trunk/fs/fs_lfn.inc b/kernel/trunk/fs/fs_lfn.inc
index d28f20cf41..09a5f63f4c 100644
--- a/kernel/trunk/fs/fs_lfn.inc
+++ b/kernel/trunk/fs/fs_lfn.inc
@@ -1,11 +1,10 @@
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; ;;
-;; Copyright (C) KolibriOS team 2004-2016. All rights reserved. ;;
+;; Copyright (C) KolibriOS team 2004-2024. All rights reserved. ;;
;; Distributed under terms of the GNU General Public License. ;;
;; ;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
-$Revision$
ERROR_SUCCESS = 0
ERROR_DISK_BASE = 1
@@ -156,7 +155,7 @@ proc file_system_is_operation_safe stdcall, inf_struct_ptr: dword
jnz .case2_3
;mov ecx, 32
cmp dword [ebx + 8], 1 ; check encoding
- jbe .case1_304 ; if encdoing <= 1 i.e cpp866
+ jbe .case1_304 ; if encdoing <= 1 i.e cpp866
mov ecx, 560 ; if unicode then bdvk block len is 560 bytes
jmp .case1_end
.case1_304:
@@ -187,7 +186,7 @@ proc file_system_is_operation_safe stdcall, inf_struct_ptr: dword
.switch_none:
cmp ecx, ecx
jmp .ret
-
+
.end_switch:
stdcall is_region_userspace, edx, ecx
.ret:
diff --git a/kernel/trunk/fs/iso9660.inc b/kernel/trunk/fs/iso9660.inc
index 60f80bf08e..c6268140b6 100644
--- a/kernel/trunk/fs/iso9660.inc
+++ b/kernel/trunk/fs/iso9660.inc
@@ -1,11 +1,10 @@
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; ;;
-;; Copyright (C) KolibriOS team 2004-2016. All rights reserved. ;;
+;; Copyright (C) KolibriOS team 2004-2024. All rights reserved. ;;
;; Distributed under terms of the GNU General Public License. ;;
;; ;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
-$Revision$
; CD external functions
; in:
diff --git a/kernel/trunk/fs/ntfs.inc b/kernel/trunk/fs/ntfs.inc
index 197c3a169f..f111054f78 100644
--- a/kernel/trunk/fs/ntfs.inc
+++ b/kernel/trunk/fs/ntfs.inc
@@ -1,11 +1,10 @@
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; ;;
-;; Copyright (C) KolibriOS team 2004-2016. All rights reserved. ;;
+;; Copyright (C) KolibriOS team 2004-2024. All rights reserved. ;;
;; Distributed under terms of the GNU General Public License. ;;
;; ;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
-$Revision$
; NTFS external functions
; in:
diff --git a/kernel/trunk/fs/parse_fn.inc b/kernel/trunk/fs/parse_fn.inc
index 32b9ab4179..b7ae8a542c 100644
--- a/kernel/trunk/fs/parse_fn.inc
+++ b/kernel/trunk/fs/parse_fn.inc
@@ -1,11 +1,10 @@
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; ;;
-;; Copyright (C) KolibriOS team 2004-2016. All rights reserved. ;;
+;; Copyright (C) KolibriOS team 2004-2024. All rights reserved. ;;
;; Distributed under terms of the GNU General Public License. ;;
;; ;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
-$Revision$
iglobal
full_file_name_table dd sysdir_name
diff --git a/kernel/trunk/fs/xfs.asm b/kernel/trunk/fs/xfs.asm
index e7a50fd673..1fb4826296 100644
--- a/kernel/trunk/fs/xfs.asm
+++ b/kernel/trunk/fs/xfs.asm
@@ -1,12 +1,10 @@
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; ;;
-;; Copyright (C) KolibriOS team 2013-2022. All rights reserved. ;;
+;; Copyright (C) KolibriOS team 2013-2024. All rights reserved. ;;
;; Distributed under terms of the GNU General Public License ;;
;; ;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
-$Revision$
-
include 'xfs.inc'
diff --git a/kernel/trunk/fs/xfs.inc b/kernel/trunk/fs/xfs.inc
index 807d1ec1d0..ab2358e07f 100644
--- a/kernel/trunk/fs/xfs.inc
+++ b/kernel/trunk/fs/xfs.inc
@@ -1,11 +1,10 @@
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; ;;
-;; Copyright (C) KolibriOS team 2013-2022. All rights reserved. ;;
+;; Copyright (C) KolibriOS team 2013-2024. All rights reserved. ;;
;; Distributed under terms of the GNU General Public License ;;
;; ;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
-$Revision$
; file types from stat.h
S_IFMT = 0170000o ; These bits determine file type
@@ -259,7 +258,7 @@ struct xfs_dir2_sf_hdr
count db ?
i8count db ?
parent DQ ? ; parent inode number, 4 or 8 bytes
-ends
+ends
struct xfs_dir2_sf_entry
namelen db ? ; actual name length (ASCII)
diff --git a/kernel/trunk/gui/background.inc b/kernel/trunk/gui/background.inc
index 708e4e5b4e..9fc729a214 100644
--- a/kernel/trunk/gui/background.inc
+++ b/kernel/trunk/gui/background.inc
@@ -1,12 +1,11 @@
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; ;;
-;; Copyright (C) KolibriOS team 2004-2023. All rights reserved. ;;
+;; Copyright (C) KolibriOS team 2004-2024. All rights reserved. ;;
;; Copyright (C) MenuetOS 2000-2004 Ville Mikael Turjanmaa ;;
;; Distributed under terms of the GNU General Public License ;;
;; ;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
-$Revision$
; Background graphics implementation
@@ -527,12 +526,12 @@ syscall_putarea_backgr: ; sysfn 25
mov esi, ecx
; ecx - size x, edx - size y
mov ebp, edx
-
+
lea ebp, [ebp*4]
imul ebp, esi
stdcall is_region_userspace, edi, ebp
jnz .exit
-
+
mov ebp, edx
dec ebp
@@ -594,4 +593,4 @@ align 4
.exit:
popad
- ret
\ No newline at end of file
+ ret
diff --git a/kernel/trunk/gui/button.inc b/kernel/trunk/gui/button.inc
index f26b7c3b0a..1f8308959f 100644
--- a/kernel/trunk/gui/button.inc
+++ b/kernel/trunk/gui/button.inc
@@ -1,12 +1,11 @@
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; ;;
-;; Copyright (C) KolibriOS team 2004-2016. All rights reserved. ;;
+;; Copyright (C) KolibriOS team 2004-2024. All rights reserved. ;;
;; Copyright (C) MenuetOS 2000-2004 Ville Mikael Turjanmaa ;;
;; Distributed under terms of the GNU General Public License ;;
;; ;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
-$Revision$
button.MAX_BUTTONS = 4095
@@ -71,7 +70,7 @@ syscall_button:
;> 6 (30) = don't draw button
;> 5 (29) = don't draw button frame when pressed
;> esi = button color
-; - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
+; - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
;; Undefine button:
;> edx = pack[8(flags), 24(button identifier)]
;> flags bits:
diff --git a/kernel/trunk/gui/event.inc b/kernel/trunk/gui/event.inc
index 62be66b4c7..500ca6b7c2 100644
--- a/kernel/trunk/gui/event.inc
+++ b/kernel/trunk/gui/event.inc
@@ -1,11 +1,10 @@
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; ;;
-;; Copyright (C) KolibriOS team 2004-2021. All rights reserved. ;;
+;; Copyright (C) KolibriOS team 2004-2024. All rights reserved. ;;
;; Copyright (C) MenuetOS 2000-2004 Ville Mikael Turjanmaa ;;
;; Distributed under terms of the GNU General Public License ;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
-$Revision$
WINDOW_MOVE_AND_RESIZE_FLAGS = \
mouse.WINDOW_RESIZE_N_FLAG + \
diff --git a/kernel/trunk/gui/font.inc b/kernel/trunk/gui/font.inc
index fa6fb344c1..92dd39e009 100644
--- a/kernel/trunk/gui/font.inc
+++ b/kernel/trunk/gui/font.inc
@@ -1,11 +1,10 @@
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; ;;
-;; Copyright (C) KolibriOS team 2004-2015. All rights reserved. ;;
+;; Copyright (C) KolibriOS team 2004-2024. All rights reserved. ;;
;; Distributed under terms of the GNU General Public License ;;
;; ;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
-$Revision$
dtext:
; edx -> string
@@ -19,18 +18,18 @@ dtext:
; FF=3: UTF-8 8x16, FF=2: UTF-16LE 8x16
; FF=1: cp866 8x16, FF=0: cp866 6x9
; SSS = (font multiplier)-1
-; edi=1: force output
+; edi=1: force output
; flag CF=1 means that we deal with asciiz but need to draw no more than esi symbols
clc
-._:
+._:
push ecx edx
- setc dl
+ setc dl
and eax, 0xFFFFFF
and ecx, 1 shl 31
shl edx, 29
- or eax, ecx
+ or eax, ecx
or eax, edx
- pop edx ecx
+ pop edx ecx
bt ecx, 30
jc @f
or eax, 1 shl 30
@@ -93,8 +92,8 @@ dtext:
or eax, -1
mov [esp+28], edi
jmp .1
-@@:
- and eax, 0x00ffffff
+@@:
+ and eax, 0x00ffffff
.1:
mov edi, edx
rep stosd
@@ -155,13 +154,13 @@ deltaToScreen = 28
js .done
movzx ebx, word [esi]
test dword [esp + 24], 1 shl 31
- jnz @f
+ jnz @f
test dword [esp + 24], 1 shl 29
jz .u16Still
-@@:
+@@:
test ebx, ebx
jz .done
-.u16Still:
+.u16Still:
inc esi
inc esi
cmp bx, 1419
@@ -186,13 +185,13 @@ deltaToScreen = 28
xor eax, eax
call utf8to16
test dword [esp + 24], 1 shl 31
- jnz @f
+ jnz @f
test dword [esp + 24], 1 shl 29
jz .u8Still
-@@:
+@@:
test eax, eax
jz .done
-.u8Still:
+.u8Still:
cmp eax, 1419
jc @f
xor eax, eax
@@ -214,13 +213,13 @@ deltaToScreen = 28
js .done
movzx ebx, byte [esi]
test dword [esp + 24], 1 shl 31
- jnz @f
+ jnz @f
test dword [esp + 24], 1 shl 29
jz .866Still
-@@:
+@@:
test ebx, ebx
jz .done
-.866Still:
+.866Still:
inc esi
pushd esi edi 9
lea ebx, [ebx*8+ebx+font1]
@@ -238,13 +237,13 @@ deltaToScreen = 28
js .done
movzx eax, byte [esi]
test dword [esp + 24], 1 shl 31
- jnz @f
+ jnz @f
test dword [esp + 24], 1 shl 29
- jz .8662uStill
-@@:
+ jz .8662uStill
+@@:
test eax, eax
jz .done
-.8662uStill:
+.8662uStill:
call ansi2uni_char
shl eax, 4
lea ebx, [eax+fontUni]
diff --git a/kernel/trunk/gui/mouse.inc b/kernel/trunk/gui/mouse.inc
index 8d1fa389ba..94a450052d 100644
--- a/kernel/trunk/gui/mouse.inc
+++ b/kernel/trunk/gui/mouse.inc
@@ -1,11 +1,10 @@
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; ;;
-;; Copyright (C) KolibriOS team 2010-2023. All rights reserved. ;;
+;; Copyright (C) KolibriOS team 2010-2024. All rights reserved. ;;
;; Distributed under terms of the GNU General Public License ;;
;; ;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
-$Revision$
;================================
;/////// public functions ///////
@@ -390,11 +389,11 @@ mouse._.move_handler:
; change cursor to resizing cursor
shl esi, BSF sizeof.WDATA
add esi, window_data
-
+
; if resizing cursor we need (eax) isnt set already, set it
cmp eax, [esi + WDATA.cursor]
je @f
-
+
; DEBUGF 1, "changing cursor to resizing\n"
xchg eax, [esi + WDATA.cursor] ; set resizing cursor, prev cursor goes to eax
; save previous cursor (will be restored when we'll get out of the resizing area)
@@ -421,7 +420,7 @@ mouse._.move_handler:
test eax, eax
jz .end1
-
+
; restore prev cursor
mov [esi + WDATA.temp_cursor], 0
mov [esi + WDATA.cursor], eax
diff --git a/kernel/trunk/gui/skincode.inc b/kernel/trunk/gui/skincode.inc
index dc8c3281f8..59b23f0abe 100644
--- a/kernel/trunk/gui/skincode.inc
+++ b/kernel/trunk/gui/skincode.inc
@@ -1,12 +1,10 @@
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; ;;
-;; Copyright (C) KolibriOS team 2004-2015. All rights reserved. ;;
+;; Copyright (C) KolibriOS team 2004-2024. All rights reserved. ;;
;; Distributed under terms of the GNU General Public License ;;
;; ;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
-$Revision$
-
include "skindata.inc"
diff --git a/kernel/trunk/gui/skindata.inc b/kernel/trunk/gui/skindata.inc
index 331be73439..f9ddc15107 100644
--- a/kernel/trunk/gui/skindata.inc
+++ b/kernel/trunk/gui/skindata.inc
@@ -1,12 +1,10 @@
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; ;;
-;; Copyright (C) KolibriOS team 2004-2015. All rights reserved. ;;
+;; Copyright (C) KolibriOS team 2004-2024. All rights reserved. ;;
;; Distributed under terms of the GNU General Public License ;;
;; ;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
-$Revision$
-
;
; WINDOW SKIN DATA.
diff --git a/kernel/trunk/gui/window.inc b/kernel/trunk/gui/window.inc
index 78acb189fc..b4d8660bcb 100644
--- a/kernel/trunk/gui/window.inc
+++ b/kernel/trunk/gui/window.inc
@@ -1,15 +1,14 @@
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; ;;
-;; Copyright (C) KolibriOS team 2004-2021. All rights reserved. ;;
+;; Copyright (C) KolibriOS team 2004-2024. All rights reserved. ;;
;; Copyright (C) MenuetOS 2000-2004 Ville Mikael Turjanmaa ;;
;; Distributed under terms of the GNU General Public License ;;
;; ;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
-$Revision$
;==============================================================================
-; public functions
+; public functions
;==============================================================================
window.BORDER_SIZE = 5
@@ -74,7 +73,7 @@ syscall_draw_window: ; system function 0
align 4
; system function 1
-syscall_setpixel:
+syscall_setpixel:
mov eax, ebx
mov ebx, ecx
mov ecx, edx
@@ -92,7 +91,7 @@ syscall_setpixel:
align 4
; system function 4
-syscall_writetext:
+syscall_writetext:
push esi ;check pointer on kernel address.
test ecx, 0x80000000
@@ -132,7 +131,7 @@ align 4
align 4
; system function 13
-syscall_drawrect:
+syscall_drawrect:
mov edi, edx ; color + gradient
and edi, 0x80FFFFFF
test bx, bx ; x.size
@@ -184,8 +183,8 @@ syscall_drawline:
align 4
-; system function 48
-syscall_display_settings:
+; system function 48
+syscall_display_settings:
cmp ebx, .ftable.size-1
ja .ret
jmp dword[.ftable + ebx*4]
@@ -406,7 +405,7 @@ align 4
;; Set window shape scale:
;> ebx = 1
;> ecx = scale power (resulting scale is 2^ebx)
-syscall_set_window_shape:
+syscall_set_window_shape:
mov edi, [current_slot]
mov edi, [edi + APPDATA.window]
@@ -426,8 +425,8 @@ align 4
;------------------------------------------------------------------------------
align 4
-; system function 67
-syscall_move_window:
+; system function 67
+syscall_move_window:
mov edi, [current_slot]
mov edi, [edi + APPDATA.window]
@@ -482,7 +481,7 @@ align 4
;------------------------------------------------------------------------------
; system function 71
-syscall_window_settings:
+syscall_window_settings:
mov edi, [current_slot]
mov edi, [edi + APPDATA.window]
or [edi + WDATA.fl_wstyle], WSTYLE_HASCAPTION
@@ -2322,7 +2321,7 @@ align 4
inc edx
@@:
shl eax, 28
- or ecx, eax
+ or ecx, eax
xor edi, edi
stc
call dtext._
diff --git a/kernel/trunk/hid/keyboard.inc b/kernel/trunk/hid/keyboard.inc
index df115f1082..f3224cfec0 100644
--- a/kernel/trunk/hid/keyboard.inc
+++ b/kernel/trunk/hid/keyboard.inc
@@ -1,12 +1,10 @@
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; ;;
-;; Copyright (C) KolibriOS team 2004-2022. All rights reserved. ;;
+;; Copyright (C) KolibriOS team 2004-2024. All rights reserved. ;;
;; Copyright (C) MenuetOS 2000-2004 Ville Mikael Turjanmaa ;;
;; Distributed under terms of the GNU General Public License ;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
-$Revision$
-
VKEY_LSHIFT = 00000000_00000001b
VKEY_RSHIFT = 00000000_00000010b
@@ -88,7 +86,7 @@ hotkey_do_test:
and eax, 15
cmp al, hotkey_tests_num
jae .fail
-
+
xchg eax, edx
and al, 3
call [hotkey_tests + edx*4]
@@ -111,9 +109,9 @@ set_keyboard_data:
shl eax, BSF sizeof.APPDATA
mov al, [SLOT_BASE + eax + APPDATA.keyboard_mode]
mov [keyboard_mode], al
-
+
mov eax, ecx
-
+
push ebx esi edi ebp
call send_scancode
pop ebp edi esi ebx
@@ -210,7 +208,7 @@ irq1:
shl eax, BSF sizeof.APPDATA
mov al, [SLOT_BASE + eax + APPDATA.keyboard_mode]
mov [keyboard_mode], al
-
+
in al, 0x60
;--------------------------------------
send_scancode:
@@ -224,7 +222,7 @@ send_scancode:
mov ch, al
cmp al, 0xE0
je @f
-
+
cmp al, 0xE1
jne .normal_code
@@:
@@ -241,10 +239,10 @@ send_scancode:
@@:
cmp al, 0x5B
jne @f
-
+
cmp cl, 0xE0
jne @f
-
+
mov eax, VKEY_LWIN
mov bh, 0
jmp .modifier
@@ -252,10 +250,10 @@ send_scancode:
@@:
cmp al, 0x5C
jne @f
-
+
cmp cl, 0xE0
jne @f
-
+
mov eax, VKEY_RWIN
mov bh, 0
jmp .modifier
@@ -263,53 +261,53 @@ send_scancode:
@@:
cmp al, 0x2A
jne @f
-
+
cmp cl, 0xE0
je .writekey
-
+
mov eax, VKEY_LSHIFT
jmp .modifier
;--------------------------------------
@@:
cmp al, 0x36
jne @f
-
+
cmp cl, 0xE0
je .writekey
-
+
mov eax, VKEY_RSHIFT
jmp .modifier
;--------------------------------------
@@:
cmp al, 0x38
jne @f
-
+
mov eax, VKEY_LALT
test cl, cl
jz .modifier
-
+
mov al, VKEY_RALT
jmp .modifier
;--------------------------------------
@@:
cmp al, 0x1D
jne @f
-
+
mov eax, VKEY_LCONTROL
test cl, cl
jz .modifier
-
+
mov al, VKEY_RCONTROL
cmp cl, 0xE0
jz .modifier
-
+
mov [ext_code], cl
jmp .writekey
;--------------------------------------
@@:
cmp al, 0x3A
jne @f
-
+
mov bl, 4
mov eax, VKEY_CAPSLOCK
jmp .no_key.xor
@@ -319,7 +317,7 @@ send_scancode:
jne @f
test cl, cl
jnz .writekey
-
+
mov bl, 2
mov eax, VKEY_NUMLOCK
jmp .no_key.xor
@@ -327,7 +325,7 @@ send_scancode:
@@:
cmp al, 0x46
jne @f
-
+
mov bl, 1
mov eax, VKEY_SCRLOCK
jmp .no_key.xor
@@ -336,44 +334,44 @@ send_scancode:
xor ebx, ebx
test ch, ch
js .writekey
-
+
movzx eax, ch ; plain key
mov bl, [keymap + eax]
mov edx, [kb_state]
test dl, VKEY_CONTROL ; ctrl alt del
jz .noctrlaltdel
-
+
test dl, VKEY_ALT
jz .noctrlaltdel
-
+
cmp ch, 53h
jne .noctrlaltdel
-
+
mov [ctrl_alt_del], 1
call wakeup_osloop
.noctrlaltdel:
test dl, VKEY_CONTROL ; ctrl on ?
jz @f
-
+
sub bl, 0x60
@@:
test dl, VKEY_CAPSLOCK ; caps lock on ?
jz .no_caps_lock
-
+
test dl, VKEY_SHIFT ; shift on ?
jz .keymap_shif
-
+
jmp @f
;--------------------------------------
.no_caps_lock:
test dl, VKEY_SHIFT ; shift on ?
jz @f
-.keymap_shif:
+.keymap_shif:
mov bl, [keymap_shift + eax]
@@:
test dl, VKEY_ALT ; alt on ?
jz @f
-
+
mov bl, [keymap_alt + eax]
@@:
jmp .writekey
@@ -393,7 +391,7 @@ send_scancode:
mov bh, 0
test ch, ch
js .writekey
-
+
xor [kb_state], eax
xor [kb_lights], bl
.writekey:
@@ -403,22 +401,22 @@ send_scancode:
cmp bh, 1
ja .nohotkey
jb @f
-
+
xor eax, eax
@@:
mov eax, [hotkey_scancodes + eax*4]
.hotkey_loop:
test eax, eax
jz .nohotkey
-
+
mov cl, 0
call hotkey_do_test
jc .hotkey_cont
-
+
mov cl, 2
call hotkey_do_test
jc .hotkey_cont
-
+
mov cl, 4
call hotkey_do_test
jnc .hotkey_found
@@ -433,7 +431,7 @@ send_scancode:
@@:
cmp dword [edi], 0
jz .found_free
-
+
add edi, 8
cmp edi, hotkey_buffer+120*8
jb @b
@@ -444,7 +442,7 @@ send_scancode:
movzx eax, ch
cmp bh, 1
jnz @f
-
+
xor eax, eax
@@:
mov [edi+4], ax
@@ -462,10 +460,10 @@ send_scancode:
cmp [keyboard_mode], 0; return from keymap
jne .scancode
-
+
test bh, bh
jnz .exit.irq1
-
+
test bl, bl
jz .exit.irq1
@@ -474,28 +472,28 @@ send_scancode:
cmp ch, 53
jne .dowrite
-
+
mov bl, '/'
jmp .dowrite
@@:
cmp ch, 55
jne @f
-
+
mov bl, '*'
jmp .dowrite
@@:
cmp ch, 74
jne @f
-
+
mov bl, '-'
jmp .dowrite
@@:
cmp ch, 78
jne @f
-
+
mov bl, '+'
jmp .dowrite
@@:
@@ -505,10 +503,10 @@ send_scancode:
cmp ch, 71
jb .dowrite
-
+
cmp ch, 83
ja .dowrite
-
+
movzx eax, ch
mov bl, [numlock_map + eax - 71]
jmp .dowrite
@@ -832,4 +830,4 @@ align 4
and dword [ecx + 4], 0
and dword [ecx], 0
jmp .ret_eax
-;------------------------------------------------------------------------------
\ No newline at end of file
+;------------------------------------------------------------------------------
diff --git a/kernel/trunk/hid/mousedrv.inc b/kernel/trunk/hid/mousedrv.inc
index 34a6fa186a..6c6d8b9bf4 100644
--- a/kernel/trunk/hid/mousedrv.inc
+++ b/kernel/trunk/hid/mousedrv.inc
@@ -1,12 +1,10 @@
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; ;;
-;; Copyright (C) KolibriOS team 2004-2023. All rights reserved. ;;
+;; Copyright (C) KolibriOS team 2004-2024. All rights reserved. ;;
;; Distributed under terms of the GNU General Public License ;;
;; ;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
-$Revision$
-
; check mouse
;
diff --git a/kernel/trunk/hid/set_dtc.inc b/kernel/trunk/hid/set_dtc.inc
index f2d914413e..d27f065433 100644
--- a/kernel/trunk/hid/set_dtc.inc
+++ b/kernel/trunk/hid/set_dtc.inc
@@ -1,12 +1,10 @@
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; ;;
-;; Copyright (C) KolibriOS team 2004-2022. All rights reserved. ;;
+;; Copyright (C) KolibriOS team 2004-2024. All rights reserved. ;;
;; Distributed under terms of the GNU General Public License ;;
;; ;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
-$Revision$
-
;setting date,time,clock and alarm-clock
;add sys_settime at servetable as for ex. 22 fcn:
@@ -130,7 +128,7 @@ sys_settime:
call startstopclk
dec edx
cmp ebx, 3
-
+
je .setalarm
xor eax, eax;al=0-set seconds
out dx, al
diff --git a/kernel/trunk/imports.inc b/kernel/trunk/imports.inc
index 1ee9cd8246..1213ed767f 100644
--- a/kernel/trunk/imports.inc
+++ b/kernel/trunk/imports.inc
@@ -1,19 +1,17 @@
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; ;;
-;; Copyright (C) KolibriOS team 2004-2022. All rights reserved. ;;
+;; Copyright (C) KolibriOS team 2004-2024. All rights reserved. ;;
;; Distributed under terms of the GNU General Public License ;;
;; ;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+
;============================================================================
;
; External kernel dependencies
;
;============================================================================
-$Revision$
-
-
align 4
@IMPORT:
diff --git a/kernel/trunk/init.inc b/kernel/trunk/init.inc
index 2176eab950..822ef49585 100644
--- a/kernel/trunk/init.inc
+++ b/kernel/trunk/init.inc
@@ -1,11 +1,10 @@
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; ;;
-;; Copyright (C) KolibriOS team 2004-2022. All rights reserved. ;;
+;; Copyright (C) KolibriOS team 2004-2024. All rights reserved. ;;
;; Distributed under terms of the GNU General Public License ;;
;; ;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
-$Revision$
align 4
proc mem_test
diff --git a/kernel/trunk/kernel.asm b/kernel/trunk/kernel.asm
index 981771e601..c8c2d1278e 100644
--- a/kernel/trunk/kernel.asm
+++ b/kernel/trunk/kernel.asm
@@ -24,13 +24,12 @@
;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+
format binary as "mnt"
include 'macros.inc'
include 'struct.inc'
-$Revision$
-
USE_COM_IRQ = 1 ; make irq 3 and irq 4 available for PCI devices
VESA_1_2_VIDEO = 0 ; enable vesa 1.2 bank switch functions
@@ -4245,7 +4244,7 @@ syscall_threads:
movzx eax, [eax+APPDATA.def_priority]
jmp .end
-.create: ;sysfn 51,1
+.create: ;sysfn 51,1
call new_sys_threads
.end:
diff --git a/kernel/trunk/kernel32.inc b/kernel/trunk/kernel32.inc
index fc683466c5..21b7812f62 100644
--- a/kernel/trunk/kernel32.inc
+++ b/kernel/trunk/kernel32.inc
@@ -1,11 +1,10 @@
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; ;;
-;; Copyright (C) KolibriOS team 2004-2022. All rights reserved. ;;
+;; Copyright (C) KolibriOS team 2004-2024. All rights reserved. ;;
;; Distributed under terms of the GNU General Public License. ;;
;; ;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
-$Revision$
include "core/sync.inc" ; macros for synhronization objects
include "core/sys32.inc" ; process management
diff --git a/kernel/trunk/kernelsp.inc b/kernel/trunk/kernelsp.inc
index ba931c5031..2734b12fff 100644
--- a/kernel/trunk/kernelsp.inc
+++ b/kernel/trunk/kernelsp.inc
@@ -1,12 +1,10 @@
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; ;;
-;; Copyright (C) KolibriOS team 2013-2022. All rights reserved. ;;
+;; Copyright (C) KolibriOS team 2013-2024. All rights reserved. ;;
;; Distributed under terms of the GNU General Public License ;;
;; ;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
-$Revision$
-
; Éste archivo debe ser editado con codificación CP866
diff --git a/kernel/trunk/kglobals.inc b/kernel/trunk/kglobals.inc
index eddb15a9ea..a92973ca1a 100644
--- a/kernel/trunk/kglobals.inc
+++ b/kernel/trunk/kglobals.inc
@@ -1,12 +1,10 @@
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; ;;
-;; Copyright (C) KolibriOS team 2004-2023. All rights reserved. ;;
+;; Copyright (C) KolibriOS team 2004-2024. All rights reserved. ;;
;; Distributed under terms of the GNU General Public License ;;
;; ;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
-$Revision$
-
;------------------------------------------------------------------
; use "iglobal" for inserting initialized global data definitions.
@@ -61,7 +59,7 @@ macro IncludeAllGlobals {
IncludeIGlobals
IncludeUGlobals
}
-
+
iglobal
endg
diff --git a/kernel/trunk/macros.inc b/kernel/trunk/macros.inc
index 58f751db00..54be12a0ac 100644
--- a/kernel/trunk/macros.inc
+++ b/kernel/trunk/macros.inc
@@ -1,6 +1,6 @@
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; ;;
-;; Copyright (C) KolibriOS team 2004-2022. All rights reserved. ;;
+;; Copyright (C) KolibriOS team 2004-2024. All rights reserved. ;;
;; Distributed under terms of the GNU General Public License ;;
;; ;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
@@ -15,16 +15,6 @@ macro $Revision a {
\}
}
-macro ignore_empty_revision_keyword {
- ; svn keywords are neither substituted by git-svn nor catched by $Revision
- ; macro above, ignore them to not fail the build
- macro $Rev#ision$ \{\}
-}
-ignore_empty_revision_keyword
-
-$Revision$
-
-
;// mike.dld, 2006-29-01 [
; macros definition
diff --git a/kernel/trunk/network/ARP.inc b/kernel/trunk/network/ARP.inc
index a3aab973c2..d73cd68dd4 100644
--- a/kernel/trunk/network/ARP.inc
+++ b/kernel/trunk/network/ARP.inc
@@ -1,6 +1,6 @@
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; ;;
-;; Copyright (C) KolibriOS team 2004-2019. All rights reserved. ;;
+;; Copyright (C) KolibriOS team 2004-2024. All rights reserved. ;;
;; Distributed under terms of the GNU General Public License ;;
;; ;;
;; ARP.INC ;;
@@ -16,7 +16,6 @@
;; ;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
-$Revision$
ARP_NO_ENTRY = 0
ARP_VALID_MAPPING = 1
diff --git a/kernel/trunk/network/IPv4.inc b/kernel/trunk/network/IPv4.inc
index 696701e9eb..8316cad134 100644
--- a/kernel/trunk/network/IPv4.inc
+++ b/kernel/trunk/network/IPv4.inc
@@ -1,6 +1,6 @@
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; ;;
-;; Copyright (C) KolibriOS team 2004-2022. All rights reserved. ;;
+;; Copyright (C) KolibriOS team 2004-2024. All rights reserved. ;;
;; Distributed under terms of the GNU General Public License ;;
;; ;;
;; IPv4.INC ;;
@@ -16,7 +16,6 @@
;; ;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
-$Revision$
IPv4_MAX_FRAGMENTS = 64
IPv4_MAX_ROUTES = 64
diff --git a/kernel/trunk/network/IPv6.inc b/kernel/trunk/network/IPv6.inc
index 4ae7e2f591..5f8f8b5f53 100644
--- a/kernel/trunk/network/IPv6.inc
+++ b/kernel/trunk/network/IPv6.inc
@@ -1,6 +1,6 @@
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; ;;
-;; Copyright (C) KolibriOS team 2012-2015. All rights reserved. ;;
+;; Copyright (C) KolibriOS team 2012-2024. All rights reserved. ;;
;; Distributed under terms of the GNU General Public License ;;
;; ;;
;; IPv6.INC ;;
@@ -14,8 +14,6 @@
;; ;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
-$Revision$
-
struct IPv6_header
diff --git a/kernel/trunk/network/PPPoE.inc b/kernel/trunk/network/PPPoE.inc
index 68f80fb2c2..7f6e92931c 100644
--- a/kernel/trunk/network/PPPoE.inc
+++ b/kernel/trunk/network/PPPoE.inc
@@ -1,6 +1,6 @@
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; ;;
-;; Copyright (C) KolibriOS team 2012-2021. All rights reserved. ;;
+;; Copyright (C) KolibriOS team 2012-2024. All rights reserved. ;;
;; Distributed under terms of the GNU General Public License ;;
;; ;;
;; PPPoE.INC ;;
@@ -14,8 +14,6 @@
;; ;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
-$Revision$
-
struct PPPoE_frame
VersionAndType db ?
diff --git a/kernel/trunk/network/ethernet.inc b/kernel/trunk/network/ethernet.inc
index 5f89617353..068e3a4bbc 100644
--- a/kernel/trunk/network/ethernet.inc
+++ b/kernel/trunk/network/ethernet.inc
@@ -1,6 +1,6 @@
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; ;;
-;; Copyright (C) KolibriOS team 2004-2021. All rights reserved. ;;
+;; Copyright (C) KolibriOS team 2004-2024. All rights reserved. ;;
;; Distributed under terms of the GNU General Public License ;;
;; ;;
;; ETHERNET.INC ;;
@@ -14,7 +14,6 @@
;; ;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
-$Revision$
ETH_FRAME_MINIMUM = 60
ETH_QUEUE_SIZE = 255
diff --git a/kernel/trunk/network/icmp.inc b/kernel/trunk/network/icmp.inc
index 402dbd1752..9cfecfb536 100644
--- a/kernel/trunk/network/icmp.inc
+++ b/kernel/trunk/network/icmp.inc
@@ -1,6 +1,6 @@
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; ;;
-;; Copyright (C) KolibriOS team 2004-2022. All rights reserved. ;;
+;; Copyright (C) KolibriOS team 2004-2024. All rights reserved. ;;
;; Distributed under terms of the GNU General Public License ;;
;; ;;
;; ICMP.INC ;;
@@ -16,7 +16,6 @@
;; ;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
-$Revision$
; ICMP types & codes
diff --git a/kernel/trunk/network/loopback.inc b/kernel/trunk/network/loopback.inc
index 25c147f2ef..d6c112ce62 100644
--- a/kernel/trunk/network/loopback.inc
+++ b/kernel/trunk/network/loopback.inc
@@ -1,6 +1,6 @@
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; ;;
-;; Copyright (C) KolibriOS team 2004-2021. All rights reserved. ;;
+;; Copyright (C) KolibriOS team 2004-2024. All rights reserved. ;;
;; Distributed under terms of the GNU General Public License ;;
;; ;;
;; loopback.inc ;;
@@ -14,7 +14,6 @@
;; ;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
-$Revision$
iglobal
align 4
diff --git a/kernel/trunk/network/queue.inc b/kernel/trunk/network/queue.inc
index 591244c71f..9ffe0ab414 100644
--- a/kernel/trunk/network/queue.inc
+++ b/kernel/trunk/network/queue.inc
@@ -1,6 +1,6 @@
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; ;;
-;; Copyright (C) KolibriOS team 2004-2015. All rights reserved. ;;
+;; Copyright (C) KolibriOS team 2004-2024. All rights reserved. ;;
;; Distributed under terms of the GNU General Public License ;;
;; ;;
;; queue.inc ;;
@@ -12,7 +12,6 @@
;; ;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
-$Revision$
; The Queues implemented by these macros form a ring-buffer.
; The data to these queue's always looks like this:
@@ -117,4 +116,4 @@ macro init_queue ptr {
mov [ptr + queue.w_ptr], edi
mov [ptr + queue.r_ptr], edi
-}
\ No newline at end of file
+}
diff --git a/kernel/trunk/network/socket.inc b/kernel/trunk/network/socket.inc
index 69ea584d7e..4759d97d07 100644
--- a/kernel/trunk/network/socket.inc
+++ b/kernel/trunk/network/socket.inc
@@ -1,6 +1,6 @@
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; ;;
-;; Copyright (C) KolibriOS team 2004-2021. All rights reserved. ;;
+;; Copyright (C) KolibriOS team 2004-2024. All rights reserved. ;;
;; Distributed under terms of the GNU General Public License ;;
;; ;;
;; Part of the TCP/IP network stack for KolibriOS ;;
@@ -15,7 +15,6 @@
;; ;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
-$Revision$
struct SOCKET
diff --git a/kernel/trunk/network/stack.inc b/kernel/trunk/network/stack.inc
index 061f82827b..936e3cab2e 100644
--- a/kernel/trunk/network/stack.inc
+++ b/kernel/trunk/network/stack.inc
@@ -1,6 +1,6 @@
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; ;;
-;; Copyright (C) KolibriOS team 2004-2021. All rights reserved. ;;
+;; Copyright (C) KolibriOS team 2004-2024. All rights reserved. ;;
;; Distributed under terms of the GNU General Public License ;;
;; ;;
;; STACK.INC ;;
@@ -21,7 +21,6 @@
;; ;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
-$Revision$
uglobal
net_10ms dd ?
diff --git a/kernel/trunk/network/tcp.inc b/kernel/trunk/network/tcp.inc
index cdf5f54de7..b948f17507 100644
--- a/kernel/trunk/network/tcp.inc
+++ b/kernel/trunk/network/tcp.inc
@@ -1,6 +1,6 @@
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; ;;
-;; Copyright (C) KolibriOS team 2004-2017. All rights reserved. ;;
+;; Copyright (C) KolibriOS team 2004-2024. All rights reserved. ;;
;; Distributed under terms of the GNU General Public License ;;
;; ;;
;; Part of the TCP/IP network stack for KolibriOS ;;
@@ -14,7 +14,6 @@
;; ;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
-$Revision$
; Socket states
TCPS_CLOSED = 0
diff --git a/kernel/trunk/network/tcp_input.inc b/kernel/trunk/network/tcp_input.inc
index 2e274fb20d..a5f0784a7c 100644
--- a/kernel/trunk/network/tcp_input.inc
+++ b/kernel/trunk/network/tcp_input.inc
@@ -1,6 +1,6 @@
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; ;;
-;; Copyright (C) KolibriOS team 2004-2020. All rights reserved. ;;
+;; Copyright (C) KolibriOS team 2004-2024. All rights reserved. ;;
;; Distributed under terms of the GNU General Public License ;;
;; ;;
;; Part of the TCP/IP network stack for KolibriOS ;;
@@ -14,7 +14,6 @@
;; ;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
-$Revision$
TCP_BIT_NEEDOUTPUT = 1 shl 0
TCP_BIT_TIMESTAMP = 1 shl 1
diff --git a/kernel/trunk/network/tcp_output.inc b/kernel/trunk/network/tcp_output.inc
index fa0e5dfce2..ce1084a00d 100644
--- a/kernel/trunk/network/tcp_output.inc
+++ b/kernel/trunk/network/tcp_output.inc
@@ -1,6 +1,6 @@
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; ;;
-;; Copyright (C) KolibriOS team 2004-2020. All rights reserved. ;;
+;; Copyright (C) KolibriOS team 2004-2024. All rights reserved. ;;
;; Distributed under terms of the GNU General Public License ;;
;; ;;
;; Part of the TCP/IP network stack for KolibriOS ;;
@@ -14,7 +14,6 @@
;; ;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
-$Revision$
TCP_BIT_SENDALOT = 1 shl 0
@@ -751,4 +750,4 @@ endl
ret
-endp
\ No newline at end of file
+endp
diff --git a/kernel/trunk/network/tcp_subr.inc b/kernel/trunk/network/tcp_subr.inc
index a35a1e0d17..f2332da18f 100644
--- a/kernel/trunk/network/tcp_subr.inc
+++ b/kernel/trunk/network/tcp_subr.inc
@@ -1,6 +1,6 @@
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; ;;
-;; Copyright (C) KolibriOS team 2004-2020. All rights reserved. ;;
+;; Copyright (C) KolibriOS team 2004-2024. All rights reserved. ;;
;; Distributed under terms of the GNU General Public License ;;
;; ;;
;; Part of the TCP/IP network stack for KolibriOS ;;
@@ -14,7 +14,6 @@
;; ;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
-$Revision$
align 4
iglobal
diff --git a/kernel/trunk/network/tcp_timer.inc b/kernel/trunk/network/tcp_timer.inc
index d95848280f..56184e1d9f 100644
--- a/kernel/trunk/network/tcp_timer.inc
+++ b/kernel/trunk/network/tcp_timer.inc
@@ -1,6 +1,6 @@
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; ;;
-;; Copyright (C) KolibriOS team 2004-2017. All rights reserved. ;;
+;; Copyright (C) KolibriOS team 2004-2024. All rights reserved. ;;
;; Distributed under terms of the GNU General Public License ;;
;; ;;
;; Part of the TCP/IP network stack for KolibriOS ;;
@@ -14,7 +14,6 @@
;; ;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
-$Revision$
timer_flag_retransmission = 1 shl 0
timer_flag_keepalive = 1 shl 1
@@ -189,4 +188,4 @@ tcp_cancel_timers:
mov [eax + TCP_SOCKET.timer_flags], 0
- ret
\ No newline at end of file
+ ret
diff --git a/kernel/trunk/network/tcp_usreq.inc b/kernel/trunk/network/tcp_usreq.inc
index a3f7475440..f2ea2b9c2d 100644
--- a/kernel/trunk/network/tcp_usreq.inc
+++ b/kernel/trunk/network/tcp_usreq.inc
@@ -1,6 +1,6 @@
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; ;;
-;; Copyright (C) KolibriOS team 2004-2019. All rights reserved. ;;
+;; Copyright (C) KolibriOS team 2004-2024. All rights reserved. ;;
;; Distributed under terms of the GNU General Public License ;;
;; ;;
;; Part of the TCP/IP network stack for KolibriOS ;;
@@ -14,8 +14,6 @@
;; ;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
-$Revision$
-
;-----------------------------------------------------------------;
; ;
@@ -234,4 +232,4 @@ tcp_connect:
.established:
stdcall cancel_timer_hs, [eax + TCP_SOCKET.timer_connect]
xor eax, eax
- ret
\ No newline at end of file
+ ret
diff --git a/kernel/trunk/network/udp.inc b/kernel/trunk/network/udp.inc
index e64a9db566..2ccb10014e 100644
--- a/kernel/trunk/network/udp.inc
+++ b/kernel/trunk/network/udp.inc
@@ -1,6 +1,6 @@
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; ;;
-;; Copyright (C) KolibriOS team 2004-2019. All rights reserved. ;;
+;; Copyright (C) KolibriOS team 2004-2024. All rights reserved. ;;
;; Distributed under terms of the GNU General Public License ;;
;; ;;
;; UDP.INC ;;
@@ -14,8 +14,6 @@
;; ;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
-$Revision$
-
struct UDP_header
diff --git a/kernel/trunk/posix/futex.inc b/kernel/trunk/posix/futex.inc
index 09edc92dab..fbdad7ab4f 100644
--- a/kernel/trunk/posix/futex.inc
+++ b/kernel/trunk/posix/futex.inc
@@ -1,11 +1,10 @@
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; ;;
-;; Copyright (C) KolibriOS team 2004-2022. All rights reserved. ;;
+;; Copyright (C) KolibriOS team 2004-2024. All rights reserved. ;;
;; Distributed under terms of the GNU General Public License. ;;
;; ;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
-$Revision$
align 4
;struct futex* __fastcall create_futex(int *ptr)
diff --git a/kernel/trunk/posix/pipe.inc b/kernel/trunk/posix/pipe.inc
index c4d5b47ec8..70c3973132 100644
--- a/kernel/trunk/posix/pipe.inc
+++ b/kernel/trunk/posix/pipe.inc
@@ -1,11 +1,10 @@
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; ;;
-;; Copyright (C) KolibriOS team 2004-2022. All rights reserved. ;;
+;; Copyright (C) KolibriOS team 2004-2024. All rights reserved. ;;
;; Distributed under terms of the GNU General Public License. ;;
;; ;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
-$Revision$
F_READ = 0x0001 ; file opened for reading
F_WRITE = 0x0002 ; file opened for writing
diff --git a/kernel/trunk/posix/posix.inc b/kernel/trunk/posix/posix.inc
index e4bd6c8aa4..d1dc27e1e5 100644
--- a/kernel/trunk/posix/posix.inc
+++ b/kernel/trunk/posix/posix.inc
@@ -1,11 +1,10 @@
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; ;;
-;; Copyright (C) KolibriOS team 2004-2022. All rights reserved. ;;
+;; Copyright (C) KolibriOS team 2004-2024. All rights reserved. ;;
;; Distributed under terms of the GNU General Public License. ;;
;; ;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
-$Revision$
ENOENT = 2
EBADF = 9
diff --git a/kernel/trunk/sound/playnote.inc b/kernel/trunk/sound/playnote.inc
index b884766d51..e88b2ed8d3 100644
--- a/kernel/trunk/sound/playnote.inc
+++ b/kernel/trunk/sound/playnote.inc
@@ -1,6 +1,6 @@
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; ;;
-;; Copyright (C) KolibriOS team 2004-2023. All rights reserved. ;;
+;; Copyright (C) KolibriOS team 2004-2024. All rights reserved. ;;
;; Distributed under terms of the GNU General Public License ;;
;; ;;
;; PLAYNOTE.INC version 1.1 22 November 2003 ;;
@@ -16,7 +16,6 @@
;; ;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
-$Revision$
align 4
sound_interface:
diff --git a/kernel/trunk/unicode.inc b/kernel/trunk/unicode.inc
index 02f1fabad6..4da55ff9b4 100644
--- a/kernel/trunk/unicode.inc
+++ b/kernel/trunk/unicode.inc
@@ -1,12 +1,11 @@
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; ;;
-;; Copyright (C) KolibriOS team 2020-2022. All rights reserved. ;;
+;; Copyright (C) KolibriOS team 2020-2024. All rights reserved. ;;
;; Distributed under terms of the GNU General Public License. ;;
;; Version 2, or (at your option) any later version. ;;
;; ;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
-$Revision$
unicode.utf8.decode:
test ecx, ecx
diff --git a/kernel/trunk/unpacker.inc b/kernel/trunk/unpacker.inc
index 35e8f22266..edc0280798 100644
--- a/kernel/trunk/unpacker.inc
+++ b/kernel/trunk/unpacker.inc
@@ -1,12 +1,10 @@
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; ;;
-;; Copyright (C) KolibriOS team 2004-2022. All rights reserved. ;;
+;; Copyright (C) KolibriOS team 2004-2024. All rights reserved. ;;
;; Distributed under terms of the GNU General Public License ;;
;; ;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
-$Revision$
-
; @brief Unpack LZMA-compressed data. C-style declaration of the function.
;
diff --git a/kernel/trunk/video/blitter.inc b/kernel/trunk/video/blitter.inc
index 0bad636b1f..ea38ac00d4 100644
--- a/kernel/trunk/video/blitter.inc
+++ b/kernel/trunk/video/blitter.inc
@@ -1,12 +1,10 @@
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; ;;
-;; Copyright (C) KolibriOS team 2011-2022. All rights reserved. ;;
+;; Copyright (C) KolibriOS team 2011-2024. All rights reserved. ;;
;; Distributed under terms of the GNU General Public License ;;
;; ;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
-$Revision$
-
struct BLITTER_BLOCK
xmin dd ?
@@ -210,7 +208,7 @@ virtual at sizeof.BLITTER
.local_vars_size = $
end virtual
sub esp, .local_vars_size
-
+
mov [esp + .flags], ebx
mov eax, [current_slot]
@@ -267,9 +265,9 @@ end virtual
mov ebp, [esp + BLITTER.dst_y]
add ebx, [eax + WDATA.box.left]
add ebp, [eax + WDATA.box.top]
-
+
test [esp + .flags], BLIT_CLIENT_RELATIVE
- jz .no_client_relative
+ jz .no_client_relative
add ebx, [eax + WDATA.clientbox.left]
add ebp, [eax + WDATA.clientbox.top]
diff --git a/kernel/trunk/video/cursors.inc b/kernel/trunk/video/cursors.inc
index bb772fe4ee..601da57511 100644
--- a/kernel/trunk/video/cursors.inc
+++ b/kernel/trunk/video/cursors.inc
@@ -1,12 +1,10 @@
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; ;;
-;; Copyright (C) KolibriOS team 2004-2023. All rights reserved. ;;
+;; Copyright (C) KolibriOS team 2004-2024. All rights reserved. ;;
;; Distributed under terms of the GNU General Public License ;;
;; ;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
-$Revision$
-
LOAD_FROM_FILE = 0
LOAD_FROM_MEM = 1
diff --git a/kernel/trunk/video/framebuffer.inc b/kernel/trunk/video/framebuffer.inc
index 095c4553f0..44721e49ea 100644
--- a/kernel/trunk/video/framebuffer.inc
+++ b/kernel/trunk/video/framebuffer.inc
@@ -1,13 +1,12 @@
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; ;;
-;; Copyright (C) KolibriOS team 2004-2023. All rights reserved. ;;
+;; Copyright (C) KolibriOS team 2004-2024. All rights reserved. ;;
;; Distributed under terms of the GNU General Public License ;;
;; ;;
;; Synhronization for MenuetOS. ;;
;; Author: Halyavin Andrey, halyavin@land.ru ;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
-$Revision$
struct FRB
list LHEAD
diff --git a/kernel/trunk/video/vesa12.inc b/kernel/trunk/video/vesa12.inc
index 14c11492a3..7d5e8e0e60 100644
--- a/kernel/trunk/video/vesa12.inc
+++ b/kernel/trunk/video/vesa12.inc
@@ -1,6 +1,6 @@
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; ;;
-;; Copyright (C) KolibriOS team 2004-2022. All rights reserved. ;;
+;; Copyright (C) KolibriOS team 2004-2024. All rights reserved. ;;
;; Distributed under terms of the GNU General Public License ;;
;; ;;
;; VESA12.INC ;;
@@ -15,8 +15,6 @@
;; ;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
-$Revision$
-
TRIDENT = 0
S3_VIDEO = 0
diff --git a/kernel/trunk/video/vesa20.inc b/kernel/trunk/video/vesa20.inc
index 1f59462738..04d5c6a4fb 100644
--- a/kernel/trunk/video/vesa20.inc
+++ b/kernel/trunk/video/vesa20.inc
@@ -1,6 +1,6 @@
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; ;;
-;; Copyright (C) KolibriOS team 2004-2023. All rights reserved. ;;
+;; Copyright (C) KolibriOS team 2004-2024. All rights reserved. ;;
;; Distributed under terms of the GNU General Public License ;;
;; ;;
;; VESA20.INC ;;
@@ -11,13 +11,12 @@
;; Alexey, kgaz@crosswindws.net ;;
;; - Voodoo compatible graphics ;;
;; Juan M. Caravaca ;;
-;; - Graphics optimimizations eg. drawline ;;
+;; - Graphics optimimizations e.g. drawline ;;
;; ;;
;; See file COPYING for details ;;
;; ;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
-$Revision$
uglobal
align 4
diff --git a/kernel/trunk/video/vga.inc b/kernel/trunk/video/vga.inc
index 869699e4a3..2422819c9b 100644
--- a/kernel/trunk/video/vga.inc
+++ b/kernel/trunk/video/vga.inc
@@ -1,6 +1,6 @@
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; ;;
-;; Copyright (C) KolibriOS team 2004-2022. All rights reserved. ;;
+;; Copyright (C) KolibriOS team 2004-2024. All rights reserved. ;;
;; Distributed under terms of the GNU General Public License ;;
;; ;;
;; VGA.INC ;;
@@ -11,7 +11,6 @@
;; ;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
-$Revision$
;------------------------------------------------------------------------------
align 4