mirror of
https://github.com/KolibriOS/kolibrios.git
synced 2024-11-27 19:29:46 +03:00
update
git-svn-id: svn://kolibrios.org@5565 a494cfbc-eb01-0410-851d-a64ba20cac60
This commit is contained in:
parent
0471f48b2c
commit
0c4f694a81
@ -1,6 +1,6 @@
|
||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
;; ;;
|
||||
;; Copyright (C) KolibriOS team 2004-2013. All rights reserved. ;;
|
||||
;; Copyright (C) KolibriOS team 2004-2015. All rights reserved. ;;
|
||||
;; Distributed under terms of the GNU General Public License ;;
|
||||
;; ;;
|
||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
|
@ -1,6 +1,6 @@
|
||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
;; ;;
|
||||
;; Copyright (C) KolibriOS team 2004-2011. All rights reserved. ;;
|
||||
;; Copyright (C) KolibriOS team 2004-2015. All rights reserved. ;;
|
||||
;; Distributed under terms of the GNU General Public License ;;
|
||||
;; ;;
|
||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
|
@ -1,6 +1,6 @@
|
||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
;; ;;
|
||||
;; Copyright (C) KolibriOS team 2011-2014. All rights reserved. ;;
|
||||
;; Copyright (C) KolibriOS team 2011-2015. All rights reserved. ;;
|
||||
;; Distributed under terms of the GNU General Public License ;;
|
||||
;; ;;
|
||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
|
@ -1,6 +1,6 @@
|
||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
;; ;;
|
||||
;; Copyright (C) KolibriOS team 2011-2014. All rights reserved. ;;
|
||||
;; Copyright (C) KolibriOS team 2011-2015. All rights reserved. ;;
|
||||
;; Distributed under terms of the GNU General Public License ;;
|
||||
;; ;;
|
||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
|
@ -1,6 +1,6 @@
|
||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
;; ;;
|
||||
;; Copyright (C) KolibriOS team 2004-2011. All rights reserved. ;;
|
||||
;; Copyright (C) KolibriOS team 2004-2015. All rights reserved. ;;
|
||||
;; Copyright (C) MenuetOS 2000-2004 Ville Mikael Turjanmaa ;;
|
||||
;; Distributed under terms of the GNU General Public License ;;
|
||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
|
@ -1,6 +1,6 @@
|
||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
;; ;;
|
||||
;; Copyright (C) KolibriOS team 2004-2013. All rights reserved. ;;
|
||||
;; Copyright (C) KolibriOS team 2004-2015. All rights reserved. ;;
|
||||
;; Distributed under terms of the GNU General Public License ;;
|
||||
;; ;;
|
||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
|
@ -1,6 +1,6 @@
|
||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
;; ;;
|
||||
;; Copyright (C) KolibriOS team 2004-2013. All rights reserved. ;;
|
||||
;; Copyright (C) KolibriOS team 2004-2015. All rights reserved. ;;
|
||||
;; Distributed under terms of the GNU General Public License ;;
|
||||
;; ;;
|
||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
|
@ -1,6 +1,6 @@
|
||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
;; ;;
|
||||
;; Copyright (C) KolibriOS team 2004-2011. All rights reserved. ;;
|
||||
;; Copyright (C) KolibriOS team 2004-2015. All rights reserved. ;;
|
||||
;; Distributed under terms of the GNU General Public License ;;
|
||||
;; ;;
|
||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
|
@ -1,6 +1,6 @@
|
||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
;; ;;
|
||||
;; Copyright (C) KolibriOS team 2013. All rights reserved. ;;
|
||||
;; Copyright (C) KolibriOS team 2013-2015. All rights reserved. ;;
|
||||
;; Distributed under terms of the GNU General Public License ;;
|
||||
;; ;;
|
||||
;; RAMDISK functions ;;
|
||||
|
@ -1,6 +1,6 @@
|
||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
;; ;;
|
||||
;; Copyright (C) KolibriOS team 2004-2011. All rights reserved. ;;
|
||||
;; Copyright (C) KolibriOS team 2004-2015. All rights reserved. ;;
|
||||
;; Distributed under terms of the GNU General Public License ;;
|
||||
;; ;;
|
||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
|
@ -1,6 +1,6 @@
|
||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
;; ;;
|
||||
;; Copyright (C) KolibriOS team 2004-2011. All rights reserved. ;;
|
||||
;; Copyright (C) KolibriOS team 2004-2015. All rights reserved. ;;
|
||||
;; Copyright (C) MenuetOS 2000-2004 Ville Mikael Turjanmaa ;;
|
||||
;; Distributed under terms of the GNU General Public License ;;
|
||||
;; ;;
|
||||
|
@ -1,6 +1,6 @@
|
||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
;; ;;
|
||||
;; Copyright (C) KolibriOS team 2004-2011. All rights reserved. ;;
|
||||
;; Copyright (C) KolibriOS team 2004-2015. All rights reserved. ;;
|
||||
;; Distributed under terms of the GNU General Public License ;;
|
||||
;; ;;
|
||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
|
@ -1,6 +1,6 @@
|
||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
;; ;;
|
||||
;; Copyright (C) KolibriOS team 2004-2011. All rights reserved. ;;
|
||||
;; Copyright (C) KolibriOS team 2004-2015. All rights reserved. ;;
|
||||
;; Distributed under terms of the GNU General Public License ;;
|
||||
;; ;;
|
||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
|
@ -1,6 +1,6 @@
|
||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
;; ;;
|
||||
;; Copyright (C) KolibriOS team 2004-2011. All rights reserved. ;;
|
||||
;; Copyright (C) KolibriOS team 2004-2015. All rights reserved. ;;
|
||||
;; Distributed under terms of the GNU General Public License ;;
|
||||
;; ;;
|
||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
|
@ -1,6 +1,6 @@
|
||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
;; ;;
|
||||
;; Copyright (C) KolibriOS team 2004-2011. All rights reserved. ;;
|
||||
;; Copyright (C) KolibriOS team 2004-2015. All rights reserved. ;;
|
||||
;; Distributed under terms of the GNU General Public License ;;
|
||||
;; ;;
|
||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
|
@ -1,6 +1,6 @@
|
||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
;; ;;
|
||||
;; Copyright (C) KolibriOS team 2004-2011. All rights reserved. ;;
|
||||
;; Copyright (C) KolibriOS team 2004-2015. All rights reserved. ;;
|
||||
;; Distributed under terms of the GNU General Public License ;;
|
||||
;; ;;
|
||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
|
@ -1,6 +1,6 @@
|
||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
;; ;;
|
||||
;; Copyright (C) KolibriOS team 2004-2011. All rights reserved. ;;
|
||||
;; Copyright (C) KolibriOS team 2004-2015. All rights reserved. ;;
|
||||
;; Distributed under terms of the GNU General Public License ;;
|
||||
;; ;;
|
||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
|
@ -1,6 +1,6 @@
|
||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
;; ;;
|
||||
;; Copyright (C) KolibriOS team 2004-2014. All rights reserved. ;;
|
||||
;; Copyright (C) KolibriOS team 2004-2015. All rights reserved. ;;
|
||||
;; Distributed under terms of the GNU General Public License ;;
|
||||
;; ;;
|
||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
@ -218,7 +218,7 @@ calc_vmodes_table:
|
||||
test [es:mi.ModeAttributes], 10000000b ;LFB ?
|
||||
jz @f
|
||||
|
||||
cmp [es:mi.BitsPerPixel], 32 ;It show only videomodes to have support 24 and 32 bpp
|
||||
cmp [es:mi.BitsPerPixel], 16 ;List only supported videomodes (16, 24 and 32 bpp)
|
||||
jb @f
|
||||
|
||||
; 16 bpp might actually be 15 bpp
|
||||
|
@ -1,6 +1,6 @@
|
||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
;; ;;
|
||||
;; Copyright (C) KolibriOS team 2004-2011. All rights reserved. ;;
|
||||
;; Copyright (C) KolibriOS team 2004-2015. All rights reserved. ;;
|
||||
;; Distributed under terms of the GNU General Public License ;;
|
||||
;; ;;
|
||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
|
@ -1,6 +1,6 @@
|
||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
;; ;;
|
||||
;; Copyright (C) KolibriOS team 2011. All rights reserved. ;;
|
||||
;; Copyright (C) KolibriOS team 2011-2015. All rights reserved. ;;
|
||||
;; Distributed under terms of the GNU General Public License ;;
|
||||
;; ;;
|
||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
|
@ -1,6 +1,6 @@
|
||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
;; ;;
|
||||
;; Copyright (C) KolibriOS team 2004-2011. All rights reserved. ;;
|
||||
;; Copyright (C) KolibriOS team 2004-2015. All rights reserved. ;;
|
||||
;; Distributed under terms of the GNU General Public License ;;
|
||||
;; ;;
|
||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
|
@ -1,6 +1,6 @@
|
||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
;; ;;
|
||||
;; Copyright (C) KolibriOS team 2004-2013. All rights reserved. ;;
|
||||
;; Copyright (C) KolibriOS team 2004-2015. All rights reserved. ;;
|
||||
;; Distributed under terms of the GNU General Public License ;;
|
||||
;; ;;
|
||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
|
@ -1,6 +1,6 @@
|
||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
;; ;;
|
||||
;; Copyright (C) KolibriOS team 2004-2011. All rights reserved. ;;
|
||||
;; Copyright (C) KolibriOS team 2004-2015. All rights reserved. ;;
|
||||
;; Distributed under terms of the GNU General Public License ;;
|
||||
;; ;;
|
||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
|
@ -1,6 +1,6 @@
|
||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
;; ;;
|
||||
;; Copyright (C) KolibriOS team 2004-2011. All rights reserved. ;;
|
||||
;; Copyright (C) KolibriOS team 2004-2015. All rights reserved. ;;
|
||||
;; Distributed under terms of the GNU General Public License ;;
|
||||
;; ;;
|
||||
;; Shutdown for Menuet ;;
|
||||
|
@ -1,6 +1,6 @@
|
||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
;; ;;
|
||||
;; Copyright (C) KolibriOS team 2004-2011. All rights reserved. ;;
|
||||
;; Copyright (C) KolibriOS team 2004-2015. All rights reserved. ;;
|
||||
;; Distributed under terms of the GNU General Public License ;;
|
||||
;; ;;
|
||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
|
@ -1,6 +1,6 @@
|
||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
;; ;;
|
||||
;; Copyright (C) KolibriOS team 2004-2011. All rights reserved. ;;
|
||||
;; Copyright (C) KolibriOS team 2004-2015. All rights reserved. ;;
|
||||
;; Distributed under terms of the GNU General Public License ;;
|
||||
;; ;;
|
||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
|
@ -1,6 +1,6 @@
|
||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
;; ;;
|
||||
;; Copyright (C) KolibriOS team 2004-2011. All rights reserved. ;;
|
||||
;; Copyright (C) KolibriOS team 2004-2015. All rights reserved. ;;
|
||||
;; Distributed under terms of the GNU General Public License ;;
|
||||
;; ;;
|
||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
|
@ -1,6 +1,6 @@
|
||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
;; ;;
|
||||
;; Copyright (C) KolibriOS team 2004-2011. All rights reserved. ;;
|
||||
;; Copyright (C) KolibriOS team 2004-2015. All rights reserved. ;;
|
||||
;; Distributed under terms of the GNU General Public License ;;
|
||||
;; ;;
|
||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
|
@ -1,6 +1,6 @@
|
||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
;; ;;
|
||||
;; Copyright (C) KolibriOS team 2004-2011. All rights reserved. ;;
|
||||
;; Copyright (C) KolibriOS team 2004-2015. All rights reserved. ;;
|
||||
;; Distributed under terms of the GNU General Public License ;;
|
||||
;; ;;
|
||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
|
@ -1,6 +1,6 @@
|
||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
;; ;;
|
||||
;; Copyright (C) KolibriOS team 2010-2011. All rights reserved. ;;
|
||||
;; Copyright (C) KolibriOS team 2010-2015. All rights reserved. ;;
|
||||
;; Distributed under terms of the GNU General Public License ;;
|
||||
;; ;;
|
||||
;; ;;
|
||||
|
@ -1,6 +1,6 @@
|
||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
;; ;;
|
||||
;; Copyright (C) KolibriOS team 2004-2011. All rights reserved. ;;
|
||||
;; Copyright (C) KolibriOS team 2004-2015. All rights reserved. ;;
|
||||
;; Distributed under terms of the GNU General Public License ;;
|
||||
;; ;;
|
||||
;; PCI16.INC ;;
|
||||
|
@ -1,6 +1,6 @@
|
||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
;; ;;
|
||||
;; Copyright (C) KolibriOS team 2004-2011. All rights reserved. ;;
|
||||
;; Copyright (C) KolibriOS team 2004-2015. All rights reserved. ;;
|
||||
;; Distributed under terms of the GNU General Public License ;;
|
||||
;; ;;
|
||||
;; ;;
|
||||
|
@ -1,6 +1,6 @@
|
||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
;; ;;
|
||||
;; Copyright (C) KolibriOS team 2013-2014. All rights reserved. ;;
|
||||
;; Copyright (C) KolibriOS team 2013-2015. All rights reserved. ;;
|
||||
;; Distributed under terms of the GNU General Public License ;;
|
||||
;; ;;
|
||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
|
@ -1,11 +1,11 @@
|
||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
;; ;;
|
||||
;; Copyright (C) KolibriOS team 2013-2014. All rights reserved. ;;
|
||||
;; Copyright (C) KolibriOS team 2013-2015. All rights reserved. ;;
|
||||
;; Distributed under terms of the GNU General Public License ;;
|
||||
;; ;;
|
||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
|
||||
$Revision: 4850 $
|
||||
$Revision: 5363 $
|
||||
|
||||
|
||||
; Support for USB (non-root) hubs:
|
||||
|
@ -1,11 +1,11 @@
|
||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
;; ;;
|
||||
;; Copyright (C) KolibriOS team 2013-2014. All rights reserved. ;;
|
||||
;; Copyright (C) KolibriOS team 2013-2015. All rights reserved. ;;
|
||||
;; Distributed under terms of the GNU General Public License ;;
|
||||
;; ;;
|
||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
|
||||
$Revision: 4850 $
|
||||
$Revision: 5363 $
|
||||
|
||||
|
||||
; Initialization of the USB subsystem.
|
||||
|
@ -1,11 +1,11 @@
|
||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
;; ;;
|
||||
;; Copyright (C) KolibriOS team 2013-2014. All rights reserved. ;;
|
||||
;; Copyright (C) KolibriOS team 2013-2015. All rights reserved. ;;
|
||||
;; Distributed under terms of the GNU General Public License ;;
|
||||
;; ;;
|
||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
|
||||
$Revision: 4850 $
|
||||
$Revision: 5363 $
|
||||
|
||||
; Memory management for USB structures.
|
||||
; Protocol layer uses the common kernel heap malloc/free.
|
||||
|
@ -1,11 +1,11 @@
|
||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
;; ;;
|
||||
;; Copyright (C) KolibriOS team 2013-2014. All rights reserved. ;;
|
||||
;; Copyright (C) KolibriOS team 2013-2015. All rights reserved. ;;
|
||||
;; Distributed under terms of the GNU General Public License ;;
|
||||
;; ;;
|
||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
|
||||
$Revision: 4850 $
|
||||
$Revision: 5363 $
|
||||
|
||||
|
||||
; Functions for USB pipe manipulation: opening/closing, sending data etc.
|
||||
|
@ -1,11 +1,11 @@
|
||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
;; ;;
|
||||
;; Copyright (C) KolibriOS team 2013-2014. All rights reserved. ;;
|
||||
;; Copyright (C) KolibriOS team 2013-2015. All rights reserved. ;;
|
||||
;; Distributed under terms of the GNU General Public License ;;
|
||||
;; ;;
|
||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
|
||||
$Revision: 5177 $
|
||||
$Revision: 5363 $
|
||||
|
||||
|
||||
; Implementation of the USB protocol for device enumeration.
|
||||
|
@ -1,6 +1,6 @@
|
||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
;; ;;
|
||||
;; Copyright (C) KolibriOS team 2004-2014. All rights reserved. ;;
|
||||
;; Copyright (C) KolibriOS team 2004-2015. All rights reserved. ;;
|
||||
;; Distributed under terms of the GNU General Public License ;;
|
||||
;; ;;
|
||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
@ -98,6 +98,9 @@ CAPS_ALTMOVCR8 equ 74 ;
|
||||
MSR_SYSENTER_CS equ 0x174
|
||||
MSR_SYSENTER_ESP equ 0x175
|
||||
MSR_SYSENTER_EIP equ 0x176
|
||||
MSR_CR_PAT equ 0x277
|
||||
MSR_MTRR_DEF_TYPE equ 0x2FF
|
||||
|
||||
MSR_AMD_EFER equ 0xC0000080 ; Extended Feature Enable Register
|
||||
MSR_AMD_STAR equ 0xC0000081 ; SYSCALL/SYSRET Target Address Register
|
||||
|
||||
@ -271,17 +274,36 @@ REG_RET equ (RING0_STACK_SIZE-56) ;irq0.return
|
||||
PAGE_SIZE equ 4096
|
||||
|
||||
PG_UNMAP equ 0x000
|
||||
PG_MAP equ 0x001
|
||||
PG_READ equ 0x001
|
||||
PG_WRITE equ 0x002
|
||||
PG_SW equ 0x003
|
||||
PG_USER equ 0x005
|
||||
PG_UW equ 0x007
|
||||
PG_NOCACHE equ 0x018
|
||||
PG_LARGE equ 0x080
|
||||
PG_USER equ 0x004
|
||||
PG_PCD equ 0x008
|
||||
PG_PWT equ 0x010
|
||||
PG_ACCESSED equ 0x020
|
||||
PG_DIRTY equ 0x040
|
||||
PG_PAT equ 0x080
|
||||
PG_GLOBAL equ 0x100
|
||||
|
||||
PG_SHARED equ 0x200
|
||||
|
||||
PG_SWR equ 0x003 ; (PG_WRITE+PG_READ)
|
||||
PG_UR equ 0x005 ; (PG_USER+PG_READ)
|
||||
PG_UWR equ 0x007 ; (PG_USER+PG_WRITE+PG_READ)
|
||||
PG_NOCACHE equ 0x018 ; (PG_PCD+PG_PWT)
|
||||
|
||||
PDE_LARGE equ 0x080
|
||||
|
||||
PAT_WB equ 0x000
|
||||
PAT_WC equ 0x008
|
||||
PAT_UCM equ 0x010
|
||||
PAT_UC equ 0x018
|
||||
|
||||
PAT_TYPE_UC equ 0
|
||||
PAT_TYPE_WC equ 1
|
||||
PAT_TYPE_WB equ 6
|
||||
PAT_TYPE_UCM equ 7
|
||||
|
||||
PAT_VALUE equ 0x00070106; (UC<<24)|(UCM<<16)|(WC<<8)|WB
|
||||
|
||||
;;;;;;;;;;;boot time variables
|
||||
|
||||
BOOT_BPP equ 0x9000 ;byte bits per pixel
|
||||
@ -425,38 +447,6 @@ struct HDLL
|
||||
parent dd ? ;DLLDESCR
|
||||
ends
|
||||
|
||||
struct display_t
|
||||
x dd ?
|
||||
y dd ?
|
||||
width dd ?
|
||||
height dd ?
|
||||
bits_per_pixel dd ?
|
||||
vrefresh dd ?
|
||||
pitch dd ?
|
||||
lfb dd ?
|
||||
|
||||
modes dd ?
|
||||
ddev dd ?
|
||||
connector dd ?
|
||||
crtc dd ?
|
||||
|
||||
cr_list.next dd ?
|
||||
cr_list.prev dd ?
|
||||
|
||||
cursor dd ?
|
||||
|
||||
init_cursor dd ?
|
||||
select_cursor dd ?
|
||||
show_cursor dd ?
|
||||
move_cursor dd ?
|
||||
restore_cursor dd ?
|
||||
disable_mouse dd ?
|
||||
mask_seqno dd ?
|
||||
check_mouse dd ?
|
||||
check_m_pixel dd ?
|
||||
|
||||
bytes_per_pixel dd ?
|
||||
ends
|
||||
|
||||
struct BOOT_DATA
|
||||
bpp dd ?
|
||||
@ -497,10 +487,54 @@ struct LHEAD
|
||||
ends
|
||||
|
||||
struct MUTEX
|
||||
lhead LHEAD
|
||||
wait_list LHEAD
|
||||
count dd ?
|
||||
ends
|
||||
|
||||
struct RWSEM
|
||||
wait_list LHEAD
|
||||
count dd ?
|
||||
ends
|
||||
|
||||
struct display_t
|
||||
x dd ?
|
||||
y dd ?
|
||||
width dd ?
|
||||
height dd ?
|
||||
bits_per_pixel dd ?
|
||||
vrefresh dd ?
|
||||
lfb dd ?
|
||||
lfb_pitch dd ?
|
||||
|
||||
win_map_lock RWSEM
|
||||
win_map dd ?
|
||||
win_map_pitch dd ?
|
||||
win_map_size dd ?
|
||||
|
||||
modes dd ?
|
||||
ddev dd ?
|
||||
connector dd ?
|
||||
crtc dd ?
|
||||
|
||||
cr_list.next dd ?
|
||||
cr_list.prev dd ?
|
||||
|
||||
cursor dd ?
|
||||
|
||||
init_cursor dd ?
|
||||
select_cursor dd ?
|
||||
show_cursor dd ?
|
||||
move_cursor dd ?
|
||||
restore_cursor dd ?
|
||||
disable_mouse dd ?
|
||||
mask_seqno dd ?
|
||||
check_mouse dd ?
|
||||
check_m_pixel dd ?
|
||||
|
||||
bytes_per_pixel dd ?
|
||||
ends
|
||||
|
||||
|
||||
struct PCIDEV
|
||||
bk dd ?
|
||||
fd dd ?
|
||||
|
@ -1,6 +1,6 @@
|
||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
;; ;;
|
||||
;; Copyright (C) KolibriOS team 2004-2014. All rights reserved. ;;
|
||||
;; Copyright (C) KolibriOS team 2004-2015. All rights reserved. ;;
|
||||
;; Distributed under terms of the GNU General Public License ;;
|
||||
;; ;;
|
||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
@ -63,7 +63,7 @@ APIC_init:
|
||||
call IRQ_mask_all
|
||||
|
||||
; IOAPIC init
|
||||
stdcall map_io_mem, [acpi_ioapic_base], 0x20, PG_SW+PG_NOCACHE
|
||||
stdcall map_io_mem, [acpi_ioapic_base], 0x20, PG_GLOBAL+PG_NOCACHE+PG_SWR
|
||||
mov [IOAPIC_base], eax
|
||||
|
||||
mov eax, IOAPIC_VER
|
||||
@ -127,7 +127,7 @@ LAPIC_init:
|
||||
cmp [LAPIC_BASE], 0
|
||||
jne .done
|
||||
|
||||
stdcall map_io_mem, [acpi_lapic_base], 0x1000, PG_SW+PG_NOCACHE
|
||||
stdcall map_io_mem, [acpi_lapic_base], 0x1000, PG_GLOBAL+PG_NOCACHE+PG_SWR
|
||||
mov [LAPIC_BASE], eax
|
||||
mov esi, eax
|
||||
|
||||
|
@ -1,6 +1,6 @@
|
||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
;; ;;
|
||||
;; Copyright (C) KolibriOS team 2013-2014. All rights reserved. ;;
|
||||
;; Copyright (C) KolibriOS team 2013-2015. All rights reserved. ;;
|
||||
;; Distributed under terms of the GNU General Public License ;;
|
||||
;; ;;
|
||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
|
@ -1,6 +1,6 @@
|
||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
;; ;;
|
||||
;; Copyright (C) KolibriOS team 2013-2014. All rights reserved. ;;
|
||||
;; Copyright (C) KolibriOS team 2013-2015. All rights reserved. ;;
|
||||
;; Distributed under terms of the GNU General Public License ;;
|
||||
;; ;;
|
||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
|
@ -1,6 +1,6 @@
|
||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
;; ;;
|
||||
;; Copyright (C) KolibriOS team 2004-2011. All rights reserved. ;;
|
||||
;; Copyright (C) KolibriOS team 2004-2015. All rights reserved. ;;
|
||||
;; Distributed under terms of the GNU General Public License ;;
|
||||
;; ;;
|
||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
|
@ -1,6 +1,6 @@
|
||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
;; ;;
|
||||
;; Copyright (C) KolibriOS team 2004-2011. All rights reserved. ;;
|
||||
;; Copyright (C) KolibriOS team 2004-2015. All rights reserved. ;;
|
||||
;; Distributed under terms of the GNU General Public License ;;
|
||||
;; ;;
|
||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
|
@ -1,6 +1,6 @@
|
||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
;; ;;
|
||||
;; Copyright (C) KolibriOS team 2004-2012. All rights reserved. ;;
|
||||
;; Copyright (C) KolibriOS team 2004-2015. All rights reserved. ;;
|
||||
;; Distributed under terms of the GNU General Public License ;;
|
||||
;; ;;
|
||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
@ -517,7 +517,7 @@ proc load_file_umode stdcall, file_name:dword
|
||||
test eax, eax
|
||||
jz .err_3
|
||||
|
||||
or eax, PG_UW
|
||||
or eax, PG_UWR
|
||||
stosd
|
||||
dec edx
|
||||
jnz @B
|
||||
@ -579,7 +579,7 @@ proc load_file_umode stdcall, file_name:dword
|
||||
@@:
|
||||
lodsd
|
||||
and eax, 0xFFFFF000
|
||||
or eax, PG_UW
|
||||
or eax, PG_UWR
|
||||
stosd
|
||||
loop @B
|
||||
|
||||
@ -1144,7 +1144,7 @@ proc load_library stdcall, file_name:dword
|
||||
.map_pages_loop:
|
||||
mov eax, [page_tabs+ecx*4]
|
||||
and eax, not 0xFFF
|
||||
or al, PG_USER
|
||||
or al, PG_UR
|
||||
xchg eax, [page_tabs+edx*4]
|
||||
test al, 1
|
||||
jz @f
|
||||
|
@ -1,6 +1,6 @@
|
||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
;; ;;
|
||||
;; Copyright (C) KolibriOS team 2004-2011. All rights reserved. ;;
|
||||
;; Copyright (C) KolibriOS team 2004-2015. All rights reserved. ;;
|
||||
;; Distributed under terms of the GNU General Public License ;;
|
||||
;; ;;
|
||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
|
@ -1,6 +1,6 @@
|
||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
;; ;;
|
||||
;; Copyright (C) KolibriOS team 2004-2012. All rights reserved. ;;
|
||||
;; Copyright (C) KolibriOS team 2004-2015. All rights reserved. ;;
|
||||
;; Distributed under terms of the GNU General Public License ;;
|
||||
;; ;;
|
||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
@ -45,6 +45,11 @@ __exports:
|
||||
release_pages, 'ReleasePages', \
|
||||
alloc_dma24, 'AllocDMA24', \ ; stdcall
|
||||
\
|
||||
init_rwsem, 'InitRwsem', \ ; gcc fastcall
|
||||
down_read, 'DownRead', \ ; gcc fastcall
|
||||
down_write, 'DownWrite', \ ; gcc fastcall
|
||||
up_read, 'UpRead', \ ; gcc fastcall
|
||||
up_write, 'UpWrite', \ ; gcc fastacll
|
||||
mutex_init, 'MutexInit', \ ; gcc fastcall
|
||||
mutex_lock, 'MutexLock', \ ; gcc fastcall
|
||||
mutex_unlock, 'MutexUnlock', \ ; gcc fastcall
|
||||
@ -117,7 +122,9 @@ __exports:
|
||||
NET_remove_device, 'NetUnRegDev', \
|
||||
NET_ptr_to_num, 'NetPtrToNum', \
|
||||
NET_link_changed, 'NetLinkChanged', \
|
||||
ETH_input, 'Eth_input', \
|
||||
ETH_input, 'EthInput', \
|
||||
NET_BUFF_alloc, 'NetAlloc', \
|
||||
NET_BUFF_free, 'NetFree', \
|
||||
\
|
||||
get_pcidev_list, 'GetPCIList', \
|
||||
\
|
||||
|
@ -1,6 +1,6 @@
|
||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
;; ;;
|
||||
;; Copyright (C) KolibriOS team 2004-2011. All rights reserved. ;;
|
||||
;; Copyright (C) KolibriOS team 2004-2015. All rights reserved. ;;
|
||||
;; Distributed under terms of the GNU General Public License ;;
|
||||
;; ;;
|
||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
|
@ -1,6 +1,6 @@
|
||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
;; ;;
|
||||
;; Copyright (C) KolibriOS team 2004-2011. All rights reserved. ;;
|
||||
;; Copyright (C) KolibriOS team 2004-2015. All rights reserved. ;;
|
||||
;; Distributed under terms of the GNU General Public License ;;
|
||||
;; ;;
|
||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
|
@ -1,6 +1,6 @@
|
||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
;; ;;
|
||||
;; Copyright (C) KolibriOS team 2004-2012. All rights reserved. ;;
|
||||
;; Copyright (C) KolibriOS team 2004-2015. All rights reserved. ;;
|
||||
;; Distributed under terms of the GNU General Public License ;;
|
||||
;; ;;
|
||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
@ -130,7 +130,7 @@ proc init_kernel_heap
|
||||
|
||||
stdcall alloc_pages, dword 32
|
||||
|
||||
or eax, PG_SW
|
||||
or eax, PG_SWR
|
||||
mov ebx, HEAP_BASE
|
||||
mov ecx, 32
|
||||
call commit_pages
|
||||
@ -492,7 +492,7 @@ proc kernel_alloc stdcall, size:dword
|
||||
jz .err
|
||||
|
||||
mov ecx, ebx
|
||||
or eax, PG_SW
|
||||
or eax, PG_GLOBAL+PG_SWR
|
||||
mov ebx, [lin_addr]
|
||||
call commit_pages
|
||||
|
||||
@ -506,7 +506,7 @@ proc kernel_alloc stdcall, size:dword
|
||||
test eax, eax
|
||||
jz .err
|
||||
|
||||
stdcall map_page, edx, eax, dword PG_SW
|
||||
stdcall map_page, edx, eax, dword (PG_GLOBAL+PG_SWR)
|
||||
add edx, 0x1000
|
||||
dec ebx
|
||||
jnz @B
|
||||
@ -1451,7 +1451,7 @@ align 4
|
||||
mov edx, [access]
|
||||
or edx, [owner_access]
|
||||
shl edx, 1
|
||||
or edx, PG_USER+PG_SHARED
|
||||
or edx, PG_SHARED+PG_UR
|
||||
@@:
|
||||
lodsd
|
||||
and eax, 0xFFFFF000
|
||||
|
@ -1,6 +1,6 @@
|
||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
;; ;;
|
||||
;; Copyright (C) KolibriOS team 2004-2014. All rights reserved. ;;
|
||||
;; Copyright (C) KolibriOS team 2004-2015. All rights reserved. ;;
|
||||
;; Distributed under terms of the GNU General Public License ;;
|
||||
;; ;;
|
||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
|
@ -1,6 +1,6 @@
|
||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
;; ;;
|
||||
;; Copyright (C) KolibriOS team 2004-2011. All rights reserved. ;;
|
||||
;; Copyright (C) KolibriOS team 2004-2015. All rights reserved. ;;
|
||||
;; Distributed under terms of the GNU General Public License ;;
|
||||
;; ;;
|
||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
|
@ -1,6 +1,6 @@
|
||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
;; ;;
|
||||
;; Copyright (C) KolibriOS team 2004-2012. All rights reserved. ;;
|
||||
;; Copyright (C) KolibriOS team 2004-2015. All rights reserved. ;;
|
||||
;; Distributed under terms of the GNU General Public License ;;
|
||||
;; ;;
|
||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
@ -127,8 +127,8 @@ align 4
|
||||
map_page:
|
||||
push ebx
|
||||
mov eax, [esp+12] ; phis_addr
|
||||
and eax, not 0xFFF
|
||||
or eax, [esp+16] ; flags
|
||||
and eax, [pte_valid_mask]
|
||||
mov ebx, [esp+8] ; lin_addr
|
||||
shr ebx, 12
|
||||
mov [page_tabs+ebx*4], eax
|
||||
@ -191,8 +191,8 @@ proc map_io_mem stdcall, base:dword, size:dword, flags:dword
|
||||
mov edx, [base]
|
||||
shr eax, 12
|
||||
shr ecx, 12
|
||||
and edx, -4096
|
||||
or edx, [flags]
|
||||
and edx, [pte_valid_mask]
|
||||
@@:
|
||||
mov [page_tabs+eax*4], edx
|
||||
invlpg [ebx]
|
||||
@ -229,6 +229,7 @@ commit_pages:
|
||||
pop ecx
|
||||
pop eax
|
||||
|
||||
and eax, [pte_valid_mask ]
|
||||
mov edi, ebx
|
||||
shr edi, 12
|
||||
lea edi, [page_tabs+edi*4]
|
||||
@ -340,7 +341,7 @@ proc map_page_table stdcall, lin_addr:dword, phis_addr:dword
|
||||
shr ebx, 22
|
||||
mov eax, [phis_addr]
|
||||
and eax, not 0xFFF
|
||||
or eax, PG_UW ;+PG_NOCACHE
|
||||
or eax, PG_UWR
|
||||
mov dword [master_tab+ebx*4], eax
|
||||
mov eax, [lin_addr]
|
||||
shr eax, 10
|
||||
@ -420,7 +421,7 @@ proc init_LFB
|
||||
call alloc_page
|
||||
stdcall map_page_table, LFB_BASE, eax
|
||||
pop eax
|
||||
or eax, PG_UW
|
||||
or eax, PG_UWR
|
||||
mov ebx, LFB_BASE
|
||||
; max VGA=640*480*4=1228800 bytes
|
||||
; + 32*640*4=81920 bytes for mouse pointer
|
||||
@ -447,7 +448,7 @@ proc init_LFB
|
||||
|
||||
bt [cpu_caps], CAPS_PSE
|
||||
jnc .map_page_tables
|
||||
or esi, PG_LARGE+PG_UW
|
||||
or esi, PDE_LARGE+PG_UWR
|
||||
mov edx, sys_proc+PROC.pdt_0+(LFB_BASE shr 20)
|
||||
@@:
|
||||
mov [edx], esi
|
||||
@ -476,14 +477,14 @@ proc init_LFB
|
||||
|
||||
mov eax, [LFBAddress]
|
||||
mov edi, page_tabs + (LFB_BASE shr 10)
|
||||
or eax, PG_UW
|
||||
or eax, PG_GLOBAL+PG_UWR
|
||||
and eax, [pte_valid_mask]
|
||||
mov ecx, [pg_count]
|
||||
cld
|
||||
@@:
|
||||
stosd
|
||||
add eax, 0x1000
|
||||
dec ecx
|
||||
jnz @B
|
||||
loop @B
|
||||
|
||||
mov dword [LFBAddress], LFB_BASE
|
||||
mov eax, cr3 ;flush TLB
|
||||
@ -679,7 +680,7 @@ end if
|
||||
ret
|
||||
|
||||
.user_space:
|
||||
test eax, PG_MAP
|
||||
test eax, PG_READ
|
||||
jnz .err_access ;Страница присутствует
|
||||
;Ошибка доступа ?
|
||||
|
||||
@ -687,7 +688,7 @@ end if
|
||||
mov ecx, ebx
|
||||
shr ecx, 10
|
||||
mov edx, [master_tab+ecx*4]
|
||||
test edx, PG_MAP
|
||||
test edx, PG_READ
|
||||
jz .fail ;таблица страниц не создана
|
||||
;неверный адрес в программе
|
||||
|
||||
@ -700,7 +701,7 @@ end if
|
||||
test eax, eax
|
||||
jz .fail
|
||||
|
||||
stdcall map_page, [.err_addr], eax, PG_UW
|
||||
stdcall map_page, [.err_addr], eax, PG_UWR
|
||||
|
||||
mov edi, [.err_addr]
|
||||
and edi, 0xFFFFF000
|
||||
@ -737,7 +738,7 @@ end if
|
||||
call alloc_page
|
||||
test eax, eax
|
||||
jz .fail
|
||||
stdcall map_page, ebx, eax, PG_UW
|
||||
stdcall map_page, ebx, eax, PG_UWR
|
||||
mov edi, ebx
|
||||
mov ecx, 1024
|
||||
sub ebx, [esi+HDLL.base]
|
||||
@ -748,7 +749,7 @@ end if
|
||||
jmp .exit
|
||||
|
||||
.kernel_space:
|
||||
test eax, PG_MAP
|
||||
test eax, PG_READ
|
||||
jz .fail ;страница не присутствует
|
||||
|
||||
test eax, 12 ;U/S (+below)
|
||||
@ -774,7 +775,7 @@ end if
|
||||
jz .fail
|
||||
|
||||
push eax
|
||||
stdcall map_page, [.err_addr], eax, dword PG_SW
|
||||
stdcall map_page, [.err_addr], eax, dword PG_SWR
|
||||
pop eax
|
||||
mov edi, [.err_addr]
|
||||
and edi, -4096
|
||||
@ -783,7 +784,7 @@ end if
|
||||
mov ebx, esi
|
||||
shr ebx, 12
|
||||
mov edx, [current_slot]
|
||||
or eax, PG_SW
|
||||
or eax, PG_SWR
|
||||
mov [edx+APPDATA.io_map+ebx*4], eax
|
||||
|
||||
add esi, [default_io_map]
|
||||
@ -818,7 +819,7 @@ proc map_mem_ipc stdcall, lin_addr:dword,slot:dword,\
|
||||
mov esi, [ipc_ptab]
|
||||
and eax, 0xFFFFF000
|
||||
jz .exit
|
||||
stdcall map_page, esi, eax, PG_SW
|
||||
stdcall map_page, esi, eax, PG_SWR
|
||||
@@:
|
||||
mov edi, [lin_addr]
|
||||
and edi, 0xFFFFF000
|
||||
@ -849,7 +850,7 @@ proc map_mem_ipc stdcall, lin_addr:dword,slot:dword,\
|
||||
and eax, 0xFFFFF000
|
||||
jz .exit
|
||||
|
||||
stdcall map_page, esi, eax, PG_SW
|
||||
stdcall map_page, esi, eax, PG_SWR
|
||||
xor edx, edx
|
||||
jmp .map
|
||||
.exit:
|
||||
@ -881,7 +882,7 @@ proc map_memEx stdcall, lin_addr:dword,slot:dword,\
|
||||
mov esi, [proc_mem_tab]
|
||||
and eax, 0xFFFFF000
|
||||
jz .exit
|
||||
stdcall map_page, esi, eax, PG_SW
|
||||
stdcall map_page, esi, eax, PG_SWR
|
||||
@@:
|
||||
mov edi, [lin_addr]
|
||||
and edi, 0xFFFFF000
|
||||
@ -912,7 +913,7 @@ proc map_memEx stdcall, lin_addr:dword,slot:dword,\
|
||||
and eax, 0xFFFFF000
|
||||
jz .exit
|
||||
|
||||
stdcall map_page, esi, eax, PG_SW
|
||||
stdcall map_page, esi, eax, PG_SWR
|
||||
xor edx, edx
|
||||
jmp .map
|
||||
.exit:
|
||||
@ -927,7 +928,7 @@ endp
|
||||
; destroys: only eax
|
||||
proc safe_map_page stdcall, slot:dword, req_access:dword, ofs:dword
|
||||
mov eax, [esi+edx*4]
|
||||
test al, PG_MAP
|
||||
test al, PG_READ
|
||||
jz .not_present
|
||||
test al, PG_WRITE
|
||||
jz .resolve_readonly
|
||||
@ -947,7 +948,7 @@ proc safe_map_page stdcall, slot:dword, req_access:dword, ofs:dword
|
||||
pop ecx
|
||||
test eax, eax
|
||||
jz .fail
|
||||
or al, PG_UW
|
||||
or al, PG_UWR
|
||||
mov [esi+edx*4], eax
|
||||
jmp .map
|
||||
.resolve_readonly:
|
||||
@ -989,7 +990,7 @@ proc safe_map_page stdcall, slot:dword, req_access:dword, ofs:dword
|
||||
call alloc_page
|
||||
test eax, eax
|
||||
jz .no_hdll
|
||||
or al, PG_UW
|
||||
or al, PG_UWR
|
||||
mov [esi+edx*4], eax
|
||||
stdcall map_page, edi, eax, [req_access]
|
||||
push esi edi
|
||||
@ -1090,7 +1091,7 @@ proc sys_ipc_send stdcall, PID:dword, msg_addr:dword, msg_size:dword
|
||||
@@:
|
||||
mov [used_buf], ecx
|
||||
stdcall map_mem_ipc, ecx, [dst_slot], \
|
||||
edi, esi, PG_SW
|
||||
edi, esi, PG_SWR
|
||||
|
||||
mov edi, [dst_offset]
|
||||
add edi, [used_buf]
|
||||
|
@ -1,6 +1,6 @@
|
||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
;; ;;
|
||||
;; Copyright (C) KolibriOS team 2004-2014. All rights reserved. ;;
|
||||
;; Copyright (C) KolibriOS team 2004-2015. All rights reserved. ;;
|
||||
;; Distributed under terms of the GNU General Public License ;;
|
||||
;; ;;
|
||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
@ -25,21 +25,65 @@ endp
|
||||
|
||||
; Helper procedure for mtrr_reconfigure and set_mtrr,
|
||||
; called before changes in MTRRs.
|
||||
; 1. disable and flush caches
|
||||
; 2. clear PGE bit in cr4
|
||||
; 3. flush TLB
|
||||
; 4. disable mtrr
|
||||
|
||||
proc mtrr_begin_change
|
||||
mov eax, cr0
|
||||
or eax, 0x60000000 ;disable caching
|
||||
mov cr0, eax
|
||||
wbinvd ;invalidate cache
|
||||
|
||||
bt [cpu_caps], CAPS_PGE
|
||||
jnc .cr3_flush
|
||||
|
||||
mov eax, cr4
|
||||
btr eax, 7 ;clear cr4.PGE
|
||||
mov cr4, eax ;flush TLB
|
||||
jmp @F ;skip extra serialization
|
||||
|
||||
.cr3_flush:
|
||||
mov eax, cr3
|
||||
mov cr3, eax ;flush TLB
|
||||
@@:
|
||||
mov ecx, MSR_MTRR_DEF_TYPE
|
||||
rdmsr
|
||||
btr eax, 11 ;clear enable flag
|
||||
wrmsr ;disable mtrr
|
||||
ret
|
||||
endp
|
||||
|
||||
; Helper procedure for mtrr_reconfigure and set_mtrr,
|
||||
; called after changes in MTRRs.
|
||||
; 1. enable mtrr
|
||||
; 2. flush all caches
|
||||
; 3. flush TLB
|
||||
; 4. restore cr4.PGE flag, if required
|
||||
|
||||
proc mtrr_end_change
|
||||
mov ecx, MSR_MTRR_DEF_TYPE
|
||||
rdmsr
|
||||
or ah, 8 ; enable variable-ranges MTRR
|
||||
and al, 0xF0 ; default memtype = UC
|
||||
wrmsr
|
||||
|
||||
wbinvd ;again invalidate
|
||||
mov eax, cr0
|
||||
and eax, not 0x60000000
|
||||
mov cr0, eax ; enable caching
|
||||
|
||||
mov eax, cr3
|
||||
mov cr3, eax ;flush tlb
|
||||
|
||||
bt [cpu_caps], CAPS_PGE
|
||||
jnc @F
|
||||
|
||||
mov eax, cr4
|
||||
bts eax, 7 ;set cr4.PGE flag
|
||||
mov cr4, eax
|
||||
@@:
|
||||
ret
|
||||
endp
|
||||
|
||||
@ -695,12 +739,15 @@ end virtual
|
||||
jmp @b
|
||||
@@:
|
||||
|
||||
; 9i. Configure MTRR_DEF_TYPE.
|
||||
mov ecx, 0x2FF
|
||||
rdmsr
|
||||
or ah, 8 ; enable variable-ranges MTRR
|
||||
and al, 0xF0; default memtype = UC
|
||||
; 9i. Check PAT support and reprogram PAT_MASR for write combining memory
|
||||
bt [cpu_caps], CAPS_PAT
|
||||
jnc @F
|
||||
|
||||
mov ecx, MSR_CR_PAT
|
||||
mov eax, PAT_VALUE ;UC UCM WC WB
|
||||
mov edx, eax
|
||||
wrmsr
|
||||
@@:
|
||||
|
||||
; 9j. Changes are done.
|
||||
call mtrr_end_change
|
||||
@ -738,7 +785,9 @@ proc set_mtrr stdcall, base:dword,size:dword,mem_type:dword
|
||||
ret
|
||||
.found:
|
||||
; found, write values
|
||||
push ecx
|
||||
call mtrr_begin_change
|
||||
pop ecx
|
||||
xor edx, edx
|
||||
mov eax, [base]
|
||||
or eax, [mem_type]
|
||||
@ -842,13 +891,13 @@ proc mtrr_validate
|
||||
; It must be write-combined.
|
||||
test word [SCR_MODE], 0x4000
|
||||
jz .exit
|
||||
mov eax, [_display.pitch]
|
||||
mov eax, [_display.lfb_pitch]
|
||||
mul [_display.height]
|
||||
dec eax
|
||||
; LFB is mapped to virtual address LFB_BASE,
|
||||
; it uses global pages if supported by CPU.
|
||||
mov ebx, [sys_proc+PROC.pdt_0+(LFB_BASE shr 20)]
|
||||
test ebx, PG_LARGE
|
||||
test ebx, PDE_LARGE
|
||||
jnz @f
|
||||
mov ebx, [page_tabs+(LFB_BASE shr 10)]
|
||||
@@:
|
||||
|
@ -1,6 +1,6 @@
|
||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
;; ;;
|
||||
;; Copyright (C) KolibriOS team 2004-2012. All rights reserved. ;;
|
||||
;; Copyright (C) KolibriOS team 2004-2015. All rights reserved. ;;
|
||||
;; Distributed under terms of the GNU General Public License ;;
|
||||
;; ;;
|
||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
@ -42,6 +42,7 @@ proc load_PE stdcall, file_name:dword
|
||||
jz .cleanup
|
||||
|
||||
mov [base], eax
|
||||
DEBUGF 1,'K : driver %s mapped to %x\n',[file_name],[base]
|
||||
|
||||
push ebx ebp
|
||||
mov ebx, [image]
|
||||
|
@ -1,6 +1,6 @@
|
||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
;; ;;
|
||||
;; Copyright (C) KolibriOS team 2004-2012. All rights reserved. ;;
|
||||
;; Copyright (C) KolibriOS team 2004-2015. All rights reserved. ;;
|
||||
;; Copyright (C) MenuetOS 2000-2004 Ville Mikael Turjanmaa ;;
|
||||
;; Distributed under terms of the GNU General Public License ;;
|
||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
@ -116,8 +116,6 @@ do_change_task:
|
||||
Mov [tss._esp0],eax,[ebx+APPDATA.saved_esp0]
|
||||
|
||||
mov edx, [ebx+APPDATA.tls_base]
|
||||
cmp edx, [esi+APPDATA.tls_base]
|
||||
je @f
|
||||
|
||||
mov [tls_data_l+2], dx
|
||||
shr edx, 16
|
||||
@ -126,7 +124,7 @@ do_change_task:
|
||||
|
||||
mov dx, app_tls
|
||||
mov fs, dx
|
||||
@@:
|
||||
|
||||
; set gs selector unconditionally
|
||||
Mov gs,ax,graph_data
|
||||
; set CR0.TS
|
||||
@ -155,22 +153,24 @@ do_change_task:
|
||||
;end.
|
||||
|
||||
|
||||
|
||||
struct MUTEX_WAITER
|
||||
list LHEAD
|
||||
task dd ?
|
||||
type dd ?
|
||||
ends
|
||||
|
||||
RWSEM_WAITING_FOR_WRITE equ 0
|
||||
RWSEM_WAITING_FOR_READ equ 1
|
||||
|
||||
;void __fastcall mutex_init(struct mutex *lock)
|
||||
|
||||
align 4
|
||||
mutex_init:
|
||||
mov [ecx+MUTEX.lhead.next], ecx
|
||||
mov [ecx+MUTEX.lhead.prev], ecx
|
||||
mov [ecx+MUTEX.wait_list.next], ecx
|
||||
mov [ecx+MUTEX.wait_list.prev], ecx
|
||||
mov [ecx+MUTEX.count], 1
|
||||
ret
|
||||
|
||||
|
||||
;void __fastcall mutex_lock(struct mutex *lock)
|
||||
|
||||
align 4
|
||||
@ -200,15 +200,13 @@ mutex_lock:
|
||||
call change_task
|
||||
jmp .forever
|
||||
@@:
|
||||
mov edx, [esp+MUTEX_WAITER.list.next]
|
||||
mov eax, [esp+MUTEX_WAITER.list.prev]
|
||||
mov eax, ecx
|
||||
list_del esp
|
||||
|
||||
mov [eax+MUTEX_WAITER.list.next], edx
|
||||
mov [edx+MUTEX_WAITER.list.prev], eax
|
||||
cmp [ecx+MUTEX.lhead.next], ecx
|
||||
cmp [eax+MUTEX.wait_list.next], eax
|
||||
jne @F
|
||||
|
||||
mov [ecx+MUTEX.count], 0
|
||||
mov [eax+MUTEX.count], 0
|
||||
@@:
|
||||
add esp, sizeof.MUTEX_WAITER
|
||||
|
||||
@ -224,7 +222,7 @@ mutex_unlock:
|
||||
pushfd
|
||||
cli
|
||||
|
||||
mov eax, [ecx+MUTEX.lhead.next]
|
||||
mov eax, [ecx+MUTEX.wait_list.next]
|
||||
cmp eax, ecx
|
||||
mov [ecx+MUTEX.count], 1
|
||||
je @F
|
||||
@ -236,7 +234,166 @@ mutex_unlock:
|
||||
ret
|
||||
|
||||
|
||||
;void __fastcall init_rwsem(struct rw_semaphore *sem)
|
||||
|
||||
align 4
|
||||
init_rwsem:
|
||||
mov [ecx+RWSEM.wait_list.next], ecx
|
||||
mov [ecx+RWSEM.wait_list.prev], ecx
|
||||
mov [ecx+RWSEM.count], 0
|
||||
ret
|
||||
|
||||
;void __fastcall down_read(struct rw_semaphore *sem)
|
||||
|
||||
align 4
|
||||
down_read:
|
||||
pushfd
|
||||
cli
|
||||
|
||||
mov eax, [ecx+RWSEM.count]
|
||||
test eax, eax
|
||||
js @F
|
||||
|
||||
cmp ecx, [ecx+RWSEM.wait_list.next]
|
||||
je .ok
|
||||
@@:
|
||||
sub esp, sizeof.MUTEX_WAITER
|
||||
|
||||
mov eax, [TASK_BASE]
|
||||
mov [esp+MUTEX_WAITER.task], eax
|
||||
mov [esp+MUTEX_WAITER.type], RWSEM_WAITING_FOR_READ
|
||||
mov [eax+TASKDATA.state], 1
|
||||
|
||||
list_add_tail esp, ecx ;esp= new waiter, ecx= list head
|
||||
|
||||
call change_task
|
||||
|
||||
add esp, sizeof.MUTEX_WAITER
|
||||
popfd
|
||||
ret
|
||||
.ok:
|
||||
inc eax
|
||||
mov [ecx+RWSEM.count], eax
|
||||
|
||||
popfd
|
||||
ret
|
||||
|
||||
;void __fastcall down_write(struct rw_semaphore *sem)
|
||||
|
||||
align 4
|
||||
down_write:
|
||||
pushfd
|
||||
cli
|
||||
sub esp, sizeof.MUTEX_WAITER
|
||||
|
||||
mov edx, [TASK_BASE]
|
||||
mov [esp+MUTEX_WAITER.task], edx
|
||||
mov [esp+MUTEX_WAITER.type], RWSEM_WAITING_FOR_WRITE
|
||||
mov [edx+TASKDATA.state], 1
|
||||
|
||||
list_add_tail esp, ecx ;esp= new waiter, ecx= list head
|
||||
|
||||
xor eax, eax
|
||||
not eax
|
||||
|
||||
.forever:
|
||||
test eax, [ecx+RWSEM.count]
|
||||
jz @F
|
||||
|
||||
mov [edx+TASKDATA.state], 1
|
||||
call change_task
|
||||
jmp .forever
|
||||
@@:
|
||||
mov [ecx+RWSEM.count], eax
|
||||
list_del esp
|
||||
|
||||
add esp, sizeof.MUTEX_WAITER
|
||||
popfd
|
||||
ret
|
||||
|
||||
;void __fastcall up_read(struct rw_semaphore *sem)
|
||||
|
||||
align 4
|
||||
up_read:
|
||||
pushfd
|
||||
cli
|
||||
|
||||
dec [ecx+RWSEM.count]
|
||||
jnz @F
|
||||
|
||||
mov eax, [ecx+RWSEM.wait_list.next]
|
||||
cmp eax, ecx
|
||||
je @F
|
||||
|
||||
mov eax, [eax+MUTEX_WAITER.task]
|
||||
mov [eax+TASKDATA.state], 0
|
||||
@@:
|
||||
popfd
|
||||
ret
|
||||
|
||||
;void __fastcall up_write(struct rw_semaphore *sem)
|
||||
|
||||
align 4
|
||||
up_write:
|
||||
|
||||
pushfd
|
||||
cli
|
||||
|
||||
mov eax, [ecx+RWSEM.wait_list.next]
|
||||
mov [ecx+RWSEM.count], 0
|
||||
|
||||
cmp ecx, eax
|
||||
je .done
|
||||
|
||||
mov edx, [eax+MUTEX_WAITER.type]
|
||||
test edx, edx
|
||||
jnz .wake
|
||||
|
||||
mov eax, [eax+MUTEX_WAITER.task]
|
||||
mov [eax+TASKDATA.state], 0
|
||||
.done:
|
||||
popfd
|
||||
ret
|
||||
|
||||
.wake:
|
||||
push ebx
|
||||
push esi
|
||||
push edi
|
||||
|
||||
xor esi, esi
|
||||
mov edi, ecx
|
||||
|
||||
.wake_list:
|
||||
|
||||
mov ebx, [eax+MUTEX_WAITER.list.next]
|
||||
list_del eax
|
||||
mov edx, [eax+MUTEX_WAITER.task]
|
||||
mov [edx+TASKDATA.state], 0
|
||||
inc esi
|
||||
cmp edi, ebx
|
||||
je .wake_done
|
||||
|
||||
mov ecx, [ebx+MUTEX_WAITER.type]
|
||||
test ecx, ecx
|
||||
jz .wake_done
|
||||
|
||||
mov eax, ebx
|
||||
jmp .wake_list
|
||||
|
||||
.wake_done:
|
||||
add [edi+RWSEM.count], esi
|
||||
|
||||
pop edi
|
||||
pop esi
|
||||
pop ebx
|
||||
popfd
|
||||
ret
|
||||
|
||||
|
||||
purge MUTEX_WAITER
|
||||
purge RWSEM_WAITING_FOR_WRITE
|
||||
purge RWSEM_WAITING_FOR_READ
|
||||
|
||||
|
||||
MAX_PRIORITY = 0 ; highest, used for kernel tasks
|
||||
USER_PRIORITY = 1 ; default
|
||||
|
@ -1,6 +1,6 @@
|
||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
;; ;;
|
||||
;; Copyright (C) KolibriOS team 2004-2011. All rights reserved. ;;
|
||||
;; Copyright (C) KolibriOS team 2004-2015. All rights reserved. ;;
|
||||
;; Distributed under terms of the GNU General Public License ;;
|
||||
;; Author: Kees J. Bot 1 Jan 1994 ;;
|
||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
|
@ -1,6 +1,6 @@
|
||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
;; ;;
|
||||
;; Copyright (C) KolibriOS team 2004-2011. All rights reserved. ;;
|
||||
;; Copyright (C) KolibriOS team 2004-2015. All rights reserved. ;;
|
||||
;; Distributed under terms of the GNU General Public License ;;
|
||||
;; ;;
|
||||
;; Synhronization for MenuetOS. ;;
|
||||
|
@ -1,6 +1,6 @@
|
||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
;; ;;
|
||||
;; Copyright (C) KolibriOS team 2013-2014. All rights reserved. ;;
|
||||
;; Copyright (C) KolibriOS team 2013-2015. All rights reserved. ;;
|
||||
;; Distributed under terms of the GNU General Public License ;;
|
||||
;; ;;
|
||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
|
@ -1,6 +1,6 @@
|
||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
;; ;;
|
||||
;; Copyright (C) KolibriOS team 2004-2011. All rights reserved. ;;
|
||||
;; Copyright (C) KolibriOS team 2004-2015. All rights reserved. ;;
|
||||
;; Distributed under terms of the GNU General Public License ;;
|
||||
;; ;;
|
||||
;; ;;
|
||||
@ -308,7 +308,7 @@ show_error_parameters:
|
||||
mov ecx, ebx
|
||||
shr ecx, 10
|
||||
mov edx, [master_tab+ecx*4]
|
||||
test edx, PG_MAP
|
||||
test edx, PG_READ
|
||||
jz .fail ;page table is not created
|
||||
;incorrect address in the program
|
||||
|
||||
|
@ -1,6 +1,6 @@
|
||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
;; ;;
|
||||
;; Copyright (C) KolibriOS team 2004-2012. All rights reserved. ;;
|
||||
;; Copyright (C) KolibriOS team 2004-2015. All rights reserved. ;;
|
||||
;; Distributed under terms of the GNU General Public License ;;
|
||||
;; ;;
|
||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
|
@ -1,6 +1,6 @@
|
||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
;; ;;
|
||||
;; Copyright (C) KolibriOS team 2004-2012. All rights reserved. ;;
|
||||
;; Copyright (C) KolibriOS team 2004-2015. All rights reserved. ;;
|
||||
;; Distributed under terms of the GNU General Public License ;;
|
||||
;; ;;
|
||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
@ -489,7 +489,7 @@ proc create_process stdcall, app_size:dword,img_base:dword,img_size:dword
|
||||
cmp eax, ecx
|
||||
jbe @B
|
||||
|
||||
mov [edi-4096+PROC.ht_next], 1 ;reserve handle 0
|
||||
mov [edi-4096+PROC.ht_next], 3 ;reserve handles for stdin stdout and stderr
|
||||
mov eax, edi
|
||||
call get_pg_addr
|
||||
mov [edi-4096+PROC.pdt_0_phys], eax
|
||||
@ -503,16 +503,13 @@ proc create_process stdcall, app_size:dword,img_base:dword,img_size:dword
|
||||
rep movsd
|
||||
|
||||
mov eax, [edi-8192+PROC.pdt_0_phys]
|
||||
or eax, PG_SW
|
||||
or eax, PG_SWR
|
||||
mov [edi-4096+(page_tabs shr 20)], eax
|
||||
|
||||
lea eax, [edi-8192]
|
||||
call set_cr3
|
||||
|
||||
mov ecx, [app_tabs]
|
||||
test ecx, ecx
|
||||
jz .done
|
||||
|
||||
mov edx, [app_tabs]
|
||||
xor edi, edi
|
||||
@@:
|
||||
call alloc_page
|
||||
@ -521,7 +518,8 @@ proc create_process stdcall, app_size:dword,img_base:dword,img_size:dword
|
||||
|
||||
stdcall map_page_table, edi, eax
|
||||
add edi, 0x00400000
|
||||
loop @B
|
||||
dec edx
|
||||
jnz @B
|
||||
|
||||
mov edi, page_tabs
|
||||
|
||||
@ -530,13 +528,9 @@ proc create_process stdcall, app_size:dword,img_base:dword,img_size:dword
|
||||
xor eax, eax
|
||||
rep stosd
|
||||
|
||||
xor edx, edx
|
||||
mov ecx, [img_pages]
|
||||
jcxz .bss
|
||||
|
||||
sub [app_pages], ecx
|
||||
|
||||
mov ebx, PG_UW
|
||||
mov ebx, PG_UWR
|
||||
xor edx, edx
|
||||
mov esi, [img_base]
|
||||
shr esi, 10
|
||||
add esi, page_tabs
|
||||
@ -547,21 +541,23 @@ proc create_process stdcall, app_size:dword,img_base:dword,img_size:dword
|
||||
or eax, ebx; force user level r/w access
|
||||
stosd
|
||||
add edx, 0x1000
|
||||
loop .remap
|
||||
.bss:
|
||||
mov ebx, [app_pages]
|
||||
test ebx, ebx
|
||||
dec [app_pages]
|
||||
dec ecx
|
||||
jnz .remap
|
||||
|
||||
mov ecx, [app_pages]
|
||||
test ecx, ecx
|
||||
jz .done
|
||||
|
||||
.map_bss:
|
||||
.alloc:
|
||||
call alloc_page
|
||||
test eax, eax
|
||||
jz .fail
|
||||
|
||||
stdcall map_page, edx, eax, dword PG_UW
|
||||
stdcall map_page, edx, eax, dword PG_UWR
|
||||
add edx, 0x1000
|
||||
dec ebx
|
||||
jnz .map_bss
|
||||
dec [app_pages]
|
||||
jnz .alloc
|
||||
|
||||
.done:
|
||||
mov ecx, pg_data.mutex
|
||||
@ -647,7 +643,7 @@ align 4
|
||||
test eax, 1
|
||||
jz .next
|
||||
and eax, not 0xFFF
|
||||
stdcall map_page, [tmp_task_ptab], eax, PG_SW
|
||||
stdcall map_page, [tmp_task_ptab], eax, PG_SWR
|
||||
stdcall destroy_page_table, [tmp_task_ptab]
|
||||
mov eax, [esi]
|
||||
call free_page
|
||||
@ -792,7 +788,7 @@ proc read_process_memory
|
||||
|
||||
push ecx
|
||||
stdcall map_memEx, [proc_mem_map], \
|
||||
[slot], ebx, ecx, PG_MAP
|
||||
[slot], ebx, ecx, PG_READ
|
||||
pop ecx
|
||||
|
||||
mov esi, [offset]
|
||||
@ -863,7 +859,7 @@ proc write_process_memory
|
||||
; add ebx, new_app_base
|
||||
push ecx
|
||||
stdcall map_memEx, [proc_mem_map], \
|
||||
[slot], ebx, ecx, PG_SW
|
||||
[slot], ebx, ecx, PG_SWR
|
||||
pop ecx
|
||||
|
||||
mov edi, [offset]
|
||||
@ -1145,9 +1141,9 @@ proc set_app_params stdcall,slot:dword, params:dword,\
|
||||
xor eax, eax
|
||||
mov [ecx+0], dword eax
|
||||
mov [ecx+4], dword eax
|
||||
mov eax, [Screen_Max_X]
|
||||
mov eax, [screen_workarea.right]
|
||||
mov [ecx+8], eax
|
||||
mov eax, [Screen_Max_Y]
|
||||
mov eax, [screen_workarea.bottom]
|
||||
mov [ecx+12], eax
|
||||
|
||||
mov ebx, [pl0_stack]
|
||||
|
@ -1,6 +1,6 @@
|
||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
;; ;;
|
||||
;; Copyright (C) KolibriOS team 2009-2011. All rights reserved. ;;
|
||||
;; Copyright (C) KolibriOS team 2009-2015. All rights reserved. ;;
|
||||
;; Distributed under terms of the GNU General Public License ;;
|
||||
;; ;;
|
||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
|
@ -1,6 +1,6 @@
|
||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
;; ;;
|
||||
;; Copyright (C) KolibriOS team 2012. All rights reserved. ;;
|
||||
;; Copyright (C) KolibriOS team 2012-2015. All rights reserved. ;;
|
||||
;; Distributed under terms of the GNU General Public License ;;
|
||||
;; ;;
|
||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
|
@ -1,6 +1,6 @@
|
||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
;; ;;
|
||||
;; Copyright (C) KolibriOS team 2007-2012. All rights reserved. ;;
|
||||
;; Copyright (C) KolibriOS team 2007-2015. All rights reserved. ;;
|
||||
;; Distributed under terms of the GNU General Public License ;;
|
||||
;; ;;
|
||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
@ -78,7 +78,7 @@ v86_create:
|
||||
; (I have seen one computer with EBDA segment = 0x9D80,
|
||||
; all other computers use less memory)
|
||||
|
||||
mov eax, PG_UW
|
||||
mov eax, PG_UWR
|
||||
mov [page_tabs], eax
|
||||
invlpg [eax]
|
||||
|
||||
@ -89,7 +89,7 @@ v86_create:
|
||||
mov byte [0x504], 0x10
|
||||
mov byte [0x505], 0xF4
|
||||
|
||||
mov eax, 0x99000+PG_UW
|
||||
mov eax, 0x99000+PG_UWR
|
||||
mov edi, page_tabs+0x99*4
|
||||
mov edx, 0x1000
|
||||
mov ecx, 7
|
||||
@ -101,7 +101,7 @@ v86_create:
|
||||
; addresses 0xC0000 - 0xFFFFF - BIOS code (shared between all machines!)
|
||||
; physical address = 0xC0000
|
||||
|
||||
mov eax, 0xC0000+PG_UW
|
||||
mov eax, 0xC0000+PG_UWR
|
||||
mov edi, page_tabs+0xC0*4
|
||||
mov ecx, 64
|
||||
@@:
|
||||
|
@ -1,6 +1,6 @@
|
||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
;; ;;
|
||||
;; Copyright (C) KolibriOS team 2004-2011. All rights reserved. ;;
|
||||
;; Copyright (C) KolibriOS team 2004-2015. All rights reserved. ;;
|
||||
;; Distributed under terms of the GNU General Public License ;;
|
||||
;; ;;
|
||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
|
@ -1,6 +1,6 @@
|
||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
;; ;;
|
||||
;; Copyright (C) KolibriOS team 2004-2014. All rights reserved. ;;
|
||||
;; Copyright (C) KolibriOS team 2004-2015. All rights reserved. ;;
|
||||
;; Distributed under terms of the GNU General Public License ;;
|
||||
;; ;;
|
||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
@ -361,6 +361,7 @@ next_memblock rd 1
|
||||
|
||||
mst MEM_STATE
|
||||
|
||||
pte_valid_mask rd 1
|
||||
page_start rd 1
|
||||
page_end rd 1
|
||||
sys_page_map rd 1
|
||||
@ -375,12 +376,8 @@ align 16
|
||||
|
||||
_display display_t
|
||||
|
||||
_WinMapAddress rd 1
|
||||
_WinMapSize rd 1
|
||||
|
||||
LFBAddress dd ?
|
||||
Screen_Max_X dd ?
|
||||
Screen_Max_Y dd ?
|
||||
|
||||
SCR_MODE rw 2
|
||||
|
||||
@ -425,8 +422,6 @@ cur_saved_base rd 1
|
||||
cur.lock rd 1 ;1 - lock update, 2- hide
|
||||
cur.left rd 1 ;cursor clip box
|
||||
cur.top rd 1
|
||||
cur.right rd 1
|
||||
cur.bottom rd 1
|
||||
cur.w rd 1
|
||||
cur.h rd 1
|
||||
|
||||
|
@ -1,6 +1,6 @@
|
||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
;; ;;
|
||||
;; Copyright (C) KolibriOS team 2013-2014. All rights reserved. ;;
|
||||
;; Copyright (C) KolibriOS team 2013-2015. All rights reserved. ;;
|
||||
;; Distributed under terms of the GNU General Public License ;;
|
||||
;; ;;
|
||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
|
@ -1,6 +1,6 @@
|
||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
;; ;;
|
||||
;; Copyright (C) KolibriOS team 2013-2014. All rights reserved. ;;
|
||||
;; Copyright (C) KolibriOS team 2013-2015. All rights reserved. ;;
|
||||
;; Distributed under terms of the GNU General Public License ;;
|
||||
;; ;;
|
||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
|
@ -1,6 +1,6 @@
|
||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
;; ;;
|
||||
;; Copyright (C) KolibriOS team 2008-2014. All rights reserved. ;;
|
||||
;; Copyright (C) KolibriOS team 2008-2015. All rights reserved. ;;
|
||||
;; Distributed under terms of the GNU General Public License ;;
|
||||
;; ;;
|
||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
|
@ -1,6 +1,6 @@
|
||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
;; ;;
|
||||
;; Copyright (C) KolibriOS team 2009-2014. All rights reserved. ;;
|
||||
;; Copyright (C) KolibriOS team 2009-2015. All rights reserved. ;;
|
||||
;; Distributed under terms of the GNU General Public License ;;
|
||||
;; ;;
|
||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
|
@ -1,6 +1,6 @@
|
||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
;; ;;
|
||||
;; Copyright (C) KolibriOS team 2004-2011. All rights reserved. ;;
|
||||
;; Copyright (C) KolibriOS team 2004-2015. All rights reserved. ;;
|
||||
;; Distributed under terms of the GNU General Public License ;;
|
||||
;; ;;
|
||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
|
@ -1,6 +1,6 @@
|
||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
;; ;;
|
||||
;; Copyright (C) KolibriOS team 2004-2011. All rights reserved. ;;
|
||||
;; Copyright (C) KolibriOS team 2004-2015. All rights reserved. ;;
|
||||
;; Distributed under terms of the GNU General Public License ;;
|
||||
;; ;;
|
||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
|
@ -1,6 +1,6 @@
|
||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
;; ;;
|
||||
;; Copyright (C) KolibriOS team 2004-2011. All rights reserved. ;;
|
||||
;; Copyright (C) KolibriOS team 2004-2015. All rights reserved. ;;
|
||||
;; Distributed under terms of the GNU General Public License ;;
|
||||
;; ;;
|
||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
|
@ -1,6 +1,6 @@
|
||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
;; ;;
|
||||
;; Copyright (C) KolibriOS team 2004-2011. All rights reserved. ;;
|
||||
;; Copyright (C) KolibriOS team 2004-2015. All rights reserved. ;;
|
||||
;; Distributed under terms of the GNU General Public License ;;
|
||||
;; ;;
|
||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
|
@ -1,6 +1,6 @@
|
||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
;; ;;
|
||||
;; Copyright (C) KolibriOS team 2014. All rights reserved. ;;
|
||||
;; Copyright (C) KolibriOS team 2014-2015. All rights reserved. ;;
|
||||
;; Distributed under terms of the GNU General Public License ;;
|
||||
;; ;;
|
||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
|
@ -1,6 +1,6 @@
|
||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
;; ;;
|
||||
;; Copyright (C) KolibriOS team 2004-2013. All rights reserved. ;;
|
||||
;; Copyright (C) KolibriOS team 2004-2015. All rights reserved. ;;
|
||||
;; Distributed under terms of the GNU General Public License ;;
|
||||
;; ;;
|
||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
|
@ -1,6 +1,6 @@
|
||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
;; ;;
|
||||
;; Copyright (C) KolibriOS team 2004-2013. All rights reserved. ;;
|
||||
;; Copyright (C) KolibriOS team 2004-2015. All rights reserved. ;;
|
||||
;; Distributed under terms of the GNU General Public License ;;
|
||||
;; ;;
|
||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
|
@ -835,7 +835,7 @@
|
||||
сворачивание окна осуществляется системой при нажатии на кнопку
|
||||
минимизации (которая для окон со скином определяется автоматически
|
||||
функцией 0, для окон без скина её можно определить функцией 8),
|
||||
восстановление - приложением @panel.
|
||||
восстановление - приложением @taskbar.
|
||||
|
||||
======================================================================
|
||||
====================== Функция 18, подфункция 11 =====================
|
||||
@ -1212,9 +1212,9 @@ dd 1675
|
||||
* Получить раскладки и идентификатор страны можно с помощью
|
||||
подфункции 2 функции 26.
|
||||
* Идентификатор страны - глобальная системная переменная, которая
|
||||
самим ядром не используется; однако приложение @panel отображает
|
||||
самим ядром не используется; однако приложение @taskbar отображает
|
||||
соответствующую текущей стране иконку.
|
||||
* Приложение @panel переключает раскладки по запросу пользователя.
|
||||
* Приложение @taskbar переключает раскладки по запросу пользователя.
|
||||
|
||||
======================================================================
|
||||
========= Функция 21, подфункция 5 - установить язык системы. ========
|
||||
@ -1227,7 +1227,7 @@ dd 1675
|
||||
* eax = 0
|
||||
Замечания:
|
||||
* Язык системы - глобальная системная переменная, никак
|
||||
не используемая самим ядром, однако приложение @panel рисует
|
||||
не используемая самим ядром, однако приложение @taskbar рисует
|
||||
соответствующую иконку.
|
||||
* Проверок на корректность не делается, поскольку ядро эту
|
||||
переменную не использует.
|
||||
@ -1426,10 +1426,10 @@ dd 1675
|
||||
* Установить раскладки и идентификатор страны можно с помощью
|
||||
подфункции 2 функции 21.
|
||||
* Идентификатор страны - глобальная системная переменная, которая
|
||||
самим ядром не используется; однако приложение @panel отображает
|
||||
самим ядром не используется; однако приложение @taskbar отображает
|
||||
соответствующую текущей стране иконку
|
||||
(используя описываемую функцию).
|
||||
* Приложение @panel переключает раскладки по запросу пользователя.
|
||||
* Приложение @taskbar переключает раскладки по запросу пользователя.
|
||||
|
||||
======================================================================
|
||||
========== Функция 26, подфункция 5 - получить язык системы. =========
|
||||
@ -1441,7 +1441,7 @@ dd 1675
|
||||
* eax = язык системы (1=eng, 2=fi, 3=ger, 4=rus)
|
||||
Замечания:
|
||||
* Язык системы - глобальная системная переменная, никак
|
||||
не используемая самим ядром, однако приложение @panel рисует
|
||||
не используемая самим ядром, однако приложение @taskbar рисует
|
||||
соответствующую иконку (используя описываемую функцию).
|
||||
* Установить язык системы можно вызовом подфункции 5 функции 21.
|
||||
|
||||
@ -2006,7 +2006,7 @@ dword-значение цвета 0x00RRGGBB
|
||||
* Рабочая область экрана определяет положение и координаты
|
||||
максимизированного окна.
|
||||
* Рабочая область экрана при нормальной работе есть весь экран
|
||||
за вычетом панели (@panel).
|
||||
за вычетом панели (@taskbar).
|
||||
* (left,top) - координаты левого верхнего угла,
|
||||
(right,bottom) - координаты правого нижнего.
|
||||
Таким образом, размер рабочей области по оси x определяется
|
||||
@ -2028,7 +2028,7 @@ dword-значение цвета 0x00RRGGBB
|
||||
Замечания:
|
||||
* Рабочая область экрана определяет положение и координаты
|
||||
максимизированного окна.
|
||||
* Эта функция используется только приложением @panel,
|
||||
* Эта функция используется только приложением @taskbar,
|
||||
устанавливающим рабочей областью весь экран за вычетом панели.
|
||||
* (left,top) - координаты левого верхнего угла,
|
||||
(right,bottom) - координаты правого нижнего.
|
||||
|
@ -836,7 +836,7 @@ Remarks:
|
||||
at pressing the minimization button (for skinned windows
|
||||
it is defined automatically by function 0,
|
||||
for other windows it can be defined manually by function 8),
|
||||
restore of a window is done by the application '@panel'.
|
||||
restore of a window is done by the application '@taskbar'.
|
||||
|
||||
======================================================================
|
||||
Function 18, subfunction 11 - get information on the disk subsystem.
|
||||
@ -861,8 +861,8 @@ Format of the table: short version:
|
||||
* 5 = 2.88Mb, 3.5'' (such drives are not used anymore)
|
||||
For example, for the standard configuration from one 1.44-drive
|
||||
here will be 40h, and for the case 1.2Mb on A: and 1.44Mb on B:
|
||||
the value is 24h.
|
||||
|
||||
the value is 24h.
|
||||
|
||||
First IDE controller:
|
||||
* +1: byte: information about hard disks and CD-drives, AABBCCDD,
|
||||
where AA corresponds to the controller IDE0, ..., DD - IDE3:
|
||||
@ -872,29 +872,29 @@ Format of the table: short version:
|
||||
For example, in the case HD on IDE0 and CD on IDE2
|
||||
this field contains 48h.
|
||||
* +2: 4 db: number of the retrieved partitions on hard disks
|
||||
at accordingly IDE0,...,IDE3.
|
||||
|
||||
Second IDE controller:
|
||||
* +6: byte: information about hard disks and CD-drives, AABBCCDD,
|
||||
where AA corresponds to the controller IDE4, ..., DD - IDE7:
|
||||
* 0 = device not found
|
||||
* 1 = hard drive
|
||||
* 2 = CD-drive
|
||||
For example, in the case HD on IDE4 and CD on IDE6
|
||||
this field contains 48h.
|
||||
* +7: 4 db: number of the retrieved partitions on hard disks
|
||||
at accordingly IDE4,...,IDE7.
|
||||
|
||||
Third IDE controller:
|
||||
* +11: byte: information about hard disks and CD-drives, AABBCCDD,
|
||||
where AA corresponds to the controller IDE8, ..., DD - IDE11:
|
||||
* 0 = device not found
|
||||
* 1 = hard drive
|
||||
* 2 = CD-drive
|
||||
For example, in the case HD on IDE8 and CD on IDE10
|
||||
this field contains 48h.
|
||||
* +12: 4 db: number of the retrieved partitions on hard disks
|
||||
at accordingly IDE8,...,IDE11.
|
||||
at accordingly IDE0,...,IDE3.
|
||||
|
||||
Second IDE controller:
|
||||
* +6: byte: information about hard disks and CD-drives, AABBCCDD,
|
||||
where AA corresponds to the controller IDE4, ..., DD - IDE7:
|
||||
* 0 = device not found
|
||||
* 1 = hard drive
|
||||
* 2 = CD-drive
|
||||
For example, in the case HD on IDE4 and CD on IDE6
|
||||
this field contains 48h.
|
||||
* +7: 4 db: number of the retrieved partitions on hard disks
|
||||
at accordingly IDE4,...,IDE7.
|
||||
|
||||
Third IDE controller:
|
||||
* +11: byte: information about hard disks and CD-drives, AABBCCDD,
|
||||
where AA corresponds to the controller IDE8, ..., DD - IDE11:
|
||||
* 0 = device not found
|
||||
* 1 = hard drive
|
||||
* 2 = CD-drive
|
||||
For example, in the case HD on IDE8 and CD on IDE10
|
||||
this field contains 48h.
|
||||
* +12: 4 db: number of the retrieved partitions on hard disks
|
||||
at accordingly IDE8,...,IDE11.
|
||||
|
||||
If the hard disk on IDEx is absent, appropriate byte is zero,
|
||||
otherwise it shows number of the recognized partitions, which
|
||||
@ -1213,9 +1213,9 @@ Remarks:
|
||||
* To get layout and country identifier use
|
||||
subfunction 2 of function 26.
|
||||
* Country identifier is global system variable, which is not used
|
||||
by the kernel itself; however the application '@panel' displays
|
||||
by the kernel itself; however the application '@taskbar' displays
|
||||
the corresponding icon.
|
||||
* The application @panel switches layouts on user request.
|
||||
* The application @taskbar switches layouts on user request.
|
||||
|
||||
======================================================================
|
||||
========== Function 21, subfunction 5 - set system language. =========
|
||||
@ -1228,7 +1228,7 @@ Returned value:
|
||||
* eax = 0
|
||||
Remarks:
|
||||
* System language is global system variable and is not used
|
||||
by the kernel itself, however application @panel draws the
|
||||
by the kernel itself, however application @taskbar draws the
|
||||
appropriate icon.
|
||||
* Function does not check for correctness, as the kernel does not
|
||||
use this variable.
|
||||
@ -1422,9 +1422,9 @@ Remarks:
|
||||
* To set layout and country identifier use
|
||||
subfunction 2 of function 21.
|
||||
* Country identifier is global system variable, which is not used
|
||||
by the kernel itself; however the application '@panel' displays
|
||||
by the kernel itself; however the application '@taskbar' displays
|
||||
the corresponding icon (using this function).
|
||||
* The application @panel switches layouts on user request.
|
||||
* The application @taskbar switches layouts on user request.
|
||||
|
||||
======================================================================
|
||||
========== Function 26, subfunction 5 - get system language. =========
|
||||
@ -1436,7 +1436,7 @@ Returned value:
|
||||
* eax = system language (1=eng, 2=fi, 3=ger, 4=rus)
|
||||
Remarks:
|
||||
* System language is global system variable and is not used
|
||||
by the kernel itself, however application @panel draws the
|
||||
by the kernel itself, however application @taskbar draws the
|
||||
appropriate icon (using this function).
|
||||
* To set system language use subfunction 5 of function 21.
|
||||
|
||||
@ -1996,7 +1996,7 @@ Remarks:
|
||||
* The screen working area defines position and coordinates of
|
||||
a maximized window.
|
||||
* The screen working area in view of normal work is all screen
|
||||
without system panel (the application '@panel').
|
||||
without taskbar ('@taskbar' application).
|
||||
* (left,top) are coordinates of the left upper corner,
|
||||
(right,bottom) are coordinates of the right lower one.
|
||||
Thus the size of working area on x axis can be calculated by
|
||||
@ -2018,8 +2018,8 @@ Returned value:
|
||||
Remarks:
|
||||
* The screen working area defines position and coordinates of
|
||||
a maximized window.
|
||||
* This function is used only by the application '@panel',
|
||||
which set working area to all screen without system panel.
|
||||
* This function is used only by the application '@taskbar',
|
||||
which set working area to all screen without taskbar.
|
||||
* (left,top) are coordinates of the left upper corner,
|
||||
(right,bottom) are coordinates of the right lower one.
|
||||
Thus the size of working area on x axis can be calculated by
|
||||
|
@ -1,6 +1,6 @@
|
||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
;; ;;
|
||||
;; Copyright (C) KolibriOS team 2013-2014. All rights reserved. ;;
|
||||
;; Copyright (C) KolibriOS team 2013-2015. All rights reserved. ;;
|
||||
;; Distributed under terms of the GNU General Public License ;;
|
||||
;; ;;
|
||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
|
@ -1,6 +1,6 @@
|
||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
;; ;;
|
||||
;; Copyright (C) KolibriOS team 2004-2011. All rights reserved. ;;
|
||||
;; Copyright (C) KolibriOS team 2004-2015. All rights reserved. ;;
|
||||
;; Distributed under terms of the GNU General Public License ;;
|
||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
|
||||
|
@ -2,7 +2,7 @@
|
||||
;; ;;
|
||||
;; Contains ext2 block handling code. ;;
|
||||
;; ;;
|
||||
;; Copyright (C) KolibriOS team 2013-2014. All rights reserved. ;;
|
||||
;; Copyright (C) KolibriOS team 2013-2015. All rights reserved. ;;
|
||||
;; Distributed under terms of the GNU General Public License ;;
|
||||
;; ;;
|
||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
|
@ -2,7 +2,7 @@
|
||||
;; ;;
|
||||
;; Contains ext2 initialization, plus syscall handling code. ;;
|
||||
;; ;;
|
||||
;; Copyright (C) KolibriOS team 2013-2014. All rights reserved. ;;
|
||||
;; Copyright (C) KolibriOS team 2013-2015. All rights reserved. ;;
|
||||
;; Distributed under terms of the GNU General Public License ;;
|
||||
;; ;;
|
||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
|
@ -2,7 +2,7 @@
|
||||
;; ;;
|
||||
;; Contains ext2 structures, and macros. ;;
|
||||
;; ;;
|
||||
;; Copyright (C) KolibriOS team 2013-2014. All rights reserved. ;;
|
||||
;; Copyright (C) KolibriOS team 2013-2015. All rights reserved. ;;
|
||||
;; Distributed under terms of the GNU General Public License ;;
|
||||
;; ;;
|
||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
|
@ -2,7 +2,7 @@
|
||||
;; ;;
|
||||
;; Contains ext2 inode handling code. ;;
|
||||
;; ;;
|
||||
;; Copyright (C) KolibriOS team 2013-2014. All rights reserved. ;;
|
||||
;; Copyright (C) KolibriOS team 2013-2015. All rights reserved. ;;
|
||||
;; Distributed under terms of the GNU General Public License ;;
|
||||
;; ;;
|
||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
|
@ -2,7 +2,7 @@
|
||||
;; ;;
|
||||
;; Contains common resource allocation + freeing code. ;;
|
||||
;; ;;
|
||||
;; Copyright (C) KolibriOS team 2013-2014. All rights reserved. ;;
|
||||
;; Copyright (C) KolibriOS team 2013-2015. All rights reserved. ;;
|
||||
;; Distributed under terms of the GNU General Public License ;;
|
||||
;; ;;
|
||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
|
@ -1,6 +1,6 @@
|
||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
;; ;;
|
||||
;; Copyright (C) KolibriOS team 2004-2013. All rights reserved. ;;
|
||||
;; Copyright (C) KolibriOS team 2004-2015. All rights reserved. ;;
|
||||
;; Distributed under terms of the GNU General Public License ;;
|
||||
;; ;;
|
||||
;; FAT32.INC ;;
|
||||
|
@ -1,6 +1,6 @@
|
||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
;; ;;
|
||||
;; Copyright (C) KolibriOS team 2004-2011. All rights reserved. ;;
|
||||
;; Copyright (C) KolibriOS team 2004-2015. All rights reserved. ;;
|
||||
;; Distributed under terms of the GNU General Public License ;;
|
||||
;; ;;
|
||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
|
@ -1,6 +1,6 @@
|
||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
;; ;;
|
||||
;; Copyright (C) KolibriOS team 2004-2011. All rights reserved. ;;
|
||||
;; Copyright (C) KolibriOS team 2004-2015. All rights reserved. ;;
|
||||
;; Distributed under terms of the GNU General Public License ;;
|
||||
;; ;;
|
||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
|
@ -1,6 +1,6 @@
|
||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
;; ;;
|
||||
;; Copyright (C) KolibriOS team 2004-2013. All rights reserved. ;;
|
||||
;; Copyright (C) KolibriOS team 2004-2015. All rights reserved. ;;
|
||||
;; Distributed under terms of the GNU General Public License ;;
|
||||
;; ;;
|
||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
|
@ -1,6 +1,6 @@
|
||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
;; ;;
|
||||
;; Copyright (C) KolibriOS team 2004-2011. All rights reserved. ;;
|
||||
;; Copyright (C) KolibriOS team 2004-2015. All rights reserved. ;;
|
||||
;; Distributed under terms of the GNU General Public License ;;
|
||||
;; ;;
|
||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
|
@ -1,6 +1,6 @@
|
||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
;; ;;
|
||||
;; Copyright (C) KolibriOS team 2013-2014. All rights reserved. ;;
|
||||
;; Copyright (C) KolibriOS team 2013-2015. All rights reserved. ;;
|
||||
;; Distributed under terms of the GNU General Public License ;;
|
||||
;; ;;
|
||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
|
@ -1,6 +1,6 @@
|
||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
;; ;;
|
||||
;; Copyright (C) KolibriOS team 2013-2014. All rights reserved. ;;
|
||||
;; Copyright (C) KolibriOS team 2013-2015. All rights reserved. ;;
|
||||
;; Distributed under terms of the GNU General Public License ;;
|
||||
;; ;;
|
||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
|
@ -1,6 +1,6 @@
|
||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
;; ;;
|
||||
;; Copyright (C) KolibriOS team 2004-2012. All rights reserved. ;;
|
||||
;; Copyright (C) KolibriOS team 2004-2015. All rights reserved. ;;
|
||||
;; Copyright (C) MenuetOS 2000-2004 Ville Mikael Turjanmaa ;;
|
||||
;; Distributed under terms of the GNU General Public License ;;
|
||||
;; ;;
|
||||
|
@ -1,6 +1,6 @@
|
||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
;; ;;
|
||||
;; Copyright (C) KolibriOS team 2004-2012. All rights reserved. ;;
|
||||
;; Copyright (C) KolibriOS team 2004-2015. All rights reserved. ;;
|
||||
;; Copyright (C) MenuetOS 2000-2004 Ville Mikael Turjanmaa ;;
|
||||
;; Distributed under terms of the GNU General Public License ;;
|
||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
|
@ -1,6 +1,6 @@
|
||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
;; ;;
|
||||
;; Copyright (C) KolibriOS team 2004-2012. All rights reserved. ;;
|
||||
;; Copyright (C) KolibriOS team 2004-2015. All rights reserved. ;;
|
||||
;; Distributed under terms of the GNU General Public License ;;
|
||||
;; ;;
|
||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
|
@ -1,6 +1,6 @@
|
||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
;; ;;
|
||||
;; Copyright (C) KolibriOS team 2010-2012. All rights reserved. ;;
|
||||
;; Copyright (C) KolibriOS team 2010-2015. All rights reserved. ;;
|
||||
;; Distributed under terms of the GNU General Public License ;;
|
||||
;; ;;
|
||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
@ -407,7 +407,7 @@ mouse._.move_handler: ;////////////////////////////////////////////////////////
|
||||
@@:
|
||||
add eax, [mouse.active_sys_window.new_box.height]
|
||||
cmp eax, [_display.height]
|
||||
jle .call_window_handler
|
||||
jl .call_window_handler
|
||||
sub eax, [_display.height]
|
||||
sub [mouse.active_sys_window.new_box.top], eax
|
||||
jmp .call_window_handler
|
||||
@ -486,10 +486,10 @@ mouse._.move_handler: ;////////////////////////////////////////////////////////
|
||||
add eax, [mouse.active_sys_window.new_box.left]
|
||||
cmp eax, [_display.width]
|
||||
jl .call_window_handler
|
||||
sub eax, [_display.height]
|
||||
sub eax, [_display.width]
|
||||
neg eax
|
||||
add [mouse.active_sys_window.new_box.width], eax
|
||||
mov ecx, [_display.height]
|
||||
mov ecx, [_display.width]
|
||||
cmp ecx, eax
|
||||
jg .call_window_handler
|
||||
mov [mouse.active_sys_window.new_box.width], ecx
|
||||
@ -526,7 +526,7 @@ mouse._.find_sys_window_under_cursor: ;////////////////////////////////////////
|
||||
mov esi, [mouse.state.pos.y]
|
||||
mov esi, [d_width_calc_area + esi*4]
|
||||
|
||||
add esi, [_WinMapAddress]
|
||||
add esi, [_display.win_map]
|
||||
add esi, [mouse.state.pos.x]
|
||||
movzx esi, byte[esi]
|
||||
mov edi, esi
|
||||
|
@ -1,6 +1,6 @@
|
||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
;; ;;
|
||||
;; Copyright (C) KolibriOS team 2004-2011. All rights reserved. ;;
|
||||
;; Copyright (C) KolibriOS team 2004-2015. All rights reserved. ;;
|
||||
;; Copyright (C) MenuetOS 2000-2004 Ville Mikael Turjanmaa ;;
|
||||
;; Distributed under terms of the GNU General Public License ;;
|
||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
|
@ -1,6 +1,6 @@
|
||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
;; ;;
|
||||
;; Copyright (C) KolibriOS team 2004-2012. All rights reserved. ;;
|
||||
;; Copyright (C) KolibriOS team 2004-2015. All rights reserved. ;;
|
||||
;; Distributed under terms of the GNU General Public License ;;
|
||||
;; ;;
|
||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user