Subversion Repositories Kolibri OS

Rev

Rev 2268 | Rev 2439 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 2268 Rev 2434
Line 3... Line 3...
3
;; Copyright (C) KolibriOS team 2004-2009. All rights reserved. ;;
3
;; Copyright (C) KolibriOS team 2004-2009. All rights reserved. ;;
4
;; Distributed under terms of the GNU General Public License    ;;
4
;; Distributed under terms of the GNU General Public License    ;;
5
;;                                                              ;;
5
;;                                                              ;;
6
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
6
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
Line 7... Line 7...
7
 
7
 
Line 8... Line 8...
8
$Revision: 2268 $
8
$Revision: 2434 $
9
 
9
 
10
 
10
 
Line 144... Line 144...
144
SSE_INIT equ (SSE_IM+SSE_DM+SSE_ZM+SSE_OM+SSE_UM+SSE_PM)
144
SSE_INIT equ (SSE_IM+SSE_DM+SSE_ZM+SSE_OM+SSE_UM+SSE_PM)
Line 145... Line 145...
145
 
145
 
146
IRQ_PIC        equ    0
146
IRQ_PIC        equ    0
Line 147... Line 147...
147
IRQ_APIC       equ    1
147
IRQ_APIC       equ    1
148
 
-
 
149
struc TSS
148
 
150
{
149
struct  TSS
151
  ._back       rw 2
150
        _back       rw 2
152
  ._esp0       rd 1
151
        _esp0       rd 1
153
  ._ss0        rw 2
152
        _ss0        rw 2
154
  ._esp1       rd 1
153
        _esp1       rd 1
155
  ._ss1        rw 2
154
        _ss1        rw 2
156
  ._esp2       rd 1
155
        _esp2       rd 1
157
  ._ss2        rw 2
156
        _ss2        rw 2
158
  ._cr3        rd 1
157
        _cr3        rd 1
159
  ._eip        rd 1
158
        _eip        rd 1
160
  ._eflags     rd 1
159
        _eflags     rd 1
161
  ._eax        rd 1
160
        _eax        rd 1
162
  ._ecx        rd 1
161
        _ecx        rd 1
163
  ._edx        rd 1
162
        _edx        rd 1
164
  ._ebx        rd 1
163
        _ebx        rd 1
165
  ._esp        rd 1
164
        _esp        rd 1
166
  ._ebp        rd 1
165
        _ebp        rd 1
167
  ._esi        rd 1
166
        _esi        rd 1
168
  ._edi        rd 1
167
        _edi        rd 1
169
  ._es         rw 2
168
        _es         rw 2
170
  ._cs         rw 2
169
        _cs         rw 2
171
  ._ss         rw 2
170
        _ss         rw 2
172
  ._ds         rw 2
171
        _ds         rw 2
173
  ._fs         rw 2
172
        _fs         rw 2
174
  ._gs         rw 2
173
        _gs         rw 2
175
  ._ldt        rw 2
174
        _ldt        rw 2
176
  ._trap       rw 1
175
        _trap       rw 1
177
  ._io         rw 1
176
        _io         rw 1
178
               rb 24
177
                    rb 24
179
  ._io_map_0   rb 4096
-
 
180
  ._io_map_1   rb 4096
-
 
181
}
-
 
182
 
-
 
183
virtual at 0
178
        _io_map_0   rb 4096
184
  TSS  TSS
-
 
185
end virtual
-
 
Line 186... Line 179...
186
 
179
        _io_map_1   rb 4096
Line 187... Line 180...
187
TSS_SIZE  equ (128+8192)
180
ends
Line 215... Line 208...
215
BANK_SWITCH         equ (OS_BASE+0x000E030)
208
BANK_SWITCH         equ (OS_BASE+0x000E030)
Line 216... Line 209...
216
 
209
 
217
;unused ? store mousepointer
210
;unused ? store mousepointer
Line 218... Line 211...
218
MOUSE_PICTURE       equ (OS_BASE+0x000F200)
211
MOUSE_PICTURE       equ (OS_BASE+0x000F200)
219
 
212
 
220
MOUSE_VISIBLE       equ (OS_BASE+0x000F204)
213
;MOUSE_VISIBLE       equ (OS_BASE+0x000F204)
221
WIN_TEMP_XY         equ (OS_BASE+0x000F300)
214
WIN_TEMP_XY         equ (OS_BASE+0x000F300)
Line 222... Line 215...
222
KEY_COUNT           equ (OS_BASE+0x000F400)
215
KEY_COUNT           equ (OS_BASE+0x000F400)
Line 400... Line 393...
400
EVENT_DEBUG        equ 0x00000100
393
EVENT_DEBUG        equ 0x00000100
401
EVENT_EXTENDED     equ 0x00000200
394
EVENT_EXTENDED     equ 0x00000200
Line 402... Line 395...
402
 
395
 
Line 403... Line 396...
403
EV_INTR            equ 1
396
EV_INTR            equ 1
404
 
-
 
405
struc THR_DATA
397
 
406
{
398
struct  THR_DATA
407
                  rb (8192-512)
399
                        rb (8192-512)
408
  .pl0_stack:
400
;       pl0_stack
409
  .fpu_state      rb 512
401
        fpu_state       rb 512
410
  .tls_page       rb 4096
402
        tls_page        rb 4096
Line 411... Line -...
411
  .pdbr           rb 4096
-
 
412
}
-
 
413
 
403
        pdbr            rb 4096
414
THR_DATA_SIZE     equ 4096*4
404
ends
415
 
405
 
Line 416... Line 406...
416
virtual at (OS_BASE-THR_DATA_SIZE)
406
virtual at (OS_BASE-sizeof.THR_DATA)
417
  thr_data  THR_DATA
407
  thr_data  THR_DATA
418
end virtual
408
end virtual
419
 
409
 
420
struc SYS_VARS
410
struct  SYS_VARS
421
{ .bpp            dd ?
411
        bpp             dd ?
422
  .scanline       dd ?
412
        scanline        dd ?
423
  .vesa_mode      dd ?
413
        vesa_mode       dd ?
424
  .x_res          dd ?
414
        x_res           dd ?
425
  .y_res          dd ?
-
 
426
}
415
        y_res           dd ?
427
 
416
ends
428
struc APPOBJ           ;common object header
417
 
429
{
418
struct  APPOBJ                  ; common object header
430
   .magic       dd ?   ;
419
        magic           dd ?    ;
431
   .destroy     dd ?   ;internal destructor
420
        destroy         dd ?    ; internal destructor
432
   .fd          dd ?   ;next object in list
-
 
433
   .bk          dd ?   ;prev object in list
-
 
434
   .pid         dd ?   ;owner id
-
 
435
};
-
 
Line 436... Line 421...
436
 
421
        fd              dd ?    ; next object in list
437
virtual at 0
422
        bk              dd ?    ; prev object in list
Line 438... Line -...
438
  APPOBJ APPOBJ
-
 
439
end virtual
-
 
440
 
-
 
441
APP_OBJ_OFFSET  equ 48
423
        pid             dd ?    ; owner id
442
APP_EV_OFFSET   equ 40
-
 
443
 
-
 
444
struc CURSOR
-
 
445
{
-
 
446
;common object header
-
 
447
   .magic       dd ?   ;'CURS'
-
 
448
   .destroy     dd ?   ;internal destructor
424
ends
449
   .fd          dd ?   ;next object in list
425
 
450
   .bk          dd ?   ;prev object in list
426
APP_OBJ_OFFSET  equ 48
451
   .pid         dd ?   ;owner id
427
APP_EV_OFFSET   equ 40
452
 
428
 
453
 ;cursor data
429
struct  CURSOR          APPOBJ
454
   .base        dd ?   ;allocated memory
430
        base            dd ?   ;allocated memory
455
   .hot_x       dd ?   ;hotspot coords
-
 
456
   .hot_y       dd ?
-
 
457
 
-
 
458
   .list_next   dd ?   ;next cursor in cursor list
-
 
459
   .list_prev   dd ?   ;prev cursor in cursor list
-
 
460
   .dev_obj     dd ?   ;device depended data
431
        hot_x           dd ?   ;hotspot coords
Line 461... Line -...
461
 
-
 
462
   .sizeof:
-
 
463
}
432
        hot_y           dd ?
464
virtual at 0
-
 
465
  CURSOR CURSOR
-
 
466
end virtual
-
 
467
 
-
 
468
 
-
 
469
struc EVENT
433
 
470
{
434
        list_next       dd ?   ;next cursor in cursor list
471
   .magic       dd ?   ;'EVNT'
435
        list_prev       dd ?   ;prev cursor in cursor list
472
   .destroy     dd ?   ;internal destructor
436
        dev_obj         dd ?   ;device depended data
473
   .fd          dd ?   ;next object in list
-
 
474
   .bk          dd ?   ;prev object in list
-
 
475
   .pid         dd ?   ;owner id
-
 
476
 
-
 
477
   .id          dd ?   ;event uid
-
 
478
   .state       dd ?   ;internal flags
-
 
479
   .code        dd ?
437
ends
Line 607... Line 532...
607
  .pci_data       dd ?
532
        pci_data        dd ?
608
;                  dd ?
533
                        dd ?
609
  .vrr            dd ?
534
        vrr             dd ?
610
  .ide_base       dd ?
535
        ide_base        dd ?
611
  .mem_amount     dd ?
536
        mem_amount      dd ?
612
  .pages_count    dd ?
537
        pages_count     dd ?
613
  .pagemap_size   dd ?
538
        pagemap_size    dd ?
614
  .kernel_max     dd ?
539
        kernel_max      dd ?
615
  .kernel_pages   dd ?
540
        kernel_pages    dd ?
Line 616... Line 541...
616
  .kernel_tables  dd ?
541
        kernel_tables   dd ?
-
 
542
 
-
 
543
        cpu_vendor      dd ?
-
 
544
                        dd ?
-
 
545
                        dd ?
-
 
546
        cpu_sign        dd ?
617
 
547
        cpu_info        dd ?
-
 
548
        cpu_caps        dd ?
618
  .cpu_vendor     dd ?
549
                        dd ?
619
                  dd ?
550
                        dd ?
620
                  dd ?
551
ends
621
  .cpu_sign       dd ?
552
 
622
  .cpu_info       dd ?
553
struct  LHEAD
623
  .cpu_caps       dd ?
554
        next            dd ?   ;next object in list
624
                  dd ?
555
        prev            dd ?   ;prev object in list
625
                  dd ?
556
ends
626
}
557
 
627
 
558
struct  MUTEX
628
virtual at 0
559
        lhead   LHEAD
629
  BOOT_DATA BOOT_DATA
560
        count   dd ?
630
end virtual
561
ends
631
 
562
 
632
struc MEM_STATE
563
struct  MEM_STATE
633
{  .mutex             MUTEX
564
        mutex           MUTEX
634
   .smallmap          rd 1
565
        smallmap        dd ?
635
   .treemap           rd 1
566
        treemap         dd ?
636
   .topsize           rd 1
567
        topsize         dd ?
637
   .top               rd 1
568
        top             dd ?
638
   .smallbins         rd 4*32
569
        smallbins       rd 4*32
639
   .treebins          rd 32
570
        treebins        rd 32
640
}
571
ends
641
 
-
 
642
struc PG_DATA
-
 
643
{ .mem_amount        dd ?
-
 
644
  .vesa_mem          dd ?
-
 
645
  .pages_count       dd ?
-
 
646
  .pages_free        dd ?
-
 
647
  .pages_faults      dd ?
-
 
648
  .pagemap_size      dd ?
-
 
649
  .kernel_pages      dd ?
572
 
650
  .kernel_tables     dd ?
573
struct  PG_DATA
651
  .sys_page_dir      dd ?
574
        mem_amount      dd ?
652
  .mutex             MUTEX
-
 
653
}
575
        vesa_mem        dd ?
654
 
576
        pages_count     dd ?
655
;struc LIB
577
        pages_free      dd ?
656
;{ .lib_name         rb 16
578
        pages_faults    dd ?
657
;  .lib_base         dd ?
579
        pagemap_size    dd ?
658
;  .lib_start        dd ?
580
        kernel_pages    dd ?
659
;  .export           dd ?
581
        kernel_tables   dd ?
660
;  .import           dd ?
582
        sys_page_dir    dd ?
661
;}
583
        mutex           MUTEX
662
 
-
 
663
struc SRV
584
ends
664
{
-
 
665
 .srv_name          rb 16           ;ASCIIZ string
-
 
Line 666... Line 585...
666
  .magic             dd ?     ;+0x10 ;'SRV '
585
 
667
  .size              dd ?     ;+0x14 ;size of structure SRV
586
struct  SRV
Line 668... Line 587...
668
  .fd                dd ?     ;+0x18 ;next SRV descriptor
587
        srv_name        rb 16    ;ASCIIZ string
669
  .bk                dd ?     ;+0x1C ;prev SRV descriptor
588
        magic           dd ?     ;+0x10 ;'SRV '
670
  .base              dd ?     ;+0x20 ;service base address
589
        size            dd ?     ;+0x14 ;size of structure SRV
671
  .entry             dd ?     ;+0x24 ;service START function
590
        fd              dd ?     ;+0x18 ;next SRV descriptor
672
  .srv_proc          dd ?     ;+0x28 ;user mode service handler
591
        bk              dd ?     ;+0x1C ;prev SRV descriptor
673
  .srv_proc_ex       dd ?     ;+0x2C ;kernel mode service handler
592
        base            dd ?     ;+0x20 ;service base address
674
  .sizeof:
593
        entry           dd ?     ;+0x24 ;service START function
675
}
594
        srv_proc        dd ?     ;+0x28 ;user mode service handler
676
 
595
        srv_proc_ex     dd ?     ;+0x2C ;kernel mode service handler
677
SRV_FD_OFFSET  equ 0x18
-
 
678
 
596
ends
679
DRV_ENTRY    equ  1
597
 
680
DRV_EXIT     equ -1
598
DRV_ENTRY    equ  1
681
 
599
DRV_EXIT     equ -1
682
struc COFF_HEADER
600
 
683
{  .machine          dw ?
601
struct  COFF_HEADER
684
   .nSections        dw ?
602
        machine         dw ?
685
   .DataTime         dd ?
603
        nSections       dw ?
686
   .pSymTable        dd ?
604
        DataTime        dd ?
687
   .nSymbols         dd ?
605
        pSymTable       dd ?
688
   .optHeader        dw ?
606
        nSymbols        dd ?
689
   .flags            dw ?
607
        optHeader       dw ?
690
};
608
        flags           dw ?
691
 
-
 
692
 
609
ends
693
struc COFF_SECTION
610
 
694
{  .Name             rb 8
611
struct  COFF_SECTION
695
   .VirtualSize      dd ?
612
        Name            rb 8
696
   .VirtualAddress   dd ?
613
        VirtualSize     dd ?
697
   .SizeOfRawData    dd ?
614
        VirtualAddress  dd ?
698
   .PtrRawData       dd ?
615
        SizeOfRawData   dd ?
699
   .PtrReloc         dd ?
616
        PtrRawData      dd ?
700
   .PtrLinenumbers   dd ?
617
        PtrReloc        dd ?
701
   .NumReloc         dw ?
618
        PtrLinenumbers  dd ?
702
   .NumLinenum       dw ?
619
        NumReloc        dw ?
703
   .Characteristics  dd ?
620
        NumLinenum      dw ?
704
}
621
        Characteristics dd ?
705
COFF_SECTION_SIZE equ 40
622
ends
706
 
623
 
707
struc COFF_RELOC
-
 
708
{  .VirtualAddress   dd ?
624
struct  COFF_RELOC
709
   .SymIndex         dd ?
625
        VirtualAddress  dd ?
710
   .Type             dw ?
626
        SymIndex        dd ?
711
}
627
        Type            dw ?
712
 
628
ends
713
struc COFF_SYM
629
 
714
{  .Name             rb 8
630
struct  COFF_SYM
715
   .Value            dd ?
631
        Name            rb 8
716
   .SectionNumber    dw ?
-
 
717
   .Type             dw ?
-
 
718
   .StorageClass     db ?
-
 
719
   .NumAuxSymbols    db ?
-
 
720
}
-
 
721
CSYM_SIZE equ 18
-
 
722
 
-
 
723
struc IOCTL
-
 
724
{  .handle           dd ?
-
 
725
   .io_code          dd ?
-
 
726
   .input            dd ?
-
 
727
   .inp_size         dd ?
-
 
728
   .output           dd ?
-
 
729
   .out_size         dd ?
-
 
730
}
-
 
731
 
-
 
732
virtual at 0
-
 
733
  IOCTL IOCTL
-
 
734
end virtual
-
 
735
 
-
 
736
;virtual at 0
-
 
737
;  LIB LIB
-
 
738
;end virtual
-
 
739
 
-
 
740
virtual at 0
-
 
741
  SRV SRV
-
 
742
end virtual
-
 
743
 
-
 
744
virtual at 0
-
 
745
  CFH COFF_HEADER
-
 
746
end virtual
-
 
747
 
-
 
748
virtual at 0
-
 
749
  CFS COFF_SECTION
-
 
750
end virtual
-
 
751
 
-
 
752
virtual at 0
-
 
753
  CRELOC COFF_RELOC
-
 
754
end virtual
-
 
755
 
632
        Value           dd ?
756
virtual at 0
633
        SectionNumber   dw ?
757
  CSYM COFF_SYM
634
        Type            dw ?
758
end virtual
-
 
759
 
635
        StorageClass    db ?
760
struc LHEAD
636
        NumAuxSymbols   db ?
761
{
637
ends
762
   .next            dd ?   ;next object in list
-
 
763
   .prev            dd ?   ;prev object in list
-
 
764
   .sizeof:
-
 
765
}
-
 
766
 
-
 
767
virtual at 0
638
 
768
  LHEAD LHEAD
-