Auto-update from upstream

Len Brown d3e4cefc 927fe183

+4552 -3810
+2
Documentation/arm/00-INDEX
··· 16 16 - Empeg documentation 17 17 mem_alignment 18 18 - alignment abort handler documentation 19 + memory.txt 20 + - description of the virtual memory layout 19 21 nwfpe 20 22 - NWFPE floating point emulator documentation
+25 -25
Documentation/dvb/README.dvb-usb
··· 50 50 0. History & News: 51 51 2005-06-30 - added support for WideView WT-220U (Thanks to Steve Chang) 52 52 2005-05-30 - added basic isochronous support to the dvb-usb-framework 53 - added support for Conexant Hybrid reference design and Nebula DigiTV USB 53 + added support for Conexant Hybrid reference design and Nebula DigiTV USB 54 54 2005-04-17 - all dibusb devices ported to make use of the dvb-usb-framework 55 55 2005-04-02 - re-enabled and improved remote control code. 56 56 2005-03-31 - ported the Yakumo/Hama/Typhoon DVB-T USB2.0 device to dvb-usb. 57 57 2005-03-30 - first commit of the dvb-usb-module based on the dibusb-source. First device is a new driver for the 58 - TwinhanDTV Alpha / MagicBox II USB2.0-only DVB-T device. 58 + TwinhanDTV Alpha / MagicBox II USB2.0-only DVB-T device. 59 59 60 60 (change from dvb-dibusb to dvb-usb) 61 61 2005-03-28 - added support for the AVerMedia AverTV DVB-T USB2.0 device (Thanks to Glen Harris and Jiun-Kuei Jung, AVerMedia) ··· 64 64 2005-02-02 - added support for the Hauppauge Win-TV Nova-T USB2 65 65 2005-01-31 - distorted streaming is gone for USB1.1 devices 66 66 2005-01-13 - moved the mirrored pid_filter_table back to dvb-dibusb 67 - - first almost working version for HanfTek UMT-010 68 - - found out, that Yakumo/HAMA/Typhoon are predecessors of the HanfTek UMT-010 67 + - first almost working version for HanfTek UMT-010 68 + - found out, that Yakumo/HAMA/Typhoon are predecessors of the HanfTek UMT-010 69 69 2005-01-10 - refactoring completed, now everything is very delightful 70 - - tuner quirks for some weird devices (Artec T1 AN2235 device has sometimes a 71 - Panasonic Tuner assembled). Tunerprobing implemented. Thanks a lot to Gunnar Wittich. 70 + - tuner quirks for some weird devices (Artec T1 AN2235 device has sometimes a 71 + Panasonic Tuner assembled). Tunerprobing implemented. Thanks a lot to Gunnar Wittich. 72 72 2004-12-29 - after several days of struggling around bug of no returning URBs fixed. 73 73 2004-12-26 - refactored the dibusb-driver, splitted into separate files 74 - - i2c-probing enabled 74 + - i2c-probing enabled 75 75 2004-12-06 - possibility for demod i2c-address probing 76 - - new usb IDs (Compro, Artec) 76 + - new usb IDs (Compro, Artec) 77 77 2004-11-23 - merged changes from DiB3000MC_ver2.1 78 - - revised the debugging 79 - - possibility to deliver the complete TS for USB2.0 78 + - revised the debugging 79 + - possibility to deliver the complete TS for USB2.0 80 80 2004-11-21 - first working version of the dib3000mc/p frontend driver. 81 81 2004-11-12 - added additional remote control keys. Thanks to Uwe Hanke. 82 82 2004-11-07 - added remote control support. Thanks to David Matthews. 83 83 2004-11-05 - added support for a new devices (Grandtec/Avermedia/Artec) 84 - - merged my changes (for dib3000mb/dibusb) to the FE_REFACTORING, because it became HEAD 85 - - moved transfer control (pid filter, fifo control) from usb driver to frontend, it seems 86 - better settled there (added xfer_ops-struct) 87 - - created a common files for frontends (mc/p/mb) 84 + - merged my changes (for dib3000mb/dibusb) to the FE_REFACTORING, because it became HEAD 85 + - moved transfer control (pid filter, fifo control) from usb driver to frontend, it seems 86 + better settled there (added xfer_ops-struct) 87 + - created a common files for frontends (mc/p/mb) 88 88 2004-09-28 - added support for a new device (Unkown, vendor ID is Hyper-Paltek) 89 89 2004-09-20 - added support for a new device (Compro DVB-U2000), thanks 90 - to Amaury Demol for reporting 91 - - changed usb TS transfer method (several urbs, stopping transfer 92 - before setting a new pid) 90 + to Amaury Demol for reporting 91 + - changed usb TS transfer method (several urbs, stopping transfer 92 + before setting a new pid) 93 93 2004-09-13 - added support for a new device (Artec T1 USB TVBOX), thanks 94 - to Christian Motschke for reporting 94 + to Christian Motschke for reporting 95 95 2004-09-05 - released the dibusb device and dib3000mb-frontend driver 96 96 97 97 (old news for vp7041.c) 98 98 2004-07-15 - found out, by accident, that the device has a TUA6010XS for 99 - PLL 99 + PLL 100 100 2004-07-12 - figured out, that the driver should also work with the 101 - CTS Portable (Chinese Television System) 101 + CTS Portable (Chinese Television System) 102 102 2004-07-08 - firmware-extraction-2.422-problem solved, driver is now working 103 - properly with firmware extracted from 2.422 104 - - #if for 2.6.4 (dvb), compile issue 105 - - changed firmware handling, see vp7041.txt sec 1.1 103 + properly with firmware extracted from 2.422 104 + - #if for 2.6.4 (dvb), compile issue 105 + - changed firmware handling, see vp7041.txt sec 1.1 106 106 2004-07-02 - some tuner modifications, v0.1, cleanups, first public 107 107 2004-06-28 - now using the dvb_dmx_swfilter_packets, everything 108 - runs fine now 108 + runs fine now 109 109 2004-06-27 - able to watch and switching channels (pre-alpha) 110 - - no section filtering yet 110 + - no section filtering yet 111 111 2004-06-06 - first TS received, but kernel oops :/ 112 112 2004-05-14 - firmware loader is working 113 113 2004-05-11 - start writing the driver
+1 -1
Documentation/dvb/README.flexcop
··· 174 174 Everything which is identical in the following table, can be put into a common 175 175 flexcop-module. 176 176 177 - PCI USB 177 + PCI USB 178 178 ------------------------------------------------------------------------------- 179 179 Different: 180 180 Register access: accessing IO memory USB control message
+1 -1
Documentation/dvb/avermedia.txt
··· 1 1 2 2 HOWTO: Get An Avermedia DVB-T working under Linux 3 - ______________________________________________ 3 + ______________________________________________ 4 4 5 5 Table of Contents 6 6 Assumptions and Introduction
+4 -4
Documentation/dvb/cards.txt
··· 16 16 shielding, and the whole metal box has its own part number. 17 17 18 18 19 - o Frontends drivers: 19 + o Frontends drivers: 20 20 - dvb_dummy_fe: for testing... 21 21 DVB-S: 22 22 - ves1x93 : Alps BSRV2 (ves1893 demodulator) and dbox2 (ves1993) ··· 24 24 - grundig_29504-491 : Grundig 29504-491 (Philips TDA8083 demodulator), tsa5522 PLL 25 25 - mt312 : Zarlink mt312 or Mitel vp310 demodulator, sl1935 or tsa5059 PLL 26 26 - stv0299 : Alps BSRU6 (tsa5059 PLL), LG TDQB-S00x (tsa5059 PLL), 27 - LG TDQF-S001F (sl1935 PLL), Philips SU1278 (tua6100 PLL), 27 + LG TDQF-S001F (sl1935 PLL), Philips SU1278 (tua6100 PLL), 28 28 Philips SU1278SH (tsa5059 PLL), Samsung TBMU24112IMB 29 29 DVB-C: 30 30 - ves1820 : various (ves1820 demodulator, sp5659c or spXXXX PLL) ··· 35 35 - grundig_29504-401 : Grundig 29504-401 (LSI L64781 demodulator), tsa5060 PLL 36 36 - tda1004x : Philips tda10045h (td1344 or tdm1316l PLL) 37 37 - nxt6000 : Alps TDME7 (MITEL SP5659 PLL), Alps TDED4 (TI ALP510 PLL), 38 - Comtech DVBT-6k07 (SP5730 PLL) 39 - (NxtWave Communications NXT6000 demodulator) 38 + Comtech DVBT-6k07 (SP5730 PLL) 39 + (NxtWave Communications NXT6000 demodulator) 40 40 - sp887x : Microtune 7202D 41 41 - dib3000mb : DiBcom 3000-MB demodulator 42 42 DVB-S/C/T:
+2 -2
Documentation/dvb/contributors.txt
··· 15 15 16 16 Diego Picciani <d.picciani@novacomp.it> 17 17 for CyberLogin for Linux which allows logging onto EON 18 - (in case you are wondering where CyberLogin is, EON changed its login 18 + (in case you are wondering where CyberLogin is, EON changed its login 19 19 procedure and CyberLogin is no longer used.) 20 20 21 21 Martin Schaller <martin@smurf.franken.de> ··· 57 57 Davor Emard <emard@softhome.net> 58 58 for his work on the budget drivers, the demux code, 59 59 the module unloading problems, ... 60 - 60 + 61 61 Hans-Frieder Vogt <hfvogt@arcor.de> 62 62 for his work on calculating and checking the crc's for the 63 63 TechnoTrend/Hauppauge DEC driver firmware
+2 -2
Documentation/dvb/readme.txt
··· 20 20 21 21 What's inside this directory: 22 22 23 - "cards.txt" 23 + "cards.txt" 24 24 contains a list of supported hardware. 25 25 26 26 "contributors.txt" ··· 37 37 contains detailed informations about the 38 38 TT DEC2000/DEC3000 USB DVB hardware. 39 39 40 - "bt8xx.txt" 40 + "bt8xx.txt" 41 41 contains detailed installation instructions for the 42 42 various bt8xx based "budget" DVB cards 43 43 (Nebula, Pinnacle PCTV, Twinhan DST)
+11 -11
Documentation/filesystems/ext3.txt
··· 57 57 we'd like to get some feedback if it's the contrary for 58 58 you. 59 59 60 - user_xattr (*) Enables POSIX Extended Attributes. It's enabled by 61 - default, however you need to confifure its support 62 - (CONFIG_EXT3_FS_XATTR). This is neccesary if you want 63 - to use POSIX Acces Control Lists support. You can visit 64 - http://acl.bestbits.at to know more about POSIX Extended 65 - attributes. 60 + user_xattr Enables Extended User Attributes. Additionally, you need 61 + to have extended attribute support enabled in the kernel 62 + configuration (CONFIG_EXT3_FS_XATTR). See the attr(5) 63 + manual page and http://acl.bestbits.at to learn more 64 + about extended attributes. 66 65 67 - nouser_xattr Disables POSIX Extended Attributes. 66 + nouser_xattr Disables Extended User Attributes. 68 67 69 - acl (*) Enables POSIX Access Control Lists support. This is 70 - enabled by default, however you need to configure 71 - its support (CONFIG_EXT3_FS_POSIX_ACL). If you want 72 - to know more about ACLs visit http://acl.bestbits.at 68 + acl Enables POSIX Access Control Lists support. Additionally, 69 + you need to have ACL support enabled in the kernel 70 + configuration (CONFIG_EXT3_FS_POSIX_ACL). See the acl(5) 71 + manual page and http://acl.bestbits.at for more 72 + information. 73 73 74 74 noacl This option disables POSIX Access Control List support. 75 75
+2 -2
MAINTAINERS
··· 1284 1284 S: Supported 1285 1285 1286 1286 INPUT (KEYBOARD, MOUSE, JOYSTICK) DRIVERS 1287 - P: Vojtech Pavlik 1288 - M: vojtech@suse.cz 1287 + P: Dmitry Torokhov 1288 + M: dtor_core@ameritech.net 1289 1289 L: linux-input@atrey.karlin.mff.cuni.cz 1290 1290 L: linux-joystick@atrey.karlin.mff.cuni.cz 1291 1291 T: git kernel.org:/pub/scm/linux/kernel/git/dtor/input.git
+1 -1
Makefile
··· 408 408 # of make so .config is not included in this case either (for *config). 409 409 410 410 no-dot-config-targets := clean mrproper distclean \ 411 - cscope TAGS tags help %docs check% kernelrelease 411 + cscope TAGS tags help %docs check% 412 412 413 413 config-targets := 0 414 414 mixed-targets := 0
+9
arch/arm/kernel/ptrace.c
··· 242 242 */ 243 243 long aluop1, aluop2, ccbit; 244 244 245 + if ((insn & 0x0fffffd0) == 0x012fff10) { 246 + /* 247 + * bx or blx 248 + */ 249 + alt = get_user_reg(child, insn & 15); 250 + break; 251 + } 252 + 253 + 245 254 if ((insn & 0xf000) != 0xf000) 246 255 break; 247 256
+1 -1
arch/i386/kernel/kprobes.c
··· 191 191 */ 192 192 save_previous_kprobe(kcb); 193 193 set_current_kprobe(p, regs, kcb); 194 - p->nmissed++; 194 + kprobes_inc_nmissed_count(p); 195 195 prepare_singlestep(p, regs); 196 196 kcb->kprobe_status = KPROBE_REENTER; 197 197 return 1;
+1 -2
arch/i386/kernel/smpboot.c
··· 1338 1338 if (cpu == 0) 1339 1339 return -EBUSY; 1340 1340 1341 - /* We enable the timer again on the exit path of the death loop */ 1342 - disable_APIC_timer(); 1341 + clear_local_APIC(); 1343 1342 /* Allow any queued timer interrupts to get serviced */ 1344 1343 local_irq_enable(); 1345 1344 mdelay(1);
-7
arch/i386/kernel/traps.c
··· 650 650 651 651 cpu = smp_processor_id(); 652 652 653 - #ifdef CONFIG_HOTPLUG_CPU 654 - if (!cpu_online(cpu)) { 655 - nmi_exit(); 656 - return; 657 - } 658 - #endif 659 - 660 653 ++nmi_count(cpu); 661 654 662 655 if (!rcu_dereference(nmi_callback)(regs, cpu))
+29 -8
arch/i386/mm/ioremap.c
··· 223 223 } 224 224 EXPORT_SYMBOL(ioremap_nocache); 225 225 226 + /** 227 + * iounmap - Free a IO remapping 228 + * @addr: virtual address from ioremap_* 229 + * 230 + * Caller must ensure there is only one unmapping for the same pointer. 231 + */ 226 232 void iounmap(volatile void __iomem *addr) 227 233 { 228 - struct vm_struct *p; 234 + struct vm_struct *p, *o; 229 235 230 236 if ((void __force *)addr <= high_memory) 231 237 return; ··· 245 239 addr < phys_to_virt(ISA_END_ADDRESS)) 246 240 return; 247 241 248 - write_lock(&vmlist_lock); 249 - p = __remove_vm_area((void *)(PAGE_MASK & (unsigned long __force)addr)); 250 - if (!p) { 251 - printk(KERN_WARNING "iounmap: bad address %p\n", addr); 242 + addr = (volatile void *)(PAGE_MASK & (unsigned long __force)addr); 243 + 244 + /* Use the vm area unlocked, assuming the caller 245 + ensures there isn't another iounmap for the same address 246 + in parallel. Reuse of the virtual address is prevented by 247 + leaving it in the global lists until we're done with it. 248 + cpa takes care of the direct mappings. */ 249 + read_lock(&vmlist_lock); 250 + for (p = vmlist; p; p = p->next) { 251 + if (p->addr == addr) 252 + break; 253 + } 254 + read_unlock(&vmlist_lock); 255 + 256 + if (!p) { 257 + printk("iounmap: bad address %p\n", addr); 252 258 dump_stack(); 253 - goto out_unlock; 259 + return; 254 260 } 255 261 262 + /* Reset the direct mapping. Can block */ 256 263 if ((p->flags >> 20) && p->phys_addr < virt_to_phys(high_memory) - 1) { 257 264 change_page_attr(virt_to_page(__va(p->phys_addr)), 258 265 p->size >> PAGE_SHIFT, 259 266 PAGE_KERNEL); 260 267 global_flush_tlb(); 261 268 } 262 - out_unlock: 263 - write_unlock(&vmlist_lock); 269 + 270 + /* Finally remove it */ 271 + o = remove_vm_area((void *)addr); 272 + BUG_ON(p != o || o == NULL); 264 273 kfree(p); 265 274 } 266 275 EXPORT_SYMBOL(iounmap);
+2 -2
arch/i386/pci/direct.c
··· 13 13 #define PCI_CONF1_ADDRESS(bus, devfn, reg) \ 14 14 (0x80000000 | (bus << 16) | (devfn << 8) | (reg & ~3)) 15 15 16 - static int pci_conf1_read(unsigned int seg, unsigned int bus, 16 + int pci_conf1_read(unsigned int seg, unsigned int bus, 17 17 unsigned int devfn, int reg, int len, u32 *value) 18 18 { 19 19 unsigned long flags; ··· 42 42 return 0; 43 43 } 44 44 45 - static int pci_conf1_write(unsigned int seg, unsigned int bus, 45 + int pci_conf1_write(unsigned int seg, unsigned int bus, 46 46 unsigned int devfn, int reg, int len, u32 value) 47 47 { 48 48 unsigned long flags;
+56 -9
arch/i386/pci/mmconfig.c
··· 19 19 /* The base address of the last MMCONFIG device accessed */ 20 20 static u32 mmcfg_last_accessed_device; 21 21 22 + static DECLARE_BITMAP(fallback_slots, 32); 23 + 22 24 /* 23 25 * Functions for accessing PCI configuration space with MMCONFIG accesses 24 26 */ 25 - static u32 get_base_addr(unsigned int seg, int bus) 27 + static u32 get_base_addr(unsigned int seg, int bus, unsigned devfn) 26 28 { 27 29 int cfg_num = -1; 28 30 struct acpi_table_mcfg_config *cfg; 29 31 32 + if (seg == 0 && bus == 0 && 33 + test_bit(PCI_SLOT(devfn), fallback_slots)) 34 + return 0; 35 + 30 36 while (1) { 31 37 ++cfg_num; 32 38 if (cfg_num >= pci_mmcfg_config_num) { 33 - /* something bad is going on, no cfg table is found. */ 34 - /* so we fall back to the old way we used to do this */ 35 - /* and just rely on the first entry to be correct. */ 36 - return pci_mmcfg_config[0].base_address; 39 + /* Not found - fallback to type 1 */ 40 + return 0; 37 41 } 38 42 cfg = &pci_mmcfg_config[cfg_num]; 39 43 if (cfg->pci_segment_group_number != seg) ··· 48 44 } 49 45 } 50 46 51 - static inline void pci_exp_set_dev_base(unsigned int seg, int bus, int devfn) 47 + static inline void pci_exp_set_dev_base(unsigned int base, int bus, int devfn) 52 48 { 53 - u32 dev_base = get_base_addr(seg, bus) | (bus << 20) | (devfn << 12); 49 + u32 dev_base = base | (bus << 20) | (devfn << 12); 54 50 if (dev_base != mmcfg_last_accessed_device) { 55 51 mmcfg_last_accessed_device = dev_base; 56 52 set_fixmap_nocache(FIX_PCIE_MCFG, dev_base); ··· 61 57 unsigned int devfn, int reg, int len, u32 *value) 62 58 { 63 59 unsigned long flags; 60 + u32 base; 64 61 65 62 if (!value || (bus > 255) || (devfn > 255) || (reg > 4095)) 66 63 return -EINVAL; 67 64 65 + base = get_base_addr(seg, bus, devfn); 66 + if (!base) 67 + return pci_conf1_read(seg,bus,devfn,reg,len,value); 68 + 68 69 spin_lock_irqsave(&pci_config_lock, flags); 69 70 70 - pci_exp_set_dev_base(seg, bus, devfn); 71 + pci_exp_set_dev_base(base, bus, devfn); 71 72 72 73 switch (len) { 73 74 case 1: ··· 95 86 unsigned int devfn, int reg, int len, u32 value) 96 87 { 97 88 unsigned long flags; 89 + u32 base; 98 90 99 91 if ((bus > 255) || (devfn > 255) || (reg > 4095)) 100 92 return -EINVAL; 101 93 94 + base = get_base_addr(seg, bus, devfn); 95 + if (!base) 96 + return pci_conf1_write(seg,bus,devfn,reg,len,value); 97 + 102 98 spin_lock_irqsave(&pci_config_lock, flags); 103 99 104 - pci_exp_set_dev_base(seg, bus, devfn); 100 + pci_exp_set_dev_base(base, bus, devfn); 105 101 106 102 switch (len) { 107 103 case 1: ··· 130 116 .write = pci_mmcfg_write, 131 117 }; 132 118 119 + /* K8 systems have some devices (typically in the builtin northbridge) 120 + that are only accessible using type1 121 + Normally this can be expressed in the MCFG by not listing them 122 + and assigning suitable _SEGs, but this isn't implemented in some BIOS. 123 + Instead try to discover all devices on bus 0 that are unreachable using MM 124 + and fallback for them. 125 + We only do this for bus 0/seg 0 */ 126 + static __init void unreachable_devices(void) 127 + { 128 + int i; 129 + unsigned long flags; 130 + 131 + for (i = 0; i < 32; i++) { 132 + u32 val1; 133 + u32 addr; 134 + 135 + pci_conf1_read(0, 0, PCI_DEVFN(i, 0), 0, 4, &val1); 136 + if (val1 == 0xffffffff) 137 + continue; 138 + 139 + /* Locking probably not needed, but safer */ 140 + spin_lock_irqsave(&pci_config_lock, flags); 141 + addr = get_base_addr(0, 0, PCI_DEVFN(i, 0)); 142 + if (addr != 0) 143 + pci_exp_set_dev_base(addr, 0, PCI_DEVFN(i, 0)); 144 + if (addr == 0 || readl((u32 *)addr) != val1) 145 + set_bit(i, fallback_slots); 146 + spin_unlock_irqrestore(&pci_config_lock, flags); 147 + } 148 + } 149 + 133 150 static int __init pci_mmcfg_init(void) 134 151 { 135 152 if ((pci_probe & PCI_PROBE_MMCONF) == 0) ··· 175 130 printk(KERN_INFO "PCI: Using MMCONFIG\n"); 176 131 raw_pci_ops = &pci_mmcfg; 177 132 pci_probe = (pci_probe & ~PCI_PROBE_MASK) | PCI_PROBE_MMCONF; 133 + 134 + unreachable_devices(); 178 135 179 136 out: 180 137 return 0;
+7
arch/i386/pci/pci.h
··· 74 74 75 75 extern int (*pcibios_enable_irq)(struct pci_dev *dev); 76 76 extern void (*pcibios_disable_irq)(struct pci_dev *dev); 77 + 78 + extern int pci_conf1_write(unsigned int seg, unsigned int bus, 79 + unsigned int devfn, int reg, int len, u32 value); 80 + extern int pci_conf1_read(unsigned int seg, unsigned int bus, 81 + unsigned int devfn, int reg, int len, u32 *value); 82 + 83 +
+1 -1
arch/ia64/Kconfig
··· 58 58 bool 59 59 select GENERIC_ALLOCATOR 60 60 61 - config ZONE_DMA_IS_DMA32 61 + config DMA_IS_DMA32 62 62 bool 63 63 default y 64 64
+109 -43
arch/ia64/configs/sn2_defconfig
··· 1 1 # 2 2 # Automatically generated make config: don't edit 3 - # Linux kernel version: 2.6.13-rc6 4 - # Tue Aug 16 14:40:41 2005 3 + # Linux kernel version: 2.6.15-rc4 4 + # Fri Dec 2 10:33:48 2005 5 5 # 6 6 7 7 # ··· 16 16 # General setup 17 17 # 18 18 CONFIG_LOCALVERSION="" 19 + # CONFIG_LOCALVERSION_AUTO is not set 19 20 CONFIG_SWAP=y 20 21 CONFIG_SYSVIPC=y 21 22 CONFIG_POSIX_MQUEUE=y ··· 27 26 CONFIG_KOBJECT_UEVENT=y 28 27 # CONFIG_IKCONFIG is not set 29 28 CONFIG_CPUSETS=y 29 + CONFIG_INITRAMFS_SOURCE="" 30 30 # CONFIG_EMBEDDED is not set 31 31 CONFIG_KALLSYMS=y 32 32 CONFIG_KALLSYMS_ALL=y ··· 58 56 CONFIG_STOP_MACHINE=y 59 57 60 58 # 59 + # Block layer 60 + # 61 + 62 + # 63 + # IO Schedulers 64 + # 65 + CONFIG_IOSCHED_NOOP=y 66 + CONFIG_IOSCHED_AS=y 67 + CONFIG_IOSCHED_DEADLINE=y 68 + CONFIG_IOSCHED_CFQ=y 69 + CONFIG_DEFAULT_AS=y 70 + # CONFIG_DEFAULT_DEADLINE is not set 71 + # CONFIG_DEFAULT_CFQ is not set 72 + # CONFIG_DEFAULT_NOOP is not set 73 + CONFIG_DEFAULT_IOSCHED="anticipatory" 74 + 75 + # 61 76 # Processor type and features 62 77 # 63 78 CONFIG_IA64=y 64 79 CONFIG_64BIT=y 65 80 CONFIG_MMU=y 81 + CONFIG_SWIOTLB=y 66 82 CONFIG_RWSEM_XCHGADD_ALGORITHM=y 67 83 CONFIG_GENERIC_CALIBRATE_DELAY=y 68 84 CONFIG_TIME_INTERPOLATION=y ··· 88 68 CONFIG_GENERIC_IOMAP=y 89 69 CONFIG_SCHED_NO_NO_OMIT_FRAME_POINTER=y 90 70 CONFIG_IA64_UNCACHED_ALLOCATOR=y 71 + CONFIG_ZONE_DMA_IS_DMA32=y 91 72 # CONFIG_IA64_GENERIC is not set 92 73 # CONFIG_IA64_DIG is not set 93 74 # CONFIG_IA64_HP_ZX1 is not set ··· 108 87 # CONFIG_HZ_1000 is not set 109 88 CONFIG_HZ=250 110 89 CONFIG_IA64_L1_CACHE_SHIFT=7 111 - CONFIG_NUMA=y 112 - CONFIG_VIRTUAL_MEM_MAP=y 113 - CONFIG_HOLES_IN_ZONE=y 114 - CONFIG_ARCH_DISCONTIGMEM_ENABLE=y 115 90 # CONFIG_IA64_CYCLONE is not set 116 91 CONFIG_IOSAPIC=y 117 92 CONFIG_IA64_SGI_SN_XP=m 118 - CONFIG_FORCE_MAX_ZONEORDER=18 93 + CONFIG_FORCE_MAX_ZONEORDER=17 119 94 CONFIG_SMP=y 120 95 CONFIG_NR_CPUS=512 121 96 # CONFIG_HOTPLUG_CPU is not set ··· 124 107 CONFIG_DISCONTIGMEM=y 125 108 CONFIG_FLAT_NODE_MEM_MAP=y 126 109 CONFIG_NEED_MULTIPLE_NODES=y 127 - CONFIG_HAVE_DEC_LOCK=y 110 + # CONFIG_SPARSEMEM_STATIC is not set 111 + CONFIG_SPLIT_PTLOCK_CPUS=4 112 + CONFIG_ARCH_SELECT_MEMORY_MODEL=y 113 + CONFIG_ARCH_DISCONTIGMEM_ENABLE=y 114 + CONFIG_ARCH_FLATMEM_ENABLE=y 115 + CONFIG_ARCH_SPARSEMEM_ENABLE=y 116 + CONFIG_ARCH_DISCONTIGMEM_DEFAULT=y 117 + CONFIG_NUMA=y 118 + CONFIG_VIRTUAL_MEM_MAP=y 119 + CONFIG_HOLES_IN_ZONE=y 120 + CONFIG_HAVE_ARCH_EARLY_PFN_TO_NID=y 128 121 CONFIG_IA32_SUPPORT=y 129 122 CONFIG_COMPAT=y 130 123 CONFIG_IA64_MCA_RECOVERY=y ··· 153 126 # Power management and ACPI 154 127 # 155 128 CONFIG_PM=y 156 - CONFIG_ACPI=y 129 + # CONFIG_PM_LEGACY is not set 130 + # CONFIG_PM_DEBUG is not set 157 131 158 132 # 159 133 # ACPI (Advanced Configuration and Power Interface) Support 160 134 # 135 + CONFIG_ACPI=y 161 136 # CONFIG_ACPI_BUTTON is not set 162 137 # CONFIG_ACPI_FAN is not set 163 138 # CONFIG_ACPI_PROCESSOR is not set 164 139 CONFIG_ACPI_NUMA=y 140 + CONFIG_ACPI_BLACKLIST_YEAR=0 165 141 # CONFIG_ACPI_DEBUG is not set 166 142 CONFIG_ACPI_POWER=y 167 143 CONFIG_ACPI_SYSTEM=y 168 144 # CONFIG_ACPI_CONTAINER is not set 145 + 146 + # 147 + # CPU Frequency scaling 148 + # 149 + # CONFIG_CPU_FREQ is not set 169 150 170 151 # 171 152 # Bus options (PCI, PCMCIA) ··· 182 147 CONFIG_PCI_DOMAINS=y 183 148 # CONFIG_PCI_MSI is not set 184 149 CONFIG_PCI_LEGACY_PROC=y 185 - CONFIG_PCI_NAMES=y 186 150 # CONFIG_PCI_DEBUG is not set 187 151 188 152 # ··· 225 191 # CONFIG_INET_ESP is not set 226 192 # CONFIG_INET_IPCOMP is not set 227 193 # CONFIG_INET_TUNNEL is not set 228 - CONFIG_IP_TCPDIAG=y 229 - # CONFIG_IP_TCPDIAG_IPV6 is not set 194 + CONFIG_INET_DIAG=m 195 + CONFIG_INET_TCP_DIAG=m 230 196 # CONFIG_TCP_CONG_ADVANCED is not set 231 197 CONFIG_TCP_CONG_BIC=y 232 198 CONFIG_IPV6=m ··· 237 203 # CONFIG_INET6_TUNNEL is not set 238 204 # CONFIG_IPV6_TUNNEL is not set 239 205 # CONFIG_NETFILTER is not set 206 + 207 + # 208 + # DCCP Configuration (EXPERIMENTAL) 209 + # 210 + # CONFIG_IP_DCCP is not set 240 211 241 212 # 242 213 # SCTP Configuration (EXPERIMENTAL) ··· 259 220 # CONFIG_NET_DIVERT is not set 260 221 # CONFIG_ECONET is not set 261 222 # CONFIG_WAN_ROUTER is not set 223 + 224 + # 225 + # QoS and/or fair queueing 226 + # 262 227 # CONFIG_NET_SCHED is not set 263 - # CONFIG_NET_CLS_ROUTE is not set 264 228 265 229 # 266 230 # Network testing ··· 272 230 # CONFIG_HAMRADIO is not set 273 231 # CONFIG_IRDA is not set 274 232 # CONFIG_BT is not set 233 + # CONFIG_IEEE80211 is not set 275 234 276 235 # 277 236 # Device Drivers ··· 285 242 CONFIG_PREVENT_FIRMWARE_BUILD=y 286 243 CONFIG_FW_LOADER=y 287 244 # CONFIG_DEBUG_DRIVER is not set 245 + 246 + # 247 + # Connector - unified userspace <-> kernelspace linker 248 + # 249 + # CONFIG_CONNECTOR is not set 288 250 289 251 # 290 252 # Memory Technology Devices (MTD) ··· 323 275 CONFIG_BLK_DEV_RAM_COUNT=16 324 276 CONFIG_BLK_DEV_RAM_SIZE=4096 325 277 CONFIG_BLK_DEV_INITRD=y 326 - CONFIG_INITRAMFS_SOURCE="" 327 278 # CONFIG_CDROM_PKTCDVD is not set 328 - 329 - # 330 - # IO Schedulers 331 - # 332 - CONFIG_IOSCHED_NOOP=y 333 - CONFIG_IOSCHED_AS=y 334 - CONFIG_IOSCHED_DEADLINE=y 335 - CONFIG_IOSCHED_CFQ=y 336 279 CONFIG_ATA_OVER_ETH=m 337 280 338 281 # ··· 388 349 # 389 350 # SCSI device support 390 351 # 352 + # CONFIG_RAID_ATTRS is not set 391 353 CONFIG_SCSI=y 392 354 CONFIG_SCSI_PROC_FS=y 393 355 ··· 415 375 # 416 376 CONFIG_SCSI_SPI_ATTRS=y 417 377 CONFIG_SCSI_FC_ATTRS=y 418 - # CONFIG_SCSI_ISCSI_ATTRS is not set 378 + CONFIG_SCSI_ISCSI_ATTRS=m 379 + CONFIG_SCSI_SAS_ATTRS=y 419 380 420 381 # 421 382 # SCSI low-level drivers 422 383 # 384 + CONFIG_ISCSI_TCP=m 423 385 # CONFIG_BLK_DEV_3W_XXXX_RAID is not set 424 386 # CONFIG_SCSI_3W_9XXX is not set 425 387 # CONFIG_SCSI_ACARD is not set ··· 431 389 # CONFIG_SCSI_AIC79XX is not set 432 390 # CONFIG_MEGARAID_NEWGEN is not set 433 391 # CONFIG_MEGARAID_LEGACY is not set 392 + # CONFIG_MEGARAID_SAS is not set 434 393 CONFIG_SCSI_SATA=y 435 394 # CONFIG_SCSI_SATA_AHCI is not set 436 395 # CONFIG_SCSI_SATA_SVW is not set 437 396 # CONFIG_SCSI_ATA_PIIX is not set 397 + # CONFIG_SCSI_SATA_MV is not set 438 398 # CONFIG_SCSI_SATA_NV is not set 439 - # CONFIG_SCSI_SATA_PROMISE is not set 399 + # CONFIG_SCSI_PDC_ADMA is not set 440 400 # CONFIG_SCSI_SATA_QSTOR is not set 401 + # CONFIG_SCSI_SATA_PROMISE is not set 441 402 # CONFIG_SCSI_SATA_SX4 is not set 442 403 # CONFIG_SCSI_SATA_SIL is not set 404 + # CONFIG_SCSI_SATA_SIL24 is not set 443 405 # CONFIG_SCSI_SATA_SIS is not set 444 406 # CONFIG_SCSI_SATA_ULI is not set 445 407 # CONFIG_SCSI_SATA_VIA is not set ··· 457 411 # CONFIG_SCSI_IPR is not set 458 412 # CONFIG_SCSI_QLOGIC_FC is not set 459 413 CONFIG_SCSI_QLOGIC_1280=y 460 - # CONFIG_SCSI_QLOGIC_1280_1040 is not set 461 414 CONFIG_SCSI_QLA2XXX=y 462 415 # CONFIG_SCSI_QLA21XX is not set 463 416 CONFIG_SCSI_QLA22XX=y ··· 496 451 CONFIG_FUSION=y 497 452 CONFIG_FUSION_SPI=y 498 453 CONFIG_FUSION_FC=y 454 + CONFIG_FUSION_SAS=y 499 455 CONFIG_FUSION_MAX_SGE=128 500 456 CONFIG_FUSION_CTL=m 501 457 ··· 525 479 # CONFIG_ARCNET is not set 526 480 527 481 # 482 + # PHY device support 483 + # 484 + 485 + # 528 486 # Ethernet (10 or 100Mbit) 529 487 # 530 488 # CONFIG_NET_ETHERNET is not set ··· 543 493 # CONFIG_HAMACHI is not set 544 494 # CONFIG_YELLOWFIN is not set 545 495 # CONFIG_R8169 is not set 496 + # CONFIG_SIS190 is not set 546 497 # CONFIG_SKGE is not set 547 498 # CONFIG_SK98LIN is not set 548 499 CONFIG_TIGON3=y ··· 552 501 # 553 502 # Ethernet (10000 Mbit) 554 503 # 504 + CONFIG_CHELSIO_T1=m 555 505 # CONFIG_IXGB is not set 556 506 CONFIG_S2IO=m 557 507 # CONFIG_S2IO_NAPI is not set 558 - # CONFIG_2BUFF_MODE is not set 559 508 560 509 # 561 510 # Token Ring devices ··· 634 583 CONFIG_SERIAL_NONSTANDARD=y 635 584 # CONFIG_ROCKETPORT is not set 636 585 # CONFIG_CYCLADES is not set 586 + # CONFIG_DIGIEPCA is not set 637 587 # CONFIG_MOXA_SMARTIO is not set 638 588 # CONFIG_ISI is not set 639 589 # CONFIG_SYNCLINKMP is not set ··· 681 629 # 682 630 # Ftape, the floppy tape device driver 683 631 # 684 - # CONFIG_AGP is not set 632 + CONFIG_AGP=y 633 + CONFIG_AGP_SGI_TIOCA=y 685 634 # CONFIG_DRM is not set 686 635 CONFIG_RAW_DRIVER=m 687 636 # CONFIG_HPET is not set ··· 694 641 # TPM devices 695 642 # 696 643 # CONFIG_TCG_TPM is not set 644 + # CONFIG_TELCLOCK is not set 697 645 698 646 # 699 647 # I2C support 700 648 # 701 649 # CONFIG_I2C is not set 702 - # CONFIG_I2C_SENSOR is not set 703 650 704 651 # 705 652 # Dallas's 1-wire bus ··· 710 657 # Hardware Monitoring support 711 658 # 712 659 # CONFIG_HWMON is not set 660 + # CONFIG_HWMON_VID is not set 713 661 714 662 # 715 663 # Misc devices 664 + # 665 + 666 + # 667 + # Multimedia Capabilities Port drivers 716 668 # 717 669 718 670 # ··· 779 721 # 780 722 # USB Device Class drivers 781 723 # 782 - # CONFIG_USB_BLUETOOTH_TTY is not set 783 724 # CONFIG_USB_ACM is not set 784 725 # CONFIG_USB_PRINTER is not set 785 726 786 727 # 787 - # NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support' may also be needed; see USB_STORAGE Help for more information 728 + # NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support' 729 + # 730 + 731 + # 732 + # may also be needed; see USB_STORAGE Help for more information 788 733 # 789 734 # CONFIG_USB_STORAGE is not set 790 735 ··· 812 751 # CONFIG_USB_MTOUCH is not set 813 752 # CONFIG_USB_ITMTOUCH is not set 814 753 # CONFIG_USB_EGALAX is not set 754 + # CONFIG_USB_YEALINK is not set 815 755 # CONFIG_USB_XPAD is not set 816 756 # CONFIG_USB_ATI_REMOTE is not set 817 757 # CONFIG_USB_KEYSPAN_REMOTE is not set 758 + # CONFIG_USB_APPLETOUCH is not set 818 759 819 760 # 820 761 # USB Imaging devices ··· 887 824 # InfiniBand support 888 825 # 889 826 CONFIG_INFINIBAND=m 890 - CONFIG_INFINIBAND_USER_VERBS=m 827 + # CONFIG_INFINIBAND_USER_MAD is not set 828 + CONFIG_INFINIBAND_USER_ACCESS=m 891 829 CONFIG_INFINIBAND_MTHCA=m 892 830 # CONFIG_INFINIBAND_MTHCA_DEBUG is not set 893 831 CONFIG_INFINIBAND_IPOIB=m 894 832 # CONFIG_INFINIBAND_IPOIB_DEBUG is not set 833 + CONFIG_INFINIBAND_SRP=m 895 834 896 835 # 897 836 # SN Devices ··· 923 858 CONFIG_REISERFS_FS_SECURITY=y 924 859 # CONFIG_JFS_FS is not set 925 860 CONFIG_FS_POSIX_ACL=y 926 - 927 - # 928 - # XFS support 929 - # 930 861 CONFIG_XFS_FS=y 931 862 CONFIG_XFS_EXPORT=y 932 - CONFIG_XFS_RT=y 933 863 CONFIG_XFS_QUOTA=y 934 864 # CONFIG_XFS_SECURITY is not set 935 865 CONFIG_XFS_POSIX_ACL=y 866 + CONFIG_XFS_RT=y 936 867 # CONFIG_MINIX_FS is not set 937 868 # CONFIG_ROMFS_FS is not set 938 869 CONFIG_INOTIFY=y ··· 939 878 CONFIG_DNOTIFY=y 940 879 CONFIG_AUTOFS_FS=m 941 880 CONFIG_AUTOFS4_FS=m 881 + CONFIG_FUSE_FS=m 942 882 943 883 # 944 884 # CD-ROM/DVD Filesystems ··· 966 904 CONFIG_PROC_FS=y 967 905 CONFIG_PROC_KCORE=y 968 906 CONFIG_SYSFS=y 969 - # CONFIG_DEVPTS_FS_XATTR is not set 970 907 CONFIG_TMPFS=y 971 - CONFIG_TMPFS_XATTR=y 972 - CONFIG_TMPFS_SECURITY=y 973 908 CONFIG_HUGETLBFS=y 974 909 CONFIG_HUGETLB_PAGE=y 975 910 CONFIG_RAMFS=y 911 + CONFIG_RELAYFS_FS=m 976 912 977 913 # 978 914 # Miscellaneous filesystems ··· 1019 959 # CONFIG_NCP_FS is not set 1020 960 # CONFIG_CODA_FS is not set 1021 961 # CONFIG_AFS_FS is not set 962 + # CONFIG_9P_FS is not set 1022 963 1023 964 # 1024 965 # Partition Types ··· 1089 1028 # Library routines 1090 1029 # 1091 1030 # CONFIG_CRC_CCITT is not set 1031 + CONFIG_CRC16=m 1092 1032 CONFIG_CRC32=y 1093 - # CONFIG_LIBCRC32C is not set 1033 + CONFIG_LIBCRC32C=m 1094 1034 CONFIG_ZLIB_INFLATE=m 1095 1035 CONFIG_ZLIB_DEFLATE=m 1096 1036 CONFIG_GENERIC_ALLOCATOR=y 1097 1037 CONFIG_GENERIC_HARDIRQS=y 1098 1038 CONFIG_GENERIC_IRQ_PROBE=y 1039 + CONFIG_GENERIC_PENDING_IRQ=y 1099 1040 1100 1041 # 1101 - # Profiling support 1042 + # Instrumentation Support 1102 1043 # 1103 1044 # CONFIG_PROFILING is not set 1045 + # CONFIG_KPROBES is not set 1104 1046 1105 1047 # 1106 1048 # Kernel hacking ··· 1112 1048 CONFIG_DEBUG_KERNEL=y 1113 1049 CONFIG_MAGIC_SYSRQ=y 1114 1050 CONFIG_LOG_BUF_SHIFT=20 1051 + CONFIG_DETECT_SOFTLOCKUP=y 1115 1052 # CONFIG_SCHEDSTATS is not set 1116 1053 # CONFIG_DEBUG_SLAB is not set 1117 1054 CONFIG_DEBUG_PREEMPT=y ··· 1121 1056 # CONFIG_DEBUG_KOBJECT is not set 1122 1057 CONFIG_DEBUG_INFO=y 1123 1058 # CONFIG_DEBUG_FS is not set 1124 - # CONFIG_KPROBES is not set 1059 + # CONFIG_DEBUG_VM is not set 1060 + # CONFIG_RCU_TORTURE_TEST is not set 1125 1061 CONFIG_IA64_GRANULE_16MB=y 1126 1062 # CONFIG_IA64_GRANULE_64MB is not set 1127 1063 # CONFIG_IA64_PRINT_HAZARDS is not set ··· 1163 1097 # CONFIG_CRYPTO_ANUBIS is not set 1164 1098 CONFIG_CRYPTO_DEFLATE=m 1165 1099 # CONFIG_CRYPTO_MICHAEL_MIC is not set 1166 - # CONFIG_CRYPTO_CRC32C is not set 1100 + CONFIG_CRYPTO_CRC32C=m 1167 1101 # CONFIG_CRYPTO_TEST is not set 1168 1102 1169 1103 #
+50 -24
arch/ia64/configs/tiger_defconfig
··· 1 1 # 2 2 # Automatically generated make config: don't edit 3 - # Linux kernel version: 2.6.14-rc1 4 - # Wed Sep 14 15:17:57 2005 3 + # Linux kernel version: 2.6.15-rc4 4 + # Fri Dec 2 16:06:32 2005 5 5 # 6 6 7 7 # ··· 59 59 CONFIG_STOP_MACHINE=y 60 60 61 61 # 62 + # Block layer 63 + # 64 + 65 + # 66 + # IO Schedulers 67 + # 68 + CONFIG_IOSCHED_NOOP=y 69 + CONFIG_IOSCHED_AS=y 70 + CONFIG_IOSCHED_DEADLINE=y 71 + CONFIG_IOSCHED_CFQ=y 72 + CONFIG_DEFAULT_AS=y 73 + # CONFIG_DEFAULT_DEADLINE is not set 74 + # CONFIG_DEFAULT_CFQ is not set 75 + # CONFIG_DEFAULT_NOOP is not set 76 + CONFIG_DEFAULT_IOSCHED="anticipatory" 77 + 78 + # 62 79 # Processor type and features 63 80 # 64 81 CONFIG_IA64=y 65 82 CONFIG_64BIT=y 66 83 CONFIG_MMU=y 84 + CONFIG_SWIOTLB=y 67 85 CONFIG_RWSEM_XCHGADD_ALGORITHM=y 68 86 CONFIG_GENERIC_CALIBRATE_DELAY=y 69 87 CONFIG_TIME_INTERPOLATION=y 70 88 CONFIG_EFI=y 71 89 CONFIG_GENERIC_IOMAP=y 72 90 CONFIG_SCHED_NO_NO_OMIT_FRAME_POINTER=y 91 + CONFIG_ZONE_DMA_IS_DMA32=y 73 92 # CONFIG_IA64_GENERIC is not set 74 93 CONFIG_IA64_DIG=y 75 94 # CONFIG_IA64_HP_ZX1 is not set ··· 101 82 # CONFIG_IA64_PAGE_SIZE_8KB is not set 102 83 CONFIG_IA64_PAGE_SIZE_16KB=y 103 84 # CONFIG_IA64_PAGE_SIZE_64KB is not set 85 + CONFIG_PGTABLE_3=y 86 + # CONFIG_PGTABLE_4 is not set 104 87 # CONFIG_HZ_100 is not set 105 88 CONFIG_HZ_250=y 106 89 # CONFIG_HZ_1000 is not set 107 90 CONFIG_HZ=250 108 91 CONFIG_IA64_L1_CACHE_SHIFT=7 109 - # CONFIG_NUMA is not set 110 - CONFIG_VIRTUAL_MEM_MAP=y 111 - CONFIG_HOLES_IN_ZONE=y 112 92 CONFIG_IA64_CYCLONE=y 113 93 CONFIG_IOSAPIC=y 114 - # CONFIG_IA64_SGI_SN_XP is not set 115 - CONFIG_FORCE_MAX_ZONEORDER=18 94 + CONFIG_FORCE_MAX_ZONEORDER=17 116 95 CONFIG_SMP=y 117 96 CONFIG_NR_CPUS=4 118 97 CONFIG_HOTPLUG_CPU=y ··· 123 106 CONFIG_FLATMEM=y 124 107 CONFIG_FLAT_NODE_MEM_MAP=y 125 108 # CONFIG_SPARSEMEM_STATIC is not set 126 - CONFIG_HAVE_DEC_LOCK=y 109 + CONFIG_SPLIT_PTLOCK_CPUS=4 110 + CONFIG_ARCH_SELECT_MEMORY_MODEL=y 111 + CONFIG_ARCH_DISCONTIGMEM_ENABLE=y 112 + CONFIG_ARCH_FLATMEM_ENABLE=y 113 + CONFIG_ARCH_SPARSEMEM_ENABLE=y 114 + CONFIG_VIRTUAL_MEM_MAP=y 115 + CONFIG_HOLES_IN_ZONE=y 127 116 CONFIG_IA32_SUPPORT=y 128 117 CONFIG_COMPAT=y 129 118 CONFIG_IA64_MCA_RECOVERY=y ··· 141 118 # 142 119 CONFIG_EFI_VARS=y 143 120 CONFIG_EFI_PCDP=y 144 - # CONFIG_DELL_RBU is not set 145 121 CONFIG_BINFMT_ELF=y 146 122 CONFIG_BINFMT_MISC=m 147 123 ··· 148 126 # Power management and ACPI 149 127 # 150 128 CONFIG_PM=y 129 + CONFIG_PM_LEGACY=y 151 130 # CONFIG_PM_DEBUG is not set 152 131 153 132 # ··· 249 226 # CONFIG_NET_DIVERT is not set 250 227 # CONFIG_ECONET is not set 251 228 # CONFIG_WAN_ROUTER is not set 229 + 230 + # 231 + # QoS and/or fair queueing 232 + # 252 233 # CONFIG_NET_SCHED is not set 253 - # CONFIG_NET_CLS_ROUTE is not set 254 234 255 235 # 256 236 # Network testing 257 237 # 258 238 # CONFIG_NET_PKTGEN is not set 259 - # CONFIG_NETFILTER_NETLINK is not set 260 239 # CONFIG_HAMRADIO is not set 261 240 # CONFIG_IRDA is not set 262 241 # CONFIG_BT is not set ··· 320 295 CONFIG_BLK_DEV_RAM_SIZE=4096 321 296 CONFIG_BLK_DEV_INITRD=y 322 297 # CONFIG_CDROM_PKTCDVD is not set 323 - 324 - # 325 - # IO Schedulers 326 - # 327 - CONFIG_IOSCHED_NOOP=y 328 - CONFIG_IOSCHED_AS=y 329 - CONFIG_IOSCHED_DEADLINE=y 330 - CONFIG_IOSCHED_CFQ=y 331 298 # CONFIG_ATA_OVER_ETH is not set 332 299 333 300 # ··· 417 400 # 418 401 # SCSI low-level drivers 419 402 # 403 + # CONFIG_ISCSI_TCP is not set 420 404 # CONFIG_BLK_DEV_3W_XXXX_RAID is not set 421 405 # CONFIG_SCSI_3W_9XXX is not set 422 406 # CONFIG_SCSI_ACARD is not set ··· 427 409 # CONFIG_SCSI_AIC79XX is not set 428 410 # CONFIG_MEGARAID_NEWGEN is not set 429 411 # CONFIG_MEGARAID_LEGACY is not set 412 + # CONFIG_MEGARAID_SAS is not set 430 413 # CONFIG_SCSI_SATA is not set 431 414 # CONFIG_SCSI_DMX3191D is not set 432 415 # CONFIG_SCSI_FUTURE_DOMAIN is not set ··· 443 424 CONFIG_SCSI_QLOGIC_FC=y 444 425 # CONFIG_SCSI_QLOGIC_FC_FIRMWARE is not set 445 426 CONFIG_SCSI_QLOGIC_1280=y 446 - # CONFIG_SCSI_QLOGIC_1280_1040 is not set 447 427 CONFIG_SCSI_QLA2XXX=y 448 428 CONFIG_SCSI_QLA21XX=m 449 429 CONFIG_SCSI_QLA22XX=m ··· 481 463 CONFIG_FUSION=y 482 464 CONFIG_FUSION_SPI=y 483 465 CONFIG_FUSION_FC=y 466 + # CONFIG_FUSION_SAS is not set 484 467 CONFIG_FUSION_MAX_SGE=128 485 468 CONFIG_FUSION_CTL=y 486 469 ··· 522 503 CONFIG_MII=m 523 504 # CONFIG_HAPPYMEAL is not set 524 505 # CONFIG_SUNGEM is not set 506 + # CONFIG_CASSINI is not set 525 507 # CONFIG_NET_VENDOR_3COM is not set 526 508 527 509 # ··· 747 727 # TPM devices 748 728 # 749 729 # CONFIG_TCG_TPM is not set 730 + # CONFIG_TELCLOCK is not set 750 731 751 732 # 752 733 # I2C support ··· 833 812 # 834 813 # USB Device Class drivers 835 814 # 836 - # CONFIG_USB_BLUETOOTH_TTY is not set 837 815 # CONFIG_USB_ACM is not set 838 816 # CONFIG_USB_PRINTER is not set 839 817 840 818 # 841 - # NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support' may also be needed; see USB_STORAGE Help for more information 819 + # NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support' 820 + # 821 + 822 + # 823 + # may also be needed; see USB_STORAGE Help for more information 842 824 # 843 825 CONFIG_USB_STORAGE=m 844 826 # CONFIG_USB_STORAGE_DEBUG is not set ··· 1147 1123 CONFIG_GENERIC_PENDING_IRQ=y 1148 1124 1149 1125 # 1150 - # Profiling support 1126 + # Instrumentation Support 1151 1127 # 1152 1128 # CONFIG_PROFILING is not set 1129 + # CONFIG_KPROBES is not set 1153 1130 1154 1131 # 1155 1132 # Kernel hacking ··· 1167 1142 # CONFIG_DEBUG_KOBJECT is not set 1168 1143 # CONFIG_DEBUG_INFO is not set 1169 1144 # CONFIG_DEBUG_FS is not set 1170 - # CONFIG_KPROBES is not set 1145 + # CONFIG_DEBUG_VM is not set 1146 + # CONFIG_RCU_TORTURE_TEST is not set 1171 1147 CONFIG_IA64_GRANULE_16MB=y 1172 1148 # CONFIG_IA64_GRANULE_64MB is not set 1173 1149 # CONFIG_IA64_PRINT_HAZARDS is not set
-2
arch/ia64/ia32/binfmt_elf32.c
··· 261 261 { 262 262 set_personality(PER_LINUX32); 263 263 current->thread.map_base = IA32_PAGE_OFFSET/3; 264 - current->thread.task_size = IA32_PAGE_OFFSET; /* use what Linux/x86 uses... */ 265 - set_fs(USER_DS); /* set addr limit for new TASK_SIZE */ 266 264 } 267 265 268 266 static unsigned long
-1
arch/ia64/ia32/ia32priv.h
··· 305 305 #define ELF_DATA ELFDATA2LSB 306 306 #define ELF_ARCH EM_386 307 307 308 - #define IA32_PAGE_OFFSET 0xc0000000 309 308 #define IA32_STACK_TOP IA32_PAGE_OFFSET 310 309 #define IA32_GATE_OFFSET IA32_PAGE_OFFSET 311 310 #define IA32_GATE_END IA32_PAGE_OFFSET + PAGE_SIZE
+1 -1
arch/ia64/kernel/kprobes.c
··· 630 630 */ 631 631 save_previous_kprobe(kcb); 632 632 set_current_kprobe(p, kcb); 633 - p->nmissed++; 633 + kprobes_inc_nmissed_count(p); 634 634 prepare_ss(p, regs); 635 635 kcb->kprobe_status = KPROBE_REENTER; 636 636 return 1;
+4 -1
arch/ia64/kernel/process.c
··· 721 721 /* drop floating-point and debug-register state if it exists: */ 722 722 current->thread.flags &= ~(IA64_THREAD_FPH_VALID | IA64_THREAD_DBG_VALID); 723 723 ia64_drop_fpu(current); 724 - if (IS_IA32_PROCESS(ia64_task_regs(current))) 724 + if (IS_IA32_PROCESS(ia64_task_regs(current))) { 725 725 ia32_drop_partial_page_list(current); 726 + current->thread.task_size = IA32_PAGE_OFFSET; 727 + set_fs(USER_DS); 728 + } 726 729 } 727 730 728 731 /*
+1 -1
arch/ia64/kernel/salinfo.c
··· 293 293 if (file->f_flags & O_NONBLOCK) 294 294 return -EAGAIN; 295 295 if (down_interruptible(&data->sem)) 296 - return -ERESTARTSYS; 296 + return -EINTR; 297 297 } 298 298 299 299 n = data->cpu_check;
+3 -1
arch/ia64/mm/discontig.c
··· 50 50 * To prevent cache aliasing effects, align per-node structures so that they 51 51 * start at addresses that are strided by node number. 52 52 */ 53 + #define MAX_NODE_ALIGN_OFFSET (32 * 1024 * 1024) 53 54 #define NODEDATA_ALIGN(addr, node) \ 54 - ((((addr) + 1024*1024-1) & ~(1024*1024-1)) + (node)*PERCPU_PAGE_SIZE) 55 + ((((addr) + 1024*1024-1) & ~(1024*1024-1)) + \ 56 + (((node)*PERCPU_PAGE_SIZE) & (MAX_NODE_ALIGN_OFFSET - 1))) 55 57 56 58 /** 57 59 * build_node_maps - callback to setup bootmem structs for each node
+131 -22
arch/ia64/sn/kernel/io_init.c
··· 3 3 * License. See the file "COPYING" in the main directory of this archive 4 4 * for more details. 5 5 * 6 - * Copyright (C) 1992 - 1997, 2000-2004 Silicon Graphics, Inc. All rights reserved. 6 + * Copyright (C) 1992 - 1997, 2000-2005 Silicon Graphics, Inc. All rights reserved. 7 7 */ 8 8 9 9 #include <linux/bootmem.h> ··· 147 147 } 148 148 149 149 /* 150 + * sn_pcidev_info_get() - Retrieve the pcidev_info struct for the specified 151 + * device. 152 + */ 153 + inline struct pcidev_info * 154 + sn_pcidev_info_get(struct pci_dev *dev) 155 + { 156 + struct pcidev_info *pcidev; 157 + 158 + list_for_each_entry(pcidev, 159 + &(SN_PCI_CONTROLLER(dev)->pcidev_info), pdi_list) { 160 + if (pcidev->pdi_linux_pcidev == dev) { 161 + return pcidev; 162 + } 163 + } 164 + return NULL; 165 + } 166 + 167 + /* 150 168 * sn_fixup_ionodes() - This routine initializes the HUB data strcuture for 151 169 * each node in the system. 152 170 */ ··· 247 229 248 230 } 249 231 232 + /* 233 + * sn_pci_window_fixup() - Create a pci_window for each device resource. 234 + * Until ACPI support is added, we need this code 235 + * to setup pci_windows for use by 236 + * pcibios_bus_to_resource(), 237 + * pcibios_resource_to_bus(), etc. 238 + */ 239 + static void 240 + sn_pci_window_fixup(struct pci_dev *dev, unsigned int count, 241 + int64_t * pci_addrs) 242 + { 243 + struct pci_controller *controller = PCI_CONTROLLER(dev->bus); 244 + unsigned int i; 245 + unsigned int idx; 246 + unsigned int new_count; 247 + struct pci_window *new_window; 248 + 249 + if (count == 0) 250 + return; 251 + idx = controller->windows; 252 + new_count = controller->windows + count; 253 + new_window = kcalloc(new_count, sizeof(struct pci_window), GFP_KERNEL); 254 + if (new_window == NULL) 255 + BUG(); 256 + if (controller->window) { 257 + memcpy(new_window, controller->window, 258 + sizeof(struct pci_window) * controller->windows); 259 + kfree(controller->window); 260 + } 261 + 262 + /* Setup a pci_window for each device resource. */ 263 + for (i = 0; i <= PCI_ROM_RESOURCE; i++) { 264 + if (pci_addrs[i] == -1) 265 + continue; 266 + 267 + new_window[idx].offset = dev->resource[i].start - pci_addrs[i]; 268 + new_window[idx].resource = dev->resource[i]; 269 + idx++; 270 + } 271 + 272 + controller->windows = new_count; 273 + controller->window = new_window; 274 + } 275 + 250 276 void sn_pci_unfixup_slot(struct pci_dev *dev) 251 277 { 252 278 struct pci_dev *host_pci_dev = SN_PCIDEV_INFO(dev)->host_pci_dev; ··· 308 246 */ 309 247 void sn_pci_fixup_slot(struct pci_dev *dev) 310 248 { 249 + unsigned int count = 0; 311 250 int idx; 312 251 int segment = pci_domain_nr(dev->bus); 313 252 int status = 0; 314 253 struct pcibus_bussoft *bs; 315 254 struct pci_bus *host_pci_bus; 316 255 struct pci_dev *host_pci_dev; 256 + struct pcidev_info *pcidev_info; 257 + int64_t pci_addrs[PCI_ROM_RESOURCE + 1]; 317 258 struct sn_irq_info *sn_irq_info; 318 259 unsigned long size; 319 260 unsigned int bus_no, devfn; 320 261 321 262 pci_dev_get(dev); /* for the sysdata pointer */ 322 - dev->sysdata = kmalloc(sizeof(struct pcidev_info), GFP_KERNEL); 323 - if (SN_PCIDEV_INFO(dev) <= 0) 263 + pcidev_info = kzalloc(sizeof(struct pcidev_info), GFP_KERNEL); 264 + if (pcidev_info <= 0) 324 265 BUG(); /* Cannot afford to run out of memory */ 325 - memset(SN_PCIDEV_INFO(dev), 0, sizeof(struct pcidev_info)); 326 266 327 267 sn_irq_info = kmalloc(sizeof(struct sn_irq_info), GFP_KERNEL); 328 268 if (sn_irq_info <= 0) ··· 334 270 /* Call to retrieve pci device information needed by kernel. */ 335 271 status = sal_get_pcidev_info((u64) segment, (u64) dev->bus->number, 336 272 dev->devfn, 337 - (u64) __pa(SN_PCIDEV_INFO(dev)), 273 + (u64) __pa(pcidev_info), 338 274 (u64) __pa(sn_irq_info)); 339 275 if (status) 340 276 BUG(); /* Cannot get platform pci device information */ 277 + 278 + /* Add pcidev_info to list in sn_pci_controller struct */ 279 + list_add_tail(&pcidev_info->pdi_list, 280 + &(SN_PCI_CONTROLLER(dev->bus)->pcidev_info)); 341 281 342 282 /* Copy over PIO Mapped Addresses */ 343 283 for (idx = 0; idx <= PCI_ROM_RESOURCE; idx++) { 344 284 unsigned long start, end, addr; 345 285 346 - if (!SN_PCIDEV_INFO(dev)->pdi_pio_mapped_addr[idx]) 286 + if (!pcidev_info->pdi_pio_mapped_addr[idx]) { 287 + pci_addrs[idx] = -1; 347 288 continue; 289 + } 348 290 349 291 start = dev->resource[idx].start; 350 292 end = dev->resource[idx].end; 351 293 size = end - start; 352 - addr = SN_PCIDEV_INFO(dev)->pdi_pio_mapped_addr[idx]; 294 + if (size == 0) { 295 + pci_addrs[idx] = -1; 296 + continue; 297 + } 298 + pci_addrs[idx] = start; 299 + count++; 300 + addr = pcidev_info->pdi_pio_mapped_addr[idx]; 353 301 addr = ((addr << 4) >> 4) | __IA64_UNCACHED_OFFSET; 354 302 dev->resource[idx].start = addr; 355 303 dev->resource[idx].end = addr + size; ··· 370 294 else 371 295 dev->resource[idx].parent = &iomem_resource; 372 296 } 297 + /* Create a pci_window in the pci_controller struct for 298 + * each device resource. 299 + */ 300 + if (count > 0) 301 + sn_pci_window_fixup(dev, count, pci_addrs); 373 302 374 303 /* 375 304 * Using the PROMs values for the PCI host bus, get the Linux 376 305 * PCI host_pci_dev struct and set up host bus linkages 377 306 */ 378 307 379 - bus_no = (SN_PCIDEV_INFO(dev)->pdi_slot_host_handle >> 32) & 0xff; 380 - devfn = SN_PCIDEV_INFO(dev)->pdi_slot_host_handle & 0xffffffff; 308 + bus_no = (pcidev_info->pdi_slot_host_handle >> 32) & 0xff; 309 + devfn = pcidev_info->pdi_slot_host_handle & 0xffffffff; 381 310 host_pci_bus = pci_find_bus(segment, bus_no); 382 311 host_pci_dev = pci_get_slot(host_pci_bus, devfn); 383 312 384 - SN_PCIDEV_INFO(dev)->host_pci_dev = host_pci_dev; 385 - SN_PCIDEV_INFO(dev)->pdi_host_pcidev_info = 386 - SN_PCIDEV_INFO(host_pci_dev); 387 - SN_PCIDEV_INFO(dev)->pdi_linux_pcidev = dev; 313 + pcidev_info->host_pci_dev = host_pci_dev; 314 + pcidev_info->pdi_linux_pcidev = dev; 315 + pcidev_info->pdi_host_pcidev_info = SN_PCIDEV_INFO(host_pci_dev); 388 316 bs = SN_PCIBUS_BUSSOFT(dev->bus); 389 - SN_PCIDEV_INFO(dev)->pdi_pcibus_info = bs; 317 + pcidev_info->pdi_pcibus_info = bs; 390 318 391 319 if (bs && bs->bs_asic_type < PCIIO_ASIC_MAX_TYPES) { 392 320 SN_PCIDEV_BUSPROVIDER(dev) = sn_pci_provider[bs->bs_asic_type]; ··· 400 320 401 321 /* Only set up IRQ stuff if this device has a host bus context */ 402 322 if (bs && sn_irq_info->irq_irq) { 403 - SN_PCIDEV_INFO(dev)->pdi_sn_irq_info = sn_irq_info; 404 - dev->irq = SN_PCIDEV_INFO(dev)->pdi_sn_irq_info->irq_irq; 323 + pcidev_info->pdi_sn_irq_info = sn_irq_info; 324 + dev->irq = pcidev_info->pdi_sn_irq_info->irq_irq; 405 325 sn_irq_fixup(dev, sn_irq_info); 406 326 } else { 407 - SN_PCIDEV_INFO(dev)->pdi_sn_irq_info = NULL; 327 + pcidev_info->pdi_sn_irq_info = NULL; 408 328 kfree(sn_irq_info); 409 329 } 410 330 } ··· 418 338 int status = 0; 419 339 int nasid, cnode; 420 340 struct pci_controller *controller; 341 + struct sn_pci_controller *sn_controller; 421 342 struct pcibus_bussoft *prom_bussoft_ptr; 422 343 struct hubdev_info *hubdev_info; 423 344 void *provider_soft = NULL; ··· 430 349 return; /*bus # does not exist */ 431 350 prom_bussoft_ptr = __va(prom_bussoft_ptr); 432 351 433 - controller = kzalloc(sizeof(struct pci_controller), GFP_KERNEL); 352 + /* Allocate a sn_pci_controller, which has a pci_controller struct 353 + * as the first member. 354 + */ 355 + sn_controller = kzalloc(sizeof(struct sn_pci_controller), GFP_KERNEL); 356 + if (!sn_controller) 357 + BUG(); 358 + INIT_LIST_HEAD(&sn_controller->pcidev_info); 359 + controller = &sn_controller->pci_controller; 434 360 controller->segment = segment; 435 - if (!controller) 436 - BUG(); 437 361 438 362 if (bus == NULL) { 439 363 bus = pci_scan_bus(busnum, &pci_root_ops, controller); ··· 476 390 } 477 391 478 392 /* 393 + * Setup pci_windows for legacy IO and MEM space. 394 + * (Temporary until ACPI support is in place.) 395 + */ 396 + controller->window = kcalloc(2, sizeof(struct pci_window), GFP_KERNEL); 397 + if (controller->window == NULL) 398 + BUG(); 399 + controller->window[0].offset = prom_bussoft_ptr->bs_legacy_io; 400 + controller->window[0].resource.name = "legacy_io"; 401 + controller->window[0].resource.flags = IORESOURCE_IO; 402 + controller->window[0].resource.start = prom_bussoft_ptr->bs_legacy_io; 403 + controller->window[0].resource.end = 404 + controller->window[0].resource.start + 0xffff; 405 + controller->window[0].resource.parent = &ioport_resource; 406 + controller->window[1].offset = prom_bussoft_ptr->bs_legacy_mem; 407 + controller->window[1].resource.name = "legacy_mem"; 408 + controller->window[1].resource.flags = IORESOURCE_MEM; 409 + controller->window[1].resource.start = prom_bussoft_ptr->bs_legacy_mem; 410 + controller->window[1].resource.end = 411 + controller->window[1].resource.start + (1024 * 1024) - 1; 412 + controller->window[1].resource.parent = &iomem_resource; 413 + controller->windows = 2; 414 + 415 + /* 479 416 * Generic bus fixup goes here. Don't reference prom_bussoft_ptr 480 417 * after this point. 481 418 */ ··· 530 421 531 422 error_return: 532 423 533 - kfree(controller); 424 + kfree(sn_controller); 534 425 return; 535 426 } 536 427 ··· 543 434 dev_dbg(dev, "%s: out of memory!\n", __FUNCTION__); 544 435 return; 545 436 } 546 - element->sysdata = dev->sysdata; 437 + element->sysdata = SN_PCIDEV_INFO(dev); 547 438 list_add(&element->entry, &sn_sysdata_list); 548 439 } 549 440
+6 -2
arch/ia64/sn/kernel/sn2/ptc_deadlock.S
··· 39 39 mov r8=r0 40 40 41 41 1: 42 + cmp.ne p8,p9=r0,ptc1 // Test for shub type (ptc1 non-null on shub1) 43 + // p8 = 1 if shub1, p9 = 1 if shub2 44 + 42 45 add scr2=ALIAS_OFFSET,piowc // Address of WRITE_STATUS alias register 43 - ;; 44 - ld8.acq scr1=[scr2];; 46 + mov scr1=7;; // Clear DEADLOCK, WRITE_ERROR, MULTI_WRITE_ERROR 47 + (p8) st8.rel [scr2]=scr1;; 48 + (p9) ld8.acq scr1=[scr2];; 45 49 46 50 5: ld8.acq scr1=[piowc];; // Wait for PIOs to complete. 47 51 hint @pause
+2 -2
arch/mips/mm/init.c
··· 67 67 68 68 page = virt_to_page(empty_zero_page); 69 69 while (page < virt_to_page(empty_zero_page + (PAGE_SIZE << order))) { 70 - set_bit(PG_reserved, &page->flags); 71 - reset_page_mapcount(page); 70 + SetPageReserved(page); 71 + set_page_count(page, 1); 72 72 page++; 73 73 } 74 74
+1 -1
arch/powerpc/Kconfig
··· 227 227 If you don't know what to do here, say N. 228 228 229 229 config NR_CPUS 230 - int "Maximum number of CPUs (2-32)" 230 + int "Maximum number of CPUs (2-128)" 231 231 range 2 128 232 232 depends on SMP 233 233 default "32" if PPC64
+1 -1
arch/powerpc/kernel/kprobes.c
··· 177 177 save_previous_kprobe(kcb); 178 178 set_current_kprobe(p, regs, kcb); 179 179 kcb->kprobe_saved_msr = regs->msr; 180 - p->nmissed++; 180 + kprobes_inc_nmissed_count(p); 181 181 prepare_singlestep(p, regs); 182 182 kcb->kprobe_status = KPROBE_REENTER; 183 183 return 1;
+9 -1
arch/powerpc/kernel/setup_64.c
··· 102 102 dev_t boot_dev; 103 103 u64 ppc64_pft_size; 104 104 105 - struct ppc64_caches ppc64_caches; 105 + /* Pick defaults since we might want to patch instructions 106 + * before we've read this from the device tree. 107 + */ 108 + struct ppc64_caches ppc64_caches = { 109 + .dline_size = 0x80, 110 + .log_dline_size = 7, 111 + .iline_size = 0x80, 112 + .log_iline_size = 7 113 + }; 106 114 EXPORT_SYMBOL_GPL(ppc64_caches); 107 115 108 116 /*
+1 -1
arch/powerpc/mm/hash_utils_64.c
··· 601 601 /* Handle hugepage regions */ 602 602 if (unlikely(in_hugepage_area(mm->context, ea))) { 603 603 DBG_LOW(" -> huge page !\n"); 604 - return hash_huge_page(mm, access, ea, vsid, local); 604 + return hash_huge_page(mm, access, ea, vsid, local, trap); 605 605 } 606 606 607 607 /* Get PTE and page size from page tables */
+79 -20
arch/powerpc/mm/hugetlbpage.c
··· 148 148 return 0; 149 149 } 150 150 151 + struct slb_flush_info { 152 + struct mm_struct *mm; 153 + u16 newareas; 154 + }; 155 + 151 156 static void flush_low_segments(void *parm) 152 157 { 153 - u16 areas = (unsigned long) parm; 158 + struct slb_flush_info *fi = parm; 154 159 unsigned long i; 155 160 161 + BUILD_BUG_ON((sizeof(fi->newareas)*8) != NUM_LOW_AREAS); 162 + 163 + if (current->active_mm != fi->mm) 164 + return; 165 + 166 + /* Only need to do anything if this CPU is working in the same 167 + * mm as the one which has changed */ 168 + 169 + /* update the paca copy of the context struct */ 170 + get_paca()->context = current->active_mm->context; 171 + 156 172 asm volatile("isync" : : : "memory"); 157 - 158 - BUILD_BUG_ON((sizeof(areas)*8) != NUM_LOW_AREAS); 159 - 160 173 for (i = 0; i < NUM_LOW_AREAS; i++) { 161 - if (! (areas & (1U << i))) 174 + if (! (fi->newareas & (1U << i))) 162 175 continue; 163 176 asm volatile("slbie %0" 164 177 : : "r" ((i << SID_SHIFT) | SLBIE_C)); 165 178 } 166 - 167 179 asm volatile("isync" : : : "memory"); 168 180 } 169 181 170 182 static void flush_high_segments(void *parm) 171 183 { 172 - u16 areas = (unsigned long) parm; 184 + struct slb_flush_info *fi = parm; 173 185 unsigned long i, j; 174 186 187 + 188 + BUILD_BUG_ON((sizeof(fi->newareas)*8) != NUM_HIGH_AREAS); 189 + 190 + if (current->active_mm != fi->mm) 191 + return; 192 + 193 + /* Only need to do anything if this CPU is working in the same 194 + * mm as the one which has changed */ 195 + 196 + /* update the paca copy of the context struct */ 197 + get_paca()->context = current->active_mm->context; 198 + 175 199 asm volatile("isync" : : : "memory"); 176 - 177 - BUILD_BUG_ON((sizeof(areas)*8) != NUM_HIGH_AREAS); 178 - 179 200 for (i = 0; i < NUM_HIGH_AREAS; i++) { 180 - if (! (areas & (1U << i))) 201 + if (! (fi->newareas & (1U << i))) 181 202 continue; 182 203 for (j = 0; j < (1UL << (HTLB_AREA_SHIFT-SID_SHIFT)); j++) 183 204 asm volatile("slbie %0" 184 205 :: "r" (((i << HTLB_AREA_SHIFT) 185 - + (j << SID_SHIFT)) | SLBIE_C)); 206 + + (j << SID_SHIFT)) | SLBIE_C)); 186 207 } 187 - 188 208 asm volatile("isync" : : : "memory"); 189 209 } 190 210 ··· 249 229 static int open_low_hpage_areas(struct mm_struct *mm, u16 newareas) 250 230 { 251 231 unsigned long i; 232 + struct slb_flush_info fi; 252 233 253 234 BUILD_BUG_ON((sizeof(newareas)*8) != NUM_LOW_AREAS); 254 235 BUILD_BUG_ON((sizeof(mm->context.low_htlb_areas)*8) != NUM_LOW_AREAS); ··· 265 244 266 245 mm->context.low_htlb_areas |= newareas; 267 246 268 - /* update the paca copy of the context struct */ 269 - get_paca()->context = mm->context; 270 - 271 247 /* the context change must make it to memory before the flush, 272 248 * so that further SLB misses do the right thing. */ 273 249 mb(); 274 - on_each_cpu(flush_low_segments, (void *)(unsigned long)newareas, 0, 1); 250 + 251 + fi.mm = mm; 252 + fi.newareas = newareas; 253 + on_each_cpu(flush_low_segments, &fi, 0, 1); 275 254 276 255 return 0; 277 256 } 278 257 279 258 static int open_high_hpage_areas(struct mm_struct *mm, u16 newareas) 280 259 { 260 + struct slb_flush_info fi; 281 261 unsigned long i; 282 262 283 263 BUILD_BUG_ON((sizeof(newareas)*8) != NUM_HIGH_AREAS); ··· 302 280 /* the context change must make it to memory before the flush, 303 281 * so that further SLB misses do the right thing. */ 304 282 mb(); 305 - on_each_cpu(flush_high_segments, (void *)(unsigned long)newareas, 0, 1); 283 + 284 + fi.mm = mm; 285 + fi.newareas = newareas; 286 + on_each_cpu(flush_high_segments, &fi, 0, 1); 306 287 307 288 return 0; 308 289 } ··· 664 639 return -ENOMEM; 665 640 } 666 641 642 + /* 643 + * Called by asm hashtable.S for doing lazy icache flush 644 + */ 645 + static unsigned int hash_huge_page_do_lazy_icache(unsigned long rflags, 646 + pte_t pte, int trap) 647 + { 648 + struct page *page; 649 + int i; 650 + 651 + if (!pfn_valid(pte_pfn(pte))) 652 + return rflags; 653 + 654 + page = pte_page(pte); 655 + 656 + /* page is dirty */ 657 + if (!test_bit(PG_arch_1, &page->flags) && !PageReserved(page)) { 658 + if (trap == 0x400) { 659 + for (i = 0; i < (HPAGE_SIZE / PAGE_SIZE); i++) 660 + __flush_dcache_icache(page_address(page+i)); 661 + set_bit(PG_arch_1, &page->flags); 662 + } else { 663 + rflags |= HPTE_R_N; 664 + } 665 + } 666 + return rflags; 667 + } 668 + 667 669 int hash_huge_page(struct mm_struct *mm, unsigned long access, 668 - unsigned long ea, unsigned long vsid, int local) 670 + unsigned long ea, unsigned long vsid, int local, 671 + unsigned long trap) 669 672 { 670 673 pte_t *ptep; 671 674 unsigned long old_pte, new_pte; ··· 744 691 rflags = 0x2 | (!(new_pte & _PAGE_RW)); 745 692 /* _PAGE_EXEC -> HW_NO_EXEC since it's inverted */ 746 693 rflags |= ((new_pte & _PAGE_EXEC) ? 0 : HPTE_R_N); 694 + if (!cpu_has_feature(CPU_FTR_COHERENT_ICACHE)) 695 + /* No CPU has hugepages but lacks no execute, so we 696 + * don't need to worry about that case */ 697 + rflags = hash_huge_page_do_lazy_icache(rflags, __pte(old_pte), 698 + trap); 747 699 748 700 /* Check if pte already has an hpte (case 2) */ 749 701 if (unlikely(old_pte & _PAGE_HASHPTE)) { ··· 761 703 slot = (hash & htab_hash_mask) * HPTES_PER_GROUP; 762 704 slot += (old_pte & _PAGE_F_GIX) >> 12; 763 705 764 - if (ppc_md.hpte_updatepp(slot, rflags, va, 1, local) == -1) 706 + if (ppc_md.hpte_updatepp(slot, rflags, va, mmu_huge_psize, 707 + local) == -1) 765 708 old_pte &= ~_PAGE_HPTEFLAGS; 766 709 } 767 710
+1 -1
arch/powerpc/mm/numa.c
··· 125 125 126 126 /* We didnt find a matching region, return start/end as 0 */ 127 127 if (*start_pfn == -1UL) 128 - start_pfn = 0; 128 + *start_pfn = 0; 129 129 } 130 130 131 131 static inline void map_cpu_to_node(int cpu, int node)
+1 -6
arch/powerpc/mm/stab.c
··· 288 288 return; 289 289 } 290 290 #endif /* CONFIG_PPC_ISERIES */ 291 - #ifdef CONFIG_PPC_PSERIES 292 - if (platform_is_lpar()) { 293 - plpar_hcall_norets(H_SET_ASR, stabreal); 294 - return; 295 - } 296 - #endif 291 + 297 292 mtspr(SPRN_ASR, stabreal); 298 293 }
+16 -5
arch/powerpc/platforms/powermac/feature.c
··· 1650 1650 */ 1651 1651 1652 1652 if (macio->type == macio_intrepid) { 1653 - if (enable) 1654 - UN_OUT(UNI_N_CLOCK_SPREADING, 2); 1655 - else 1656 - UN_OUT(UNI_N_CLOCK_SPREADING, 0); 1657 - mdelay(40); 1653 + struct device_node *clock = 1654 + of_find_node_by_path("/uni-n@f8000000/hw-clock"); 1655 + if (clock && get_property(clock, "platform-do-clockspreading", 1656 + NULL)) { 1657 + printk(KERN_INFO "%sabling clock spreading on Intrepid" 1658 + " ASIC\n", enable ? "En" : "Dis"); 1659 + if (enable) 1660 + UN_OUT(UNI_N_CLOCK_SPREADING, 2); 1661 + else 1662 + UN_OUT(UNI_N_CLOCK_SPREADING, 0); 1663 + mdelay(40); 1664 + } 1665 + of_node_put(clock); 1658 1666 } 1659 1667 1660 1668 while (machine_is_compatible("PowerBook5,2") || ··· 1732 1724 pmac_low_i2c_close(ui2c); 1733 1725 break; 1734 1726 } 1727 + printk(KERN_INFO "%sabling clock spreading on i2c clock chip\n", 1728 + enable ? "En" : "Dis"); 1729 + 1735 1730 pmac_low_i2c_setmode(ui2c, pmac_low_i2c_mode_stdsub); 1736 1731 rc = pmac_low_i2c_xfer(ui2c, 0xd2 | pmac_low_i2c_write, 0x80, buffer, 9); 1737 1732 DBG("write result: %d,", rc);
+7 -4
arch/powerpc/platforms/pseries/iommu.c
··· 109 109 u64 rc; 110 110 union tce_entry tce; 111 111 112 + tcenum <<= TCE_PAGE_FACTOR; 113 + npages <<= TCE_PAGE_FACTOR; 114 + 112 115 tce.te_word = 0; 113 116 tce.te_rpn = (virt_to_abs(uaddr)) >> TCE_SHIFT; 114 117 tce.te_rdwr = 1; ··· 146 143 union tce_entry tce, *tcep; 147 144 long l, limit; 148 145 149 - tcenum <<= TCE_PAGE_FACTOR; 150 - npages <<= TCE_PAGE_FACTOR; 151 - 152 - if (npages == 1) 146 + if (TCE_PAGE_FACTOR == 0 && npages == 1) 153 147 return tce_build_pSeriesLP(tbl, tcenum, npages, uaddr, 154 148 direction); 155 149 ··· 163 163 uaddr, direction); 164 164 __get_cpu_var(tce_page) = tcep; 165 165 } 166 + 167 + tcenum <<= TCE_PAGE_FACTOR; 168 + npages <<= TCE_PAGE_FACTOR; 166 169 167 170 tce.te_word = 0; 168 171 tce.te_rpn = (virt_to_abs(uaddr)) >> TCE_SHIFT;
-12
arch/powerpc/platforms/pseries/lpar.c
··· 298 298 if (!(vflags & HPTE_V_BOLTED)) 299 299 DBG_LOW(" hpte_v=%016lx, hpte_r=%016lx\n", hpte_v, hpte_r); 300 300 301 - #if 1 302 - { 303 - int i; 304 - for (i=0;i<8;i++) { 305 - unsigned long w0, w1; 306 - plpar_pte_read(0, hpte_group, &w0, &w1); 307 - BUG_ON (HPTE_V_COMPARE(hpte_v, w0) 308 - && (w0 & HPTE_V_VALID)); 309 - } 310 - } 311 - #endif 312 - 313 301 /* Now fill in the actual HPTE */ 314 302 /* Set CEC cookie to 0 */ 315 303 /* Zero page = 0 */
+3 -3
arch/ppc/Kconfig
··· 767 767 on it (826x, 827x, 8560). 768 768 769 769 config PPC_CHRP 770 - bool " Common Hardware Reference Platform (CHRP) based machines" 770 + bool 771 771 depends on PPC_MULTIPLATFORM 772 772 select PPC_I8259 773 773 select PPC_INDIRECT_PCI 774 774 default y 775 775 776 776 config PPC_PMAC 777 - bool " Apple PowerMac based machines" 777 + bool 778 778 depends on PPC_MULTIPLATFORM 779 779 select PPC_INDIRECT_PCI 780 780 default y ··· 785 785 default y 786 786 787 787 config PPC_PREP 788 - bool " PowerPC Reference Platform (PReP) based machines" 788 + bool 789 789 depends on PPC_MULTIPLATFORM 790 790 select PPC_I8259 791 791 select PPC_INDIRECT_PCI
+4
arch/ppc/kernel/smp.c
··· 301 301 302 302 /* Probe platform for CPUs: always linear. */ 303 303 num_cpus = smp_ops->probe(); 304 + 305 + if (num_cpus < 2) 306 + smp_tb_synchronized = 1; 307 + 304 308 for (i = 0; i < num_cpus; ++i) 305 309 cpu_set(i, cpu_possible_map); 306 310
+15 -5
arch/ppc/platforms/pmac_feature.c
··· 1606 1606 */ 1607 1607 1608 1608 if (macio->type == macio_intrepid) { 1609 - if (enable) 1610 - UN_OUT(UNI_N_CLOCK_SPREADING, 2); 1611 - else 1612 - UN_OUT(UNI_N_CLOCK_SPREADING, 0); 1613 - mdelay(40); 1609 + struct device_node *clock = 1610 + of_find_node_by_path("/uni-n@f8000000/hw-clock"); 1611 + if (clock && get_property(clock, "platform-do-clockspreading", 1612 + NULL)) { 1613 + printk(KERN_INFO "%sabling clock spreading on Intrepid" 1614 + " ASIC\n", enable ? "En" : "Dis"); 1615 + if (enable) 1616 + UN_OUT(UNI_N_CLOCK_SPREADING, 2); 1617 + else 1618 + UN_OUT(UNI_N_CLOCK_SPREADING, 0); 1619 + mdelay(40); 1620 + } 1621 + of_node_put(clock); 1614 1622 } 1615 1623 1616 1624 while (machine_is_compatible("PowerBook5,2") || ··· 1688 1680 pmac_low_i2c_close(ui2c); 1689 1681 break; 1690 1682 } 1683 + printk(KERN_INFO "%sabling clock spreading on i2c clock chip\n", 1684 + enable ? "En" : "Dis"); 1691 1685 pmac_low_i2c_setmode(ui2c, pmac_low_i2c_mode_stdsub); 1692 1686 rc = pmac_low_i2c_xfer(ui2c, 0xd2 | pmac_low_i2c_write, 0x80, buffer, 9); 1693 1687 DBG("write result: %d,", rc);
+1 -1
arch/sparc/Makefile
··· 34 34 # Renaming is done to avoid confusing pattern matching rules in 2.5.45 (multy-) 35 35 INIT_Y := $(patsubst %/, %/built-in.o, $(init-y)) 36 36 CORE_Y := $(core-y) 37 - CORE_Y += kernel/ mm/ fs/ ipc/ security/ crypto/ 37 + CORE_Y += kernel/ mm/ fs/ ipc/ security/ crypto/ block/ 38 38 CORE_Y := $(patsubst %/, %/built-in.o, $(CORE_Y)) 39 39 DRIVERS_Y := $(patsubst %/, %/built-in.o, $(drivers-y)) 40 40 NET_Y := $(patsubst %/, %/built-in.o, $(net-y))
-1
arch/sparc/lib/atomic32.c
··· 66 66 return ret != u; 67 67 } 68 68 69 - static inline void atomic_clear_mask(unsigned long mask, unsigned long *addr) 70 69 /* Atomic operations are already serializing */ 71 70 void atomic_set(atomic_t *v, int i) 72 71 {
+1 -1
arch/sparc64/kernel/kprobes.c
··· 138 138 */ 139 139 save_previous_kprobe(kcb); 140 140 set_current_kprobe(p, regs, kcb); 141 - p->nmissed++; 141 + kprobes_inc_nmissed_count(p); 142 142 kcb->kprobe_status = KPROBE_REENTER; 143 143 prepare_singlestep(p, regs, kcb); 144 144 return 1;
+2
arch/um/include/um_uaccess.h
··· 17 17 #include "uaccess-skas.h" 18 18 #endif 19 19 20 + #include "asm/fixmap.h" 21 + 20 22 #define __under_task_size(addr, size) \ 21 23 (((unsigned long) (addr) < TASK_SIZE) && \ 22 24 (((unsigned long) (addr) + (size)) < TASK_SIZE))
-1
arch/um/kernel/skas/include/uaccess-skas.h
··· 7 7 #define __SKAS_UACCESS_H 8 8 9 9 #include "asm/errno.h" 10 - #include "asm/fixmap.h" 11 10 12 11 /* No SKAS-specific checking. */ 13 12 #define access_ok_skas(type, addr, size) 0
+1 -2
arch/x86_64/ia32/ia32_binfmt.c
··· 217 217 if (!tsk_used_math(tsk)) 218 218 return 0; 219 219 if (!regs) 220 - regs = (struct pt_regs *)tsk->thread.rsp0; 221 - --regs; 220 + regs = ((struct pt_regs *)tsk->thread.rsp0) - 1; 222 221 if (tsk == current) 223 222 unlazy_fpu(tsk); 224 223 set_fs(KERNEL_DS);
+1 -1
arch/x86_64/kernel/kprobes.c
··· 329 329 */ 330 330 save_previous_kprobe(kcb); 331 331 set_current_kprobe(p, regs, kcb); 332 - p->nmissed++; 332 + kprobes_inc_nmissed_count(p); 333 333 prepare_singlestep(p, regs); 334 334 kcb->kprobe_status = KPROBE_REENTER; 335 335 return 1;
+1 -1
arch/x86_64/kernel/smpboot.c
··· 1181 1181 if (cpu == 0) 1182 1182 return -EBUSY; 1183 1183 1184 - disable_APIC_timer(); 1184 + clear_local_APIC(); 1185 1185 1186 1186 /* 1187 1187 * HACK:
+4 -2
arch/x86_64/kernel/time.c
··· 59 59 unsigned int cpu_khz; /* TSC clocks / usec, not used here */ 60 60 static unsigned long hpet_period; /* fsecs / HPET clock */ 61 61 unsigned long hpet_tick; /* HPET clocks / interrupt */ 62 - static int hpet_use_timer; 62 + static int hpet_use_timer; /* Use counter of hpet for time keeping, otherwise PIT */ 63 63 unsigned long vxtime_hz = PIT_TICK_RATE; 64 64 int report_lost_ticks; /* command line option */ 65 65 unsigned long long monotonic_base; ··· 908 908 if (!hpet_init()) 909 909 vxtime_hz = (1000000000000000L + hpet_period / 2) / 910 910 hpet_period; 911 + else 912 + vxtime.hpet_address = 0; 911 913 912 914 if (hpet_use_timer) { 913 915 cpu_khz = hpet_calibrate_tsc(); 914 916 timename = "HPET"; 915 917 #ifdef CONFIG_X86_PM_TIMER 916 - } else if (pmtmr_ioport) { 918 + } else if (pmtmr_ioport && !vxtime.hpet_address) { 917 919 vxtime_hz = PM_TIMER_FREQUENCY; 918 920 timename = "PM"; 919 921 pit_init();
+31 -6
arch/x86_64/mm/ioremap.c
··· 247 247 return __ioremap(phys_addr, size, _PAGE_PCD); 248 248 } 249 249 250 + /** 251 + * iounmap - Free a IO remapping 252 + * @addr: virtual address from ioremap_* 253 + * 254 + * Caller must ensure there is only one unmapping for the same pointer. 255 + */ 250 256 void iounmap(volatile void __iomem *addr) 251 257 { 252 - struct vm_struct *p; 258 + struct vm_struct *p, *o; 253 259 254 260 if (addr <= high_memory) 255 261 return; ··· 263 257 addr < phys_to_virt(ISA_END_ADDRESS)) 264 258 return; 265 259 266 - write_lock(&vmlist_lock); 267 - p = __remove_vm_area((void *)((unsigned long)addr & PAGE_MASK)); 268 - if (!p) 260 + addr = (volatile void *)(PAGE_MASK & (unsigned long __force)addr); 261 + /* Use the vm area unlocked, assuming the caller 262 + ensures there isn't another iounmap for the same address 263 + in parallel. Reuse of the virtual address is prevented by 264 + leaving it in the global lists until we're done with it. 265 + cpa takes care of the direct mappings. */ 266 + read_lock(&vmlist_lock); 267 + for (p = vmlist; p; p = p->next) { 268 + if (p->addr == addr) 269 + break; 270 + } 271 + read_unlock(&vmlist_lock); 272 + 273 + if (!p) { 269 274 printk("iounmap: bad address %p\n", addr); 270 - else if (p->flags >> 20) 275 + dump_stack(); 276 + return; 277 + } 278 + 279 + /* Reset the direct mapping. Can block */ 280 + if (p->flags >> 20) 271 281 ioremap_change_attr(p->phys_addr, p->size, 0); 272 - write_unlock(&vmlist_lock); 282 + 283 + /* Finally remove it */ 284 + o = remove_vm_area((void *)addr); 285 + BUG_ON(p != o || o == NULL); 273 286 kfree(p); 274 287 }
+3 -1
arch/x86_64/mm/numa.c
··· 53 53 int res = -1; 54 54 unsigned long addr, end; 55 55 56 + if (shift >= 64) 57 + return -1; 56 58 memset(memnodemap, 0xff, sizeof(memnodemap)); 57 59 for (i = 0; i < numnodes; i++) { 58 60 addr = nodes[i].start; ··· 67 65 if (memnodemap[addr >> shift] != 0xff) 68 66 return -1; 69 67 memnodemap[addr >> shift] = i; 70 - addr += (1 << shift); 68 + addr += (1UL << shift); 71 69 } while (addr < end); 72 70 res = 1; 73 71 }
+53 -10
arch/x86_64/pci/mmconfig.c
··· 8 8 #include <linux/pci.h> 9 9 #include <linux/init.h> 10 10 #include <linux/acpi.h> 11 + #include <linux/bitmap.h> 11 12 #include "pci.h" 12 13 13 14 #define MMCONFIG_APER_SIZE (256*1024*1024) 15 + 16 + static DECLARE_BITMAP(fallback_slots, 32); 14 17 15 18 /* Static virtual mapping of the MMCONFIG aperture */ 16 19 struct mmcfg_virt { ··· 22 19 }; 23 20 static struct mmcfg_virt *pci_mmcfg_virt; 24 21 25 - static char *get_virt(unsigned int seg, int bus) 22 + static char *get_virt(unsigned int seg, unsigned bus) 26 23 { 27 24 int cfg_num = -1; 28 25 struct acpi_table_mcfg_config *cfg; ··· 30 27 while (1) { 31 28 ++cfg_num; 32 29 if (cfg_num >= pci_mmcfg_config_num) { 33 - /* something bad is going on, no cfg table is found. */ 34 - /* so we fall back to the old way we used to do this */ 35 - /* and just rely on the first entry to be correct. */ 36 - return pci_mmcfg_virt[0].virt; 30 + /* Not found - fall back to type 1. This happens 31 + e.g. on the internal devices of a K8 northbridge. */ 32 + return NULL; 37 33 } 38 34 cfg = pci_mmcfg_virt[cfg_num].cfg; 39 35 if (cfg->pci_segment_group_number != seg) ··· 43 41 } 44 42 } 45 43 46 - static inline char *pci_dev_base(unsigned int seg, unsigned int bus, unsigned int devfn) 44 + static char *pci_dev_base(unsigned int seg, unsigned int bus, unsigned int devfn) 47 45 { 48 - 49 - return get_virt(seg, bus) + ((bus << 20) | (devfn << 12)); 46 + char *addr; 47 + if (seg == 0 && bus == 0 && test_bit(PCI_SLOT(devfn), &fallback_slots)) 48 + return NULL; 49 + addr = get_virt(seg, bus); 50 + if (!addr) 51 + return NULL; 52 + return addr + ((bus << 20) | (devfn << 12)); 50 53 } 51 54 52 55 static int pci_mmcfg_read(unsigned int seg, unsigned int bus, 53 56 unsigned int devfn, int reg, int len, u32 *value) 54 57 { 55 - char *addr = pci_dev_base(seg, bus, devfn); 58 + char *addr; 56 59 60 + /* Why do we have this when nobody checks it. How about a BUG()!? -AK */ 57 61 if (unlikely(!value || (bus > 255) || (devfn > 255) || (reg > 4095))) 58 62 return -EINVAL; 63 + 64 + addr = pci_dev_base(seg, bus, devfn); 65 + if (!addr) 66 + return pci_conf1_read(seg,bus,devfn,reg,len,value); 59 67 60 68 switch (len) { 61 69 case 1: ··· 85 73 static int pci_mmcfg_write(unsigned int seg, unsigned int bus, 86 74 unsigned int devfn, int reg, int len, u32 value) 87 75 { 88 - char *addr = pci_dev_base(seg, bus, devfn); 76 + char *addr; 89 77 78 + /* Why do we have this when nobody checks it. How about a BUG()!? -AK */ 90 79 if (unlikely((bus > 255) || (devfn > 255) || (reg > 4095))) 91 80 return -EINVAL; 81 + 82 + addr = pci_dev_base(seg, bus, devfn); 83 + if (!addr) 84 + return pci_conf1_write(seg,bus,devfn,reg,len,value); 92 85 93 86 switch (len) { 94 87 case 1: ··· 114 97 .read = pci_mmcfg_read, 115 98 .write = pci_mmcfg_write, 116 99 }; 100 + 101 + /* K8 systems have some devices (typically in the builtin northbridge) 102 + that are only accessible using type1 103 + Normally this can be expressed in the MCFG by not listing them 104 + and assigning suitable _SEGs, but this isn't implemented in some BIOS. 105 + Instead try to discover all devices on bus 0 that are unreachable using MM 106 + and fallback for them. 107 + We only do this for bus 0/seg 0 */ 108 + static __init void unreachable_devices(void) 109 + { 110 + int i; 111 + for (i = 0; i < 32; i++) { 112 + u32 val1; 113 + char *addr; 114 + 115 + pci_conf1_read(0, 0, PCI_DEVFN(i,0), 0, 4, &val1); 116 + if (val1 == 0xffffffff) 117 + continue; 118 + addr = pci_dev_base(0, 0, PCI_DEVFN(i, 0)); 119 + if (addr == NULL|| readl(addr) != val1) { 120 + set_bit(i, &fallback_slots); 121 + } 122 + } 123 + } 117 124 118 125 static int __init pci_mmcfg_init(void) 119 126 { ··· 168 127 } 169 128 printk(KERN_INFO "PCI: Using MMCONFIG at %x\n", pci_mmcfg_config[i].base_address); 170 129 } 130 + 131 + unreachable_devices(); 171 132 172 133 raw_pci_ops = &pci_mmcfg; 173 134 pci_probe = (pci_probe & ~PCI_PROBE_MASK) | PCI_PROBE_MMCONF;
+1 -1
drivers/acpi/pci_link.c
··· 316 316 if (!link || !irq) 317 317 return_VALUE(-EINVAL); 318 318 319 - resource = kmalloc(sizeof(*resource) + 1, GFP_KERNEL); 319 + resource = kmalloc(sizeof(*resource) + 1, GFP_ATOMIC); 320 320 if (!resource) 321 321 return_VALUE(-ENOMEM); 322 322
+3 -4
drivers/block/cciss.c
··· 1146 1146 del_gendisk(disk); 1147 1147 if (q) 1148 1148 blk_cleanup_queue(q); 1149 - put_disk(disk); 1150 1149 } 1151 1150 } 1152 1151 ··· 1464 1465 request_queue_t *q = disk->queue; 1465 1466 if (disk->flags & GENHD_FL_UP) 1466 1467 del_gendisk(disk); 1467 - if (q) 1468 + if (q) { 1468 1469 blk_cleanup_queue(q); 1469 - put_disk(disk); 1470 + drv->queue = NULL; 1471 + } 1470 1472 } 1471 1473 } 1472 1474 ··· 3243 3243 del_gendisk(disk); 3244 3244 if (q) 3245 3245 blk_cleanup_queue(q); 3246 - put_disk(disk); 3247 3246 } 3248 3247 } 3249 3248
+9 -9
drivers/char/Kconfig
··· 943 943 Applications should simply open the device (eg /dev/hda1) 944 944 with the O_DIRECT flag. 945 945 946 + config MAX_RAW_DEVS 947 + int "Maximum number of RAW devices to support (1-8192)" 948 + depends on RAW_DRIVER 949 + default "256" 950 + help 951 + The maximum number of RAW devices that are supported. 952 + Default is 256. Increase this number in case you need lots of 953 + raw devices. 954 + 946 955 config HPET 947 956 bool "HPET - High Precision Event Timer" if (X86 || IA64) 948 957 default n ··· 982 973 registers may also contain other things that shouldn't be 983 974 exposed to the user. If this applies to your hardware, 984 975 say N here. 985 - 986 - config MAX_RAW_DEVS 987 - int "Maximum number of RAW devices to support (1-8192)" 988 - depends on RAW_DRIVER 989 - default "256" 990 - help 991 - The maximum number of RAW devices that are supported. 992 - Default is 256. Increase this number in case you need lots of 993 - raw devices. 994 976 995 977 config HANGCHECK_TIMER 996 978 tristate "Hangcheck timer"
+1 -1
drivers/char/drm/radeon_cp.c
··· 1522 1522 1523 1523 dev_priv->gart_size = init->gart_size; 1524 1524 dev_priv->gart_vm_start = dev_priv->fb_location 1525 - + RADEON_READ(RADEON_CONFIG_APER_SIZE); 1525 + + RADEON_READ(RADEON_CONFIG_APER_SIZE) * 2; 1526 1526 1527 1527 #if __OS_HAS_AGP 1528 1528 if (!dev_priv->is_pci)
+1 -1
drivers/char/ipmi/ipmi_msghandler.c
··· 2986 2986 msg.cmd = 2; /* Platform event command. */ 2987 2987 msg.data = data; 2988 2988 msg.data_len = 8; 2989 - data[0] = 0x21; /* Kernel generator ID, IPMI table 5-4 */ 2989 + data[0] = 0x41; /* Kernel generator ID, IPMI table 5-4 */ 2990 2990 data[1] = 0x03; /* This is for IPMI 1.0. */ 2991 2991 data[2] = 0x20; /* OS Critical Stop, IPMI table 36-3 */ 2992 2992 data[4] = 0x6f; /* Sensor specific, IPMI table 36-1 */
-4
drivers/char/watchdog/mpcore_wdt.c
··· 180 180 { 181 181 struct mpcore_wdt *wdt = file->private_data; 182 182 183 - /* Can't seek (pwrite) on this device */ 184 - if (ppos != &file->f_pos) 185 - return -ESPIPE; 186 - 187 183 /* 188 184 * Refresh the timer. 189 185 */
+5
drivers/connector/cn_proc.c
··· 56 56 msg = (struct cn_msg*)buffer; 57 57 ev = (struct proc_event*)msg->data; 58 58 get_seq(&msg->seq, &ev->cpu); 59 + getnstimestamp(&ev->timestamp); 59 60 ev->what = PROC_EVENT_FORK; 60 61 ev->event_data.fork.parent_pid = task->real_parent->pid; 61 62 ev->event_data.fork.parent_tgid = task->real_parent->tgid; ··· 82 81 msg = (struct cn_msg*)buffer; 83 82 ev = (struct proc_event*)msg->data; 84 83 get_seq(&msg->seq, &ev->cpu); 84 + getnstimestamp(&ev->timestamp); 85 85 ev->what = PROC_EVENT_EXEC; 86 86 ev->event_data.exec.process_pid = task->pid; 87 87 ev->event_data.exec.process_tgid = task->tgid; ··· 116 114 } else 117 115 return; 118 116 get_seq(&msg->seq, &ev->cpu); 117 + getnstimestamp(&ev->timestamp); 119 118 120 119 memcpy(&msg->id, &cn_proc_event_id, sizeof(msg->id)); 121 120 msg->ack = 0; /* not used */ ··· 136 133 msg = (struct cn_msg*)buffer; 137 134 ev = (struct proc_event*)msg->data; 138 135 get_seq(&msg->seq, &ev->cpu); 136 + getnstimestamp(&ev->timestamp); 139 137 ev->what = PROC_EVENT_EXIT; 140 138 ev->event_data.exit.process_pid = task->pid; 141 139 ev->event_data.exit.process_tgid = task->tgid; ··· 169 165 msg = (struct cn_msg*)buffer; 170 166 ev = (struct proc_event*)msg->data; 171 167 msg->seq = rcvd_seq; 168 + getnstimestamp(&ev->timestamp); 172 169 ev->cpu = -1; 173 170 ev->what = PROC_EVENT_NONE; 174 171 ev->event_data.ack.err = err;
+2 -2
drivers/macintosh/windfarm_pm81.c
··· 207 207 }, 208 208 /* Model ID 3 */ 209 209 { 210 - .model_id = 2, 210 + .model_id = 3, 211 211 .itarget = 0x350000, 212 212 .gd = 0x08e00000, 213 213 .gp = 0x00566666, ··· 219 219 }, 220 220 /* Model ID 5 */ 221 221 { 222 - .model_id = 2, 222 + .model_id = 5, 223 223 .itarget = 0x3a0000, 224 224 .gd = 0x15400000, 225 225 .gp = 0x00233333,
+3 -2
drivers/md/raid1.c
··· 320 320 * this branch is our 'one mirror IO has finished' event handler: 321 321 */ 322 322 r1_bio->bios[mirror] = NULL; 323 - bio_put(bio); 324 323 if (!uptodate) { 325 324 md_error(r1_bio->mddev, conf->mirrors[mirror].rdev); 326 325 /* an I/O failed, we can't clear the bitmap */ ··· 376 377 } 377 378 if (test_bit(R1BIO_BehindIO, &r1_bio->state)) { 378 379 /* free extra copy of the data pages */ 379 - /* FIXME bio has been freed!!! */ 380 380 int i = bio->bi_vcnt; 381 381 while (i--) 382 382 __free_page(bio->bi_io_vec[i].bv_page); ··· 388 390 md_write_end(r1_bio->mddev); 389 391 raid_end_bio_io(r1_bio); 390 392 } 393 + 394 + if (r1_bio->bios[mirror]==NULL) 395 + bio_put(bio); 391 396 392 397 rdev_dec_pending(conf->mirrors[mirror].rdev, conf->mddev); 393 398 return 0;
+4 -3
drivers/md/raid5.c
··· 98 98 list_add_tail(&sh->lru, &conf->inactive_list); 99 99 atomic_dec(&conf->active_stripes); 100 100 if (!conf->inactive_blocked || 101 - atomic_read(&conf->active_stripes) < (NR_STRIPES*3/4)) 101 + atomic_read(&conf->active_stripes) < (conf->max_nr_stripes*3/4)) 102 102 wake_up(&conf->wait_for_stripe); 103 103 } 104 104 } ··· 264 264 conf->inactive_blocked = 1; 265 265 wait_event_lock_irq(conf->wait_for_stripe, 266 266 !list_empty(&conf->inactive_list) && 267 - (atomic_read(&conf->active_stripes) < (NR_STRIPES *3/4) 267 + (atomic_read(&conf->active_stripes) 268 + < (conf->max_nr_stripes *3/4) 268 269 || !conf->inactive_blocked), 269 270 conf->device_lock, 270 271 unplug_slaves(conf->mddev); ··· 1918 1917 goto abort; 1919 1918 } 1920 1919 } 1921 - memory = conf->max_nr_stripes * (sizeof(struct stripe_head) + 1920 + memory = conf->max_nr_stripes * (sizeof(struct stripe_head) + 1922 1921 conf->raid_disks * ((sizeof(struct bio) + PAGE_SIZE))) / 1024; 1923 1922 if (grow_stripes(conf, conf->max_nr_stripes)) { 1924 1923 printk(KERN_ERR
+3 -3
drivers/media/common/Kconfig
··· 1 1 config VIDEO_SAA7146 2 - tristate 2 + tristate 3 3 select I2C 4 4 5 5 config VIDEO_SAA7146_VV 6 - tristate 6 + tristate 7 7 select VIDEO_BUF 8 8 select VIDEO_VIDEOBUF 9 9 select VIDEO_SAA7146 10 10 11 11 config VIDEO_VIDEOBUF 12 - tristate 12 + tristate
+2 -2
drivers/media/common/Makefile
··· 1 - saa7146-objs := saa7146_i2c.o saa7146_core.o 2 - saa7146_vv-objs := saa7146_vv_ksyms.o saa7146_fops.o saa7146_video.o saa7146_hlp.o saa7146_vbi.o 1 + saa7146-objs := saa7146_i2c.o saa7146_core.o 2 + saa7146_vv-objs := saa7146_vv_ksyms.o saa7146_fops.o saa7146_video.o saa7146_hlp.o saa7146_vbi.o 3 3 4 4 obj-$(CONFIG_VIDEO_SAA7146) += saa7146.o 5 5 obj-$(CONFIG_VIDEO_SAA7146_VV) += saa7146_vv.o
+1
drivers/media/common/ir-common.c
··· 313 313 if (ir_codes) 314 314 memcpy(ir->ir_codes, ir_codes, sizeof(ir->ir_codes)); 315 315 316 + 316 317 dev->keycode = ir->ir_codes; 317 318 dev->keycodesize = sizeof(IR_KEYTAB_TYPE); 318 319 dev->keycodemax = IR_KEYTAB_SIZE;
+3 -3
drivers/media/common/saa7146_core.c
··· 174 174 175 175 int saa7146_pgtable_alloc(struct pci_dev *pci, struct saa7146_pgtable *pt) 176 176 { 177 - u32 *cpu; 178 - dma_addr_t dma_addr; 177 + u32 *cpu; 178 + dma_addr_t dma_addr; 179 179 180 180 cpu = pci_alloc_consistent(pci, PAGE_SIZE, &dma_addr); 181 181 if (NULL == cpu) { ··· 405 405 406 406 pci_set_drvdata(pci, dev); 407 407 408 - init_MUTEX(&dev->lock); 408 + init_MUTEX(&dev->lock); 409 409 spin_lock_init(&dev->int_slock); 410 410 spin_lock_init(&dev->slock); 411 411
+16 -16
drivers/media/common/saa7146_fops.c
··· 1 1 #include <media/saa7146_vv.h> 2 2 3 - #define BOARD_CAN_DO_VBI(dev) (dev->revision != 0 && dev->vv_data->vbi_minor != -1) 3 + #define BOARD_CAN_DO_VBI(dev) (dev->revision != 0 && dev->vv_data->vbi_minor != -1) 4 4 5 5 /****************************************************************************/ 6 6 /* resource management functions, shamelessly stolen from saa7134 driver */ ··· 102 102 /* finish current buffer */ 103 103 if (NULL == q->curr) { 104 104 DEB_D(("aiii. no current buffer\n")); 105 - return; 105 + return; 106 106 } 107 - 107 + 108 108 q->curr->vb.state = state; 109 109 do_gettimeofday(&q->curr->vb.ts); 110 110 wake_up(&q->curr->vb.done); ··· 143 143 // fixme: fix this for vflip != 0 144 144 145 145 saa7146_write(dev, PROT_ADDR1, 0); 146 - saa7146_write(dev, MC2, (MASK_02|MASK_18)); 146 + saa7146_write(dev, MC2, (MASK_02|MASK_18)); 147 147 148 148 /* write the address of the rps-program */ 149 149 saa7146_write(dev, RPS_ADDR0, dev->d_rps0.dma_handle); 150 150 /* turn on rps */ 151 151 saa7146_write(dev, MC1, (MASK_12 | MASK_28)); 152 - 152 + 153 153 /* 154 154 printk("vdma%d.base_even: 0x%08x\n", 1,saa7146_read(dev,BASE_EVEN1)); 155 155 printk("vdma%d.base_odd: 0x%08x\n", 1,saa7146_read(dev,BASE_ODD1)); ··· 246 246 goto out; 247 247 } 248 248 memset(fh,0,sizeof(*fh)); 249 - 249 + 250 250 file->private_data = fh; 251 251 fh->dev = dev; 252 252 fh->type = type; ··· 275 275 file->private_data = NULL; 276 276 } 277 277 up(&saa7146_devices_lock); 278 - return result; 278 + return result; 279 279 } 280 280 281 281 static int fops_release(struct inode *inode, struct file *file) ··· 405 405 static void vv_callback(struct saa7146_dev *dev, unsigned long status) 406 406 { 407 407 u32 isr = status; 408 - 408 + 409 409 DEB_INT(("dev:%p, isr:0x%08x\n",dev,(u32)status)); 410 410 411 411 if (0 != (isr & (MASK_27))) { ··· 454 454 handle different devices that might need different 455 455 configuration data) */ 456 456 dev->ext_vv_data = ext_vv; 457 - 457 + 458 458 vv->video_minor = -1; 459 459 vv->vbi_minor = -1; 460 460 461 - vv->d_clipping.cpu_addr = pci_alloc_consistent(dev->pci, SAA7146_CLIPPING_MEM, &vv->d_clipping.dma_handle); 461 + vv->d_clipping.cpu_addr = pci_alloc_consistent(dev->pci, SAA7146_CLIPPING_MEM, &vv->d_clipping.dma_handle); 462 462 if( NULL == vv->d_clipping.cpu_addr ) { 463 463 ERR(("out of memory. aborting.\n")); 464 464 kfree(vv); ··· 468 468 469 469 saa7146_video_uops.init(dev,vv); 470 470 saa7146_vbi_uops.init(dev,vv); 471 - 471 + 472 472 dev->vv_data = vv; 473 473 dev->vv_callback = &vv_callback; 474 474 ··· 480 480 struct saa7146_vv *vv = dev->vv_data; 481 481 482 482 DEB_EE(("dev:%p\n",dev)); 483 - 483 + 484 484 pci_free_consistent(dev->pci, SAA7146_RPS_MEM, vv->d_clipping.cpu_addr, vv->d_clipping.dma_handle); 485 - kfree(vv); 485 + kfree(vv); 486 486 dev->vv_data = NULL; 487 487 dev->vv_callback = NULL; 488 - 488 + 489 489 return 0; 490 490 } 491 491 ··· 498 498 DEB_EE(("dev:%p, name:'%s', type:%d\n",dev,name,type)); 499 499 500 500 // released by vfd->release 501 - vfd = video_device_alloc(); 501 + vfd = video_device_alloc(); 502 502 if (vfd == NULL) 503 503 return -ENOMEM; 504 504 ··· 530 530 int saa7146_unregister_device(struct video_device **vid, struct saa7146_dev* dev) 531 531 { 532 532 struct saa7146_vv *vv = dev->vv_data; 533 - 533 + 534 534 DEB_EE(("dev:%p\n",dev)); 535 535 536 536 if( VFL_TYPE_GRABBER == (*vid)->type ) {
+8 -8
drivers/media/common/saa7146_i2c.c
··· 276 276 int i = 0, count = 0; 277 277 u32* buffer = dev->d_i2c.cpu_addr; 278 278 int err = 0; 279 - int address_err = 0; 280 - int short_delay = 0; 279 + int address_err = 0; 280 + int short_delay = 0; 281 281 282 282 if (down_interruptible (&dev->i2c_lock)) 283 283 return -ERESTARTSYS; ··· 325 325 if( 0 != (SAA7146_USE_I2C_IRQ & dev->ext->flags)) { 326 326 goto out; 327 327 } 328 - address_err++; 328 + address_err++; 329 329 } 330 330 DEB_I2C(("error while sending message(s). starting again.\n")); 331 331 break; ··· 336 336 break; 337 337 } 338 338 339 - /* delay a bit before retrying */ 340 - msleep(10); 339 + /* delay a bit before retrying */ 340 + msleep(10); 341 341 342 342 } while (err != num && retries--); 343 343 344 - /* if every retry had an address error, exit right away */ 345 - if (address_err == retries) { 346 - goto out; 344 + /* if every retry had an address error, exit right away */ 345 + if (address_err == retries) { 346 + goto out; 347 347 } 348 348 349 349 /* if any things had to be read, get the results */
+2 -2
drivers/media/common/saa7146_vbi.c
··· 6 6 { 7 7 struct saa7146_vv *vv = dev->vv_data; 8 8 9 - u32 *cpu; 10 - dma_addr_t dma_addr; 9 + u32 *cpu; 10 + dma_addr_t dma_addr; 11 11 12 12 int count = 0; 13 13 int i;
+23 -23
drivers/media/common/saa7146_video.c
··· 150 150 maxh = vv->standard->v_max_out; 151 151 152 152 if (V4L2_FIELD_ANY == field) { 153 - field = (win->w.height > maxh/2) 154 - ? V4L2_FIELD_INTERLACED 155 - : V4L2_FIELD_TOP; 156 - } 157 - switch (field) { 158 - case V4L2_FIELD_TOP: 159 - case V4L2_FIELD_BOTTOM: 160 - case V4L2_FIELD_ALTERNATE: 161 - maxh = maxh / 2; 162 - break; 163 - case V4L2_FIELD_INTERLACED: 164 - break; 165 - default: { 153 + field = (win->w.height > maxh/2) 154 + ? V4L2_FIELD_INTERLACED 155 + : V4L2_FIELD_TOP; 156 + } 157 + switch (field) { 158 + case V4L2_FIELD_TOP: 159 + case V4L2_FIELD_BOTTOM: 160 + case V4L2_FIELD_ALTERNATE: 161 + maxh = maxh / 2; 162 + break; 163 + case V4L2_FIELD_INTERLACED: 164 + break; 165 + default: { 166 166 DEB_D(("no known field mode '%d'.\n",field)); 167 - return -EINVAL; 167 + return -EINVAL; 168 168 } 169 - } 169 + } 170 170 171 171 win->field = field; 172 172 if (win->w.width > maxw) ··· 887 887 888 888 DEB_EE(("VIDIOC_QUERYCAP\n")); 889 889 890 - strcpy(cap->driver, "saa7146 v4l2"); 890 + strcpy(cap->driver, "saa7146 v4l2"); 891 891 strlcpy(cap->card, dev->ext->name, sizeof(cap->card)); 892 892 sprintf(cap->bus_info,"PCI:%s", pci_name(dev->pci)); 893 893 cap->version = SAA7146_VERSION_CODE; ··· 1011 1011 err = set_control(fh,arg); 1012 1012 return err; 1013 1013 } 1014 - case VIDIOC_G_PARM: 1015 - { 1016 - struct v4l2_streamparm *parm = arg; 1014 + case VIDIOC_G_PARM: 1015 + { 1016 + struct v4l2_streamparm *parm = arg; 1017 1017 if( parm->type != V4L2_BUF_TYPE_VIDEO_CAPTURE ) { 1018 1018 return -EINVAL; 1019 1019 } 1020 - memset(&parm->parm.capture,0,sizeof(struct v4l2_captureparm)); 1020 + memset(&parm->parm.capture,0,sizeof(struct v4l2_captureparm)); 1021 1021 parm->parm.capture.readbuffers = 1; 1022 1022 // fixme: only for PAL! 1023 1023 parm->parm.capture.timeperframe.numerator = 1; 1024 1024 parm->parm.capture.timeperframe.denominator = 25; 1025 - return 0; 1026 - } 1025 + return 0; 1026 + } 1027 1027 case VIDIOC_G_FMT: 1028 1028 { 1029 1029 struct v4l2_format *f = arg; ··· 1383 1383 1384 1384 static void video_init(struct saa7146_dev *dev, struct saa7146_vv *vv) 1385 1385 { 1386 - INIT_LIST_HEAD(&vv->video_q.queue); 1386 + INIT_LIST_HEAD(&vv->video_q.queue); 1387 1387 1388 1388 init_timer(&vv->video_q.timeout); 1389 1389 vv->video_q.timeout.function = saa7146_buffer_timeout;
+1 -1
drivers/media/dvb/b2c2/flexcop-common.h
··· 132 132 * I2C-channel of the flexcop. 133 133 */ 134 134 int flexcop_i2c_request(struct flexcop_device*, flexcop_access_op_t, 135 - flexcop_i2c_port_t, u8 chipaddr, u8 addr, u8 *buf, u16 len); 135 + flexcop_i2c_port_t, u8 chipaddr, u8 addr, u8 *buf, u16 len); 136 136 137 137 /* from flexcop-sram.c */ 138 138 int flexcop_sram_set_dest(struct flexcop_device *fc, flexcop_sram_dest_t dest, flexcop_sram_dest_target_t target);
+2 -2
drivers/media/dvb/b2c2/flexcop-fe-tuner.c
··· 298 298 } 299 299 300 300 static int lgdt3303_pll_set(struct dvb_frontend* fe, 301 - struct dvb_frontend_parameters* params) 301 + struct dvb_frontend_parameters* params) 302 302 { 303 303 struct flexcop_device *fc = fe->dvb->priv; 304 304 u8 buf[4]; ··· 332 332 return -EREMOTEIO; 333 333 } 334 334 335 - return 0; 335 + return 0; 336 336 } 337 337 338 338 static struct lgdt330x_config air2pc_atsc_hd5000_config = {
+3 -3
drivers/media/dvb/bt8xx/dvb-bt8xx.c
··· 556 556 dprintk("%s: tuner at 0x%02x bytes: 0x%02x 0x%02x 0x%02x 0x%02x\n", 557 557 __FUNCTION__, msg.addr, buf[0],buf[1],buf[2],buf[3]); 558 558 if ((err = i2c_transfer(card->i2c_adapter, &msg, 1)) != 1) { 559 - printk(KERN_WARNING "dvb-bt8xx: %s error " 560 - "(addr %02x <- %02x, err = %i)\n", 561 - __FUNCTION__, buf[0], buf[1], err); 559 + printk(KERN_WARNING "dvb-bt8xx: %s error " 560 + "(addr %02x <- %02x, err = %i)\n", 561 + __FUNCTION__, buf[0], buf[1], err); 562 562 if (err < 0) 563 563 return err; 564 564 else
+46 -46
drivers/media/dvb/dvb-core/demux.h
··· 86 86 87 87 enum dmx_ts_pes 88 88 { /* also send packets to decoder (if it exists) */ 89 - DMX_TS_PES_AUDIO0, 89 + DMX_TS_PES_AUDIO0, 90 90 DMX_TS_PES_VIDEO0, 91 91 DMX_TS_PES_TELETEXT0, 92 92 DMX_TS_PES_SUBTITLE0, 93 93 DMX_TS_PES_PCR0, 94 94 95 - DMX_TS_PES_AUDIO1, 95 + DMX_TS_PES_AUDIO1, 96 96 DMX_TS_PES_VIDEO1, 97 97 DMX_TS_PES_TELETEXT1, 98 98 DMX_TS_PES_SUBTITLE1, 99 99 DMX_TS_PES_PCR1, 100 100 101 - DMX_TS_PES_AUDIO2, 101 + DMX_TS_PES_AUDIO2, 102 102 DMX_TS_PES_VIDEO2, 103 103 DMX_TS_PES_TELETEXT2, 104 104 DMX_TS_PES_SUBTITLE2, 105 105 DMX_TS_PES_PCR2, 106 106 107 - DMX_TS_PES_AUDIO3, 107 + DMX_TS_PES_AUDIO3, 108 108 DMX_TS_PES_VIDEO3, 109 109 DMX_TS_PES_TELETEXT3, 110 110 DMX_TS_PES_SUBTITLE3, ··· 121 121 122 122 123 123 struct dmx_ts_feed { 124 - int is_filtering; /* Set to non-zero when filtering in progress */ 125 - struct dmx_demux *parent; /* Back-pointer */ 126 - void *priv; /* Pointer to private data of the API client */ 127 - int (*set) (struct dmx_ts_feed *feed, 124 + int is_filtering; /* Set to non-zero when filtering in progress */ 125 + struct dmx_demux *parent; /* Back-pointer */ 126 + void *priv; /* Pointer to private data of the API client */ 127 + int (*set) (struct dmx_ts_feed *feed, 128 128 u16 pid, 129 129 int type, 130 130 enum dmx_ts_pes pes_type, 131 131 size_t circular_buffer_size, 132 132 struct timespec timeout); 133 - int (*start_filtering) (struct dmx_ts_feed* feed); 134 - int (*stop_filtering) (struct dmx_ts_feed* feed); 133 + int (*start_filtering) (struct dmx_ts_feed* feed); 134 + int (*stop_filtering) (struct dmx_ts_feed* feed); 135 135 }; 136 136 137 137 /*--------------------------------------------------------------------------*/ ··· 139 139 /*--------------------------------------------------------------------------*/ 140 140 141 141 struct dmx_section_filter { 142 - u8 filter_value [DMX_MAX_FILTER_SIZE]; 143 - u8 filter_mask [DMX_MAX_FILTER_SIZE]; 144 - u8 filter_mode [DMX_MAX_FILTER_SIZE]; 145 - struct dmx_section_feed* parent; /* Back-pointer */ 146 - void* priv; /* Pointer to private data of the API client */ 142 + u8 filter_value [DMX_MAX_FILTER_SIZE]; 143 + u8 filter_mask [DMX_MAX_FILTER_SIZE]; 144 + u8 filter_mode [DMX_MAX_FILTER_SIZE]; 145 + struct dmx_section_feed* parent; /* Back-pointer */ 146 + void* priv; /* Pointer to private data of the API client */ 147 147 }; 148 148 149 149 struct dmx_section_feed { 150 - int is_filtering; /* Set to non-zero when filtering in progress */ 151 - struct dmx_demux* parent; /* Back-pointer */ 152 - void* priv; /* Pointer to private data of the API client */ 150 + int is_filtering; /* Set to non-zero when filtering in progress */ 151 + struct dmx_demux* parent; /* Back-pointer */ 152 + void* priv; /* Pointer to private data of the API client */ 153 153 154 - int check_crc; 154 + int check_crc; 155 155 u32 crc_val; 156 156 157 - u8 *secbuf; 158 - u8 secbuf_base[DMX_MAX_SECFEED_SIZE]; 159 - u16 secbufp, seclen, tsfeedp; 157 + u8 *secbuf; 158 + u8 secbuf_base[DMX_MAX_SECFEED_SIZE]; 159 + u16 secbufp, seclen, tsfeedp; 160 160 161 - int (*set) (struct dmx_section_feed* feed, 161 + int (*set) (struct dmx_section_feed* feed, 162 162 u16 pid, 163 163 size_t circular_buffer_size, 164 164 int check_crc); 165 - int (*allocate_filter) (struct dmx_section_feed* feed, 165 + int (*allocate_filter) (struct dmx_section_feed* feed, 166 166 struct dmx_section_filter** filter); 167 - int (*release_filter) (struct dmx_section_feed* feed, 167 + int (*release_filter) (struct dmx_section_feed* feed, 168 168 struct dmx_section_filter* filter); 169 - int (*start_filtering) (struct dmx_section_feed* feed); 170 - int (*stop_filtering) (struct dmx_section_feed* feed); 169 + int (*start_filtering) (struct dmx_section_feed* feed); 170 + int (*stop_filtering) (struct dmx_section_feed* feed); 171 171 }; 172 172 173 173 /*--------------------------------------------------------------------------*/ ··· 205 205 }; 206 206 207 207 struct dmx_frontend { 208 - struct list_head connectivity_list; /* List of front-ends that can 208 + struct list_head connectivity_list; /* List of front-ends that can 209 209 be connected to a particular 210 210 demux */ 211 - enum dmx_frontend_source source; 211 + enum dmx_frontend_source source; 212 212 }; 213 213 214 214 /*--------------------------------------------------------------------------*/ ··· 240 240 #define DMX_FE_ENTRY(list) list_entry(list, struct dmx_frontend, connectivity_list) 241 241 242 242 struct dmx_demux { 243 - u32 capabilities; /* Bitfield of capability flags */ 244 - struct dmx_frontend* frontend; /* Front-end connected to the demux */ 245 - void* priv; /* Pointer to private data of the API client */ 246 - int (*open) (struct dmx_demux* demux); 247 - int (*close) (struct dmx_demux* demux); 248 - int (*write) (struct dmx_demux* demux, const char* buf, size_t count); 249 - int (*allocate_ts_feed) (struct dmx_demux* demux, 243 + u32 capabilities; /* Bitfield of capability flags */ 244 + struct dmx_frontend* frontend; /* Front-end connected to the demux */ 245 + void* priv; /* Pointer to private data of the API client */ 246 + int (*open) (struct dmx_demux* demux); 247 + int (*close) (struct dmx_demux* demux); 248 + int (*write) (struct dmx_demux* demux, const char* buf, size_t count); 249 + int (*allocate_ts_feed) (struct dmx_demux* demux, 250 250 struct dmx_ts_feed** feed, 251 251 dmx_ts_cb callback); 252 - int (*release_ts_feed) (struct dmx_demux* demux, 252 + int (*release_ts_feed) (struct dmx_demux* demux, 253 253 struct dmx_ts_feed* feed); 254 - int (*allocate_section_feed) (struct dmx_demux* demux, 254 + int (*allocate_section_feed) (struct dmx_demux* demux, 255 255 struct dmx_section_feed** feed, 256 256 dmx_section_cb callback); 257 - int (*release_section_feed) (struct dmx_demux* demux, 257 + int (*release_section_feed) (struct dmx_demux* demux, 258 258 struct dmx_section_feed* feed); 259 - int (*add_frontend) (struct dmx_demux* demux, 259 + int (*add_frontend) (struct dmx_demux* demux, 260 260 struct dmx_frontend* frontend); 261 - int (*remove_frontend) (struct dmx_demux* demux, 261 + int (*remove_frontend) (struct dmx_demux* demux, 262 262 struct dmx_frontend* frontend); 263 - struct list_head* (*get_frontends) (struct dmx_demux* demux); 264 - int (*connect_frontend) (struct dmx_demux* demux, 263 + struct list_head* (*get_frontends) (struct dmx_demux* demux); 264 + int (*connect_frontend) (struct dmx_demux* demux, 265 265 struct dmx_frontend* frontend); 266 - int (*disconnect_frontend) (struct dmx_demux* demux); 266 + int (*disconnect_frontend) (struct dmx_demux* demux); 267 267 268 - int (*get_pes_pids) (struct dmx_demux* demux, u16 *pids); 268 + int (*get_pes_pids) (struct dmx_demux* demux, u16 *pids); 269 269 270 270 int (*get_caps) (struct dmx_demux* demux, struct dmx_caps *caps); 271 271 272 272 int (*set_source) (struct dmx_demux* demux, const dmx_source_t *src); 273 273 274 - int (*get_stc) (struct dmx_demux* demux, unsigned int num, 274 + int (*get_stc) (struct dmx_demux* demux, unsigned int num, 275 275 u64 *stc, unsigned int *base); 276 276 }; 277 277
+1 -1
drivers/media/dvb/dvb-core/dmxdev.c
··· 947 947 948 948 case DMX_GET_STC: 949 949 if (!dmxdev->demux->get_stc) { 950 - ret=-EINVAL; 950 + ret=-EINVAL; 951 951 break; 952 952 } 953 953 ret = dmxdev->demux->get_stc(dmxdev->demux,
+32 -32
drivers/media/dvb/dvb-core/dmxdev.h
··· 53 53 }; 54 54 55 55 struct dmxdev_buffer { 56 - u8 *data; 57 - int size; 58 - int pread; 59 - int pwrite; 56 + u8 *data; 57 + int size; 58 + int pread; 59 + int pwrite; 60 60 wait_queue_head_t queue; 61 - int error; 61 + int error; 62 62 }; 63 63 64 64 struct dmxdev_filter { 65 65 struct dvb_device *dvbdev; 66 66 67 - union { 68 - struct dmx_section_filter *sec; 67 + union { 68 + struct dmx_section_filter *sec; 69 69 } filter; 70 70 71 - union { 72 - struct dmx_ts_feed *ts; 73 - struct dmx_section_feed *sec; 71 + union { 72 + struct dmx_ts_feed *ts; 73 + struct dmx_section_feed *sec; 74 74 } feed; 75 75 76 - union { 77 - struct dmx_sct_filter_params sec; 78 - struct dmx_pes_filter_params pes; 76 + union { 77 + struct dmx_sct_filter_params sec; 78 + struct dmx_pes_filter_params pes; 79 79 } params; 80 80 81 - int type; 82 - enum dmxdev_state state; 83 - struct dmxdev *dev; 84 - struct dmxdev_buffer buffer; 81 + int type; 82 + enum dmxdev_state state; 83 + struct dmxdev *dev; 84 + struct dmxdev_buffer buffer; 85 85 86 86 struct semaphore mutex; 87 87 88 - /* only for sections */ 89 - struct timer_list timer; 90 - int todo; 91 - u8 secheader[3]; 88 + /* only for sections */ 89 + struct timer_list timer; 90 + int todo; 91 + u8 secheader[3]; 92 92 93 - u16 pid; 93 + u16 pid; 94 94 }; 95 95 96 96 97 97 struct dmxdev_dvr { 98 - int state; 99 - struct dmxdev *dev; 100 - struct dmxdev_buffer buffer; 98 + int state; 99 + struct dmxdev *dev; 100 + struct dmxdev_buffer buffer; 101 101 }; 102 102 103 103 ··· 105 105 struct dvb_device *dvbdev; 106 106 struct dvb_device *dvr_dvbdev; 107 107 108 - struct dmxdev_filter *filter; 109 - struct dmxdev_dvr *dvr; 110 - struct dmx_demux *demux; 108 + struct dmxdev_filter *filter; 109 + struct dmxdev_dvr *dvr; 110 + struct dmx_demux *demux; 111 111 112 - int filternum; 113 - int capabilities; 112 + int filternum; 113 + int capabilities; 114 114 #define DMXDEV_CAP_DUPLEX 1 115 - struct dmx_frontend *dvr_orig_fe; 115 + struct dmx_frontend *dvr_orig_fe; 116 116 117 - struct dmxdev_buffer dvr_buffer; 117 + struct dmxdev_buffer dvr_buffer; 118 118 #define DVR_BUFFER_SIZE (10*188*1024) 119 119 120 120 struct semaphore mutex;
+1 -1
drivers/media/dvb/dvb-core/dvb_ca_en50221.c
··· 498 498 /* process the CFTABLE_ENTRY tuples, and any after those */ 499 499 while ((!end_chain) && (address < 0x1000)) { 500 500 if ((status = dvb_ca_en50221_read_tuple(ca, slot, &address, &tupleType, 501 - &tupleLength, tuple)) < 0) 501 + &tupleLength, tuple)) < 0) 502 502 return status; 503 503 switch (tupleType) { 504 504 case 0x1B: // CISTPL_CFTABLE_ENTRY
+154 -154
drivers/media/dvb/dvb-core/dvb_filter.c
··· 72 72 u8 pct; 73 73 74 74 if (pr) printk( "Pic header: "); 75 - pic->temporal_reference[field] = (( headr[0] << 2 ) | 75 + pic->temporal_reference[field] = (( headr[0] << 2 ) | 76 76 (headr[1] & 0x03) )& 0x03ff; 77 77 if (pr) printk( " temp ref: 0x%04x", pic->temporal_reference[field]); 78 78 79 79 pct = ( headr[1] >> 2 ) & 0x07; 80 - pic->picture_coding_type[field] = pct; 80 + pic->picture_coding_type[field] = pct; 81 81 if (pr) { 82 82 switch(pct){ 83 83 case I_FRAME: ··· 93 93 } 94 94 95 95 96 - pic->vinfo.vbv_delay = (( headr[1] >> 5 ) | ( headr[2] << 3) | 96 + pic->vinfo.vbv_delay = (( headr[1] >> 5 ) | ( headr[2] << 3) | 97 97 ( (headr[3] & 0x1F) << 11) ) & 0xffff; 98 98 99 99 if (pr) printk( " vbv delay: 0x%04x", pic->vinfo.vbv_delay); 100 100 101 - pic->picture_header_parameter = ( headr[3] & 0xe0 ) | 101 + pic->picture_header_parameter = ( headr[3] & 0xe0 ) | 102 102 ((headr[4] & 0x80) >> 3); 103 103 104 - if ( pct == B_FRAME ){ 105 - pic->picture_header_parameter |= ( headr[4] >> 3 ) & 0x0f; 106 - } 104 + if ( pct == B_FRAME ){ 105 + pic->picture_header_parameter |= ( headr[4] >> 3 ) & 0x0f; 106 + } 107 107 if (pr) printk( " pic head param: 0x%x", 108 108 pic->picture_header_parameter); 109 109 ··· 124 124 ((headr[0]<<4)& 0x30)| ((headr[1]>>4)& 0x0F), 125 125 ((headr[1]<<3)& 0x38)| ((headr[2]>>5)& 0x0F)); 126 126 127 - if ( ( headr[3] & 0x40 ) != 0 ){ 128 - pic->closed_gop = 1; 129 - } else { 130 - pic->closed_gop = 0; 131 - } 127 + if ( ( headr[3] & 0x40 ) != 0 ){ 128 + pic->closed_gop = 1; 129 + } else { 130 + pic->closed_gop = 0; 131 + } 132 132 if (pr) printk("closed: %d", pic->closed_gop); 133 133 134 - if ( ( headr[3] & 0x20 ) != 0 ){ 135 - pic->broken_link = 1; 136 - } else { 137 - pic->broken_link = 0; 138 - } 134 + if ( ( headr[3] & 0x20 ) != 0 ){ 135 + pic->broken_link = 1; 136 + } else { 137 + pic->broken_link = 0; 138 + } 139 139 if (pr) printk(" broken: %d\n", pic->broken_link); 140 140 141 141 return 0; ··· 146 146 /* needs 8 byte input */ 147 147 static int read_sequence_header(u8 *headr, struct dvb_video_info *vi, int pr) 148 148 { 149 - int sw; 149 + int sw; 150 150 int form = -1; 151 151 152 152 if (pr) printk("Reading sequence header\n"); ··· 154 154 vi->horizontal_size = ((headr[1] &0xF0) >> 4) | (headr[0] << 4); 155 155 vi->vertical_size = ((headr[1] &0x0F) << 8) | (headr[2]); 156 156 157 - sw = (int)((headr[3]&0xF0) >> 4) ; 157 + sw = (int)((headr[3]&0xF0) >> 4) ; 158 158 159 - switch( sw ){ 159 + switch( sw ){ 160 160 case 1: 161 161 if (pr) 162 162 printk("Videostream: ASPECT: 1:1"); ··· 165 165 case 2: 166 166 if (pr) 167 167 printk("Videostream: ASPECT: 4:3"); 168 - vi->aspect_ratio = 133; 168 + vi->aspect_ratio = 133; 169 169 break; 170 170 case 3: 171 171 if (pr) 172 172 printk("Videostream: ASPECT: 16:9"); 173 - vi->aspect_ratio = 177; 173 + vi->aspect_ratio = 177; 174 174 break; 175 175 case 4: 176 176 if (pr) 177 177 printk("Videostream: ASPECT: 2.21:1"); 178 - vi->aspect_ratio = 221; 178 + vi->aspect_ratio = 221; 179 179 break; 180 180 181 - case 5 ... 15: 181 + case 5 ... 15: 182 182 if (pr) 183 183 printk("Videostream: ASPECT: reserved"); 184 - vi->aspect_ratio = 0; 184 + vi->aspect_ratio = 0; 185 185 break; 186 186 187 - default: 188 - vi->aspect_ratio = 0; 189 - return -1; 187 + default: 188 + vi->aspect_ratio = 0; 189 + return -1; 190 190 } 191 191 192 192 if (pr) 193 193 printk(" Size = %dx%d",vi->horizontal_size,vi->vertical_size); 194 194 195 - sw = (int)(headr[3]&0x0F); 195 + sw = (int)(headr[3]&0x0F); 196 196 197 - switch ( sw ) { 197 + switch ( sw ) { 198 198 case 1: 199 199 if (pr) 200 200 printk(" FRate: 23.976 fps"); 201 - vi->framerate = 23976; 201 + vi->framerate = 23976; 202 202 form = -1; 203 203 break; 204 204 case 2: 205 205 if (pr) 206 206 printk(" FRate: 24 fps"); 207 - vi->framerate = 24000; 207 + vi->framerate = 24000; 208 208 form = -1; 209 209 break; 210 210 case 3: 211 211 if (pr) 212 212 printk(" FRate: 25 fps"); 213 - vi->framerate = 25000; 213 + vi->framerate = 25000; 214 214 form = VIDEO_MODE_PAL; 215 215 break; 216 216 case 4: 217 217 if (pr) 218 218 printk(" FRate: 29.97 fps"); 219 - vi->framerate = 29970; 219 + vi->framerate = 29970; 220 220 form = VIDEO_MODE_NTSC; 221 221 break; 222 222 case 5: 223 223 if (pr) 224 224 printk(" FRate: 30 fps"); 225 - vi->framerate = 30000; 225 + vi->framerate = 30000; 226 226 form = VIDEO_MODE_NTSC; 227 227 break; 228 228 case 6: 229 229 if (pr) 230 230 printk(" FRate: 50 fps"); 231 - vi->framerate = 50000; 231 + vi->framerate = 50000; 232 232 form = VIDEO_MODE_PAL; 233 233 break; 234 234 case 7: 235 235 if (pr) 236 236 printk(" FRate: 60 fps"); 237 - vi->framerate = 60000; 237 + vi->framerate = 60000; 238 238 form = VIDEO_MODE_NTSC; 239 239 break; 240 240 } 241 241 242 242 vi->bit_rate = (headr[4] << 10) | (headr[5] << 2) | (headr[6] & 0x03); 243 243 244 - vi->vbv_buffer_size 245 - = (( headr[6] & 0xF8) >> 3 ) | (( headr[7] & 0x1F )<< 5); 244 + vi->vbv_buffer_size 245 + = (( headr[6] & 0xF8) >> 3 ) | (( headr[7] & 0x1F )<< 5); 246 246 247 247 if (pr){ 248 248 printk(" BRate: %d Mbit/s",4*(vi->bit_rate)/10000); ··· 250 250 printk("\n"); 251 251 } 252 252 253 - vi->video_format = form; 253 + vi->video_format = form; 254 254 255 255 return 0; 256 256 } ··· 308 308 if (!found) return -1; 309 309 310 310 if (c+3 >= count) return -1; 311 - headr = mbuf+c; 311 + headr = mbuf+c; 312 312 313 313 ai->layer = (headr[1] & 0x06) >> 1; 314 314 ··· 368 368 if (c+5 >= count) return -1; 369 369 370 370 ai->layer = 0; // 0 for AC3 371 - headr = mbuf+c+2; 371 + headr = mbuf+c+2; 372 372 373 373 frame = (headr[2]&0x3f); 374 374 ai->bit_rate = ac3_bitrates[frame >> 1]*1000; ··· 396 396 #if 0 397 397 static u8 *skip_pes_header(u8 **bufp) 398 398 { 399 - u8 *inbuf = *bufp; 400 - u8 *buf = inbuf; 401 - u8 *pts = NULL; 402 - int skip = 0; 399 + u8 *inbuf = *bufp; 400 + u8 *buf = inbuf; 401 + u8 *pts = NULL; 402 + int skip = 0; 403 403 404 404 static const int mpeg1_skip_table[16] = { 405 405 1, 0xffff, 5, 10, 0xffff, 0xffff, 0xffff, 0xffff, 406 - 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff 406 + 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff 407 407 }; 408 408 409 409 410 - if ((inbuf[6] & 0xc0) == 0x80){ /* mpeg2 */ 411 - if (buf[7] & PTS_ONLY) 412 - pts = buf+9; 413 - else pts = NULL; 414 - buf = inbuf + 9 + inbuf[8]; 415 - } else { /* mpeg1 */ 416 - for (buf = inbuf + 6; *buf == 0xff; buf++) 417 - if (buf == inbuf + 6 + 16) { 418 - break; 419 - } 420 - if ((*buf & 0xc0) == 0x40) 421 - buf += 2; 422 - skip = mpeg1_skip_table [*buf >> 4]; 423 - if (skip == 5 || skip == 10) pts = buf; 424 - else pts = NULL; 410 + if ((inbuf[6] & 0xc0) == 0x80){ /* mpeg2 */ 411 + if (buf[7] & PTS_ONLY) 412 + pts = buf+9; 413 + else pts = NULL; 414 + buf = inbuf + 9 + inbuf[8]; 415 + } else { /* mpeg1 */ 416 + for (buf = inbuf + 6; *buf == 0xff; buf++) 417 + if (buf == inbuf + 6 + 16) { 418 + break; 419 + } 420 + if ((*buf & 0xc0) == 0x40) 421 + buf += 2; 422 + skip = mpeg1_skip_table [*buf >> 4]; 423 + if (skip == 5 || skip == 10) pts = buf; 424 + else pts = NULL; 425 425 426 - buf += mpeg1_skip_table [*buf >> 4]; 427 - } 426 + buf += mpeg1_skip_table [*buf >> 4]; 427 + } 428 428 429 - *bufp = buf; 430 - return pts; 429 + *bufp = buf; 430 + return pts; 431 431 } 432 432 #endif 433 433 434 434 #if 0 435 435 static void initialize_quant_matrix( u32 *matrix ) 436 436 { 437 - int i; 437 + int i; 438 438 439 - matrix[0] = 0x08101013; 440 - matrix[1] = 0x10131616; 441 - matrix[2] = 0x16161616; 442 - matrix[3] = 0x1a181a1b; 443 - matrix[4] = 0x1b1b1a1a; 444 - matrix[5] = 0x1a1a1b1b; 445 - matrix[6] = 0x1b1d1d1d; 446 - matrix[7] = 0x2222221d; 447 - matrix[8] = 0x1d1d1b1b; 448 - matrix[9] = 0x1d1d2020; 449 - matrix[10] = 0x22222526; 450 - matrix[11] = 0x25232322; 451 - matrix[12] = 0x23262628; 452 - matrix[13] = 0x28283030; 453 - matrix[14] = 0x2e2e3838; 454 - matrix[15] = 0x3a454553; 439 + matrix[0] = 0x08101013; 440 + matrix[1] = 0x10131616; 441 + matrix[2] = 0x16161616; 442 + matrix[3] = 0x1a181a1b; 443 + matrix[4] = 0x1b1b1a1a; 444 + matrix[5] = 0x1a1a1b1b; 445 + matrix[6] = 0x1b1d1d1d; 446 + matrix[7] = 0x2222221d; 447 + matrix[8] = 0x1d1d1b1b; 448 + matrix[9] = 0x1d1d2020; 449 + matrix[10] = 0x22222526; 450 + matrix[11] = 0x25232322; 451 + matrix[12] = 0x23262628; 452 + matrix[13] = 0x28283030; 453 + matrix[14] = 0x2e2e3838; 454 + matrix[15] = 0x3a454553; 455 455 456 - for ( i = 16 ; i < 32 ; i++ ) 457 - matrix[i] = 0x10101010; 456 + for ( i = 16 ; i < 32 ; i++ ) 457 + matrix[i] = 0x10101010; 458 458 } 459 459 #endif 460 460 461 461 #if 0 462 462 static void initialize_mpg_picture(struct mpg_picture *pic) 463 463 { 464 - int i; 464 + int i; 465 465 466 - /* set MPEG1 */ 467 - pic->mpeg1_flag = 1; 468 - pic->profile_and_level = 0x4A ; /* MP@LL */ 469 - pic->progressive_sequence = 1; 470 - pic->low_delay = 0; 466 + /* set MPEG1 */ 467 + pic->mpeg1_flag = 1; 468 + pic->profile_and_level = 0x4A ; /* MP@LL */ 469 + pic->progressive_sequence = 1; 470 + pic->low_delay = 0; 471 471 472 - pic->sequence_display_extension_flag = 0; 473 - for ( i = 0 ; i < 4 ; i++ ){ 474 - pic->frame_centre_horizontal_offset[i] = 0; 475 - pic->frame_centre_vertical_offset[i] = 0; 476 - } 477 - pic->last_frame_centre_horizontal_offset = 0; 478 - pic->last_frame_centre_vertical_offset = 0; 472 + pic->sequence_display_extension_flag = 0; 473 + for ( i = 0 ; i < 4 ; i++ ){ 474 + pic->frame_centre_horizontal_offset[i] = 0; 475 + pic->frame_centre_vertical_offset[i] = 0; 476 + } 477 + pic->last_frame_centre_horizontal_offset = 0; 478 + pic->last_frame_centre_vertical_offset = 0; 479 479 480 - pic->picture_display_extension_flag[0] = 0; 481 - pic->picture_display_extension_flag[1] = 0; 482 - pic->sequence_header_flag = 0; 480 + pic->picture_display_extension_flag[0] = 0; 481 + pic->picture_display_extension_flag[1] = 0; 482 + pic->sequence_header_flag = 0; 483 483 pic->gop_flag = 0; 484 - pic->sequence_end_flag = 0; 484 + pic->sequence_end_flag = 0; 485 485 } 486 486 #endif 487 487 488 488 #if 0 489 489 static void mpg_set_picture_parameter( int32_t field_type, struct mpg_picture *pic ) 490 490 { 491 - int16_t last_h_offset; 492 - int16_t last_v_offset; 491 + int16_t last_h_offset; 492 + int16_t last_v_offset; 493 493 494 - int16_t *p_h_offset; 495 - int16_t *p_v_offset; 494 + int16_t *p_h_offset; 495 + int16_t *p_v_offset; 496 496 497 - if ( pic->mpeg1_flag ){ 498 - pic->picture_structure[field_type] = VIDEO_FRAME_PICTURE; 499 - pic->top_field_first = 0; 500 - pic->repeat_first_field = 0; 501 - pic->progressive_frame = 1; 502 - pic->picture_coding_parameter = 0x000010; 503 - } 497 + if ( pic->mpeg1_flag ){ 498 + pic->picture_structure[field_type] = VIDEO_FRAME_PICTURE; 499 + pic->top_field_first = 0; 500 + pic->repeat_first_field = 0; 501 + pic->progressive_frame = 1; 502 + pic->picture_coding_parameter = 0x000010; 503 + } 504 504 505 - /* Reset flag */ 506 - pic->picture_display_extension_flag[field_type] = 0; 505 + /* Reset flag */ 506 + pic->picture_display_extension_flag[field_type] = 0; 507 507 508 - last_h_offset = pic->last_frame_centre_horizontal_offset; 509 - last_v_offset = pic->last_frame_centre_vertical_offset; 510 - if ( field_type == FIRST_FIELD ){ 511 - p_h_offset = pic->frame_centre_horizontal_offset; 512 - p_v_offset = pic->frame_centre_vertical_offset; 513 - *p_h_offset = last_h_offset; 514 - *(p_h_offset + 1) = last_h_offset; 515 - *(p_h_offset + 2) = last_h_offset; 516 - *p_v_offset = last_v_offset; 517 - *(p_v_offset + 1) = last_v_offset; 518 - *(p_v_offset + 2) = last_v_offset; 519 - } else { 520 - pic->frame_centre_horizontal_offset[3] = last_h_offset; 521 - pic->frame_centre_vertical_offset[3] = last_v_offset; 522 - } 508 + last_h_offset = pic->last_frame_centre_horizontal_offset; 509 + last_v_offset = pic->last_frame_centre_vertical_offset; 510 + if ( field_type == FIRST_FIELD ){ 511 + p_h_offset = pic->frame_centre_horizontal_offset; 512 + p_v_offset = pic->frame_centre_vertical_offset; 513 + *p_h_offset = last_h_offset; 514 + *(p_h_offset + 1) = last_h_offset; 515 + *(p_h_offset + 2) = last_h_offset; 516 + *p_v_offset = last_v_offset; 517 + *(p_v_offset + 1) = last_v_offset; 518 + *(p_v_offset + 2) = last_v_offset; 519 + } else { 520 + pic->frame_centre_horizontal_offset[3] = last_h_offset; 521 + pic->frame_centre_vertical_offset[3] = last_v_offset; 522 + } 523 523 } 524 524 #endif 525 525 526 526 #if 0 527 527 static void init_mpg_picture( struct mpg_picture *pic, int chan, int32_t field_type) 528 528 { 529 - pic->picture_header = 0; 530 - pic->sequence_header_data 531 - = ( INIT_HORIZONTAL_SIZE << 20 ) 532 - | ( INIT_VERTICAL_SIZE << 8 ) 533 - | ( INIT_ASPECT_RATIO << 4 ) 534 - | ( INIT_FRAME_RATE ); 535 - pic->mpeg1_flag = 0; 536 - pic->vinfo.horizontal_size 537 - = INIT_DISP_HORIZONTAL_SIZE; 538 - pic->vinfo.vertical_size 539 - = INIT_DISP_VERTICAL_SIZE; 540 - pic->picture_display_extension_flag[field_type] 541 - = 0; 542 - pic->pts_flag[field_type] = 0; 529 + pic->picture_header = 0; 530 + pic->sequence_header_data 531 + = ( INIT_HORIZONTAL_SIZE << 20 ) 532 + | ( INIT_VERTICAL_SIZE << 8 ) 533 + | ( INIT_ASPECT_RATIO << 4 ) 534 + | ( INIT_FRAME_RATE ); 535 + pic->mpeg1_flag = 0; 536 + pic->vinfo.horizontal_size 537 + = INIT_DISP_HORIZONTAL_SIZE; 538 + pic->vinfo.vertical_size 539 + = INIT_DISP_VERTICAL_SIZE; 540 + pic->picture_display_extension_flag[field_type] 541 + = 0; 542 + pic->pts_flag[field_type] = 0; 543 543 544 - pic->sequence_gop_header = 0; 545 - pic->picture_header = 0; 546 - pic->sequence_header_flag = 0; 547 - pic->gop_flag = 0; 548 - pic->sequence_end_flag = 0; 549 - pic->sequence_display_extension_flag = 0; 550 - pic->last_frame_centre_horizontal_offset = 0; 551 - pic->last_frame_centre_vertical_offset = 0; 544 + pic->sequence_gop_header = 0; 545 + pic->picture_header = 0; 546 + pic->sequence_header_flag = 0; 547 + pic->gop_flag = 0; 548 + pic->sequence_end_flag = 0; 549 + pic->sequence_display_extension_flag = 0; 550 + pic->last_frame_centre_horizontal_offset = 0; 551 + pic->last_frame_centre_vertical_offset = 0; 552 552 pic->channel = chan; 553 553 } 554 554 #endif ··· 588 588 buf[1]&=~0x40; 589 589 } 590 590 if (!len) 591 - return 0; 591 + return 0; 592 592 buf[3]=0x30|((p2ts->cc++)&0x0f); 593 593 rest=183-len; 594 594 if (rest) { 595 - buf[5]=0x00; 595 + buf[5]=0x00; 596 596 if (rest-1) 597 597 memset(buf+6, 0xff, rest-1); 598 598 }
+47 -47
drivers/media/dvb/dvb-core/dvb_filter.h
··· 29 29 30 30 struct dvb_filter_pes2ts { 31 31 unsigned char buf[188]; 32 - unsigned char cc; 33 - dvb_filter_pes2ts_cb_t *cb; 32 + unsigned char cc; 33 + dvb_filter_pes2ts_cb_t *cb; 34 34 void *priv; 35 35 }; 36 36 ··· 162 162 u32 bit_rate; 163 163 u32 comp_bit_rate; 164 164 u32 vbv_buffer_size; 165 - s16 vbv_delay; 165 + s16 vbv_delay; 166 166 u32 CSPF; 167 167 u32 off; 168 168 }; ··· 173 173 #define VIDEO_FRAME_PICTURE 0x03 174 174 175 175 struct mpg_picture { 176 - int channel; 176 + int channel; 177 177 struct dvb_video_info vinfo; 178 - u32 *sequence_gop_header; 179 - u32 *picture_header; 180 - s32 time_code; 181 - int low_delay; 182 - int closed_gop; 183 - int broken_link; 184 - int sequence_header_flag; 185 - int gop_flag; 186 - int sequence_end_flag; 178 + u32 *sequence_gop_header; 179 + u32 *picture_header; 180 + s32 time_code; 181 + int low_delay; 182 + int closed_gop; 183 + int broken_link; 184 + int sequence_header_flag; 185 + int gop_flag; 186 + int sequence_end_flag; 187 187 188 - u8 profile_and_level; 189 - s32 picture_coding_parameter; 190 - u32 matrix[32]; 191 - s8 matrix_change_flag; 188 + u8 profile_and_level; 189 + s32 picture_coding_parameter; 190 + u32 matrix[32]; 191 + s8 matrix_change_flag; 192 192 193 - u8 picture_header_parameter; 193 + u8 picture_header_parameter; 194 194 /* bit 0 - 2: bwd f code 195 195 bit 3 : fpb vector 196 196 bit 4 - 6: fwd f code 197 197 bit 7 : fpf vector */ 198 198 199 - int mpeg1_flag; 200 - int progressive_sequence; 201 - int sequence_display_extension_flag; 202 - u32 sequence_header_data; 203 - s16 last_frame_centre_horizontal_offset; 204 - s16 last_frame_centre_vertical_offset; 199 + int mpeg1_flag; 200 + int progressive_sequence; 201 + int sequence_display_extension_flag; 202 + u32 sequence_header_data; 203 + s16 last_frame_centre_horizontal_offset; 204 + s16 last_frame_centre_vertical_offset; 205 205 206 - u32 pts[2]; /* [0] 1st field, [1] 2nd field */ 207 - int top_field_first; 208 - int repeat_first_field; 209 - int progressive_frame; 210 - int bank; 211 - int forward_bank; 212 - int backward_bank; 213 - int compress; 214 - s16 frame_centre_horizontal_offset[OFF_SIZE]; 215 - /* [0-2] 1st field, [3] 2nd field */ 216 - s16 frame_centre_vertical_offset[OFF_SIZE]; 217 - /* [0-2] 1st field, [3] 2nd field */ 218 - s16 temporal_reference[2]; 219 - /* [0] 1st field, [1] 2nd field */ 206 + u32 pts[2]; /* [0] 1st field, [1] 2nd field */ 207 + int top_field_first; 208 + int repeat_first_field; 209 + int progressive_frame; 210 + int bank; 211 + int forward_bank; 212 + int backward_bank; 213 + int compress; 214 + s16 frame_centre_horizontal_offset[OFF_SIZE]; 215 + /* [0-2] 1st field, [3] 2nd field */ 216 + s16 frame_centre_vertical_offset[OFF_SIZE]; 217 + /* [0-2] 1st field, [3] 2nd field */ 218 + s16 temporal_reference[2]; 219 + /* [0] 1st field, [1] 2nd field */ 220 220 221 - s8 picture_coding_type[2]; 222 - /* [0] 1st field, [1] 2nd field */ 223 - s8 picture_structure[2]; 224 - /* [0] 1st field, [1] 2nd field */ 225 - s8 picture_display_extension_flag[2]; 226 - /* [0] 1st field, [1] 2nd field */ 227 - /* picture_display_extenion() 0:no 1:exit*/ 228 - s8 pts_flag[2]; 229 - /* [0] 1st field, [1] 2nd field */ 221 + s8 picture_coding_type[2]; 222 + /* [0] 1st field, [1] 2nd field */ 223 + s8 picture_structure[2]; 224 + /* [0] 1st field, [1] 2nd field */ 225 + s8 picture_display_extension_flag[2]; 226 + /* [0] 1st field, [1] 2nd field */ 227 + /* picture_display_extenion() 0:no 1:exit*/ 228 + s8 pts_flag[2]; 229 + /* [0] 1st field, [1] 2nd field */ 230 230 }; 231 231 232 232 struct dvb_audio_info {
+4 -4
drivers/media/dvb/dvb-core/dvb_frontend.c
··· 372 372 373 373 snprintf (name, sizeof(name), "kdvb-fe-%i", fe->dvb->num); 374 374 375 - lock_kernel(); 376 - daemonize(name); 377 - sigfillset(&current->blocked); 378 - unlock_kernel(); 375 + lock_kernel(); 376 + daemonize(name); 377 + sigfillset(&current->blocked); 378 + unlock_kernel(); 379 379 380 380 fepriv->status = 0; 381 381 dvb_frontend_init(fe);
+4 -4
drivers/media/dvb/dvb-core/dvb_frontend.h
··· 41 41 #include "dvbdev.h" 42 42 43 43 struct dvb_frontend_tune_settings { 44 - int min_delay_ms; 45 - int step_size; 46 - int max_drift; 47 - struct dvb_frontend_parameters parameters; 44 + int min_delay_ms; 45 + int step_size; 46 + int max_drift; 47 + struct dvb_frontend_parameters parameters; 48 48 }; 49 49 50 50 struct dvb_frontend;
+21 -21
drivers/media/dvb/dvb-core/dvb_net.c
··· 713 713 if (buffer1_len > 32768) 714 714 printk(KERN_WARNING "length > 32k: %zu.\n", buffer1_len); 715 715 /* printk("TS callback: %u bytes, %u TS cells @ %p.\n", 716 - buffer1_len, buffer1_len / TS_SZ, buffer1); */ 716 + buffer1_len, buffer1_len / TS_SZ, buffer1); */ 717 717 dvb_net_ule(dev, buffer1, buffer1_len); 718 718 return 0; 719 719 } ··· 721 721 722 722 static void dvb_net_sec(struct net_device *dev, u8 *pkt, int pkt_len) 723 723 { 724 - u8 *eth; 725 - struct sk_buff *skb; 724 + u8 *eth; 725 + struct sk_buff *skb; 726 726 struct net_device_stats *stats = &(((struct dvb_net_priv *) dev->priv)->stats); 727 727 int snap = 0; 728 728 ··· 754 754 return; 755 755 } 756 756 snap = 8; 757 - } 757 + } 758 758 if (pkt[7]) { 759 759 /* FIXME: assemble datagram from multiple sections */ 760 760 stats->rx_errors++; ··· 778 778 memcpy(eth + 14, pkt + 12 + snap, pkt_len - 12 - 4 - snap); 779 779 780 780 /* create ethernet header: */ 781 - eth[0]=pkt[0x0b]; 782 - eth[1]=pkt[0x0a]; 783 - eth[2]=pkt[0x09]; 784 - eth[3]=pkt[0x08]; 785 - eth[4]=pkt[0x04]; 786 - eth[5]=pkt[0x03]; 781 + eth[0]=pkt[0x0b]; 782 + eth[1]=pkt[0x0a]; 783 + eth[2]=pkt[0x09]; 784 + eth[3]=pkt[0x08]; 785 + eth[4]=pkt[0x04]; 786 + eth[5]=pkt[0x03]; 787 787 788 - eth[6]=eth[7]=eth[8]=eth[9]=eth[10]=eth[11]=0; 788 + eth[6]=eth[7]=eth[8]=eth[9]=eth[10]=eth[11]=0; 789 789 790 790 if (snap) { 791 791 eth[12] = pkt[18]; ··· 807 807 808 808 stats->rx_packets++; 809 809 stats->rx_bytes+=skb->len; 810 - netif_rx(skb); 810 + netif_rx(skb); 811 811 } 812 812 813 813 static int dvb_net_sec_callback(const u8 *buffer1, size_t buffer1_len, ··· 815 815 struct dmx_section_filter *filter, 816 816 enum dmx_success success) 817 817 { 818 - struct net_device *dev = filter->priv; 818 + struct net_device *dev = filter->priv; 819 819 820 820 /** 821 821 * we rely on the DVB API definition where exactly one complete ··· 885 885 { 886 886 int ret = 0, i; 887 887 struct dvb_net_priv *priv = dev->priv; 888 - struct dmx_demux *demux = priv->demux; 889 - unsigned char *mac = (unsigned char *) dev->dev_addr; 888 + struct dmx_demux *demux = priv->demux; 889 + unsigned char *mac = (unsigned char *) dev->dev_addr; 890 890 891 891 dprintk("%s: rx_mode %i\n", __FUNCTION__, priv->rx_mode); 892 892 down(&priv->mutex); ··· 1129 1129 struct dvb_net_priv *priv = dev->priv; 1130 1130 1131 1131 priv->in_use--; 1132 - return dvb_net_feed_stop(dev); 1132 + return dvb_net_feed_stop(dev); 1133 1133 } 1134 1134 1135 1135 static struct net_device_stats * dvb_net_get_stats(struct net_device *dev) 1136 1136 { 1137 - return &((struct dvb_net_priv*) dev->priv)->stats; 1137 + return &((struct dvb_net_priv*) dev->priv)->stats; 1138 1138 } 1139 1139 1140 1140 static void dvb_net_setup(struct net_device *dev) ··· 1360 1360 }; 1361 1361 1362 1362 static struct dvb_device dvbdev_net = { 1363 - .priv = NULL, 1364 - .users = 1, 1365 - .writers = 1, 1366 - .fops = &dvb_net_fops, 1363 + .priv = NULL, 1364 + .users = 1, 1365 + .writers = 1, 1366 + .fops = &dvb_net_fops, 1367 1367 }; 1368 1368 1369 1369
+123 -123
drivers/media/dvb/dvb-core/dvb_ringbuffer.c
··· 42 42 43 43 void dvb_ringbuffer_init(struct dvb_ringbuffer *rbuf, void *data, size_t len) 44 44 { 45 - rbuf->pread=rbuf->pwrite=0; 46 - rbuf->data=data; 47 - rbuf->size=len; 45 + rbuf->pread=rbuf->pwrite=0; 46 + rbuf->data=data; 47 + rbuf->size=len; 48 48 49 - init_waitqueue_head(&rbuf->queue); 49 + init_waitqueue_head(&rbuf->queue); 50 50 51 - spin_lock_init(&(rbuf->lock)); 51 + spin_lock_init(&(rbuf->lock)); 52 52 } 53 53 54 54 55 55 56 56 int dvb_ringbuffer_empty(struct dvb_ringbuffer *rbuf) 57 57 { 58 - return (rbuf->pread==rbuf->pwrite); 58 + return (rbuf->pread==rbuf->pwrite); 59 59 } 60 60 61 61 62 62 63 63 ssize_t dvb_ringbuffer_free(struct dvb_ringbuffer *rbuf) 64 64 { 65 - ssize_t free; 65 + ssize_t free; 66 66 67 - free = rbuf->pread - rbuf->pwrite; 68 - if (free <= 0) 69 - free += rbuf->size; 70 - return free-1; 67 + free = rbuf->pread - rbuf->pwrite; 68 + if (free <= 0) 69 + free += rbuf->size; 70 + return free-1; 71 71 } 72 72 73 73 74 74 75 75 ssize_t dvb_ringbuffer_avail(struct dvb_ringbuffer *rbuf) 76 76 { 77 - ssize_t avail; 77 + ssize_t avail; 78 78 79 - avail = rbuf->pwrite - rbuf->pread; 80 - if (avail < 0) 81 - avail += rbuf->size; 82 - return avail; 79 + avail = rbuf->pwrite - rbuf->pread; 80 + if (avail < 0) 81 + avail += rbuf->size; 82 + return avail; 83 83 } 84 84 85 85 86 86 87 87 void dvb_ringbuffer_flush(struct dvb_ringbuffer *rbuf) 88 88 { 89 - rbuf->pread = rbuf->pwrite; 89 + rbuf->pread = rbuf->pwrite; 90 90 } 91 91 92 92 93 93 94 94 void dvb_ringbuffer_flush_spinlock_wakeup(struct dvb_ringbuffer *rbuf) 95 95 { 96 - unsigned long flags; 96 + unsigned long flags; 97 97 98 - spin_lock_irqsave(&rbuf->lock, flags); 99 - dvb_ringbuffer_flush(rbuf); 100 - spin_unlock_irqrestore(&rbuf->lock, flags); 98 + spin_lock_irqsave(&rbuf->lock, flags); 99 + dvb_ringbuffer_flush(rbuf); 100 + spin_unlock_irqrestore(&rbuf->lock, flags); 101 101 102 - wake_up(&rbuf->queue); 102 + wake_up(&rbuf->queue); 103 103 } 104 104 105 105 106 106 107 107 ssize_t dvb_ringbuffer_read(struct dvb_ringbuffer *rbuf, u8 *buf, size_t len, int usermem) 108 108 { 109 - size_t todo = len; 110 - size_t split; 109 + size_t todo = len; 110 + size_t split; 111 111 112 - split = (rbuf->pread + len > rbuf->size) ? rbuf->size - rbuf->pread : 0; 113 - if (split > 0) { 114 - if (!usermem) 115 - memcpy(buf, rbuf->data+rbuf->pread, split); 116 - else 117 - if (copy_to_user(buf, rbuf->data+rbuf->pread, split)) 118 - return -EFAULT; 119 - buf += split; 120 - todo -= split; 121 - rbuf->pread = 0; 122 - } 123 - if (!usermem) 124 - memcpy(buf, rbuf->data+rbuf->pread, todo); 125 - else 126 - if (copy_to_user(buf, rbuf->data+rbuf->pread, todo)) 127 - return -EFAULT; 112 + split = (rbuf->pread + len > rbuf->size) ? rbuf->size - rbuf->pread : 0; 113 + if (split > 0) { 114 + if (!usermem) 115 + memcpy(buf, rbuf->data+rbuf->pread, split); 116 + else 117 + if (copy_to_user(buf, rbuf->data+rbuf->pread, split)) 118 + return -EFAULT; 119 + buf += split; 120 + todo -= split; 121 + rbuf->pread = 0; 122 + } 123 + if (!usermem) 124 + memcpy(buf, rbuf->data+rbuf->pread, todo); 125 + else 126 + if (copy_to_user(buf, rbuf->data+rbuf->pread, todo)) 127 + return -EFAULT; 128 128 129 - rbuf->pread = (rbuf->pread + todo) % rbuf->size; 129 + rbuf->pread = (rbuf->pread + todo) % rbuf->size; 130 130 131 - return len; 131 + return len; 132 132 } 133 133 134 134 135 135 136 136 ssize_t dvb_ringbuffer_write(struct dvb_ringbuffer *rbuf, const u8 *buf, size_t len) 137 137 { 138 - size_t todo = len; 139 - size_t split; 138 + size_t todo = len; 139 + size_t split; 140 140 141 - split = (rbuf->pwrite + len > rbuf->size) ? rbuf->size - rbuf->pwrite : 0; 141 + split = (rbuf->pwrite + len > rbuf->size) ? rbuf->size - rbuf->pwrite : 0; 142 142 143 - if (split > 0) { 144 - memcpy(rbuf->data+rbuf->pwrite, buf, split); 145 - buf += split; 146 - todo -= split; 147 - rbuf->pwrite = 0; 148 - } 149 - memcpy(rbuf->data+rbuf->pwrite, buf, todo); 150 - rbuf->pwrite = (rbuf->pwrite + todo) % rbuf->size; 143 + if (split > 0) { 144 + memcpy(rbuf->data+rbuf->pwrite, buf, split); 145 + buf += split; 146 + todo -= split; 147 + rbuf->pwrite = 0; 148 + } 149 + memcpy(rbuf->data+rbuf->pwrite, buf, todo); 150 + rbuf->pwrite = (rbuf->pwrite + todo) % rbuf->size; 151 151 152 - return len; 152 + return len; 153 153 } 154 154 155 155 ssize_t dvb_ringbuffer_pkt_write(struct dvb_ringbuffer *rbuf, u8* buf, size_t len) 156 156 { 157 - int status; 158 - ssize_t oldpwrite = rbuf->pwrite; 157 + int status; 158 + ssize_t oldpwrite = rbuf->pwrite; 159 159 160 - DVB_RINGBUFFER_WRITE_BYTE(rbuf, len >> 8); 161 - DVB_RINGBUFFER_WRITE_BYTE(rbuf, len & 0xff); 162 - DVB_RINGBUFFER_WRITE_BYTE(rbuf, PKT_READY); 163 - status = dvb_ringbuffer_write(rbuf, buf, len); 160 + DVB_RINGBUFFER_WRITE_BYTE(rbuf, len >> 8); 161 + DVB_RINGBUFFER_WRITE_BYTE(rbuf, len & 0xff); 162 + DVB_RINGBUFFER_WRITE_BYTE(rbuf, PKT_READY); 163 + status = dvb_ringbuffer_write(rbuf, buf, len); 164 164 165 - if (status < 0) rbuf->pwrite = oldpwrite; 166 - return status; 165 + if (status < 0) rbuf->pwrite = oldpwrite; 166 + return status; 167 167 } 168 168 169 169 ssize_t dvb_ringbuffer_pkt_read(struct dvb_ringbuffer *rbuf, size_t idx, 170 - int offset, u8* buf, size_t len, int usermem) 170 + int offset, u8* buf, size_t len, int usermem) 171 171 { 172 - size_t todo; 173 - size_t split; 174 - size_t pktlen; 172 + size_t todo; 173 + size_t split; 174 + size_t pktlen; 175 175 176 - pktlen = rbuf->data[idx] << 8; 177 - pktlen |= rbuf->data[(idx + 1) % rbuf->size]; 178 - if (offset > pktlen) return -EINVAL; 179 - if ((offset + len) > pktlen) len = pktlen - offset; 176 + pktlen = rbuf->data[idx] << 8; 177 + pktlen |= rbuf->data[(idx + 1) % rbuf->size]; 178 + if (offset > pktlen) return -EINVAL; 179 + if ((offset + len) > pktlen) len = pktlen - offset; 180 180 181 - idx = (idx + DVB_RINGBUFFER_PKTHDRSIZE + offset) % rbuf->size; 182 - todo = len; 183 - split = ((idx + len) > rbuf->size) ? rbuf->size - idx : 0; 184 - if (split > 0) { 185 - if (!usermem) 186 - memcpy(buf, rbuf->data+idx, split); 187 - else 188 - if (copy_to_user(buf, rbuf->data+idx, split)) 189 - return -EFAULT; 190 - buf += split; 191 - todo -= split; 192 - idx = 0; 193 - } 194 - if (!usermem) 195 - memcpy(buf, rbuf->data+idx, todo); 196 - else 197 - if (copy_to_user(buf, rbuf->data+idx, todo)) 198 - return -EFAULT; 181 + idx = (idx + DVB_RINGBUFFER_PKTHDRSIZE + offset) % rbuf->size; 182 + todo = len; 183 + split = ((idx + len) > rbuf->size) ? rbuf->size - idx : 0; 184 + if (split > 0) { 185 + if (!usermem) 186 + memcpy(buf, rbuf->data+idx, split); 187 + else 188 + if (copy_to_user(buf, rbuf->data+idx, split)) 189 + return -EFAULT; 190 + buf += split; 191 + todo -= split; 192 + idx = 0; 193 + } 194 + if (!usermem) 195 + memcpy(buf, rbuf->data+idx, todo); 196 + else 197 + if (copy_to_user(buf, rbuf->data+idx, todo)) 198 + return -EFAULT; 199 199 200 - return len; 200 + return len; 201 201 } 202 202 203 203 void dvb_ringbuffer_pkt_dispose(struct dvb_ringbuffer *rbuf, size_t idx) 204 204 { 205 - size_t pktlen; 205 + size_t pktlen; 206 206 207 - rbuf->data[(idx + 2) % rbuf->size] = PKT_DISPOSED; 207 + rbuf->data[(idx + 2) % rbuf->size] = PKT_DISPOSED; 208 208 209 - // clean up disposed packets 210 - while(dvb_ringbuffer_avail(rbuf) > DVB_RINGBUFFER_PKTHDRSIZE) { 211 - if (DVB_RINGBUFFER_PEEK(rbuf, 2) == PKT_DISPOSED) { 212 - pktlen = DVB_RINGBUFFER_PEEK(rbuf, 0) << 8; 213 - pktlen |= DVB_RINGBUFFER_PEEK(rbuf, 1); 214 - DVB_RINGBUFFER_SKIP(rbuf, pktlen + DVB_RINGBUFFER_PKTHDRSIZE); 215 - } else { 216 - // first packet is not disposed, so we stop cleaning now 217 - break; 218 - } 219 - } 209 + // clean up disposed packets 210 + while(dvb_ringbuffer_avail(rbuf) > DVB_RINGBUFFER_PKTHDRSIZE) { 211 + if (DVB_RINGBUFFER_PEEK(rbuf, 2) == PKT_DISPOSED) { 212 + pktlen = DVB_RINGBUFFER_PEEK(rbuf, 0) << 8; 213 + pktlen |= DVB_RINGBUFFER_PEEK(rbuf, 1); 214 + DVB_RINGBUFFER_SKIP(rbuf, pktlen + DVB_RINGBUFFER_PKTHDRSIZE); 215 + } else { 216 + // first packet is not disposed, so we stop cleaning now 217 + break; 218 + } 219 + } 220 220 } 221 221 222 222 ssize_t dvb_ringbuffer_pkt_next(struct dvb_ringbuffer *rbuf, size_t idx, size_t* pktlen) 223 223 { 224 - int consumed; 225 - int curpktlen; 226 - int curpktstatus; 224 + int consumed; 225 + int curpktlen; 226 + int curpktstatus; 227 227 228 - if (idx == -1) { 228 + if (idx == -1) { 229 229 idx = rbuf->pread; 230 230 } else { 231 - curpktlen = rbuf->data[idx] << 8; 232 - curpktlen |= rbuf->data[(idx + 1) % rbuf->size]; 233 - idx = (idx + curpktlen + DVB_RINGBUFFER_PKTHDRSIZE) % rbuf->size; 231 + curpktlen = rbuf->data[idx] << 8; 232 + curpktlen |= rbuf->data[(idx + 1) % rbuf->size]; 233 + idx = (idx + curpktlen + DVB_RINGBUFFER_PKTHDRSIZE) % rbuf->size; 234 234 } 235 235 236 - consumed = (idx - rbuf->pread) % rbuf->size; 236 + consumed = (idx - rbuf->pread) % rbuf->size; 237 237 238 - while((dvb_ringbuffer_avail(rbuf) - consumed) > DVB_RINGBUFFER_PKTHDRSIZE) { 238 + while((dvb_ringbuffer_avail(rbuf) - consumed) > DVB_RINGBUFFER_PKTHDRSIZE) { 239 239 240 - curpktlen = rbuf->data[idx] << 8; 241 - curpktlen |= rbuf->data[(idx + 1) % rbuf->size]; 242 - curpktstatus = rbuf->data[(idx + 2) % rbuf->size]; 240 + curpktlen = rbuf->data[idx] << 8; 241 + curpktlen |= rbuf->data[(idx + 1) % rbuf->size]; 242 + curpktstatus = rbuf->data[(idx + 2) % rbuf->size]; 243 243 244 - if (curpktstatus == PKT_READY) { 245 - *pktlen = curpktlen; 246 - return idx; 247 - } 244 + if (curpktstatus == PKT_READY) { 245 + *pktlen = curpktlen; 246 + return idx; 247 + } 248 248 249 - consumed += curpktlen + DVB_RINGBUFFER_PKTHDRSIZE; 250 - idx = (idx + curpktlen + DVB_RINGBUFFER_PKTHDRSIZE) % rbuf->size; 251 - } 249 + consumed += curpktlen + DVB_RINGBUFFER_PKTHDRSIZE; 250 + idx = (idx + curpktlen + DVB_RINGBUFFER_PKTHDRSIZE) % rbuf->size; 251 + } 252 252 253 - // no packets available 254 - return -1; 253 + // no packets available 254 + return -1; 255 255 } 256 256 257 257
+10 -10
drivers/media/dvb/dvb-core/dvb_ringbuffer.h
··· 31 31 #include <linux/wait.h> 32 32 33 33 struct dvb_ringbuffer { 34 - u8 *data; 35 - ssize_t size; 36 - ssize_t pread; 37 - ssize_t pwrite; 34 + u8 *data; 35 + ssize_t size; 36 + ssize_t pread; 37 + ssize_t pwrite; 38 38 39 - wait_queue_head_t queue; 40 - spinlock_t lock; 39 + wait_queue_head_t queue; 40 + spinlock_t lock; 41 41 }; 42 42 43 43 #define DVB_RINGBUFFER_PKTHDRSIZE 3 ··· 106 106 ** returns number of bytes transferred or -EFAULT 107 107 */ 108 108 extern ssize_t dvb_ringbuffer_read(struct dvb_ringbuffer *rbuf, u8 *buf, 109 - size_t len, int usermem); 109 + size_t len, int usermem); 110 110 111 111 112 112 /* write routines & macros */ ··· 121 121 ** returns number of bytes transferred or -EFAULT 122 122 */ 123 123 extern ssize_t dvb_ringbuffer_write(struct dvb_ringbuffer *rbuf, const u8 *buf, 124 - size_t len); 124 + size_t len); 125 125 126 126 127 127 /** ··· 133 133 * returns Number of bytes written, or -EFAULT, -ENOMEM, -EVINAL. 134 134 */ 135 135 extern ssize_t dvb_ringbuffer_pkt_write(struct dvb_ringbuffer *rbuf, u8* buf, 136 - size_t len); 136 + size_t len); 137 137 138 138 /** 139 139 * Read from a packet in the ringbuffer. Note: unlike dvb_ringbuffer_read(), this ··· 149 149 * returns Number of bytes read, or -EFAULT. 150 150 */ 151 151 extern ssize_t dvb_ringbuffer_pkt_read(struct dvb_ringbuffer *rbuf, size_t idx, 152 - int offset, u8* buf, size_t len, int usermem); 152 + int offset, u8* buf, size_t len, int usermem); 153 153 154 154 /** 155 155 * Dispose of a packet in the ring buffer.
+66 -66
drivers/media/dvb/dvb-core/dvbdev.c
··· 47 47 static DECLARE_MUTEX(dvbdev_register_lock); 48 48 49 49 static const char * const dnames[] = { 50 - "video", "audio", "sec", "frontend", "demux", "dvr", "ca", 50 + "video", "audio", "sec", "frontend", "demux", "dvr", "ca", 51 51 "net", "osd" 52 52 }; 53 53 ··· 90 90 91 91 file->private_data = dvbdev; 92 92 old_fops = file->f_op; 93 - file->f_op = fops_get(dvbdev->fops); 94 - if(file->f_op->open) 95 - err = file->f_op->open(inode,file); 96 - if (err) { 97 - fops_put(file->f_op); 98 - file->f_op = fops_get(old_fops); 99 - } 100 - fops_put(old_fops); 101 - return err; 93 + file->f_op = fops_get(dvbdev->fops); 94 + if(file->f_op->open) 95 + err = file->f_op->open(inode,file); 96 + if (err) { 97 + fops_put(file->f_op); 98 + file->f_op = fops_get(old_fops); 99 + } 100 + fops_put(old_fops); 101 + return err; 102 102 } 103 103 return -ENODEV; 104 104 } ··· 117 117 118 118 int dvb_generic_open(struct inode *inode, struct file *file) 119 119 { 120 - struct dvb_device *dvbdev = file->private_data; 120 + struct dvb_device *dvbdev = file->private_data; 121 121 122 - if (!dvbdev) 123 - return -ENODEV; 122 + if (!dvbdev) 123 + return -ENODEV; 124 124 125 125 if (!dvbdev->users) 126 - return -EBUSY; 126 + return -EBUSY; 127 127 128 128 if ((file->f_flags & O_ACCMODE) == O_RDONLY) { 129 - if (!dvbdev->readers) 130 - return -EBUSY; 129 + if (!dvbdev->readers) 130 + return -EBUSY; 131 131 dvbdev->readers--; 132 132 } else { 133 - if (!dvbdev->writers) 134 - return -EBUSY; 133 + if (!dvbdev->writers) 134 + return -EBUSY; 135 135 dvbdev->writers--; 136 136 } 137 137 ··· 143 143 144 144 int dvb_generic_release(struct inode *inode, struct file *file) 145 145 { 146 - struct dvb_device *dvbdev = file->private_data; 146 + struct dvb_device *dvbdev = file->private_data; 147 147 148 148 if (!dvbdev) 149 - return -ENODEV; 149 + return -ENODEV; 150 150 151 151 if ((file->f_flags & O_ACCMODE) == O_RDONLY) { 152 152 dvbdev->readers++; ··· 163 163 int dvb_generic_ioctl(struct inode *inode, struct file *file, 164 164 unsigned int cmd, unsigned long arg) 165 165 { 166 - struct dvb_device *dvbdev = file->private_data; 166 + struct dvb_device *dvbdev = file->private_data; 167 167 168 - if (!dvbdev) 169 - return -ENODEV; 168 + if (!dvbdev) 169 + return -ENODEV; 170 170 171 171 if (!dvbdev->kernel_ioctl) 172 172 return -EINVAL; ··· 334 334 to the v4l "videodev.o" module, which is unnecessary for some 335 335 cards (ie. the budget dvb-cards don't need the v4l module...) */ 336 336 int dvb_usercopy(struct inode *inode, struct file *file, 337 - unsigned int cmd, unsigned long arg, 337 + unsigned int cmd, unsigned long arg, 338 338 int (*func)(struct inode *inode, struct file *file, 339 339 unsigned int cmd, void *arg)) 340 340 { 341 - char sbuf[128]; 342 - void *mbuf = NULL; 343 - void *parg = NULL; 344 - int err = -EINVAL; 341 + char sbuf[128]; 342 + void *mbuf = NULL; 343 + void *parg = NULL; 344 + int err = -EINVAL; 345 345 346 - /* Copy arguments into temp kernel buffer */ 347 - switch (_IOC_DIR(cmd)) { 348 - case _IOC_NONE: 346 + /* Copy arguments into temp kernel buffer */ 347 + switch (_IOC_DIR(cmd)) { 348 + case _IOC_NONE: 349 349 /* 350 350 * For this command, the pointer is actually an integer 351 351 * argument. 352 352 */ 353 353 parg = (void *) arg; 354 354 break; 355 - case _IOC_READ: /* some v4l ioctls are marked wrong ... */ 356 - case _IOC_WRITE: 357 - case (_IOC_WRITE | _IOC_READ): 358 - if (_IOC_SIZE(cmd) <= sizeof(sbuf)) { 359 - parg = sbuf; 360 - } else { 361 - /* too big to allocate from stack */ 362 - mbuf = kmalloc(_IOC_SIZE(cmd),GFP_KERNEL); 363 - if (NULL == mbuf) 364 - return -ENOMEM; 365 - parg = mbuf; 366 - } 355 + case _IOC_READ: /* some v4l ioctls are marked wrong ... */ 356 + case _IOC_WRITE: 357 + case (_IOC_WRITE | _IOC_READ): 358 + if (_IOC_SIZE(cmd) <= sizeof(sbuf)) { 359 + parg = sbuf; 360 + } else { 361 + /* too big to allocate from stack */ 362 + mbuf = kmalloc(_IOC_SIZE(cmd),GFP_KERNEL); 363 + if (NULL == mbuf) 364 + return -ENOMEM; 365 + parg = mbuf; 366 + } 367 367 368 - err = -EFAULT; 369 - if (copy_from_user(parg, (void __user *)arg, _IOC_SIZE(cmd))) 370 - goto out; 371 - break; 372 - } 368 + err = -EFAULT; 369 + if (copy_from_user(parg, (void __user *)arg, _IOC_SIZE(cmd))) 370 + goto out; 371 + break; 372 + } 373 373 374 - /* call driver */ 375 - if ((err = func(inode, file, cmd, parg)) == -ENOIOCTLCMD) 376 - err = -EINVAL; 374 + /* call driver */ 375 + if ((err = func(inode, file, cmd, parg)) == -ENOIOCTLCMD) 376 + err = -EINVAL; 377 377 378 - if (err < 0) 379 - goto out; 378 + if (err < 0) 379 + goto out; 380 380 381 - /* Copy results into user buffer */ 382 - switch (_IOC_DIR(cmd)) 383 - { 384 - case _IOC_READ: 385 - case (_IOC_WRITE | _IOC_READ): 386 - if (copy_to_user((void __user *)arg, parg, _IOC_SIZE(cmd))) 387 - err = -EFAULT; 388 - break; 389 - } 381 + /* Copy results into user buffer */ 382 + switch (_IOC_DIR(cmd)) 383 + { 384 + case _IOC_READ: 385 + case (_IOC_WRITE | _IOC_READ): 386 + if (copy_to_user((void __user *)arg, parg, _IOC_SIZE(cmd))) 387 + err = -EFAULT; 388 + break; 389 + } 390 390 391 391 out: 392 - kfree(mbuf); 393 - return err; 392 + kfree(mbuf); 393 + return err; 394 394 } 395 395 396 396 static int __init init_dvbdev(void) ··· 427 427 428 428 static void __exit exit_dvbdev(void) 429 429 { 430 - devfs_remove("dvb"); 430 + devfs_remove("dvb"); 431 431 class_destroy(dvb_class); 432 432 cdev_del(&dvb_device_cdev); 433 - unregister_chrdev_region(MKDEV(DVB_MAJOR, 0), MAX_DVB_MINORS); 433 + unregister_chrdev_region(MKDEV(DVB_MAJOR, 0), MAX_DVB_MINORS); 434 434 } 435 435 436 436 module_init(init_dvbdev);
+3 -3
drivers/media/dvb/dvb-core/dvbdev.h
··· 68 68 int writers; 69 69 int users; 70 70 71 - /* don't really need those !? -- FIXME: use video_usercopy */ 72 - int (*kernel_ioctl)(struct inode *inode, struct file *file, 71 + /* don't really need those !? -- FIXME: use video_usercopy */ 72 + int (*kernel_ioctl)(struct inode *inode, struct file *file, 73 73 unsigned int cmd, void *arg); 74 74 75 75 void *priv; ··· 97 97 generic_usercopy() someday... */ 98 98 99 99 extern int dvb_usercopy(struct inode *inode, struct file *file, 100 - unsigned int cmd, unsigned long arg, 100 + unsigned int cmd, unsigned long arg, 101 101 int (*func)(struct inode *inode, struct file *file, 102 102 unsigned int cmd, void *arg)); 103 103
+1 -1
drivers/media/dvb/dvb-usb/vp702x-fe.c
··· 190 190 } 191 191 192 192 static int vp702x_fe_send_diseqc_msg (struct dvb_frontend* fe, 193 - struct dvb_diseqc_master_cmd *m) 193 + struct dvb_diseqc_master_cmd *m) 194 194 { 195 195 struct vp702x_fe_state *st = fe->demodulator_priv; 196 196 u8 cmd[8],ibuf[10];
+1 -1
drivers/media/dvb/dvb-usb/vp7045-fe.c
··· 58 58 struct vp7045_fe_state *state = fe->demodulator_priv; 59 59 *ber = (vp7045_read_reg(state->d, 0x0D) << 16) | 60 60 (vp7045_read_reg(state->d, 0x0E) << 8) | 61 - vp7045_read_reg(state->d, 0x0F); 61 + vp7045_read_reg(state->d, 0x0F); 62 62 return 0; 63 63 } 64 64
+3 -3
drivers/media/dvb/frontends/at76c651.c
··· 361 361 362 362 static int at76c651_get_tune_settings(struct dvb_frontend* fe, struct dvb_frontend_tune_settings *fesettings) 363 363 { 364 - fesettings->min_delay_ms = 50; 365 - fesettings->step_size = 0; 366 - fesettings->max_drift = 0; 364 + fesettings->min_delay_ms = 50; 365 + fesettings->step_size = 0; 366 + fesettings->max_drift = 0; 367 367 return 0; 368 368 } 369 369
+2 -2
drivers/media/dvb/frontends/bcm3510.c
··· 69 69 #define dbufout(b,l,m) {\ 70 70 int i; \ 71 71 for (i = 0; i < l; i++) \ 72 - m("%02x ",b[i]); \ 72 + m("%02x ",b[i]); \ 73 73 } 74 74 #define deb_info(args...) dprintk(0x01,args) 75 75 #define deb_i2c(args...) dprintk(0x02,args) ··· 827 827 .type = FE_ATSC, 828 828 .frequency_min = 54000000, 829 829 .frequency_max = 803000000, 830 - /* stepsize is just a guess */ 830 + /* stepsize is just a guess */ 831 831 .frequency_stepsize = 0, 832 832 .caps = 833 833 FE_CAN_FEC_1_2 | FE_CAN_FEC_2_3 | FE_CAN_FEC_3_4 |
+5 -5
drivers/media/dvb/frontends/cx22700.c
··· 355 355 356 356 static int cx22700_get_tune_settings(struct dvb_frontend* fe, struct dvb_frontend_tune_settings* fesettings) 357 357 { 358 - fesettings->min_delay_ms = 150; 359 - fesettings->step_size = 166667; 360 - fesettings->max_drift = 166667*2; 361 - return 0; 358 + fesettings->min_delay_ms = 150; 359 + fesettings->step_size = 166667; 360 + fesettings->max_drift = 166667*2; 361 + return 0; 362 362 } 363 363 364 364 static void cx22700_release(struct dvb_frontend* fe) ··· 407 407 .caps = FE_CAN_FEC_1_2 | FE_CAN_FEC_2_3 | FE_CAN_FEC_3_4 | 408 408 FE_CAN_FEC_5_6 | FE_CAN_FEC_7_8 | FE_CAN_FEC_AUTO | 409 409 FE_CAN_QPSK | FE_CAN_QAM_16 | FE_CAN_QAM_64 | 410 - FE_CAN_RECOVER 410 + FE_CAN_RECOVER 411 411 }, 412 412 413 413 .release = cx22700_release,
+1 -1
drivers/media/dvb/frontends/cx22702.c
··· 2 2 Conexant 22702 DVB OFDM demodulator driver 3 3 4 4 based on: 5 - Alps TDMB7 DVB OFDM demodulator driver 5 + Alps TDMB7 DVB OFDM demodulator driver 6 6 7 7 Copyright (C) 2001-2002 Convergence Integrated Media GmbH 8 8 Holger Waechtler <holger@convergence.de>
+1 -1
drivers/media/dvb/frontends/cx22702.h
··· 2 2 Conexant 22702 DVB OFDM demodulator driver 3 3 4 4 based on: 5 - Alps TDMB7 DVB OFDM demodulator driver 5 + Alps TDMB7 DVB OFDM demodulator driver 6 6 7 7 Copyright (C) 2001-2002 Convergence Integrated Media GmbH 8 8 Holger Waechtler <holger@convergence.de>
+156 -156
drivers/media/dvb/frontends/cx24110.c
··· 55 55 } while (0) 56 56 57 57 static struct {u8 reg; u8 data;} cx24110_regdata[]= 58 - /* Comments beginning with @ denote this value should 59 - be the default */ 60 - {{0x09,0x01}, /* SoftResetAll */ 61 - {0x09,0x00}, /* release reset */ 62 - {0x01,0xe8}, /* MSB of code rate 27.5MS/s */ 63 - {0x02,0x17}, /* middle byte " */ 64 - {0x03,0x29}, /* LSB " */ 65 - {0x05,0x03}, /* @ DVB mode, standard code rate 3/4 */ 66 - {0x06,0xa5}, /* @ PLL 60MHz */ 67 - {0x07,0x01}, /* @ Fclk, i.e. sampling clock, 60MHz */ 68 - {0x0a,0x00}, /* @ partial chip disables, do not set */ 69 - {0x0b,0x01}, /* set output clock in gapped mode, start signal low 70 - active for first byte */ 71 - {0x0c,0x11}, /* no parity bytes, large hold time, serial data out */ 72 - {0x0d,0x6f}, /* @ RS Sync/Unsync thresholds */ 73 - {0x10,0x40}, /* chip doc is misleading here: write bit 6 as 1 74 - to avoid starting the BER counter. Reset the 75 - CRC test bit. Finite counting selected */ 76 - {0x15,0xff}, /* @ size of the limited time window for RS BER 77 - estimation. It is <value>*256 RS blocks, this 78 - gives approx. 2.6 sec at 27.5MS/s, rate 3/4 */ 79 - {0x16,0x00}, /* @ enable all RS output ports */ 80 - {0x17,0x04}, /* @ time window allowed for the RS to sync */ 81 - {0x18,0xae}, /* @ allow all standard DVB code rates to be scanned 82 - for automatically */ 83 - /* leave the current code rate and normalization 84 - registers as they are after reset... */ 85 - {0x21,0x10}, /* @ during AutoAcq, search each viterbi setting 86 - only once */ 87 - {0x23,0x18}, /* @ size of the limited time window for Viterbi BER 88 - estimation. It is <value>*65536 channel bits, i.e. 89 - approx. 38ms at 27.5MS/s, rate 3/4 */ 90 - {0x24,0x24}, /* do not trigger Viterbi CRC test. Finite count window */ 91 - /* leave front-end AGC parameters at default values */ 92 - /* leave decimation AGC parameters at default values */ 93 - {0x35,0x40}, /* disable all interrupts. They are not connected anyway */ 94 - {0x36,0xff}, /* clear all interrupt pending flags */ 95 - {0x37,0x00}, /* @ fully enable AutoAcqq state machine */ 96 - {0x38,0x07}, /* @ enable fade recovery, but not autostart AutoAcq */ 97 - /* leave the equalizer parameters on their default values */ 98 - /* leave the final AGC parameters on their default values */ 99 - {0x41,0x00}, /* @ MSB of front-end derotator frequency */ 100 - {0x42,0x00}, /* @ middle bytes " */ 101 - {0x43,0x00}, /* @ LSB " */ 102 - /* leave the carrier tracking loop parameters on default */ 103 - /* leave the bit timing loop parameters at gefault */ 104 - {0x56,0x4d}, /* set the filtune voltage to 2.7V, as recommended by */ 105 - /* the cx24108 data sheet for symbol rates above 15MS/s */ 106 - {0x57,0x00}, /* @ Filter sigma delta enabled, positive */ 107 - {0x61,0x95}, /* GPIO pins 1-4 have special function */ 108 - {0x62,0x05}, /* GPIO pin 5 has special function, pin 6 is GPIO */ 109 - {0x63,0x00}, /* All GPIO pins use CMOS output characteristics */ 110 - {0x64,0x20}, /* GPIO 6 is input, all others are outputs */ 111 - {0x6d,0x30}, /* tuner auto mode clock freq 62kHz */ 112 - {0x70,0x15}, /* use auto mode, tuner word is 21 bits long */ 113 - {0x73,0x00}, /* @ disable several demod bypasses */ 114 - {0x74,0x00}, /* @ " */ 115 - {0x75,0x00} /* @ " */ 116 - /* the remaining registers are for SEC */ 58 + /* Comments beginning with @ denote this value should 59 + be the default */ 60 + {{0x09,0x01}, /* SoftResetAll */ 61 + {0x09,0x00}, /* release reset */ 62 + {0x01,0xe8}, /* MSB of code rate 27.5MS/s */ 63 + {0x02,0x17}, /* middle byte " */ 64 + {0x03,0x29}, /* LSB " */ 65 + {0x05,0x03}, /* @ DVB mode, standard code rate 3/4 */ 66 + {0x06,0xa5}, /* @ PLL 60MHz */ 67 + {0x07,0x01}, /* @ Fclk, i.e. sampling clock, 60MHz */ 68 + {0x0a,0x00}, /* @ partial chip disables, do not set */ 69 + {0x0b,0x01}, /* set output clock in gapped mode, start signal low 70 + active for first byte */ 71 + {0x0c,0x11}, /* no parity bytes, large hold time, serial data out */ 72 + {0x0d,0x6f}, /* @ RS Sync/Unsync thresholds */ 73 + {0x10,0x40}, /* chip doc is misleading here: write bit 6 as 1 74 + to avoid starting the BER counter. Reset the 75 + CRC test bit. Finite counting selected */ 76 + {0x15,0xff}, /* @ size of the limited time window for RS BER 77 + estimation. It is <value>*256 RS blocks, this 78 + gives approx. 2.6 sec at 27.5MS/s, rate 3/4 */ 79 + {0x16,0x00}, /* @ enable all RS output ports */ 80 + {0x17,0x04}, /* @ time window allowed for the RS to sync */ 81 + {0x18,0xae}, /* @ allow all standard DVB code rates to be scanned 82 + for automatically */ 83 + /* leave the current code rate and normalization 84 + registers as they are after reset... */ 85 + {0x21,0x10}, /* @ during AutoAcq, search each viterbi setting 86 + only once */ 87 + {0x23,0x18}, /* @ size of the limited time window for Viterbi BER 88 + estimation. It is <value>*65536 channel bits, i.e. 89 + approx. 38ms at 27.5MS/s, rate 3/4 */ 90 + {0x24,0x24}, /* do not trigger Viterbi CRC test. Finite count window */ 91 + /* leave front-end AGC parameters at default values */ 92 + /* leave decimation AGC parameters at default values */ 93 + {0x35,0x40}, /* disable all interrupts. They are not connected anyway */ 94 + {0x36,0xff}, /* clear all interrupt pending flags */ 95 + {0x37,0x00}, /* @ fully enable AutoAcqq state machine */ 96 + {0x38,0x07}, /* @ enable fade recovery, but not autostart AutoAcq */ 97 + /* leave the equalizer parameters on their default values */ 98 + /* leave the final AGC parameters on their default values */ 99 + {0x41,0x00}, /* @ MSB of front-end derotator frequency */ 100 + {0x42,0x00}, /* @ middle bytes " */ 101 + {0x43,0x00}, /* @ LSB " */ 102 + /* leave the carrier tracking loop parameters on default */ 103 + /* leave the bit timing loop parameters at gefault */ 104 + {0x56,0x4d}, /* set the filtune voltage to 2.7V, as recommended by */ 105 + /* the cx24108 data sheet for symbol rates above 15MS/s */ 106 + {0x57,0x00}, /* @ Filter sigma delta enabled, positive */ 107 + {0x61,0x95}, /* GPIO pins 1-4 have special function */ 108 + {0x62,0x05}, /* GPIO pin 5 has special function, pin 6 is GPIO */ 109 + {0x63,0x00}, /* All GPIO pins use CMOS output characteristics */ 110 + {0x64,0x20}, /* GPIO 6 is input, all others are outputs */ 111 + {0x6d,0x30}, /* tuner auto mode clock freq 62kHz */ 112 + {0x70,0x15}, /* use auto mode, tuner word is 21 bits long */ 113 + {0x73,0x00}, /* @ disable several demod bypasses */ 114 + {0x74,0x00}, /* @ " */ 115 + {0x75,0x00} /* @ " */ 116 + /* the remaining registers are for SEC */ 117 117 }; 118 118 119 119 120 120 static int cx24110_writereg (struct cx24110_state* state, int reg, int data) 121 121 { 122 - u8 buf [] = { reg, data }; 122 + u8 buf [] = { reg, data }; 123 123 struct i2c_msg msg = { .addr = state->config->demod_address, .flags = 0, .buf = buf, .len = 2 }; 124 124 int err; 125 125 126 - if ((err = i2c_transfer(state->i2c, &msg, 1)) != 1) { 126 + if ((err = i2c_transfer(state->i2c, &msg, 1)) != 1) { 127 127 dprintk ("%s: writereg error (err == %i, reg == 0x%02x," 128 128 " data == 0x%02x)\n", __FUNCTION__, err, reg, data); 129 129 return -EREMOTEIO; 130 130 } 131 131 132 - return 0; 132 + return 0; 133 133 } 134 134 135 135 static int cx24110_readreg (struct cx24110_state* state, u8 reg) ··· 153 153 154 154 switch (inversion) { 155 155 case INVERSION_OFF: 156 - cx24110_writereg(state,0x37,cx24110_readreg(state,0x37)|0x1); 157 - /* AcqSpectrInvDis on. No idea why someone should want this */ 158 - cx24110_writereg(state,0x5,cx24110_readreg(state,0x5)&0xf7); 159 - /* Initial value 0 at start of acq */ 160 - cx24110_writereg(state,0x22,cx24110_readreg(state,0x22)&0xef); 161 - /* current value 0 */ 162 - /* The cx24110 manual tells us this reg is read-only. 163 - But what the heck... set it ayways */ 164 - break; 156 + cx24110_writereg(state,0x37,cx24110_readreg(state,0x37)|0x1); 157 + /* AcqSpectrInvDis on. No idea why someone should want this */ 158 + cx24110_writereg(state,0x5,cx24110_readreg(state,0x5)&0xf7); 159 + /* Initial value 0 at start of acq */ 160 + cx24110_writereg(state,0x22,cx24110_readreg(state,0x22)&0xef); 161 + /* current value 0 */ 162 + /* The cx24110 manual tells us this reg is read-only. 163 + But what the heck... set it ayways */ 164 + break; 165 165 case INVERSION_ON: 166 - cx24110_writereg(state,0x37,cx24110_readreg(state,0x37)|0x1); 167 - /* AcqSpectrInvDis on. No idea why someone should want this */ 168 - cx24110_writereg(state,0x5,cx24110_readreg(state,0x5)|0x08); 169 - /* Initial value 1 at start of acq */ 170 - cx24110_writereg(state,0x22,cx24110_readreg(state,0x22)|0x10); 171 - /* current value 1 */ 172 - break; 166 + cx24110_writereg(state,0x37,cx24110_readreg(state,0x37)|0x1); 167 + /* AcqSpectrInvDis on. No idea why someone should want this */ 168 + cx24110_writereg(state,0x5,cx24110_readreg(state,0x5)|0x08); 169 + /* Initial value 1 at start of acq */ 170 + cx24110_writereg(state,0x22,cx24110_readreg(state,0x22)|0x10); 171 + /* current value 1 */ 172 + break; 173 173 case INVERSION_AUTO: 174 - cx24110_writereg(state,0x37,cx24110_readreg(state,0x37)&0xfe); 175 - /* AcqSpectrInvDis off. Leave initial & current states as is */ 176 - break; 174 + cx24110_writereg(state,0x37,cx24110_readreg(state,0x37)&0xfe); 175 + /* AcqSpectrInvDis off. Leave initial & current states as is */ 176 + break; 177 177 default: 178 178 return -EINVAL; 179 179 } ··· 185 185 { 186 186 /* fixme (low): error handling */ 187 187 188 - static const int rate[]={-1,1,2,3,5,7,-1}; 189 - static const int g1[]={-1,0x01,0x02,0x05,0x15,0x45,-1}; 190 - static const int g2[]={-1,0x01,0x03,0x06,0x1a,0x7a,-1}; 188 + static const int rate[]={-1,1,2,3,5,7,-1}; 189 + static const int g1[]={-1,0x01,0x02,0x05,0x15,0x45,-1}; 190 + static const int g2[]={-1,0x01,0x03,0x06,0x1a,0x7a,-1}; 191 191 192 - /* Well, the AutoAcq engine of the cx24106 and 24110 automatically 193 - searches all enabled viterbi rates, and can handle non-standard 194 - rates as well. */ 192 + /* Well, the AutoAcq engine of the cx24106 and 24110 automatically 193 + searches all enabled viterbi rates, and can handle non-standard 194 + rates as well. */ 195 195 196 - if (fec>FEC_AUTO) 197 - fec=FEC_AUTO; 196 + if (fec>FEC_AUTO) 197 + fec=FEC_AUTO; 198 198 199 - if (fec==FEC_AUTO) { /* (re-)establish AutoAcq behaviour */ 199 + if (fec==FEC_AUTO) { /* (re-)establish AutoAcq behaviour */ 200 200 cx24110_writereg(state,0x37,cx24110_readreg(state,0x37)&0xdf); 201 201 /* clear AcqVitDis bit */ 202 202 cx24110_writereg(state,0x18,0xae); ··· 208 208 cx24110_writereg(state,0x1a,0x05); cx24110_writereg(state,0x1b,0x06); 209 209 /* set the puncture registers for code rate 3/4 */ 210 210 return 0; 211 - } else { 211 + } else { 212 212 cx24110_writereg(state,0x37,cx24110_readreg(state,0x37)|0x20); 213 213 /* set AcqVitDis bit */ 214 214 if(rate[fec]>0) { ··· 219 219 cx24110_writereg(state,0x1a,g1[fec]); 220 220 cx24110_writereg(state,0x1b,g2[fec]); 221 221 /* not sure if this is the right way: I always used AutoAcq mode */ 222 - } else 222 + } else 223 223 return -EOPNOTSUPP; 224 224 /* fixme (low): which is the correct return code? */ 225 - }; 225 + }; 226 226 return 0; 227 227 } 228 228 ··· 245 245 static int cx24110_set_symbolrate (struct cx24110_state* state, u32 srate) 246 246 { 247 247 /* fixme (low): add error handling */ 248 - u32 ratio; 249 - u32 tmp, fclk, BDRI; 248 + u32 ratio; 249 + u32 tmp, fclk, BDRI; 250 250 251 - static const u32 bands[]={5000000UL,15000000UL,90999000UL/2}; 252 - int i; 251 + static const u32 bands[]={5000000UL,15000000UL,90999000UL/2}; 252 + int i; 253 253 254 254 dprintk("cx24110 debug: entering %s(%d)\n",__FUNCTION__,srate); 255 - if (srate>90999000UL/2) 256 - srate=90999000UL/2; 257 - if (srate<500000) 258 - srate=500000; 255 + if (srate>90999000UL/2) 256 + srate=90999000UL/2; 257 + if (srate<500000) 258 + srate=500000; 259 259 260 - for(i=0;(i<sizeof(bands)/sizeof(bands[0]))&&(srate>bands[i]);i++) 260 + for(i=0;(i<sizeof(bands)/sizeof(bands[0]))&&(srate>bands[i]);i++) 261 261 ; 262 - /* first, check which sample rate is appropriate: 45, 60 80 or 90 MHz, 263 - and set the PLL accordingly (R07[1:0] Fclk, R06[7:4] PLLmult, 264 - R06[3:0] PLLphaseDetGain */ 265 - tmp=cx24110_readreg(state,0x07)&0xfc; 266 - if(srate<90999000UL/4) { /* sample rate 45MHz*/ 262 + /* first, check which sample rate is appropriate: 45, 60 80 or 90 MHz, 263 + and set the PLL accordingly (R07[1:0] Fclk, R06[7:4] PLLmult, 264 + R06[3:0] PLLphaseDetGain */ 265 + tmp=cx24110_readreg(state,0x07)&0xfc; 266 + if(srate<90999000UL/4) { /* sample rate 45MHz*/ 267 267 cx24110_writereg(state,0x07,tmp); 268 268 cx24110_writereg(state,0x06,0x78); 269 269 fclk=90999000UL/2; 270 - } else if(srate<60666000UL/2) { /* sample rate 60MHz */ 270 + } else if(srate<60666000UL/2) { /* sample rate 60MHz */ 271 271 cx24110_writereg(state,0x07,tmp|0x1); 272 272 cx24110_writereg(state,0x06,0xa5); 273 273 fclk=60666000UL; 274 - } else if(srate<80888000UL/2) { /* sample rate 80MHz */ 274 + } else if(srate<80888000UL/2) { /* sample rate 80MHz */ 275 275 cx24110_writereg(state,0x07,tmp|0x2); 276 276 cx24110_writereg(state,0x06,0x87); 277 277 fclk=80888000UL; 278 - } else { /* sample rate 90MHz */ 278 + } else { /* sample rate 90MHz */ 279 279 cx24110_writereg(state,0x07,tmp|0x3); 280 280 cx24110_writereg(state,0x06,0x78); 281 281 fclk=90999000UL; 282 - }; 283 - dprintk("cx24110 debug: fclk %d Hz\n",fclk); 284 - /* we need to divide two integers with approx. 27 bits in 32 bit 285 - arithmetic giving a 25 bit result */ 286 - /* the maximum dividend is 90999000/2, 0x02b6446c, this number is 287 - also the most complex divisor. Hence, the dividend has, 288 - assuming 32bit unsigned arithmetic, 6 clear bits on top, the 289 - divisor 2 unused bits at the bottom. Also, the quotient is 290 - always less than 1/2. Borrowed from VES1893.c, of course */ 282 + }; 283 + dprintk("cx24110 debug: fclk %d Hz\n",fclk); 284 + /* we need to divide two integers with approx. 27 bits in 32 bit 285 + arithmetic giving a 25 bit result */ 286 + /* the maximum dividend is 90999000/2, 0x02b6446c, this number is 287 + also the most complex divisor. Hence, the dividend has, 288 + assuming 32bit unsigned arithmetic, 6 clear bits on top, the 289 + divisor 2 unused bits at the bottom. Also, the quotient is 290 + always less than 1/2. Borrowed from VES1893.c, of course */ 291 291 292 - tmp=srate<<6; 293 - BDRI=fclk>>2; 294 - ratio=(tmp/BDRI); 292 + tmp=srate<<6; 293 + BDRI=fclk>>2; 294 + ratio=(tmp/BDRI); 295 295 296 - tmp=(tmp%BDRI)<<8; 297 - ratio=(ratio<<8)+(tmp/BDRI); 296 + tmp=(tmp%BDRI)<<8; 297 + ratio=(ratio<<8)+(tmp/BDRI); 298 298 299 - tmp=(tmp%BDRI)<<8; 300 - ratio=(ratio<<8)+(tmp/BDRI); 299 + tmp=(tmp%BDRI)<<8; 300 + ratio=(ratio<<8)+(tmp/BDRI); 301 301 302 - tmp=(tmp%BDRI)<<1; 303 - ratio=(ratio<<1)+(tmp/BDRI); 302 + tmp=(tmp%BDRI)<<1; 303 + ratio=(ratio<<1)+(tmp/BDRI); 304 304 305 - dprintk("srate= %d (range %d, up to %d)\n", srate,i,bands[i]); 306 - dprintk("fclk = %d\n", fclk); 307 - dprintk("ratio= %08x\n", ratio); 305 + dprintk("srate= %d (range %d, up to %d)\n", srate,i,bands[i]); 306 + dprintk("fclk = %d\n", fclk); 307 + dprintk("ratio= %08x\n", ratio); 308 308 309 - cx24110_writereg(state, 0x1, (ratio>>16)&0xff); 310 - cx24110_writereg(state, 0x2, (ratio>>8)&0xff); 311 - cx24110_writereg(state, 0x3, (ratio)&0xff); 309 + cx24110_writereg(state, 0x1, (ratio>>16)&0xff); 310 + cx24110_writereg(state, 0x2, (ratio>>8)&0xff); 311 + cx24110_writereg(state, 0x3, (ratio)&0xff); 312 312 313 - return 0; 313 + return 0; 314 314 315 315 } 316 316 ··· 324 324 325 325 dprintk("cx24110 debug: cx24108_write(%8.8x)\n",data); 326 326 327 - cx24110_writereg(state,0x6d,0x30); /* auto mode at 62kHz */ 328 - cx24110_writereg(state,0x70,0x15); /* auto mode 21 bits */ 327 + cx24110_writereg(state,0x6d,0x30); /* auto mode at 62kHz */ 328 + cx24110_writereg(state,0x70,0x15); /* auto mode 21 bits */ 329 329 330 - /* if the auto tuner writer is still busy, clear it out */ 331 - while (cx24110_readreg(state,0x6d)&0x80) 330 + /* if the auto tuner writer is still busy, clear it out */ 331 + while (cx24110_readreg(state,0x6d)&0x80) 332 332 cx24110_writereg(state,0x72,0); 333 333 334 - /* write the topmost 8 bits */ 335 - cx24110_writereg(state,0x72,(data>>24)&0xff); 334 + /* write the topmost 8 bits */ 335 + cx24110_writereg(state,0x72,(data>>24)&0xff); 336 336 337 - /* wait for the send to be completed */ 338 - while ((cx24110_readreg(state,0x6d)&0xc0)==0x80) 337 + /* wait for the send to be completed */ 338 + while ((cx24110_readreg(state,0x6d)&0xc0)==0x80) 339 339 ; 340 340 341 - /* send another 8 bytes */ 342 - cx24110_writereg(state,0x72,(data>>16)&0xff); 343 - while ((cx24110_readreg(state,0x6d)&0xc0)==0x80) 341 + /* send another 8 bytes */ 342 + cx24110_writereg(state,0x72,(data>>16)&0xff); 343 + while ((cx24110_readreg(state,0x6d)&0xc0)==0x80) 344 344 ; 345 345 346 - /* and the topmost 5 bits of this byte */ 347 - cx24110_writereg(state,0x72,(data>>8)&0xff); 348 - while ((cx24110_readreg(state,0x6d)&0xc0)==0x80) 346 + /* and the topmost 5 bits of this byte */ 347 + cx24110_writereg(state,0x72,(data>>8)&0xff); 348 + while ((cx24110_readreg(state,0x6d)&0xc0)==0x80) 349 349 ; 350 350 351 - /* now strobe the enable line once */ 352 - cx24110_writereg(state,0x6d,0x32); 353 - cx24110_writereg(state,0x6d,0x30); 351 + /* now strobe the enable line once */ 352 + cx24110_writereg(state,0x6d,0x32); 353 + cx24110_writereg(state,0x6d,0x30); 354 354 355 - return 0; 355 + return 0; 356 356 } 357 357 358 358 static int cx24110_initfe(struct dvb_frontend* fe) 359 359 { 360 360 struct cx24110_state *state = fe->demodulator_priv; 361 361 /* fixme (low): error handling */ 362 - int i; 362 + int i; 363 363 364 364 dprintk("%s: init chip\n", __FUNCTION__); 365 365 366 - for(i=0;i<sizeof(cx24110_regdata)/sizeof(cx24110_regdata[0]);i++) { 366 + for(i=0;i<sizeof(cx24110_regdata)/sizeof(cx24110_regdata[0]);i++) { 367 367 cx24110_writereg(state, cx24110_regdata[i].reg, cx24110_regdata[i].data); 368 - }; 368 + }; 369 369 370 370 if (state->config->pll_init) state->config->pll_init(fe); 371 371
+13 -13
drivers/media/dvb/frontends/l64781.c
··· 2 2 driver for LSI L64781 COFDM demodulator 3 3 4 4 Copyright (C) 2001 Holger Waechtler for Convergence Integrated Media GmbH 5 - Marko Kohtala <marko.kohtala@luukku.com> 5 + Marko Kohtala <marko.kohtala@luukku.com> 6 6 7 7 This program is free software; you can redistribute it and/or modify 8 8 it under the terms of the GNU General Public License as published by ··· 433 433 { 434 434 struct l64781_state* state = fe->demodulator_priv; 435 435 436 - reset_and_configure (state); 436 + reset_and_configure (state); 437 437 438 438 /* Power up */ 439 439 l64781_writereg (state, 0x3e, 0xa5); ··· 456 456 l64781_writereg (state, 0x0d, 0x8c); 457 457 458 458 /* With ppm=8000, it seems the DTR_SENSITIVITY will result in 459 - value of 2 with all possible bandwidths and guard 460 - intervals, which is the initial value anyway. */ 461 - /*l64781_writereg (state, 0x19, 0x92);*/ 459 + value of 2 with all possible bandwidths and guard 460 + intervals, which is the initial value anyway. */ 461 + /*l64781_writereg (state, 0x19, 0x92);*/ 462 462 463 463 /* Everything is two's complement, soft bit and CSI_OUT too */ 464 464 l64781_writereg (state, 0x1e, 0x09); ··· 477 477 static int l64781_get_tune_settings(struct dvb_frontend* fe, 478 478 struct dvb_frontend_tune_settings* fesettings) 479 479 { 480 - fesettings->min_delay_ms = 4000; 481 - fesettings->step_size = 0; 482 - fesettings->max_drift = 0; 483 - return 0; 480 + fesettings->min_delay_ms = 4000; 481 + fesettings->step_size = 0; 482 + fesettings->max_drift = 0; 483 + return 0; 484 484 } 485 485 486 486 static void l64781_release(struct dvb_frontend* fe) ··· 522 522 523 523 /* The chip always responds to reads */ 524 524 if (i2c_transfer(state->i2c, msg, 2) != 2) { 525 - dprintk("No response to read on I2C bus\n"); 525 + dprintk("No response to read on I2C bus\n"); 526 526 goto error; 527 527 } 528 528 ··· 531 531 532 532 /* Reading the POWER_DOWN register always returns 0 */ 533 533 if (reg0x3e != 0) { 534 - dprintk("Device doesn't look like L64781\n"); 534 + dprintk("Device doesn't look like L64781\n"); 535 535 goto error; 536 536 } 537 537 ··· 540 540 541 541 /* Responds to all reads with 0 */ 542 542 if (l64781_readreg(state, 0x1a) != 0) { 543 - dprintk("Read 1 returned unexpcted value\n"); 543 + dprintk("Read 1 returned unexpcted value\n"); 544 544 goto error; 545 545 } 546 546 ··· 549 549 550 550 /* Responds with register default value */ 551 551 if (l64781_readreg(state, 0x1a) != 0xa1) { 552 - dprintk("Read 2 returned unexpcted value\n"); 552 + dprintk("Read 2 returned unexpcted value\n"); 553 553 goto error; 554 554 } 555 555
+1 -1
drivers/media/dvb/frontends/l64781.h
··· 2 2 driver for LSI L64781 COFDM demodulator 3 3 4 4 Copyright (C) 2001 Holger Waechtler for Convergence Integrated Media GmbH 5 - Marko Kohtala <marko.kohtala@luukku.com> 5 + Marko Kohtala <marko.kohtala@luukku.com> 6 6 7 7 This program is free software; you can redistribute it and/or modify 8 8 it under the terms of the GNU General Public License as published by
+4 -4
drivers/media/dvb/frontends/lgdt330x.c
··· 301 301 static u8 lgdt3303_8vsb_44_data[] = { 302 302 0x04, 0x00, 303 303 0x0d, 0x40, 304 - 0x0e, 0x87, 305 - 0x0f, 0x8e, 306 - 0x10, 0x01, 307 - 0x47, 0x8b }; 304 + 0x0e, 0x87, 305 + 0x0f, 0x8e, 306 + 0x10, 0x01, 307 + 0x47, 0x8b }; 308 308 309 309 /* 310 310 * Array of byte pairs <address, value>
+2 -2
drivers/media/dvb/frontends/mt312.c
··· 554 554 if ((ret = mt312_write(state, SYM_RATE_H, buf, sizeof(buf))) < 0) 555 555 return ret; 556 556 557 - mt312_reset(state, 0); 557 + mt312_reset(state, 0); 558 558 559 559 return 0; 560 560 } ··· 695 695 FE_CAN_FEC_1_2 | FE_CAN_FEC_2_3 | 696 696 FE_CAN_FEC_3_4 | FE_CAN_FEC_5_6 | FE_CAN_FEC_7_8 | 697 697 FE_CAN_FEC_AUTO | FE_CAN_QPSK | FE_CAN_MUTE_TS | 698 - FE_CAN_RECOVER 698 + FE_CAN_RECOVER 699 699 }, 700 700 701 701 .release = mt312_release,
+3 -3
drivers/media/dvb/frontends/nxt2002.c
··· 527 527 else 528 528 snrdb = 1000*0 + ( 1000*(12-0) * ( temp2 - 0 ) / ( 0x7C00 - 0 ) ); 529 529 530 - /* the value reported back from the frontend will be FFFF=32db 0000=0db */ 530 + /* the value reported back from the frontend will be FFFF=32db 0000=0db */ 531 531 532 532 *snr = snrdb * (0xFFFF/32000); 533 533 ··· 646 646 memcpy(&state->ops, &nxt2002_ops, sizeof(struct dvb_frontend_ops)); 647 647 state->initialised = 0; 648 648 649 - /* Check the first 5 registers to ensure this a revision we can handle */ 649 + /* Check the first 5 registers to ensure this a revision we can handle */ 650 650 651 651 i2c_readbytes(state, 0x00, buf, 5); 652 652 if (buf[0] != 0x04) goto error; /* device id */ ··· 672 672 .type = FE_ATSC, 673 673 .frequency_min = 54000000, 674 674 .frequency_max = 860000000, 675 - /* stepsize is just a guess */ 675 + /* stepsize is just a guess */ 676 676 .frequency_stepsize = 166666, 677 677 .caps = FE_CAN_FEC_1_2 | FE_CAN_FEC_2_3 | FE_CAN_FEC_3_4 | 678 678 FE_CAN_FEC_5_6 | FE_CAN_FEC_7_8 | FE_CAN_FEC_AUTO |
+2 -2
drivers/media/dvb/frontends/nxt200x.c
··· 339 339 switch (state->demod_chip) { 340 340 case NXT2004: 341 341 if (i2c_writebytes(state, state->config->pll_address, data, 4)) 342 - printk(KERN_WARNING "nxt200x: error writing to tuner\n"); 342 + printk(KERN_WARNING "nxt200x: error writing to tuner\n"); 343 343 /* wait until we have a lock */ 344 344 while (count < 20) { 345 345 i2c_readbytes(state, state->config->pll_address, &buf, 1); ··· 497 497 498 498 /* calculate firmware CRC */ 499 499 for (position = 0; position < fw->size; position++) { 500 - crc = nxt200x_crc(crc, fw->data[position]); 500 + crc = nxt200x_crc(crc, fw->data[position]); 501 501 } 502 502 503 503 buf[0] = rambase >> 8;
+5 -5
drivers/media/dvb/frontends/nxt6000.c
··· 574 574 .symbol_rate_max = 9360000, /* FIXME */ 575 575 .symbol_rate_tolerance = 4000, 576 576 .caps = FE_CAN_FEC_1_2 | FE_CAN_FEC_2_3 | FE_CAN_FEC_3_4 | 577 - FE_CAN_FEC_4_5 | FE_CAN_FEC_5_6 | FE_CAN_FEC_6_7 | 578 - FE_CAN_FEC_7_8 | FE_CAN_FEC_8_9 | FE_CAN_FEC_AUTO | 579 - FE_CAN_QAM_16 | FE_CAN_QAM_64 | FE_CAN_QAM_AUTO | 580 - FE_CAN_TRANSMISSION_MODE_AUTO | FE_CAN_GUARD_INTERVAL_AUTO | 581 - FE_CAN_HIERARCHY_AUTO, 577 + FE_CAN_FEC_4_5 | FE_CAN_FEC_5_6 | FE_CAN_FEC_6_7 | 578 + FE_CAN_FEC_7_8 | FE_CAN_FEC_8_9 | FE_CAN_FEC_AUTO | 579 + FE_CAN_QAM_16 | FE_CAN_QAM_64 | FE_CAN_QAM_AUTO | 580 + FE_CAN_TRANSMISSION_MODE_AUTO | FE_CAN_GUARD_INTERVAL_AUTO | 581 + FE_CAN_HIERARCHY_AUTO, 582 582 }, 583 583 584 584 .release = nxt6000_release,
+1 -1
drivers/media/dvb/frontends/or51132.c
··· 503 503 rcvr_stat = rec_buf[1]; 504 504 usK = (rcvr_stat & 0x10) ? 3 : 0; 505 505 506 - /* The value reported back from the frontend will be FFFF=100% 0000=0% */ 506 + /* The value reported back from the frontend will be FFFF=100% 0000=0% */ 507 507 signal_strength = (((8952 - i20Log10(snr_equ) - usK*100)/3+5)*65535)/1000; 508 508 if (signal_strength > 0xffff) 509 509 *strength = 0xffff;
+3 -3
drivers/media/dvb/frontends/s5h1420.c
··· 494 494 } 495 495 496 496 static void s5h1420_setfec_inversion(struct s5h1420_state* state, 497 - struct dvb_frontend_parameters *p) 497 + struct dvb_frontend_parameters *p) 498 498 { 499 499 u8 inversion = 0; 500 500 ··· 521 521 522 522 case FEC_3_4: 523 523 s5h1420_writereg(state, 0x30, 0x04); 524 - s5h1420_writereg(state, 0x31, 0x12 | inversion); 525 - break; 524 + s5h1420_writereg(state, 0x31, 0x12 | inversion); 525 + break; 526 526 527 527 case FEC_5_6: 528 528 s5h1420_writereg(state, 0x30, 0x08);
+1 -1
drivers/media/dvb/frontends/s5h1420.h
··· 39 39 }; 40 40 41 41 extern struct dvb_frontend* s5h1420_attach(const struct s5h1420_config* config, 42 - struct i2c_adapter* i2c); 42 + struct i2c_adapter* i2c); 43 43 44 44 #endif // S5H1420_H
+8 -8
drivers/media/dvb/frontends/sp8870.c
··· 67 67 68 68 static int sp8870_writereg (struct sp8870_state* state, u16 reg, u16 data) 69 69 { 70 - u8 buf [] = { reg >> 8, reg & 0xff, data >> 8, data & 0xff }; 70 + u8 buf [] = { reg >> 8, reg & 0xff, data >> 8, data & 0xff }; 71 71 struct i2c_msg msg = { .addr = state->config->demod_address, .flags = 0, .buf = buf, .len = 4 }; 72 72 int err; 73 73 74 - if ((err = i2c_transfer (state->i2c, &msg, 1)) != 1) { 74 + if ((err = i2c_transfer (state->i2c, &msg, 1)) != 1) { 75 75 dprintk ("%s: writereg error (err == %i, reg == 0x%02x, data == 0x%02x)\n", __FUNCTION__, err, reg, data); 76 76 return -EREMOTEIO; 77 77 } 78 78 79 - return 0; 79 + return 0; 80 80 } 81 81 82 82 static int sp8870_readreg (struct sp8870_state* state, u16 reg) ··· 305 305 static int sp8870_init (struct dvb_frontend* fe) 306 306 { 307 307 struct sp8870_state* state = fe->demodulator_priv; 308 - const struct firmware *fw = NULL; 308 + const struct firmware *fw = NULL; 309 309 310 310 sp8870_wake_up(state); 311 311 if (state->initialised) return 0; ··· 534 534 535 535 static int sp8870_get_tune_settings(struct dvb_frontend* fe, struct dvb_frontend_tune_settings* fesettings) 536 536 { 537 - fesettings->min_delay_ms = 350; 538 - fesettings->step_size = 0; 539 - fesettings->max_drift = 0; 540 - return 0; 537 + fesettings->min_delay_ms = 350; 538 + fesettings->step_size = 0; 539 + fesettings->max_drift = 0; 540 + return 0; 541 541 } 542 542 543 543 static void sp8870_release(struct dvb_frontend* fe)
+7 -7
drivers/media/dvb/frontends/sp887x.c
··· 80 80 u8 b1 [2]; 81 81 int ret; 82 82 struct i2c_msg msg[] = {{ .addr = state->config->demod_address, .flags = 0, .buf = b0, .len = 2 }, 83 - { .addr = state->config->demod_address, .flags = I2C_M_RD, .buf = b1, .len = 2 }}; 83 + { .addr = state->config->demod_address, .flags = I2C_M_RD, .buf = b1, .len = 2 }}; 84 84 85 85 if ((ret = i2c_transfer(state->i2c, msg, 2)) != 2) { 86 86 printk("%s: readreg error (ret == %i)\n", __FUNCTION__, ret); ··· 498 498 static int sp887x_init(struct dvb_frontend* fe) 499 499 { 500 500 struct sp887x_state* state = fe->demodulator_priv; 501 - const struct firmware *fw = NULL; 501 + const struct firmware *fw = NULL; 502 502 int ret; 503 503 504 504 if (!state->initialised) { ··· 528 528 529 529 static int sp887x_get_tune_settings(struct dvb_frontend* fe, struct dvb_frontend_tune_settings* fesettings) 530 530 { 531 - fesettings->min_delay_ms = 350; 532 - fesettings->step_size = 166666*2; 533 - fesettings->max_drift = (166666*2)+1; 534 - return 0; 531 + fesettings->min_delay_ms = 350; 532 + fesettings->step_size = 166666*2; 533 + fesettings->max_drift = (166666*2)+1; 534 + return 0; 535 535 } 536 536 537 537 static void sp887x_release(struct dvb_frontend* fe) ··· 581 581 .caps = FE_CAN_FEC_1_2 | FE_CAN_FEC_2_3 | FE_CAN_FEC_3_4 | 582 582 FE_CAN_FEC_5_6 | FE_CAN_FEC_7_8 | FE_CAN_FEC_AUTO | 583 583 FE_CAN_QPSK | FE_CAN_QAM_16 | FE_CAN_QAM_64 | 584 - FE_CAN_RECOVER 584 + FE_CAN_RECOVER 585 585 }, 586 586 587 587 .release = sp887x_release,
+18 -18
drivers/media/dvb/frontends/stv0299.c
··· 95 95 96 96 int stv0299_writereg (struct dvb_frontend* fe, u8 reg, u8 data) 97 97 { 98 - struct stv0299_state* state = fe->demodulator_priv; 98 + struct stv0299_state* state = fe->demodulator_priv; 99 99 100 100 return stv0299_writeregI(state, reg, data); 101 101 } ··· 220 220 221 221 static int stv0299_set_symbolrate (struct dvb_frontend* fe, u32 srate) 222 222 { 223 - struct stv0299_state* state = fe->demodulator_priv; 223 + struct stv0299_state* state = fe->demodulator_priv; 224 224 u64 big = srate; 225 225 u32 ratio; 226 226 ··· 271 271 static int stv0299_send_diseqc_msg (struct dvb_frontend* fe, 272 272 struct dvb_diseqc_master_cmd *m) 273 273 { 274 - struct stv0299_state* state = fe->demodulator_priv; 274 + struct stv0299_state* state = fe->demodulator_priv; 275 275 u8 val; 276 276 int i; 277 277 ··· 301 301 302 302 static int stv0299_send_diseqc_burst (struct dvb_frontend* fe, fe_sec_mini_cmd_t burst) 303 303 { 304 - struct stv0299_state* state = fe->demodulator_priv; 304 + struct stv0299_state* state = fe->demodulator_priv; 305 305 u8 val; 306 306 307 307 dprintk ("%s\n", __FUNCTION__); ··· 328 328 329 329 static int stv0299_set_tone (struct dvb_frontend* fe, fe_sec_tone_mode_t tone) 330 330 { 331 - struct stv0299_state* state = fe->demodulator_priv; 331 + struct stv0299_state* state = fe->demodulator_priv; 332 332 u8 val; 333 333 334 334 if (stv0299_wait_diseqc_idle (state, 100) < 0) ··· 350 350 351 351 static int stv0299_set_voltage (struct dvb_frontend* fe, fe_sec_voltage_t voltage) 352 352 { 353 - struct stv0299_state* state = fe->demodulator_priv; 353 + struct stv0299_state* state = fe->demodulator_priv; 354 354 u8 reg0x08; 355 355 u8 reg0x0c; 356 356 ··· 442 442 443 443 static int stv0299_init (struct dvb_frontend* fe) 444 444 { 445 - struct stv0299_state* state = fe->demodulator_priv; 445 + struct stv0299_state* state = fe->demodulator_priv; 446 446 int i; 447 447 448 448 dprintk("stv0299: init chip\n"); ··· 461 461 462 462 static int stv0299_read_status(struct dvb_frontend* fe, fe_status_t* status) 463 463 { 464 - struct stv0299_state* state = fe->demodulator_priv; 464 + struct stv0299_state* state = fe->demodulator_priv; 465 465 466 466 u8 signal = 0xff - stv0299_readreg (state, 0x18); 467 467 u8 sync = stv0299_readreg (state, 0x1b); ··· 489 489 490 490 static int stv0299_read_ber(struct dvb_frontend* fe, u32* ber) 491 491 { 492 - struct stv0299_state* state = fe->demodulator_priv; 492 + struct stv0299_state* state = fe->demodulator_priv; 493 493 494 494 if (state->errmode != STATUS_BER) return 0; 495 495 *ber = (stv0299_readreg (state, 0x1d) << 8) | stv0299_readreg (state, 0x1e); ··· 499 499 500 500 static int stv0299_read_signal_strength(struct dvb_frontend* fe, u16* strength) 501 501 { 502 - struct stv0299_state* state = fe->demodulator_priv; 502 + struct stv0299_state* state = fe->demodulator_priv; 503 503 504 504 s32 signal = 0xffff - ((stv0299_readreg (state, 0x18) << 8) 505 505 | stv0299_readreg (state, 0x19)); ··· 516 516 517 517 static int stv0299_read_snr(struct dvb_frontend* fe, u16* snr) 518 518 { 519 - struct stv0299_state* state = fe->demodulator_priv; 519 + struct stv0299_state* state = fe->demodulator_priv; 520 520 521 521 s32 xsnr = 0xffff - ((stv0299_readreg (state, 0x24) << 8) 522 522 | stv0299_readreg (state, 0x25)); ··· 528 528 529 529 static int stv0299_read_ucblocks(struct dvb_frontend* fe, u32* ucblocks) 530 530 { 531 - struct stv0299_state* state = fe->demodulator_priv; 531 + struct stv0299_state* state = fe->demodulator_priv; 532 532 533 533 if (state->errmode != STATUS_UCBLOCKS) *ucblocks = 0; 534 534 else *ucblocks = (stv0299_readreg (state, 0x1d) << 8) | stv0299_readreg (state, 0x1e); ··· 538 538 539 539 static int stv0299_set_frontend(struct dvb_frontend* fe, struct dvb_frontend_parameters * p) 540 540 { 541 - struct stv0299_state* state = fe->demodulator_priv; 541 + struct stv0299_state* state = fe->demodulator_priv; 542 542 int invval = 0; 543 543 544 544 dprintk ("%s : FE_SET_FRONTEND\n", __FUNCTION__); ··· 571 571 572 572 static int stv0299_get_frontend(struct dvb_frontend* fe, struct dvb_frontend_parameters * p) 573 573 { 574 - struct stv0299_state* state = fe->demodulator_priv; 574 + struct stv0299_state* state = fe->demodulator_priv; 575 575 s32 derot_freq; 576 576 int invval; 577 577 ··· 596 596 597 597 static int stv0299_sleep(struct dvb_frontend* fe) 598 598 { 599 - struct stv0299_state* state = fe->demodulator_priv; 599 + struct stv0299_state* state = fe->demodulator_priv; 600 600 601 601 stv0299_writeregI(state, 0x02, 0x80); 602 602 state->initialised = 0; ··· 606 606 607 607 static int stv0299_get_tune_settings(struct dvb_frontend* fe, struct dvb_frontend_tune_settings* fesettings) 608 608 { 609 - struct stv0299_state* state = fe->demodulator_priv; 609 + struct stv0299_state* state = fe->demodulator_priv; 610 610 611 611 fesettings->min_delay_ms = state->config->min_delay_ms; 612 612 if (fesettings->parameters.u.qpsk.symbol_rate < 10000000) { ··· 658 658 659 659 /* create dvb_frontend */ 660 660 state->frontend.ops = &state->ops; 661 - state->frontend.demodulator_priv = state; 661 + state->frontend.demodulator_priv = state; 662 662 return &state->frontend; 663 663 664 664 error: ··· 714 714 715 715 MODULE_DESCRIPTION("ST STV0299 DVB Demodulator driver"); 716 716 MODULE_AUTHOR("Ralph Metzler, Holger Waechtler, Peter Schildmann, Felix Domke, " 717 - "Andreas Oberritter, Andrew de Quincey, Kenneth Aafl�y"); 717 + "Andreas Oberritter, Andrew de Quincey, Kenneth Aafl�y"); 718 718 MODULE_LICENSE("GPL"); 719 719 720 720 EXPORT_SYMBOL(stv0299_writereg);
+5 -5
drivers/media/dvb/frontends/tda10021.c
··· 1 1 /* 2 2 TDA10021 - Single Chip Cable Channel Receiver driver module 3 - used on the the Siemens DVB-C cards 3 + used on the the Siemens DVB-C cards 4 4 5 5 Copyright (C) 1999 Convergence Integrated Media GmbH <ralph@convergence.de> 6 6 Copyright (C) 2004 Markus Schulz <msc@antzsystem.de> 7 - Support for TDA10021 7 + Support for TDA10021 8 8 9 9 This program is free software; you can redistribute it and/or modify 10 10 it under the terms of the GNU General Public License as published by ··· 76 76 77 77 static int tda10021_writereg (struct tda10021_state* state, u8 reg, u8 data) 78 78 { 79 - u8 buf[] = { reg, data }; 79 + u8 buf[] = { reg, data }; 80 80 struct i2c_msg msg = { .addr = state->config->demod_address, .flags = 0, .buf = buf, .len = 2 }; 81 - int ret; 81 + int ret; 82 82 83 83 ret = i2c_transfer (state->i2c, &msg, 1); 84 84 if (ret != 1) ··· 95 95 u8 b0 [] = { reg }; 96 96 u8 b1 [] = { 0 }; 97 97 struct i2c_msg msg [] = { { .addr = state->config->demod_address, .flags = 0, .buf = b0, .len = 1 }, 98 - { .addr = state->config->demod_address, .flags = I2C_M_RD, .buf = b1, .len = 1 } }; 98 + { .addr = state->config->demod_address, .flags = I2C_M_RD, .buf = b1, .len = 1 } }; 99 99 int ret; 100 100 101 101 ret = i2c_transfer (state->i2c, msg, 2);
+2 -2
drivers/media/dvb/frontends/tda10021.h
··· 1 1 /* 2 2 TDA10021 - Single Chip Cable Channel Receiver driver module 3 - used on the the Siemens DVB-C cards 3 + used on the the Siemens DVB-C cards 4 4 5 5 Copyright (C) 1999 Convergence Integrated Media GmbH <ralph@convergence.de> 6 6 Copyright (C) 2004 Markus Schulz <msc@antzsystem.de> 7 - Support for TDA10021 7 + Support for TDA10021 8 8 9 9 This program is free software; you can redistribute it and/or modify 10 10 it under the terms of the GNU General Public License as published by
+1 -1
drivers/media/dvb/frontends/tda1004x.c
··· 475 475 ret = state->config->request_firmware(fe, &fw, TDA10046_DEFAULT_FIRMWARE); 476 476 if (ret) { 477 477 printk(KERN_ERR "tda1004x: no firmware upload (timeout or file not found?)\n"); 478 - return ret; 478 + return ret; 479 479 } 480 480 tda1004x_write_mask(state, TDA1004X_CONFC4, 8, 8); // going to boot from HOST 481 481 ret = tda1004x_do_upload(state, fw->data, fw->size, TDA10046H_CODE_CPT, TDA10046H_CODE_IN);
+10 -10
drivers/media/dvb/frontends/tda8083.c
··· 66 66 u8 buf [] = { reg, data }; 67 67 struct i2c_msg msg = { .addr = state->config->demod_address, .flags = 0, .buf = buf, .len = 2 }; 68 68 69 - ret = i2c_transfer(state->i2c, &msg, 1); 69 + ret = i2c_transfer(state->i2c, &msg, 1); 70 70 71 - if (ret != 1) 72 - dprintk ("%s: writereg error (reg %02x, ret == %i)\n", 71 + if (ret != 1) 72 + dprintk ("%s: writereg error (reg %02x, ret == %i)\n", 73 73 __FUNCTION__, reg, ret); 74 74 75 - return (ret != 1) ? -1 : 0; 75 + return (ret != 1) ? -1 : 0; 76 76 } 77 77 78 78 static int tda8083_readregs (struct tda8083_state* state, u8 reg1, u8 *b, u8 len) ··· 87 87 dprintk ("%s: readreg error (reg %02x, ret == %i)\n", 88 88 __FUNCTION__, reg1, ret); 89 89 90 - return ret == 2 ? 0 : -1; 90 + return ret == 2 ? 0 : -1; 91 91 } 92 92 93 93 static inline u8 tda8083_readreg (struct tda8083_state* state, u8 reg) ··· 132 132 133 133 static int tda8083_set_symbolrate (struct tda8083_state* state, u32 srate) 134 134 { 135 - u32 ratio; 135 + u32 ratio; 136 136 u32 tmp; 137 137 u8 filter; 138 138 139 139 if (srate > 32000000) 140 - srate = 32000000; 141 - if (srate < 500000) 142 - srate = 500000; 140 + srate = 32000000; 141 + if (srate < 500000) 142 + srate = 500000; 143 143 144 144 filter = 0; 145 145 if (srate < 24000000) ··· 174 174 unsigned long start = jiffies; 175 175 176 176 while (jiffies - start < timeout && 177 - !(tda8083_readreg(state, 0x02) & 0x80)) 177 + !(tda8083_readreg(state, 0x02) & 0x80)) 178 178 { 179 179 msleep(50); 180 180 };
+13 -13
drivers/media/dvb/ttpci/av7110.c
··· 217 217 218 218 dprintk(4, "%p\n",av7110); 219 219 220 - lock_kernel(); 221 - daemonize("arm_mon"); 222 - sigfillset(&current->blocked); 223 - unlock_kernel(); 220 + lock_kernel(); 221 + daemonize("arm_mon"); 222 + sigfillset(&current->blocked); 223 + unlock_kernel(); 224 224 225 225 av7110->arm_thread = current; 226 226 ··· 1535 1535 buf[2] = ((div & 0x18000) >> 10) | 0x95; 1536 1536 buf[3] = (pwr << 6) | 0x30; 1537 1537 1538 - // NOTE: since we're using a prescaler of 2, we set the 1538 + // NOTE: since we're using a prescaler of 2, we set the 1539 1539 // divisor frequency to 62.5kHz and divide by 125 above 1540 1540 1541 1541 if (i2c_transfer (&av7110->i2c_adap, &msg, 1) != 1) ··· 1811 1811 static int philips_cd1516_pll_set(struct dvb_frontend* fe, 1812 1812 struct dvb_frontend_parameters* params) 1813 1813 { 1814 - struct av7110* av7110 = fe->dvb->priv; 1814 + struct av7110* av7110 = fe->dvb->priv; 1815 1815 u32 div; 1816 1816 u32 f = params->frequency; 1817 1817 u8 data[4]; ··· 2202 2202 struct i2c_msg msg[] = { { .addr = 0x50,.flags = 0,.buf = &b,.len = 1 }, 2203 2203 { .addr = 0x50,.flags = I2C_M_RD,.buf = &pwm,.len = 1} }; 2204 2204 2205 - if ((i2c_transfer(&av7110->i2c_adap, msg, 2) != 2) || (pwm == 0xff)) 2205 + if ((i2c_transfer(&av7110->i2c_adap, msg, 2) != 2) || (pwm == 0xff)) 2206 2206 pwm = 0x48; 2207 2207 2208 2208 return pwm; ··· 2245 2245 } 2246 2246 2247 2247 // Try the grundig 29504-451 2248 - av7110->fe = tda8083_attach(&grundig_29504_451_config, &av7110->i2c_adap); 2248 + av7110->fe = tda8083_attach(&grundig_29504_451_config, &av7110->i2c_adap); 2249 2249 if (av7110->fe) { 2250 2250 av7110->fe->ops->diseqc_send_master_cmd = av7110_diseqc_send_master_cmd; 2251 2251 av7110->fe->ops->diseqc_send_burst = av7110_diseqc_send_burst; ··· 2271 2271 case 0x0001: // Hauppauge/TT Nexus-T premium rev1.X 2272 2272 2273 2273 // ALPS TDLB7 2274 - av7110->fe = sp8870_attach(&alps_tdlb7_config, &av7110->i2c_adap); 2274 + av7110->fe = sp8870_attach(&alps_tdlb7_config, &av7110->i2c_adap); 2275 2275 break; 2276 2276 2277 2277 case 0x0002: // Hauppauge/TT DVB-C premium rev2.X 2278 2278 2279 - av7110->fe = ves1820_attach(&alps_tdbe2_config, &av7110->i2c_adap, read_pwm(av7110)); 2279 + av7110->fe = ves1820_attach(&alps_tdbe2_config, &av7110->i2c_adap, read_pwm(av7110)); 2280 2280 break; 2281 2281 2282 2282 case 0x0006: /* Fujitsu-Siemens DVB-S rev 1.6 */ ··· 2421 2421 2422 2422 dprintk(4, "dev: %p\n", dev); 2423 2423 2424 - /* Set RPS_IRQ to 1 to track rps1 activity. 2425 - * Enabling this won't send any interrupt to PC CPU. 2426 - */ 2424 + /* Set RPS_IRQ to 1 to track rps1 activity. 2425 + * Enabling this won't send any interrupt to PC CPU. 2426 + */ 2427 2427 #define RPS_IRQ 0 2428 2428 2429 2429 if (budgetpatch == 1) {
+10 -10
drivers/media/dvb/ttpci/av7110_hw.c
··· 1203 1203 1204 1204 int av7110_osd_capability(struct av7110 *av7110, osd_cap_t *cap) 1205 1205 { 1206 - switch (cap->cmd) { 1207 - case OSD_CAP_MEMSIZE: 1208 - if (FW_4M_SDRAM(av7110->arm_app)) 1209 - cap->val = 1000000; 1210 - else 1211 - cap->val = 92000; 1212 - return 0; 1213 - default: 1214 - return -EINVAL; 1215 - } 1206 + switch (cap->cmd) { 1207 + case OSD_CAP_MEMSIZE: 1208 + if (FW_4M_SDRAM(av7110->arm_app)) 1209 + cap->val = 1000000; 1210 + else 1211 + cap->val = 92000; 1212 + return 0; 1213 + default: 1214 + return -EINVAL; 1215 + } 1216 1216 } 1217 1217 #endif /* CONFIG_DVB_AV7110_OSD */
+2 -2
drivers/media/dvb/ttpci/av7110_v4l.c
··· 120 120 121 121 static int stv0297_writereg(struct saa7146_dev *dev, u8 addr, u8 reg, u8 data) 122 122 { 123 - u8 buf [] = { reg, data }; 124 - struct i2c_msg msg = { .addr = addr, .flags = 0, .buf = buf, .len = 2 }; 123 + u8 buf [] = { reg, data }; 124 + struct i2c_msg msg = { .addr = addr, .flags = 0, .buf = buf, .len = 2 }; 125 125 126 126 if (1 != saa7146_i2c_transfer(dev, &msg, 1, 1)) 127 127 return -1;
+1 -1
drivers/media/dvb/ttpci/budget-core.c
··· 87 87 * Pitch: 188, NumBytes3: 188, NumLines3: 1024 88 88 */ 89 89 90 - switch(budget->card->type) { 90 + switch(budget->card->type) { 91 91 case BUDGET_FS_ACTIVY: 92 92 saa7146_write(dev, DD1_INIT, 0x04000000); 93 93 saa7146_write(dev, MC2, (MASK_09 | MASK_25));
+162 -162
drivers/media/dvb/ttpci/budget-patch.c
··· 45 45 //MAKE_BUDGET_INFO(satel,"TT-Budget/Patch SATELCO PCI", BUDGET_TT_HW_DISEQC); 46 46 47 47 static struct pci_device_id pci_tbl[] = { 48 - MAKE_EXTENSION_PCI(ttbp,0x13c2, 0x0000), 48 + MAKE_EXTENSION_PCI(ttbp,0x13c2, 0x0000), 49 49 // MAKE_EXTENSION_PCI(satel, 0x13c2, 0x1013), 50 - { 51 - .vendor = 0, 52 - } 50 + { 51 + .vendor = 0, 52 + } 53 53 }; 54 54 55 55 /* those lines are for budget-patch to be tried ··· 165 165 166 166 static int budget_av7110_send_fw_cmd(struct budget_patch *budget, u16* buf, int length) 167 167 { 168 - int i; 168 + int i; 169 169 170 - dprintk(2, "budget: %p\n", budget); 170 + dprintk(2, "budget: %p\n", budget); 171 171 172 - for (i = 2; i < length; i++) 173 - { 174 - ttpci_budget_debiwrite(budget, DEBINOSWAP, COMMAND + 2*i, 2, (u32) buf[i], 0,0); 175 - msleep(5); 176 - } 177 - if (length) 178 - ttpci_budget_debiwrite(budget, DEBINOSWAP, COMMAND + 2, 2, (u32) buf[1], 0,0); 179 - else 180 - ttpci_budget_debiwrite(budget, DEBINOSWAP, COMMAND + 2, 2, 0, 0,0); 181 - msleep(5); 182 - ttpci_budget_debiwrite(budget, DEBINOSWAP, COMMAND, 2, (u32) buf[0], 0,0); 183 - msleep(5); 184 - return 0; 172 + for (i = 2; i < length; i++) 173 + { 174 + ttpci_budget_debiwrite(budget, DEBINOSWAP, COMMAND + 2*i, 2, (u32) buf[i], 0,0); 175 + msleep(5); 176 + } 177 + if (length) 178 + ttpci_budget_debiwrite(budget, DEBINOSWAP, COMMAND + 2, 2, (u32) buf[1], 0,0); 179 + else 180 + ttpci_budget_debiwrite(budget, DEBINOSWAP, COMMAND + 2, 2, 0, 0,0); 181 + msleep(5); 182 + ttpci_budget_debiwrite(budget, DEBINOSWAP, COMMAND, 2, (u32) buf[0], 0,0); 183 + msleep(5); 184 + return 0; 185 185 } 186 186 187 187 static void av7110_set22k(struct budget_patch *budget, int state) 188 188 { 189 - u16 buf[2] = {( COMTYPE_AUDIODAC << 8) | (state ? ON22K : OFF22K), 0}; 189 + u16 buf[2] = {( COMTYPE_AUDIODAC << 8) | (state ? ON22K : OFF22K), 0}; 190 190 191 - dprintk(2, "budget: %p\n", budget); 192 - budget_av7110_send_fw_cmd(budget, buf, 2); 191 + dprintk(2, "budget: %p\n", budget); 192 + budget_av7110_send_fw_cmd(budget, buf, 2); 193 193 } 194 194 195 195 static int av7110_send_diseqc_msg(struct budget_patch *budget, int len, u8 *msg, int burst) 196 196 { 197 - int i; 198 - u16 buf[18] = { ((COMTYPE_AUDIODAC << 8) | SendDiSEqC), 199 - 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }; 197 + int i; 198 + u16 buf[18] = { ((COMTYPE_AUDIODAC << 8) | SendDiSEqC), 199 + 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }; 200 200 201 - dprintk(2, "budget: %p\n", budget); 201 + dprintk(2, "budget: %p\n", budget); 202 202 203 - if (len>10) 204 - len=10; 203 + if (len>10) 204 + len=10; 205 205 206 - buf[1] = len+2; 207 - buf[2] = len; 206 + buf[1] = len+2; 207 + buf[2] = len; 208 208 209 - if (burst != -1) 210 - buf[3]=burst ? 0x01 : 0x00; 211 - else 212 - buf[3]=0xffff; 209 + if (burst != -1) 210 + buf[3]=burst ? 0x01 : 0x00; 211 + else 212 + buf[3]=0xffff; 213 213 214 - for (i=0; i<len; i++) 215 - buf[i+4]=msg[i]; 214 + for (i=0; i<len; i++) 215 + buf[i+4]=msg[i]; 216 216 217 - budget_av7110_send_fw_cmd(budget, buf, 18); 218 - return 0; 217 + budget_av7110_send_fw_cmd(budget, buf, 18); 218 + return 0; 219 219 } 220 220 221 221 static int budget_patch_set_tone(struct dvb_frontend* fe, fe_sec_tone_mode_t tone) ··· 276 276 buf[2] = ((div & 0x18000) >> 10) | 0x95; 277 277 buf[3] = (pwr << 6) | 0x30; 278 278 279 - // NOTE: since we're using a prescaler of 2, we set the 279 + // NOTE: since we're using a prescaler of 2, we set the 280 280 // divisor frequency to 62.5kHz and divide by 125 above 281 281 282 282 if (i2c_transfer (&budget->i2c_adap, &msg, 1) != 1) return -EIO; ··· 294 294 0x01, 0x15, 295 295 0x02, 0x00, 296 296 0x03, 0x00, 297 - 0x04, 0x7d, /* F22FR = 0x7d, F22 = f_VCO / 128 / 0x7d = 22 kHz */ 297 + 0x04, 0x7d, /* F22FR = 0x7d, F22 = f_VCO / 128 / 0x7d = 22 kHz */ 298 298 0x05, 0x35, /* I2CT = 0, SCLT = 1, SDAT = 1 */ 299 299 0x06, 0x40, /* DAC not used, set to high impendance mode */ 300 300 0x07, 0x00, /* DAC LSB */ ··· 413 413 { 414 414 switch(budget->dev->pci->subsystem_device) { 415 415 case 0x0000: // Hauppauge/TT WinTV DVB-S rev1.X 416 - case 0x1013: // SATELCO Multimedia PCI 416 + case 0x1013: // SATELCO Multimedia PCI 417 417 418 418 // try the ALPS BSRV2 first of all 419 419 budget->dvb_frontend = ves1x93_attach(&alps_bsrv2_config, &budget->i2c_adap); ··· 463 463 /* written by Emard */ 464 464 static int budget_patch_attach (struct saa7146_dev* dev, struct saa7146_pci_extension_data *info) 465 465 { 466 - struct budget_patch *budget; 467 - int err; 466 + struct budget_patch *budget; 467 + int err; 468 468 int count = 0; 469 469 int detected = 0; 470 470 ··· 472 472 #define RPS_IRQ 0 473 473 #define HPS_SETUP 0 474 474 #if PATCH_RESET 475 - saa7146_write(dev, MC1, MASK_31); 476 - msleep(40); 475 + saa7146_write(dev, MC1, MASK_31); 476 + msleep(40); 477 477 #endif 478 478 #if HPS_SETUP 479 - // initialize registers. Better to have it like this 480 - // than leaving something unconfigured 479 + // initialize registers. Better to have it like this 480 + // than leaving something unconfigured 481 481 saa7146_write(dev, DD1_STREAM_B, 0); 482 482 // port B VSYNC at rising edge 483 483 saa7146_write(dev, DD1_INIT, 0x00000200); // have this in budget-core too! ··· 486 486 // debi config 487 487 // saa7146_write(dev, DEBI_CONFIG, MASK_30|MASK_28|MASK_18); 488 488 489 - // zero all HPS registers 490 - saa7146_write(dev, HPS_H_PRESCALE, 0); // r68 491 - saa7146_write(dev, HPS_H_SCALE, 0); // r6c 492 - saa7146_write(dev, BCS_CTRL, 0); // r70 493 - saa7146_write(dev, HPS_V_SCALE, 0); // r60 494 - saa7146_write(dev, HPS_V_GAIN, 0); // r64 495 - saa7146_write(dev, CHROMA_KEY_RANGE, 0); // r74 496 - saa7146_write(dev, CLIP_FORMAT_CTRL, 0); // r78 497 - // Set HPS prescaler for port B input 498 - saa7146_write(dev, HPS_CTRL, (1<<30) | (0<<29) | (1<<28) | (0<<12) ); 499 - saa7146_write(dev, MC2, 500 - 0 * (MASK_08 | MASK_24) | // BRS control 501 - 0 * (MASK_09 | MASK_25) | // a 502 - 0 * (MASK_10 | MASK_26) | // b 503 - 1 * (MASK_06 | MASK_22) | // HPS_CTRL1 504 - 1 * (MASK_05 | MASK_21) | // HPS_CTRL2 505 - 0 * (MASK_01 | MASK_15) // DEBI 506 - ); 489 + // zero all HPS registers 490 + saa7146_write(dev, HPS_H_PRESCALE, 0); // r68 491 + saa7146_write(dev, HPS_H_SCALE, 0); // r6c 492 + saa7146_write(dev, BCS_CTRL, 0); // r70 493 + saa7146_write(dev, HPS_V_SCALE, 0); // r60 494 + saa7146_write(dev, HPS_V_GAIN, 0); // r64 495 + saa7146_write(dev, CHROMA_KEY_RANGE, 0); // r74 496 + saa7146_write(dev, CLIP_FORMAT_CTRL, 0); // r78 497 + // Set HPS prescaler for port B input 498 + saa7146_write(dev, HPS_CTRL, (1<<30) | (0<<29) | (1<<28) | (0<<12) ); 499 + saa7146_write(dev, MC2, 500 + 0 * (MASK_08 | MASK_24) | // BRS control 501 + 0 * (MASK_09 | MASK_25) | // a 502 + 0 * (MASK_10 | MASK_26) | // b 503 + 1 * (MASK_06 | MASK_22) | // HPS_CTRL1 504 + 1 * (MASK_05 | MASK_21) | // HPS_CTRL2 505 + 0 * (MASK_01 | MASK_15) // DEBI 506 + ); 507 507 #endif 508 508 // Disable RPS1 and RPS0 509 - saa7146_write(dev, MC1, ( MASK_29 | MASK_28)); 510 - // RPS1 timeout disable 511 - saa7146_write(dev, RPS_TOV1, 0); 509 + saa7146_write(dev, MC1, ( MASK_29 | MASK_28)); 510 + // RPS1 timeout disable 511 + saa7146_write(dev, RPS_TOV1, 0); 512 512 513 513 // code for autodetection 514 514 // will wait for VBI_B event (vertical blank at port B) ··· 521 521 WRITE_RPS1(cpu_to_le32(CMD_UPLOAD | 522 522 MASK_10 | MASK_09 | MASK_08 | MASK_06 | MASK_05 | MASK_04 | MASK_03 | MASK_02 )); 523 523 #endif 524 - WRITE_RPS1(cpu_to_le32(CMD_PAUSE | EVT_VBI_B)); 525 - WRITE_RPS1(cpu_to_le32(CMD_WR_REG_MASK | (GPIO_CTRL>>2))); 526 - WRITE_RPS1(cpu_to_le32(GPIO3_MSK)); 527 - WRITE_RPS1(cpu_to_le32(SAA7146_GPIO_OUTLO<<24)); 524 + WRITE_RPS1(cpu_to_le32(CMD_PAUSE | EVT_VBI_B)); 525 + WRITE_RPS1(cpu_to_le32(CMD_WR_REG_MASK | (GPIO_CTRL>>2))); 526 + WRITE_RPS1(cpu_to_le32(GPIO3_MSK)); 527 + WRITE_RPS1(cpu_to_le32(SAA7146_GPIO_OUTLO<<24)); 528 528 #if RPS_IRQ 529 - // issue RPS1 interrupt to increment counter 530 - WRITE_RPS1(cpu_to_le32(CMD_INTERRUPT)); 531 - // at least a NOP is neede between two interrupts 532 - WRITE_RPS1(cpu_to_le32(CMD_NOP)); 533 - // interrupt again 534 - WRITE_RPS1(cpu_to_le32(CMD_INTERRUPT)); 529 + // issue RPS1 interrupt to increment counter 530 + WRITE_RPS1(cpu_to_le32(CMD_INTERRUPT)); 531 + // at least a NOP is neede between two interrupts 532 + WRITE_RPS1(cpu_to_le32(CMD_NOP)); 533 + // interrupt again 534 + WRITE_RPS1(cpu_to_le32(CMD_INTERRUPT)); 535 535 #endif 536 - WRITE_RPS1(cpu_to_le32(CMD_STOP)); 536 + WRITE_RPS1(cpu_to_le32(CMD_STOP)); 537 537 538 538 #if RPS_IRQ 539 - // set event counter 1 source as RPS1 interrupt (0x03) (rE4 p53) 540 - // use 0x03 to track RPS1 interrupts - increase by 1 every gpio3 is toggled 541 - // use 0x15 to track VPE interrupts - increase by 1 every vpeirq() is called 542 - saa7146_write(dev, EC1SSR, (0x03<<2) | 3 ); 543 - // set event counter 1 treshold to maximum allowed value (rEC p55) 544 - saa7146_write(dev, ECT1R, 0x3fff ); 539 + // set event counter 1 source as RPS1 interrupt (0x03) (rE4 p53) 540 + // use 0x03 to track RPS1 interrupts - increase by 1 every gpio3 is toggled 541 + // use 0x15 to track VPE interrupts - increase by 1 every vpeirq() is called 542 + saa7146_write(dev, EC1SSR, (0x03<<2) | 3 ); 543 + // set event counter 1 treshold to maximum allowed value (rEC p55) 544 + saa7146_write(dev, ECT1R, 0x3fff ); 545 545 #endif 546 - // Fix VSYNC level 547 - saa7146_setgpio(dev, 3, SAA7146_GPIO_OUTLO); 548 - // Set RPS1 Address register to point to RPS code (r108 p42) 549 - saa7146_write(dev, RPS_ADDR1, dev->d_rps1.dma_handle); 550 - // Enable RPS1, (rFC p33) 551 - saa7146_write(dev, MC1, (MASK_13 | MASK_29 )); 546 + // Fix VSYNC level 547 + saa7146_setgpio(dev, 3, SAA7146_GPIO_OUTLO); 548 + // Set RPS1 Address register to point to RPS code (r108 p42) 549 + saa7146_write(dev, RPS_ADDR1, dev->d_rps1.dma_handle); 550 + // Enable RPS1, (rFC p33) 551 + saa7146_write(dev, MC1, (MASK_13 | MASK_29 )); 552 552 553 553 554 - mdelay(50); 555 - saa7146_setgpio(dev, 3, SAA7146_GPIO_OUTHI); 554 + mdelay(50); 555 + saa7146_setgpio(dev, 3, SAA7146_GPIO_OUTHI); 556 556 mdelay(150); 557 557 558 558 ··· 560 560 detected = 1; 561 561 562 562 #if RPS_IRQ 563 - printk("Event Counter 1 0x%04x\n", saa7146_read(dev, EC1R) & 0x3fff ); 563 + printk("Event Counter 1 0x%04x\n", saa7146_read(dev, EC1R) & 0x3fff ); 564 564 #endif 565 565 // Disable RPS1 566 - saa7146_write(dev, MC1, ( MASK_29 )); 566 + saa7146_write(dev, MC1, ( MASK_29 )); 567 567 568 568 if(detected == 0) 569 - printk("budget-patch not detected or saa7146 in non-default state.\n" 570 - "try enabling ressetting of 7146 with MASK_31 in MC1 register\n"); 569 + printk("budget-patch not detected or saa7146 in non-default state.\n" 570 + "try enabling ressetting of 7146 with MASK_31 in MC1 register\n"); 571 571 572 572 else 573 - printk("BUDGET-PATCH DETECTED.\n"); 573 + printk("BUDGET-PATCH DETECTED.\n"); 574 574 575 575 576 576 /* OLD (Original design by Roberto Deza): ··· 641 641 */ 642 642 643 643 // Setup RPS1 "program" (p35) 644 - count = 0; 644 + count = 0; 645 645 646 646 647 - // Wait Source Line Counter Threshold (p36) 648 - WRITE_RPS1(cpu_to_le32(CMD_PAUSE | EVT_HS)); 649 - // Set GPIO3=1 (p42) 650 - WRITE_RPS1(cpu_to_le32(CMD_WR_REG_MASK | (GPIO_CTRL>>2))); 651 - WRITE_RPS1(cpu_to_le32(GPIO3_MSK)); 652 - WRITE_RPS1(cpu_to_le32(SAA7146_GPIO_OUTHI<<24)); 647 + // Wait Source Line Counter Threshold (p36) 648 + WRITE_RPS1(cpu_to_le32(CMD_PAUSE | EVT_HS)); 649 + // Set GPIO3=1 (p42) 650 + WRITE_RPS1(cpu_to_le32(CMD_WR_REG_MASK | (GPIO_CTRL>>2))); 651 + WRITE_RPS1(cpu_to_le32(GPIO3_MSK)); 652 + WRITE_RPS1(cpu_to_le32(SAA7146_GPIO_OUTHI<<24)); 653 653 #if RPS_IRQ 654 - // issue RPS1 interrupt 655 - WRITE_RPS1(cpu_to_le32(CMD_INTERRUPT)); 654 + // issue RPS1 interrupt 655 + WRITE_RPS1(cpu_to_le32(CMD_INTERRUPT)); 656 656 #endif 657 - // Wait reset Source Line Counter Threshold (p36) 658 - WRITE_RPS1(cpu_to_le32(CMD_PAUSE | RPS_INV | EVT_HS)); 659 - // Set GPIO3=0 (p42) 660 - WRITE_RPS1(cpu_to_le32(CMD_WR_REG_MASK | (GPIO_CTRL>>2))); 661 - WRITE_RPS1(cpu_to_le32(GPIO3_MSK)); 662 - WRITE_RPS1(cpu_to_le32(SAA7146_GPIO_OUTLO<<24)); 657 + // Wait reset Source Line Counter Threshold (p36) 658 + WRITE_RPS1(cpu_to_le32(CMD_PAUSE | RPS_INV | EVT_HS)); 659 + // Set GPIO3=0 (p42) 660 + WRITE_RPS1(cpu_to_le32(CMD_WR_REG_MASK | (GPIO_CTRL>>2))); 661 + WRITE_RPS1(cpu_to_le32(GPIO3_MSK)); 662 + WRITE_RPS1(cpu_to_le32(SAA7146_GPIO_OUTLO<<24)); 663 663 #if RPS_IRQ 664 - // issue RPS1 interrupt 665 - WRITE_RPS1(cpu_to_le32(CMD_INTERRUPT)); 664 + // issue RPS1 interrupt 665 + WRITE_RPS1(cpu_to_le32(CMD_INTERRUPT)); 666 666 #endif 667 - // Jump to begin of RPS program (p37) 668 - WRITE_RPS1(cpu_to_le32(CMD_JUMP)); 669 - WRITE_RPS1(cpu_to_le32(dev->d_rps1.dma_handle)); 667 + // Jump to begin of RPS program (p37) 668 + WRITE_RPS1(cpu_to_le32(CMD_JUMP)); 669 + WRITE_RPS1(cpu_to_le32(dev->d_rps1.dma_handle)); 670 670 671 - // Fix VSYNC level 672 - saa7146_setgpio(dev, 3, SAA7146_GPIO_OUTLO); 673 - // Set RPS1 Address register to point to RPS code (r108 p42) 674 - saa7146_write(dev, RPS_ADDR1, dev->d_rps1.dma_handle); 675 - // Set Source Line Counter Threshold, using BRS (rCC p43) 676 - // It generates HS event every TS_HEIGHT lines 677 - // this is related to TS_WIDTH set in register 678 - // NUM_LINE_BYTE3 in budget-core.c. If NUM_LINE_BYTE 679 - // low 16 bits are set to TS_WIDTH bytes (TS_WIDTH=2*188 680 - //,then RPS_THRESH1 681 - // should be set to trigger every TS_HEIGHT (512) lines. 682 - // 683 - saa7146_write(dev, RPS_THRESH1, (TS_HEIGHT*1) | MASK_12 ); 671 + // Fix VSYNC level 672 + saa7146_setgpio(dev, 3, SAA7146_GPIO_OUTLO); 673 + // Set RPS1 Address register to point to RPS code (r108 p42) 674 + saa7146_write(dev, RPS_ADDR1, dev->d_rps1.dma_handle); 675 + // Set Source Line Counter Threshold, using BRS (rCC p43) 676 + // It generates HS event every TS_HEIGHT lines 677 + // this is related to TS_WIDTH set in register 678 + // NUM_LINE_BYTE3 in budget-core.c. If NUM_LINE_BYTE 679 + // low 16 bits are set to TS_WIDTH bytes (TS_WIDTH=2*188 680 + //,then RPS_THRESH1 681 + // should be set to trigger every TS_HEIGHT (512) lines. 682 + // 683 + saa7146_write(dev, RPS_THRESH1, (TS_HEIGHT*1) | MASK_12 ); 684 684 685 - // saa7146_write(dev, RPS_THRESH0, ((TS_HEIGHT/2)<<16) |MASK_28| (TS_HEIGHT/2) |MASK_12 ); 686 - // Enable RPS1 (rFC p33) 687 - saa7146_write(dev, MC1, (MASK_13 | MASK_29)); 688 - 689 - 690 - if (!(budget = kmalloc (sizeof(struct budget_patch), GFP_KERNEL))) 691 - return -ENOMEM; 692 - 693 - dprintk(2, "budget: %p\n", budget); 694 - 695 - if ((err = ttpci_budget_init (budget, dev, info, THIS_MODULE))) { 696 - kfree (budget); 697 - return err; 698 - } 685 + // saa7146_write(dev, RPS_THRESH0, ((TS_HEIGHT/2)<<16) |MASK_28| (TS_HEIGHT/2) |MASK_12 ); 686 + // Enable RPS1 (rFC p33) 687 + saa7146_write(dev, MC1, (MASK_13 | MASK_29)); 699 688 700 689 701 - dev->ext_priv = budget; 690 + if (!(budget = kmalloc (sizeof(struct budget_patch), GFP_KERNEL))) 691 + return -ENOMEM; 692 + 693 + dprintk(2, "budget: %p\n", budget); 694 + 695 + if ((err = ttpci_budget_init (budget, dev, info, THIS_MODULE))) { 696 + kfree (budget); 697 + return err; 698 + } 699 + 700 + 701 + dev->ext_priv = budget; 702 702 703 703 budget->dvb_adapter.priv = budget; 704 704 frontend_init(budget); 705 705 706 - return 0; 706 + return 0; 707 707 } 708 708 709 709 static int budget_patch_detach (struct saa7146_dev* dev) 710 710 { 711 - struct budget_patch *budget = (struct budget_patch*) dev->ext_priv; 712 - int err; 711 + struct budget_patch *budget = (struct budget_patch*) dev->ext_priv; 712 + int err; 713 713 714 714 if (budget->dvb_frontend) dvb_unregister_frontend(budget->dvb_frontend); 715 715 716 - err = ttpci_budget_deinit (budget); 716 + err = ttpci_budget_deinit (budget); 717 717 718 - kfree (budget); 718 + kfree (budget); 719 719 720 - return err; 720 + return err; 721 721 } 722 722 723 723 static int __init budget_patch_init(void) ··· 727 727 728 728 static void __exit budget_patch_exit(void) 729 729 { 730 - saa7146_unregister_extension(&budget_extension); 730 + saa7146_unregister_extension(&budget_extension); 731 731 } 732 732 733 733 static struct saa7146_extension budget_extension = { 734 - .name = "budget_patch dvb\0", 735 - .flags = 0, 734 + .name = "budget_patch dvb\0", 735 + .flags = 0, 736 736 737 - .module = THIS_MODULE, 738 - .pci_tbl = pci_tbl, 739 - .attach = budget_patch_attach, 740 - .detach = budget_patch_detach, 737 + .module = THIS_MODULE, 738 + .pci_tbl = pci_tbl, 739 + .attach = budget_patch_attach, 740 + .detach = budget_patch_detach, 741 741 742 - .irq_mask = MASK_10, 743 - .irq_func = ttpci_budget_irq10_handler, 742 + .irq_mask = MASK_10, 743 + .irq_func = ttpci_budget_irq10_handler, 744 744 }; 745 745 746 746 module_init(budget_patch_init); ··· 749 749 MODULE_LICENSE("GPL"); 750 750 MODULE_AUTHOR("Emard, Roberto Deza, Holger Waechtler, Michael Hunold, others"); 751 751 MODULE_DESCRIPTION("Driver for full TS modified DVB-S SAA7146+AV7110 " 752 - "based so-called Budget Patch cards"); 752 + "based so-called Budget Patch cards");
+3 -3
drivers/media/dvb/ttpci/budget.c
··· 256 256 buf[2] = ((div & 0x18000) >> 10) | 0x95; 257 257 buf[3] = (pwr << 6) | 0x30; 258 258 259 - // NOTE: since we're using a prescaler of 2, we set the 259 + // NOTE: since we're using a prescaler of 2, we set the 260 260 // divisor frequency to 62.5kHz and divide by 125 above 261 261 262 262 if (i2c_transfer (&budget->i2c_adap, &msg, 1) != 1) return -EIO; ··· 565 565 struct i2c_msg msg[] = { { .addr = 0x50,.flags = 0,.buf = &b,.len = 1 }, 566 566 { .addr = 0x50,.flags = I2C_M_RD,.buf = &pwm,.len = 1} }; 567 567 568 - if ((i2c_transfer(&budget->i2c_adap, msg, 2) != 2) || (pwm == 0xff)) 568 + if ((i2c_transfer(&budget->i2c_adap, msg, 2) != 2) || (pwm == 0xff)) 569 569 pwm = 0x48; 570 570 571 571 return pwm; ··· 593 593 budget->dvb_frontend = ves1x93_attach(&alps_bsrv2_config, &budget->i2c_adap); 594 594 if (budget->dvb_frontend) { 595 595 budget->dvb_frontend->ops->diseqc_send_master_cmd = budget_diseqc_send_master_cmd; 596 - budget->dvb_frontend->ops->diseqc_send_burst = budget_diseqc_send_burst; 596 + budget->dvb_frontend->ops->diseqc_send_burst = budget_diseqc_send_burst; 597 597 budget->dvb_frontend->ops->set_tone = budget_set_tone; 598 598 break; 599 599 }
+1 -1
drivers/media/dvb/ttpci/budget.h
··· 19 19 #endif 20 20 21 21 #define dprintk(level,args...) \ 22 - do { if ((budget_debug & level)) { printk("%s: %s(): ",__stringify(KBUILD_MODNAME), __FUNCTION__); printk(args); } } while (0) 22 + do { if ((budget_debug & level)) { printk("%s: %s(): ",__stringify(KBUILD_MODNAME), __FUNCTION__); printk(args); } } while (0) 23 23 24 24 struct budget_info { 25 25 char *name;
+1 -1
drivers/media/dvb/ttpci/fdump.c
··· 36 36 } 37 37 38 38 fprintf(fd_out, "\n};\n\n"); 39 - 39 + 40 40 fclose(fd_in); 41 41 fclose(fd_out); 42 42
+19 -19
drivers/media/dvb/ttpci/ttpci-eeprom.c
··· 13 13 Holger Waechtler Convergence 14 14 15 15 Copyright (C) 2002-2003 Ralph Metzler <rjkm@metzlerbros.de> 16 - Metzler Brothers Systementwicklung GbR 16 + Metzler Brothers Systementwicklung GbR 17 17 18 18 This program is free software; you can redistribute it and/or modify 19 19 it under the terms of the GNU General Public License as published by ··· 48 48 49 49 static int check_mac_tt(u8 *buf) 50 50 { 51 - int i; 52 - u16 tmp = 0xffff; 51 + int i; 52 + u16 tmp = 0xffff; 53 53 54 - for (i = 0; i < 8; i++) { 55 - tmp = (tmp << 8) | ((tmp >> 8) ^ buf[i]); 56 - tmp ^= (tmp >> 4) & 0x0f; 57 - tmp ^= (tmp << 12) ^ ((tmp & 0xff) << 5); 58 - } 59 - tmp ^= 0xffff; 60 - return (((tmp >> 8) ^ buf[8]) | ((tmp & 0xff) ^ buf[9])); 54 + for (i = 0; i < 8; i++) { 55 + tmp = (tmp << 8) | ((tmp >> 8) ^ buf[i]); 56 + tmp ^= (tmp >> 4) & 0x0f; 57 + tmp ^= (tmp << 12) ^ ((tmp & 0xff) << 5); 58 + } 59 + tmp ^= 0xffff; 60 + return (((tmp >> 8) ^ buf[8]) | ((tmp & 0xff) ^ buf[9])); 61 61 } 62 62 63 63 static int getmac_tt(u8 * decodedMAC, u8 * encodedMAC) 64 64 { 65 - u8 xor[20] = { 0x72, 0x23, 0x68, 0x19, 0x5c, 0xa8, 0x71, 0x2c, 65 + u8 xor[20] = { 0x72, 0x23, 0x68, 0x19, 0x5c, 0xa8, 0x71, 0x2c, 66 66 0x54, 0xd3, 0x7b, 0xf1, 0x9E, 0x23, 0x16, 0xf6, 67 67 0x1d, 0x36, 0x64, 0x78}; 68 - u8 data[20]; 69 - int i; 68 + u8 data[20]; 69 + int i; 70 70 71 71 /* In case there is a sig check failure have the orig contents available */ 72 72 memcpy(data, encodedMAC, 20); 73 73 74 74 for (i = 0; i < 20; i++) 75 - data[i] ^= xor[i]; 76 - for (i = 0; i < 10; i++) 77 - data[i] = ((data[2 * i + 1] << 8) | data[2 * i]) 75 + data[i] ^= xor[i]; 76 + for (i = 0; i < 10; i++) 77 + data[i] = ((data[2 * i + 1] << 8) | data[2 * i]) 78 78 >> ((data[2 * i + 1] >> 6) & 3); 79 79 80 - if (check_mac_tt(data)) 81 - return -ENODEV; 80 + if (check_mac_tt(data)) 81 + return -ENODEV; 82 82 83 83 decodedMAC[0] = data[2]; decodedMAC[1] = data[1]; decodedMAC[2] = data[0]; 84 84 decodedMAC[3] = data[6]; decodedMAC[4] = data[5]; decodedMAC[5] = data[4]; 85 - return 0; 85 + return 0; 86 86 } 87 87 88 88 static int ttpci_eeprom_read_encodedMAC(struct i2c_adapter *adapter, u8 * encodedMAC)
+62 -62
drivers/media/dvb/ttusb-budget/dvb-ttusb-budget.c
··· 225 225 226 226 err = ttusb_result(ttusb, b, 0x20); 227 227 228 - /* check if the i2c transaction was successful */ 229 - if ((snd_len != b[5]) || (rcv_len != b[6])) return -EREMOTEIO; 228 + /* check if the i2c transaction was successful */ 229 + if ((snd_len != b[5]) || (rcv_len != b[6])) return -EREMOTEIO; 230 230 231 231 if (rcv_len > 0) { 232 232 ··· 489 489 490 490 static int lnbp21_set_voltage(struct dvb_frontend* fe, fe_sec_voltage_t voltage) 491 491 { 492 - struct ttusb* ttusb = (struct ttusb*) fe->dvb->priv; 493 - int ret; 494 - u8 data[1]; 495 - struct i2c_msg msg = { .addr = 0x08, .flags = 0, .buf = data, .len = sizeof(data) }; 492 + struct ttusb* ttusb = (struct ttusb*) fe->dvb->priv; 493 + int ret; 494 + u8 data[1]; 495 + struct i2c_msg msg = { .addr = 0x08, .flags = 0, .buf = data, .len = sizeof(data) }; 496 496 497 - switch(voltage) { 498 - case SEC_VOLTAGE_OFF: 499 - data[0] = 0x00; 500 - break; 501 - case SEC_VOLTAGE_13: 502 - data[0] = 0x44; 503 - break; 504 - case SEC_VOLTAGE_18: 505 - data[0] = 0x4c; 506 - break; 507 - default: 508 - return -EINVAL; 509 - }; 497 + switch(voltage) { 498 + case SEC_VOLTAGE_OFF: 499 + data[0] = 0x00; 500 + break; 501 + case SEC_VOLTAGE_13: 502 + data[0] = 0x44; 503 + break; 504 + case SEC_VOLTAGE_18: 505 + data[0] = 0x4c; 506 + break; 507 + default: 508 + return -EINVAL; 509 + }; 510 510 511 - ret = i2c_transfer(&ttusb->i2c_adap, &msg, 1); 512 - return (ret != 1) ? -EIO : 0; 511 + ret = i2c_transfer(&ttusb->i2c_adap, &msg, 1); 512 + return (ret != 1) ? -EIO : 0; 513 513 } 514 514 515 515 static int ttusb_update_lnb(struct ttusb *ttusb) ··· 1184 1184 }; 1185 1185 1186 1186 static u8 alps_bsbe1_inittab[] = { 1187 - 0x01, 0x15, 1188 - 0x02, 0x30, 1189 - 0x03, 0x00, 1190 - 0x04, 0x7d, /* F22FR = 0x7d, F22 = f_VCO / 128 / 0x7d = 22 kHz */ 1191 - 0x05, 0x35, /* I2CT = 0, SCLT = 1, SDAT = 1 */ 1192 - 0x06, 0x40, /* DAC not used, set to high impendance mode */ 1193 - 0x07, 0x00, /* DAC LSB */ 1194 - 0x08, 0x40, /* DiSEqC off, LNB power on OP2/LOCK pin on */ 1195 - 0x09, 0x00, /* FIFO */ 1196 - 0x0c, 0x51, /* OP1 ctl = Normal, OP1 val = 1 (LNB Power ON) */ 1197 - 0x0d, 0x82, /* DC offset compensation = ON, beta_agc1 = 2 */ 1198 - 0x0e, 0x23, /* alpha_tmg = 2, beta_tmg = 3 */ 1199 - 0x10, 0x3f, // AGC2 0x3d 1200 - 0x11, 0x84, 1201 - 0x12, 0xb9, 1202 - 0x15, 0xc9, // lock detector threshold 1203 - 0x16, 0x00, 1204 - 0x17, 0x00, 1205 - 0x18, 0x00, 1206 - 0x19, 0x00, 1207 - 0x1a, 0x00, 1208 - 0x1f, 0x50, 1209 - 0x20, 0x00, 1210 - 0x21, 0x00, 1211 - 0x22, 0x00, 1212 - 0x23, 0x00, 1213 - 0x28, 0x00, // out imp: normal out type: parallel FEC mode:0 1214 - 0x29, 0x1e, // 1/2 threshold 1215 - 0x2a, 0x14, // 2/3 threshold 1216 - 0x2b, 0x0f, // 3/4 threshold 1217 - 0x2c, 0x09, // 5/6 threshold 1218 - 0x2d, 0x05, // 7/8 threshold 1219 - 0x2e, 0x01, 1220 - 0x31, 0x1f, // test all FECs 1221 - 0x32, 0x19, // viterbi and synchro search 1222 - 0x33, 0xfc, // rs control 1223 - 0x34, 0x93, // error control 1224 - 0x0f, 0x92, 1225 - 0xff, 0xff 1187 + 0x01, 0x15, 1188 + 0x02, 0x30, 1189 + 0x03, 0x00, 1190 + 0x04, 0x7d, /* F22FR = 0x7d, F22 = f_VCO / 128 / 0x7d = 22 kHz */ 1191 + 0x05, 0x35, /* I2CT = 0, SCLT = 1, SDAT = 1 */ 1192 + 0x06, 0x40, /* DAC not used, set to high impendance mode */ 1193 + 0x07, 0x00, /* DAC LSB */ 1194 + 0x08, 0x40, /* DiSEqC off, LNB power on OP2/LOCK pin on */ 1195 + 0x09, 0x00, /* FIFO */ 1196 + 0x0c, 0x51, /* OP1 ctl = Normal, OP1 val = 1 (LNB Power ON) */ 1197 + 0x0d, 0x82, /* DC offset compensation = ON, beta_agc1 = 2 */ 1198 + 0x0e, 0x23, /* alpha_tmg = 2, beta_tmg = 3 */ 1199 + 0x10, 0x3f, // AGC2 0x3d 1200 + 0x11, 0x84, 1201 + 0x12, 0xb9, 1202 + 0x15, 0xc9, // lock detector threshold 1203 + 0x16, 0x00, 1204 + 0x17, 0x00, 1205 + 0x18, 0x00, 1206 + 0x19, 0x00, 1207 + 0x1a, 0x00, 1208 + 0x1f, 0x50, 1209 + 0x20, 0x00, 1210 + 0x21, 0x00, 1211 + 0x22, 0x00, 1212 + 0x23, 0x00, 1213 + 0x28, 0x00, // out imp: normal out type: parallel FEC mode:0 1214 + 0x29, 0x1e, // 1/2 threshold 1215 + 0x2a, 0x14, // 2/3 threshold 1216 + 0x2b, 0x0f, // 3/4 threshold 1217 + 0x2c, 0x09, // 5/6 threshold 1218 + 0x2d, 0x05, // 7/8 threshold 1219 + 0x2e, 0x01, 1220 + 0x31, 0x1f, // test all FECs 1221 + 0x32, 0x19, // viterbi and synchro search 1222 + 0x33, 0xfc, // rs control 1223 + 0x34, 0x93, // error control 1224 + 0x0f, 0x92, 1225 + 0xff, 0xff 1226 1226 }; 1227 1227 1228 1228 static u8 alps_bsru6_inittab[] = { ··· 1350 1350 u32 div; 1351 1351 struct i2c_msg msg = {.addr = 0x61,.flags = 0,.buf = buf,.len = sizeof(buf) }; 1352 1352 1353 - div = params->frequency / 125; 1353 + div = params->frequency / 125; 1354 1354 1355 1355 buf[0] = (div >> 8) & 0x7f; 1356 1356 buf[1] = div & 0xff; ··· 1487 1487 1488 1488 udev = interface_to_usbdev(intf); 1489 1489 1490 - if (intf->altsetting->desc.bInterfaceNumber != 1) return -ENODEV; 1490 + if (intf->altsetting->desc.bInterfaceNumber != 1) return -ENODEV; 1491 1491 1492 1492 if (!(ttusb = kmalloc(sizeof(struct ttusb), GFP_KERNEL))) 1493 1493 return -ENOMEM;
+1638 -1638
drivers/media/dvb/ttusb-budget/dvb-ttusb-dspbootcode.h
··· 2 2 #include <asm/types.h> 3 3 4 4 static u8 dsp_bootcode [] = { 5 - 0x08, 0xaa, 0x00, 0x18, 0x00, 0x03, 0x08, 0x00, 6 - 0x00, 0x10, 0x00, 0x00, 0x01, 0x80, 0x18, 0x5f, 7 - 0x00, 0x00, 0x01, 0x80, 0x77, 0x18, 0x2a, 0xeb, 8 - 0x6b, 0xf8, 0x00, 0x18, 0x03, 0xff, 0x68, 0xf8, 9 - 0x00, 0x18, 0xff, 0xfe, 0xf7, 0xb8, 0xf7, 0xbe, 10 - 0xf6, 0xb9, 0xf4, 0xa0, 0xf6, 0xb7, 0xf6, 0xb5, 11 - 0xf6, 0xb6, 0xf0, 0x20, 0x19, 0xdf, 0xf1, 0x00, 12 - 0x00, 0x01, 0xf8, 0x4d, 0x01, 0xab, 0xf6, 0xb8, 13 - 0xf0, 0x20, 0x19, 0xdf, 0xf0, 0x73, 0x01, 0xa5, 14 - 0x7e, 0xf8, 0x00, 0x12, 0xf0, 0x00, 0x00, 0x01, 15 - 0x47, 0xf8, 0x00, 0x11, 0x7e, 0x92, 0x00, 0xf8, 16 - 0x00, 0x11, 0xf0, 0x00, 0x00, 0x01, 0x7e, 0xf8, 17 - 0x00, 0x11, 0xf0, 0x00, 0x00, 0x01, 0x6c, 0x89, 18 - 0x01, 0x9a, 0xf7, 0xb8, 0xee, 0xfc, 0xf0, 0x20, 19 - 0xff, 0xff, 0xf1, 0x00, 0x00, 0x01, 0xf8, 0x4d, 20 - 0x01, 0xbf, 0xf2, 0x73, 0x01, 0xb9, 0x4e, 0x02, 21 - 0xf4, 0x95, 0xf5, 0xe3, 0x56, 0x02, 0x7e, 0x00, 22 - 0x11, 0x00, 0xfa, 0x4c, 0x01, 0xb7, 0x6b, 0x03, 23 - 0x00, 0x01, 0xf6, 0xb8, 0xee, 0x04, 0xf0, 0x74, 24 - 0x0d, 0xa7, 0xf0, 0x74, 0x01, 0xc5, 0x4a, 0x11, 25 - 0x4a, 0x16, 0x72, 0x11, 0x2a, 0xe6, 0x10, 0xf8, 26 - 0x00, 0x11, 0xfa, 0x45, 0x01, 0xdb, 0xf4, 0x95, 27 - 0xee, 0xff, 0x48, 0x11, 0xf0, 0x00, 0x2a, 0xc6, 28 - 0x88, 0x16, 0xf4, 0x95, 0xf4, 0x95, 0x10, 0xee, 29 - 0xff, 0xff, 0xf4, 0xe3, 0x6c, 0xe9, 0xff, 0xff, 30 - 0x01, 0xd5, 0x10, 0xf8, 0x2a, 0xe7, 0xf8, 0x45, 31 - 0x01, 0xe2, 0x10, 0xf8, 0x2a, 0xe7, 0xf4, 0xe3, 32 - 0xf0, 0x74, 0x01, 0xff, 0xee, 0x01, 0x8a, 0x16, 33 - 0x8a, 0x11, 0xfc, 0x00, 0xf7, 0xb8, 0xe9, 0x20, 34 - 0x4a, 0x11, 0x09, 0xf8, 0x2a, 0xe6, 0xf8, 0x4e, 35 - 0x01, 0xf3, 0xf2, 0x73, 0x01, 0xfd, 0xf4, 0x95, 36 - 0xe8, 0x01, 0x72, 0x11, 0x2a, 0xe6, 0x49, 0x11, 37 - 0x80, 0xe1, 0x2a, 0xc6, 0xf3, 0x00, 0x00, 0x01, 38 - 0xe8, 0x00, 0x81, 0xf8, 0x2a, 0xe6, 0x8a, 0x11, 39 - 0xfc, 0x00, 0xf4, 0x95, 0xf0, 0x73, 0x02, 0x00, 40 - 0x10, 0xf8, 0x2a, 0x0f, 0xfc, 0x00, 0x4a, 0x11, 41 - 0xf0, 0x74, 0x02, 0x02, 0x80, 0xf8, 0x2a, 0x10, 42 - 0x73, 0x08, 0x00, 0x09, 0x40, 0xf8, 0x2a, 0x15, 43 - 0x82, 0xf8, 0x00, 0x11, 0xf4, 0x95, 0x77, 0x10, 44 - 0x03, 0xe8, 0xf5, 0xa9, 0xf8, 0x30, 0x02, 0x21, 45 - 0x71, 0xf8, 0x2a, 0x10, 0x2a, 0x15, 0x56, 0xf8, 46 - 0x2a, 0x0c, 0xf0, 0xe3, 0x4e, 0xf8, 0x2a, 0x16, 47 - 0xe8, 0x00, 0x4e, 0xf8, 0x2a, 0x0c, 0x8a, 0x11, 48 - 0xfc, 0x00, 0x4a, 0x06, 0x4a, 0x07, 0x4a, 0x1d, 49 - 0x68, 0xf8, 0x00, 0x07, 0x7d, 0x3f, 0x69, 0xf8, 50 - 0x00, 0x07, 0x40, 0x00, 0x68, 0xf8, 0x00, 0x1d, 51 - 0xff, 0xfc, 0x6b, 0xf8, 0x2a, 0x0f, 0x00, 0x01, 52 - 0x8a, 0x1d, 0x8a, 0x07, 0x8a, 0x06, 0xf4, 0xeb, 53 - 0xee, 0xfd, 0x76, 0xf8, 0x2a, 0x0f, 0x00, 0x00, 54 - 0x76, 0x00, 0x00, 0x00, 0xfb, 0x80, 0x19, 0x4c, 55 - 0xf4, 0x95, 0xe8, 0x00, 0x80, 0xf8, 0x2a, 0x11, 56 - 0xf9, 0x80, 0x19, 0x07, 0x80, 0xf8, 0x2a, 0x0e, 57 - 0xf9, 0x80, 0x16, 0x66, 0x76, 0x00, 0x2a, 0x12, 58 - 0x10, 0xf8, 0x2a, 0x11, 0xf9, 0x80, 0x18, 0xe3, 59 - 0x10, 0xf8, 0x2a, 0x0e, 0xf9, 0x80, 0x16, 0x66, 60 - 0x10, 0xf8, 0x2a, 0x0e, 0xf9, 0x80, 0x16, 0x87, 61 - 0xee, 0x03, 0xfc, 0x00, 0x4a, 0x11, 0xf6, 0xb8, 62 - 0xf4, 0x95, 0xf0, 0x20, 0x80, 0x00, 0x11, 0xf8, 63 - 0x2a, 0x5a, 0xf8, 0x4d, 0x02, 0x93, 0x11, 0xf8, 64 - 0x2a, 0x9f, 0xf8, 0x4c, 0x02, 0x7c, 0x77, 0x12, 65 - 0x2a, 0x39, 0x49, 0x12, 0x01, 0xf8, 0x2a, 0x9f, 66 - 0x89, 0x11, 0xf4, 0x95, 0xf4, 0x95, 0x71, 0x81, 67 - 0x00, 0x11, 0x6c, 0xe1, 0xff, 0xab, 0x02, 0x93, 68 - 0x6b, 0xf8, 0x2a, 0x9f, 0x00, 0x01, 0xe9, 0x05, 69 - 0x01, 0xe2, 0x00, 0x03, 0x81, 0xf8, 0x2a, 0xa0, 70 - 0xf0, 0x73, 0x02, 0x95, 0x72, 0x11, 0x2a, 0x9f, 71 - 0xf4, 0x95, 0x10, 0xe1, 0x2a, 0x39, 0x6b, 0xf8, 72 - 0x2a, 0x9f, 0x00, 0x01, 0x11, 0xf8, 0x2a, 0x9f, 73 - 0x09, 0xf8, 0x2a, 0xa0, 0xf8, 0x4c, 0x02, 0x93, 74 - 0x76, 0xf8, 0x2a, 0x5a, 0x00, 0x00, 0x76, 0xf8, 75 - 0x2a, 0x9f, 0x00, 0x00, 0x76, 0xf8, 0x2a, 0xa0, 76 - 0x00, 0x00, 0x88, 0x11, 0xf4, 0x95, 0x48, 0x11, 77 - 0x8a, 0x11, 0xfc, 0x00, 0x4a, 0x11, 0xee, 0xfe, 78 - 0x10, 0xf8, 0x2a, 0x5a, 0xf8, 0x44, 0x02, 0xb2, 79 - 0x76, 0xf8, 0x2a, 0x5a, 0x00, 0x01, 0xf0, 0x74, 80 - 0x02, 0x58, 0x88, 0x11, 0xf4, 0x95, 0x77, 0x10, 81 - 0x80, 0x00, 0xf4, 0xa9, 0xf8, 0x30, 0x02, 0xb2, 82 - 0x48, 0x11, 0xf0, 0x30, 0x00, 0xff, 0x80, 0x00, 83 - 0x10, 0xf8, 0x2a, 0x5b, 0xf9, 0x80, 0x18, 0xd6, 84 - 0xee, 0x02, 0x8a, 0x11, 0xfc, 0x00, 0xf4, 0x95, 85 - 0x4a, 0x08, 0x4a, 0x09, 0x4a, 0x0a, 0x4a, 0x0b, 86 - 0x4a, 0x0c, 0x4a, 0x0d, 0x4a, 0x10, 0x4a, 0x11, 87 - 0x4a, 0x12, 0x4a, 0x13, 0x4a, 0x14, 0x4a, 0x15, 88 - 0x4a, 0x16, 0x4a, 0x17, 0x4a, 0x17, 0x4a, 0x19, 89 - 0x4a, 0x0e, 0x4a, 0x06, 0x4a, 0x07, 0x4a, 0x1a, 90 - 0x4a, 0x1d, 0x4a, 0x1b, 0x4a, 0x1c, 0x68, 0xf8, 91 - 0x00, 0x07, 0x7d, 0x3f, 0x69, 0xf8, 0x00, 0x07, 92 - 0x40, 0x00, 0x68, 0xf8, 0x00, 0x1d, 0xff, 0xfc, 93 - 0x48, 0x18, 0x68, 0xf8, 0x00, 0x18, 0xff, 0xfe, 94 - 0xf4, 0x95, 0xf4, 0x95, 0x4a, 0x08, 0xee, 0xfd, 95 - 0xf0, 0x74, 0x02, 0x58, 0x88, 0x11, 0xf4, 0x95, 96 - 0x77, 0x10, 0x80, 0x00, 0xf4, 0xa9, 0xf8, 0x30, 97 - 0x02, 0xef, 0x48, 0x11, 0xf0, 0x30, 0x00, 0xff, 98 - 0x80, 0x00, 0x10, 0xf8, 0x2a, 0x5b, 0xf9, 0x80, 99 - 0x18, 0xd6, 0xee, 0x03, 0x8a, 0x18, 0xf4, 0x95, 100 - 0x8a, 0x1c, 0x8a, 0x1b, 0x8a, 0x1d, 0x8a, 0x1a, 101 - 0x8a, 0x07, 0x8a, 0x06, 0x8a, 0x0e, 0x8a, 0x19, 102 - 0x8a, 0x17, 0x8a, 0x17, 0x8a, 0x16, 0x8a, 0x15, 103 - 0x8a, 0x14, 0x8a, 0x13, 0x8a, 0x12, 0x8a, 0x11, 104 - 0x8a, 0x10, 0x8a, 0x0d, 0x8a, 0x0c, 0x8a, 0x0b, 105 - 0x8a, 0x0a, 0x8a, 0x09, 0x8a, 0x08, 0xf4, 0xeb, 106 - 0x4a, 0x11, 0x77, 0x11, 0x2a, 0x39, 0x76, 0x81, 107 - 0x00, 0x55, 0x77, 0x12, 0x2a, 0x18, 0x10, 0xe2, 108 - 0x00, 0x01, 0x80, 0xe1, 0x00, 0x01, 0x10, 0xe2, 109 - 0x00, 0x02, 0x80, 0xe1, 0x00, 0x02, 0x76, 0xe1, 110 - 0x00, 0x03, 0x00, 0x00, 0x76, 0xe1, 0x00, 0x04, 111 - 0x00, 0xaa, 0xf0, 0x74, 0x02, 0x98, 0x8a, 0x11, 112 - 0xfc, 0x00, 0x4a, 0x11, 0x88, 0x11, 0xf4, 0x95, 113 - 0xf4, 0x95, 0x10, 0x81, 0x6f, 0xf8, 0x2a, 0x9e, 114 - 0x0c, 0x88, 0xe8, 0xff, 0x18, 0xe1, 0x00, 0x01, 115 - 0x1a, 0xf8, 0x2a, 0x9e, 0xf0, 0x30, 0x1f, 0xff, 116 - 0x80, 0xf8, 0x2a, 0x9e, 0x8a, 0x11, 0xfc, 0x00, 117 - 0x4a, 0x11, 0x77, 0x11, 0x2a, 0x39, 0x76, 0x81, 118 - 0x00, 0x55, 0x77, 0x12, 0x2a, 0x18, 0x11, 0xe2, 119 - 0x00, 0x01, 0x81, 0xe1, 0x00, 0x01, 0x11, 0xe2, 120 - 0x00, 0x02, 0x81, 0xe1, 0x00, 0x02, 0x76, 0xe1, 121 - 0x00, 0x03, 0x00, 0x02, 0x48, 0x08, 0x6f, 0xe1, 122 - 0x00, 0x04, 0x0c, 0x98, 0xf0, 0x30, 0x00, 0xff, 123 - 0x80, 0xe1, 0x00, 0x05, 0x76, 0xe1, 0x00, 0x06, 124 - 0x00, 0xaa, 0xf0, 0x74, 0x02, 0x98, 0x8a, 0x11, 125 - 0xfc, 0x00, 0x4a, 0x11, 0x77, 0x11, 0x2a, 0x39, 126 - 0x76, 0x81, 0x00, 0x55, 0x77, 0x12, 0x2a, 0x18, 127 - 0x10, 0xe2, 0x00, 0x01, 0x80, 0xe1, 0x00, 0x01, 128 - 0x10, 0xe2, 0x00, 0x02, 0x80, 0xe1, 0x00, 0x02, 129 - 0x76, 0xe1, 0x00, 0x03, 0x00, 0x04, 0x48, 0x11, 130 - 0xf0, 0x00, 0x00, 0x04, 0x88, 0x12, 0xf4, 0x95, 131 - 0x77, 0x13, 0x2a, 0x76, 0xe9, 0x00, 0xe5, 0x98, 132 - 0xf3, 0x00, 0x00, 0x01, 0xf6, 0xb8, 0x48, 0x0b, 133 - 0x08, 0xf8, 0x2a, 0x3c, 0xf8, 0x43, 0x03, 0x71, 134 - 0x76, 0x82, 0x00, 0xaa, 0xf0, 0x74, 0x02, 0x98, 135 - 0x8a, 0x11, 0xfc, 0x00, 0x4a, 0x11, 0xee, 0xf0, 136 - 0x88, 0x11, 0xf4, 0x95, 0xf4, 0x95, 0x71, 0x81, 137 - 0x00, 0x14, 0x71, 0xe1, 0x00, 0x01, 0x00, 0x15, 138 - 0x49, 0x11, 0xf3, 0x00, 0x00, 0x02, 0x89, 0x11, 139 - 0xe7, 0x82, 0x6d, 0xea, 0x00, 0x04, 0xe7, 0x83, 140 - 0x6d, 0xeb, 0x00, 0x0a, 0x77, 0x1a, 0x00, 0x05, 141 - 0xf0, 0x72, 0x03, 0xaa, 0x11, 0x81, 0xf2, 0xe8, 142 - 0x80, 0x82, 0xe9, 0xff, 0x19, 0xe1, 0x00, 0x01, 143 - 0xf1, 0xa0, 0x81, 0x92, 0x11, 0xe1, 0x00, 0x0c, 144 - 0xf2, 0xe8, 0x80, 0x83, 0xe9, 0xff, 0x19, 0xe1, 145 - 0x00, 0x0d, 0xf1, 0xa0, 0x81, 0x93, 0x6d, 0xe9, 146 - 0x00, 0x02, 0x48, 0x18, 0x49, 0x18, 0x70, 0x00, 147 - 0x00, 0x15, 0xf0, 0x00, 0x00, 0x04, 0xf3, 0x00, 148 - 0x00, 0x0a, 0x80, 0x01, 0x81, 0x02, 0xf2, 0x74, 149 - 0x0e, 0x54, 0xf4, 0x95, 0x48, 0x14, 0xee, 0x10, 150 - 0x8a, 0x11, 0xfc, 0x00, 0x4a, 0x11, 0xf0, 0x74, 151 - 0x0c, 0x5e, 0x80, 0xf8, 0x2a, 0x5c, 0x77, 0x12, 152 - 0x2a, 0x39, 0x76, 0x82, 0x00, 0x55, 0x77, 0x11, 153 - 0x2a, 0x18, 0x10, 0xe1, 0x00, 0x01, 0x80, 0xe2, 154 - 0x00, 0x01, 0x10, 0xe1, 0x00, 0x02, 0x80, 0xe2, 155 - 0x00, 0x02, 0x76, 0xe2, 0x00, 0x03, 0x00, 0x1c, 156 - 0xf6, 0xb8, 0x56, 0xf8, 0x2a, 0x16, 0xf0, 0xf0, 157 - 0xf0, 0xf8, 0x80, 0xe2, 0x00, 0x07, 0x56, 0xf8, 158 - 0x2a, 0x16, 0xf1, 0xf0, 0xe8, 0xff, 0xf2, 0x80, 159 - 0x80, 0xe2, 0x00, 0x06, 0x56, 0xf8, 0x2a, 0x16, 160 - 0xf1, 0xf8, 0xe8, 0xff, 0xf2, 0x80, 0x80, 0xe2, 161 - 0x00, 0x05, 0x57, 0xf8, 0x2a, 0x16, 0xe8, 0xff, 162 - 0xf2, 0x80, 0x80, 0xe2, 0x00, 0x04, 0x56, 0xf8, 163 - 0x27, 0x6c, 0xf0, 0xf0, 0xf0, 0xf8, 0x80, 0xe2, 164 - 0x00, 0x0b, 0x56, 0xf8, 0x27, 0x6c, 0xf1, 0xf0, 165 - 0xe8, 0xff, 0xf2, 0x80, 0x80, 0xe2, 0x00, 0x0a, 166 - 0x56, 0xf8, 0x27, 0x6c, 0xf1, 0xf8, 0xe8, 0xff, 167 - 0xf2, 0x80, 0x80, 0xe2, 0x00, 0x09, 0xe8, 0xff, 168 - 0x57, 0xf8, 0x27, 0x6c, 0xf2, 0x80, 0x80, 0xe2, 169 - 0x00, 0x08, 0x56, 0xf8, 0x27, 0x6a, 0xf0, 0xf0, 170 - 0xf0, 0xf8, 0x80, 0xe2, 0x00, 0x0f, 0x56, 0xf8, 171 - 0x27, 0x6a, 0xf1, 0xf0, 0xe8, 0xff, 0xf2, 0x80, 172 - 0x80, 0xe2, 0x00, 0x0e, 0x56, 0xf8, 0x27, 0x6a, 173 - 0xf1, 0xf8, 0xe8, 0xff, 0xf2, 0x80, 0x80, 0xe2, 174 - 0x00, 0x0d, 0x57, 0xf8, 0x27, 0x6a, 0xe8, 0xff, 175 - 0xf2, 0x80, 0x80, 0xe2, 0x00, 0x0c, 0x76, 0xe2, 176 - 0x00, 0x13, 0x00, 0x00, 0x76, 0xe2, 0x00, 0x12, 177 - 0x00, 0x00, 0x6f, 0xf8, 0x2a, 0x5c, 0x0c, 0x58, 178 - 0x80, 0xe2, 0x00, 0x11, 0xe8, 0xff, 0x18, 0xf8, 179 - 0x2a, 0x5c, 0x80, 0xe2, 0x00, 0x10, 0x76, 0xe2, 180 - 0x00, 0x17, 0x00, 0x00, 0x76, 0xe2, 0x00, 0x16, 181 - 0x00, 0x00, 0x6f, 0xf8, 0x2a, 0x9e, 0x0c, 0x58, 182 - 0x80, 0xe2, 0x00, 0x15, 0xe8, 0xff, 0x18, 0xf8, 183 - 0x2a, 0x9e, 0x80, 0xe2, 0x00, 0x14, 0x76, 0xe2, 184 - 0x00, 0x1b, 0x00, 0x00, 0x76, 0xe2, 0x00, 0x1a, 185 - 0x00, 0x00, 0x76, 0xe2, 0x00, 0x19, 0x00, 0x00, 186 - 0x70, 0xe2, 0x00, 0x18, 0x27, 0x6e, 0x76, 0xe2, 187 - 0x00, 0x1f, 0x00, 0x00, 0x76, 0xe2, 0x00, 0x1e, 188 - 0x00, 0x00, 0x76, 0xe2, 0x00, 0x1d, 0x00, 0x00, 189 - 0x76, 0xe2, 0x00, 0x1c, 0x00, 0x00, 0x76, 0xe2, 190 - 0x00, 0x20, 0x00, 0xaa, 0xf0, 0x74, 0x02, 0x98, 191 - 0x8a, 0x11, 0xfc, 0x00, 0x4a, 0x11, 0xee, 0xfe, 192 - 0x10, 0xf8, 0x2a, 0x38, 0xf8, 0x45, 0x04, 0xed, 193 - 0x77, 0x12, 0x2a, 0x18, 0x10, 0xe2, 0x00, 0x02, 194 - 0x88, 0x11, 0xf4, 0x95, 0x77, 0x10, 0x00, 0x08, 195 - 0x6d, 0xe9, 0xff, 0xdf, 0xf6, 0xa9, 0xf8, 0x20, 196 - 0x04, 0x75, 0xf0, 0x73, 0x04, 0x7d, 0xf0, 0x10, 197 - 0x00, 0x21, 0xf0, 0x00, 0x1a, 0x83, 0x48, 0x08, 198 - 0x7e, 0xf8, 0x00, 0x08, 0xf4, 0xe2, 0xf0, 0x74, 199 - 0x03, 0x0a, 0xf0, 0x73, 0x04, 0xea, 0x48, 0x12, 200 - 0xf2, 0x74, 0x03, 0x23, 0xf0, 0x00, 0x00, 0x04, 201 - 0xf2, 0x74, 0x03, 0x36, 0xf4, 0x95, 0xe8, 0x00, 202 - 0xf0, 0x73, 0x04, 0xea, 0x77, 0x11, 0x2a, 0x18, 203 - 0xe8, 0xff, 0x6f, 0xe1, 0x00, 0x04, 0x0d, 0x48, 204 - 0x18, 0xe1, 0x00, 0x05, 0xf2, 0x74, 0x09, 0x69, 205 - 0xf4, 0x95, 0xf2, 0xa0, 0xf0, 0x74, 0x03, 0x36, 206 - 0xf0, 0x73, 0x04, 0xea, 0x77, 0x11, 0x2a, 0x18, 207 - 0xe8, 0xff, 0x6f, 0xe1, 0x00, 0x04, 0x0d, 0x48, 208 - 0x18, 0xe1, 0x00, 0x05, 0xf2, 0x74, 0x09, 0x41, 209 - 0xf4, 0x95, 0xf2, 0xa0, 0xf0, 0x74, 0x03, 0x36, 210 - 0xf0, 0x73, 0x04, 0xea, 0xf0, 0x74, 0x03, 0x57, 211 - 0xf0, 0x73, 0x04, 0xea, 0x10, 0xf8, 0x2a, 0x1c, 212 - 0xf0, 0x74, 0x12, 0xa4, 0xf2, 0x74, 0x03, 0x36, 213 - 0xf4, 0x95, 0xe8, 0x00, 0xf0, 0x73, 0x04, 0xea, 214 - 0x48, 0x12, 0xf2, 0x74, 0x03, 0x80, 0xf0, 0x00, 215 - 0x00, 0x04, 0xf2, 0x74, 0x03, 0x36, 0xf4, 0x95, 216 - 0xe8, 0x00, 0xf0, 0x73, 0x04, 0xea, 0x10, 0xf8, 217 - 0x2a, 0x1c, 0xf0, 0x74, 0x12, 0xc5, 0xf2, 0x74, 218 - 0x03, 0x36, 0xf4, 0x95, 0xe8, 0x00, 0xf0, 0x73, 219 - 0x04, 0xea, 0x77, 0x11, 0x2a, 0x18, 0xe8, 0xff, 220 - 0x6f, 0xe1, 0x00, 0x06, 0x0d, 0x48, 0x18, 0xe1, 221 - 0x00, 0x07, 0x71, 0xe1, 0x00, 0x05, 0x00, 0x12, 222 - 0xf2, 0xa0, 0x70, 0x00, 0x00, 0x12, 0x80, 0x01, 223 - 0x10, 0xe1, 0x00, 0x04, 0xf0, 0x74, 0x0e, 0x7a, 224 - 0xf2, 0x74, 0x03, 0x36, 0xf4, 0x95, 0xe8, 0x00, 225 - 0xf0, 0x73, 0x04, 0xea, 0xf0, 0x74, 0x03, 0xbc, 226 - 0x76, 0xf8, 0x2a, 0x38, 0x00, 0x00, 0xee, 0x02, 227 - 0x8a, 0x11, 0xfc, 0x00, 0x4a, 0x11, 0x77, 0x11, 228 - 0x2a, 0x39, 0x76, 0x81, 0x00, 0x55, 0x77, 0x12, 229 - 0x2a, 0x18, 0x10, 0xe2, 0x00, 0x01, 0x80, 0xe1, 230 - 0x00, 0x01, 0x10, 0xe2, 0x00, 0x02, 0x80, 0xe1, 231 - 0x00, 0x02, 0x76, 0xe1, 0x00, 0x03, 0x00, 0x09, 232 - 0x48, 0x11, 0xf0, 0x00, 0x00, 0x04, 0x88, 0x12, 233 - 0xf4, 0x95, 0x77, 0x13, 0x2a, 0x86, 0xe9, 0x00, 234 - 0xe5, 0x98, 0xf3, 0x00, 0x00, 0x01, 0xf6, 0xb8, 235 - 0x48, 0x0b, 0x08, 0xf8, 0x2a, 0x3c, 0xf8, 0x43, 236 - 0x05, 0x0a, 0x76, 0x82, 0x00, 0xaa, 0xf0, 0x74, 237 - 0x02, 0x98, 0x8a, 0x11, 0xfc, 0x00, 0x4a, 0x11, 238 - 0x77, 0x11, 0x2a, 0x39, 0x76, 0x81, 0x00, 0x55, 239 - 0x77, 0x13, 0x2a, 0x18, 0x10, 0xe3, 0x00, 0x01, 240 - 0x80, 0xe1, 0x00, 0x01, 0x10, 0xe3, 0x00, 0x02, 241 - 0x80, 0xe1, 0x00, 0x02, 0x13, 0xe3, 0x00, 0x03, 242 - 0x81, 0xe1, 0x00, 0x03, 0x48, 0x11, 0x77, 0x11, 243 - 0x00, 0x00, 0xf8, 0x4d, 0x05, 0x44, 0xf0, 0x00, 244 - 0x00, 0x04, 0x88, 0x12, 0x48, 0x13, 0xf0, 0x00, 245 - 0x00, 0x04, 0x88, 0x13, 0xf4, 0x95, 0xf4, 0x95, 246 - 0xe5, 0x98, 0x6d, 0x91, 0xf6, 0xb8, 0x48, 0x11, 247 - 0x08, 0xf8, 0x2a, 0x3c, 0xf8, 0x43, 0x05, 0x3a, 248 - 0xf0, 0x20, 0x2a, 0x39, 0x49, 0x11, 0xf5, 0x00, 249 - 0x89, 0x11, 0xf4, 0x95, 0xf4, 0x95, 0x76, 0xe1, 250 - 0x00, 0x04, 0x00, 0xaa, 0xf0, 0x74, 0x02, 0x98, 251 - 0x8a, 0x11, 0xfc, 0x00, 0x4a, 0x11, 0x77, 0x11, 252 - 0x2a, 0x39, 0x76, 0x81, 0x00, 0x55, 0x77, 0x12, 253 - 0x2a, 0x18, 0x10, 0xe2, 0x00, 0x01, 0x80, 0xe1, 254 - 0x00, 0x01, 0x10, 0xe2, 0x00, 0x02, 0x80, 0xe1, 255 - 0x00, 0x02, 0x76, 0xe1, 0x00, 0x03, 0x00, 0x0c, 256 - 0x48, 0x11, 0xf0, 0x00, 0x00, 0x04, 0x88, 0x12, 257 - 0xf4, 0x95, 0x77, 0x13, 0x2a, 0x7a, 0xe9, 0x00, 258 - 0xe5, 0x98, 0xf3, 0x00, 0x00, 0x01, 0xf6, 0xb8, 259 - 0x48, 0x0b, 0x08, 0xf8, 0x2a, 0x3c, 0xf8, 0x43, 260 - 0x05, 0x6a, 0x76, 0x82, 0x00, 0xaa, 0xf0, 0x74, 261 - 0x02, 0x98, 0x8a, 0x11, 0xfc, 0x00, 0x4a, 0x11, 262 - 0x77, 0x11, 0x2a, 0x39, 0x76, 0x81, 0x00, 0x55, 263 - 0x77, 0x12, 0x2a, 0x18, 0x10, 0xe2, 0x00, 0x01, 264 - 0x80, 0xe1, 0x00, 0x01, 0x10, 0xe2, 0x00, 0x02, 265 - 0x80, 0xe1, 0x00, 0x02, 0x76, 0xe1, 0x00, 0x03, 266 - 0x00, 0x19, 0x48, 0x11, 0xf0, 0x00, 0x00, 0x04, 267 - 0x88, 0x12, 0xf4, 0x95, 0x77, 0x13, 0x2a, 0x5d, 268 - 0xe9, 0x00, 0xe5, 0x98, 0xf3, 0x00, 0x00, 0x01, 269 - 0xf6, 0xb8, 0x48, 0x0b, 0x08, 0xf8, 0x2a, 0x3c, 270 - 0xf8, 0x43, 0x05, 0x93, 0x76, 0x82, 0x00, 0xaa, 271 - 0xf0, 0x74, 0x02, 0x98, 0x8a, 0x11, 0xfc, 0x00, 272 - 0x4a, 0x11, 0x88, 0x11, 0x10, 0xf8, 0x2a, 0x38, 273 - 0xf8, 0x44, 0x05, 0xe3, 0x10, 0xf8, 0x2a, 0xa1, 274 - 0xf8, 0x44, 0x05, 0xba, 0x6c, 0xe1, 0xff, 0x56, 275 - 0x05, 0xe3, 0x72, 0x12, 0x2a, 0xa1, 0xf4, 0x95, 276 - 0x70, 0xe2, 0x2a, 0x18, 0x00, 0x11, 0x6b, 0xf8, 277 - 0x2a, 0xa1, 0x00, 0x01, 0xf0, 0x73, 0x05, 0xe3, 278 - 0x72, 0x12, 0x2a, 0xa1, 0xf4, 0x95, 0x70, 0xe2, 279 - 0x2a, 0x18, 0x00, 0x11, 0x10, 0xf8, 0x2a, 0xa1, 280 - 0xf0, 0x00, 0x00, 0x01, 0x88, 0x12, 0xf4, 0x95, 281 - 0xf4, 0x95, 0x6e, 0xe2, 0xff, 0xfc, 0x05, 0xd1, 282 - 0x73, 0x12, 0x2a, 0xa1, 0x48, 0x11, 0xf0, 0x00, 283 - 0x00, 0x05, 0x80, 0xf8, 0x2a, 0xa2, 0x10, 0xf8, 284 - 0x2a, 0xa1, 0x08, 0xf8, 0x2a, 0xa2, 0xf8, 0x44, 285 - 0x05, 0xe3, 0x6c, 0xe1, 0xff, 0xab, 0x05, 0xdd, 286 - 0x76, 0xf8, 0x2a, 0x38, 0x00, 0x01, 0x76, 0xf8, 287 - 0x2a, 0xa1, 0x00, 0x00, 0x76, 0xf8, 0x2a, 0xa2, 288 - 0x00, 0x00, 0x8a, 0x11, 0xfc, 0x00, 0xf4, 0x95, 289 - 0x4a, 0x08, 0x4a, 0x09, 0x4a, 0x0a, 0x4a, 0x0b, 290 - 0x4a, 0x0c, 0x4a, 0x0d, 0x4a, 0x10, 0x4a, 0x11, 291 - 0x4a, 0x12, 0x4a, 0x13, 0x4a, 0x14, 0x4a, 0x15, 292 - 0x4a, 0x16, 0x4a, 0x17, 0x4a, 0x17, 0x4a, 0x19, 293 - 0x4a, 0x0e, 0x4a, 0x06, 0x4a, 0x07, 0x4a, 0x1a, 294 - 0x4a, 0x1d, 0x4a, 0x1b, 0x4a, 0x1c, 0x68, 0xf8, 295 - 0x00, 0x07, 0x7d, 0x3f, 0x69, 0xf8, 0x00, 0x07, 296 - 0x40, 0x00, 0x68, 0xf8, 0x00, 0x1d, 0xff, 0xfc, 297 - 0x48, 0x18, 0x68, 0xf8, 0x00, 0x18, 0xff, 0xfe, 298 - 0xf4, 0x95, 0xf4, 0x95, 0x4a, 0x08, 0xee, 0xff, 299 - 0x10, 0xf8, 0x2a, 0x5b, 0xf9, 0x80, 0x18, 0x04, 300 - 0xf0, 0x74, 0x05, 0xa2, 0xee, 0x01, 0x8a, 0x18, 301 - 0xf4, 0x95, 0x8a, 0x1c, 0x8a, 0x1b, 0x8a, 0x1d, 302 - 0x8a, 0x1a, 0x8a, 0x07, 0x8a, 0x06, 0x8a, 0x0e, 303 - 0x8a, 0x19, 0x8a, 0x17, 0x8a, 0x17, 0x8a, 0x16, 304 - 0x8a, 0x15, 0x8a, 0x14, 0x8a, 0x13, 0x8a, 0x12, 305 - 0x8a, 0x11, 0x8a, 0x10, 0x8a, 0x0d, 0x8a, 0x0c, 306 - 0x8a, 0x0b, 0x8a, 0x0a, 0x8a, 0x09, 0x8a, 0x08, 307 - 0xf4, 0xeb, 0xee, 0xfd, 0x76, 0xf8, 0x2a, 0x38, 308 - 0x00, 0x00, 0x76, 0xf8, 0x2a, 0x5a, 0x00, 0x00, 309 - 0xe8, 0x01, 0x4e, 0x00, 0xfb, 0x80, 0x17, 0xd6, 310 - 0xf4, 0x95, 0xe8, 0x01, 0x80, 0xf8, 0x2a, 0x5b, 311 - 0x76, 0x00, 0x2a, 0x8f, 0xf9, 0x80, 0x16, 0xaa, 312 - 0x10, 0xf8, 0x2a, 0x5b, 0xf9, 0x80, 0x17, 0x5c, 313 - 0x10, 0xf8, 0x2a, 0x5b, 0xf9, 0x80, 0x17, 0x6f, 314 - 0xfb, 0x80, 0x16, 0x66, 0xf4, 0x95, 0xe8, 0x1a, 315 - 0xfb, 0x80, 0x16, 0x87, 0xf4, 0x95, 0xe8, 0x1a, 316 - 0xfb, 0x80, 0x16, 0x66, 0xf4, 0x95, 0xe8, 0x1b, 317 - 0xfb, 0x80, 0x16, 0x87, 0xf4, 0x95, 0xe8, 0x1b, 318 - 0xee, 0x03, 0xfc, 0x00, 0x4a, 0x11, 0xf4, 0x95, 319 - 0x13, 0x02, 0x88, 0x11, 0xe8, 0x00, 0xf8, 0x4d, 320 - 0x06, 0x6a, 0xf3, 0x10, 0x00, 0x01, 0x89, 0x1a, 321 - 0xf4, 0x95, 0xf0, 0x72, 0x06, 0x69, 0x1c, 0x91, 322 - 0x8a, 0x11, 0xfc, 0x00, 0x4a, 0x11, 0x88, 0x11, 323 - 0x12, 0x03, 0x11, 0x02, 0xf8, 0x45, 0x06, 0x79, 324 - 0xf0, 0x10, 0x00, 0x01, 0x88, 0x1a, 0xf4, 0x95, 325 - 0xf0, 0x72, 0x06, 0x78, 0x81, 0x91, 0x8a, 0x11, 326 - 0xfc, 0x00, 0x4a, 0x11, 0xf4, 0x95, 0x71, 0x02, 327 - 0x00, 0x11, 0x11, 0x03, 0x61, 0xf8, 0x00, 0x11, 328 - 0x00, 0x01, 0xf8, 0x30, 0x06, 0x91, 0xf6, 0xb8, 329 - 0x6f, 0xf8, 0x00, 0x11, 0x0c, 0x1f, 0x88, 0x11, 330 - 0xf3, 0xe8, 0xe8, 0xff, 0x18, 0x81, 0xf1, 0xa0, 331 - 0x81, 0x81, 0xf0, 0x73, 0x06, 0x9d, 0xf6, 0xb8, 332 - 0x6f, 0xf8, 0x00, 0x11, 0x0c, 0x1f, 0x88, 0x11, 333 - 0xf3, 0x30, 0x00, 0xff, 0xf0, 0x20, 0xff, 0x00, 334 - 0x18, 0x81, 0xf1, 0xa0, 0x81, 0x81, 0x8a, 0x11, 335 - 0xfc, 0x00, 0x4a, 0x11, 0xf4, 0x95, 0x11, 0x02, 336 - 0x61, 0xf8, 0x00, 0x0b, 0x00, 0x01, 0xf8, 0x20, 337 - 0x06, 0xb1, 0x49, 0x0b, 0xf6, 0x1f, 0x88, 0x11, 338 - 0xf4, 0x95, 0xf4, 0x95, 0x10, 0x81, 0xf2, 0x73, 339 - 0x06, 0xb8, 0xf0, 0x30, 0x00, 0xff, 0x49, 0x0b, 340 - 0xf6, 0x1f, 0x88, 0x11, 0xf4, 0x95, 0xf4, 0x95, 341 - 0x12, 0x81, 0xf4, 0x78, 0x8a, 0x11, 0xfc, 0x00, 342 - 0x4a, 0x11, 0xf4, 0x95, 0x71, 0x02, 0x00, 0x12, 343 - 0x13, 0x03, 0x88, 0x11, 0xe8, 0x00, 0xf8, 0x4d, 344 - 0x06, 0xcc, 0xf3, 0x10, 0x00, 0x01, 0x89, 0x1a, 345 - 0xf4, 0x95, 0xf0, 0x72, 0x06, 0xcb, 0x11, 0x92, 346 - 0xf2, 0xc0, 0x81, 0x91, 0x8a, 0x11, 0xfc, 0x00, 347 - 0x88, 0x12, 0x12, 0x02, 0x71, 0x01, 0x00, 0x13, 348 - 0xf8, 0x45, 0x06, 0xdb, 0xf0, 0x10, 0x00, 0x01, 349 - 0x88, 0x1a, 0xf4, 0x95, 0xf0, 0x72, 0x06, 0xda, 350 - 0xe5, 0x98, 0xfc, 0x00, 0x4a, 0x11, 0xee, 0xfe, 351 - 0x88, 0x11, 0x11, 0x04, 0x10, 0x06, 0x71, 0x05, 352 - 0x00, 0x12, 0x61, 0xf8, 0x00, 0x12, 0x00, 0x01, 353 - 0xf8, 0x20, 0x06, 0xea, 0xf0, 0x00, 0x00, 0x01, 354 - 0xf6, 0xb8, 0xf0, 0x00, 0x00, 0x01, 0x6f, 0xf8, 355 - 0x00, 0x12, 0x0f, 0x1f, 0x48, 0x08, 0x81, 0x00, 356 - 0xf4, 0x7f, 0x80, 0x01, 0xf2, 0x74, 0x06, 0xba, 357 - 0xf4, 0x95, 0x48, 0x11, 0xee, 0x02, 0x8a, 0x11, 358 - 0xfc, 0x00, 0x4a, 0x11, 0xee, 0xfe, 0x88, 0x12, 359 - 0x11, 0x04, 0x10, 0x06, 0x71, 0x05, 0x00, 0x13, 360 - 0x61, 0xf8, 0x00, 0x13, 0x00, 0x01, 0xf8, 0x20, 361 - 0x07, 0x09, 0xf0, 0x00, 0x00, 0x01, 0xf0, 0x00, 362 - 0x00, 0x01, 0x88, 0x11, 0xf6, 0xb8, 0x6f, 0xf8, 363 - 0x00, 0x13, 0x0f, 0x1f, 0x81, 0x00, 0x48, 0x11, 364 - 0xf4, 0x7f, 0x80, 0x01, 0xf2, 0x74, 0x06, 0xce, 365 - 0xf4, 0x95, 0x48, 0x12, 0x48, 0x11, 0xf0, 0x30, 366 - 0xff, 0xfe, 0xee, 0x02, 0x8a, 0x11, 0xfc, 0x00, 367 - 0x4a, 0x11, 0x4a, 0x16, 0x4a, 0x17, 0xee, 0xfc, 368 - 0xf4, 0x95, 0x80, 0x02, 0x71, 0x08, 0x00, 0x16, 369 - 0x10, 0x09, 0x71, 0x0b, 0x00, 0x17, 0x80, 0x03, 370 - 0x71, 0x0a, 0x00, 0x11, 0x48, 0x17, 0xf8, 0x45, 371 - 0x07, 0x3f, 0x70, 0x00, 0x00, 0x11, 0x10, 0x03, 372 - 0xf0, 0x74, 0x06, 0x9f, 0x80, 0x01, 0x70, 0x00, 373 - 0x00, 0x16, 0x10, 0x02, 0xf0, 0x74, 0x06, 0x7b, 374 - 0x6d, 0x91, 0x6d, 0x96, 0x6c, 0xef, 0xff, 0xff, 375 - 0x07, 0x2f, 0xee, 0x04, 0x8a, 0x17, 0x8a, 0x16, 376 - 0x8a, 0x11, 0xfc, 0x00, 0x4a, 0x11, 0xee, 0xfe, 377 - 0x10, 0xf8, 0x2a, 0xe8, 0x08, 0xf8, 0x2a, 0xe9, 378 - 0xf8, 0x45, 0x07, 0x64, 0x76, 0x00, 0x00, 0x01, 379 - 0x62, 0xf8, 0x2a, 0xe9, 0x00, 0x5e, 0xf2, 0x74, 380 - 0x12, 0x0b, 0xf0, 0x00, 0x30, 0x40, 0x72, 0x11, 381 - 0x2a, 0xe9, 0x77, 0x10, 0x00, 0x0f, 0xf5, 0xa9, 382 - 0xf8, 0x20, 0x07, 0x61, 0x6b, 0xf8, 0x2a, 0xe9, 383 - 0x00, 0x01, 0xf0, 0x73, 0x07, 0x64, 0x76, 0xf8, 384 - 0x2a, 0xe9, 0x00, 0x00, 0xee, 0x02, 0x8a, 0x11, 385 - 0xfc, 0x00, 0x4a, 0x11, 0x88, 0x11, 0xe8, 0x00, 386 - 0x75, 0xf8, 0x00, 0x08, 0x00, 0x08, 0xe8, 0x00, 387 - 0x75, 0xf8, 0x00, 0x08, 0x00, 0x09, 0xf6, 0xb8, 388 - 0xf4, 0x95, 0xf0, 0x20, 0xfc, 0x3f, 0x75, 0xf8, 389 - 0x00, 0x08, 0x00, 0x0d, 0xf0, 0x20, 0x0c, 0x30, 390 - 0x75, 0xf8, 0x00, 0x08, 0x00, 0x0c, 0x76, 0xf8, 391 - 0x2a, 0xe8, 0x00, 0x00, 0x76, 0xf8, 0x2a, 0xe9, 392 - 0x00, 0x00, 0x6c, 0x81, 0x07, 0x92, 0x76, 0xf8, 393 - 0x2a, 0xea, 0x00, 0x00, 0xfb, 0x80, 0x16, 0x76, 394 - 0xf4, 0x95, 0xe8, 0x10, 0xe8, 0x00, 0x75, 0xf8, 395 - 0x00, 0x08, 0x00, 0x00, 0xf0, 0x73, 0x07, 0xa8, 396 - 0x76, 0xf8, 0x2a, 0xea, 0x00, 0x01, 0xfb, 0x80, 397 - 0x16, 0x66, 0xf4, 0x95, 0xe8, 0x10, 0xfb, 0x80, 398 - 0x16, 0x87, 0xf4, 0x95, 0xe8, 0x10, 0xe8, 0x00, 399 - 0x75, 0xf8, 0x00, 0x08, 0x00, 0x00, 0xf6, 0xb8, 400 - 0xf4, 0x95, 0xf0, 0x20, 0xff, 0xff, 0x75, 0xf8, 401 - 0x00, 0x08, 0x00, 0x00, 0x8a, 0x11, 0xfc, 0x00, 402 - 0xf4, 0x95, 0x4a, 0x08, 0x4a, 0x09, 0x4a, 0x0a, 403 - 0x4a, 0x06, 0x4a, 0x07, 0x4a, 0x1d, 0x68, 0xf8, 404 - 0x00, 0x07, 0x7d, 0x3f, 0x69, 0xf8, 0x00, 0x07, 405 - 0x40, 0x00, 0x68, 0xf8, 0x00, 0x1d, 0xff, 0xfc, 406 - 0x10, 0xf8, 0x2a, 0xea, 0xf8, 0x45, 0x07, 0xe1, 407 - 0x10, 0xf8, 0x2a, 0xe8, 0xf0, 0x00, 0x00, 0x01, 408 - 0xf0, 0x30, 0x00, 0x0f, 0x80, 0xf8, 0x2a, 0xe8, 409 - 0x10, 0xf8, 0x2a, 0xe8, 0xf8, 0x44, 0x07, 0xd6, 410 - 0xf6, 0xb8, 0xf4, 0x95, 0xf0, 0x20, 0xfc, 0x3f, 411 - 0x75, 0xf8, 0x00, 0x08, 0x00, 0x0d, 0xf0, 0x20, 412 - 0x0c, 0x30, 0x75, 0xf8, 0x00, 0x08, 0x00, 0x0c, 413 - 0xe8, 0x00, 0x75, 0xf8, 0x00, 0x08, 0x00, 0x00, 414 - 0xf6, 0xb8, 0xf4, 0x95, 0xf0, 0x20, 0xff, 0xff, 415 - 0x75, 0xf8, 0x00, 0x08, 0x00, 0x00, 0x8a, 0x1d, 416 - 0x8a, 0x07, 0x8a, 0x06, 0x8a, 0x0a, 0x8a, 0x09, 417 - 0x8a, 0x08, 0xf4, 0xeb, 0xee, 0xff, 0xf2, 0x74, 418 - 0x07, 0x67, 0xf4, 0x95, 0xe8, 0x01, 0xee, 0x01, 419 - 0xfc, 0x00, 0x4a, 0x07, 0x4a, 0x1d, 0x68, 0xf8, 420 - 0x00, 0x07, 0x7d, 0x3f, 0x69, 0xf8, 0x00, 0x07, 421 - 0x40, 0x00, 0x68, 0xf8, 0x00, 0x1d, 0xff, 0xfc, 422 - 0x8a, 0x1d, 0x8a, 0x07, 0xf4, 0xeb, 0x4a, 0x11, 423 - 0x77, 0x11, 0x00, 0x28, 0x76, 0x81, 0x24, 0x00, 424 - 0xe8, 0x00, 0x75, 0xf8, 0x00, 0x08, 0x00, 0x01, 425 - 0xf2, 0x74, 0x07, 0x67, 0xf4, 0x95, 0xe8, 0x00, 426 - 0x77, 0x11, 0x00, 0x1d, 0x68, 0x81, 0x00, 0x7f, 427 - 0xf6, 0xb8, 0xf4, 0x95, 0xf0, 0x20, 0xff, 0x80, 428 - 0x77, 0x11, 0x00, 0x1d, 0xf0, 0x30, 0x01, 0x00, 429 - 0x1a, 0x81, 0x80, 0x81, 0xf0, 0x74, 0x0a, 0x33, 430 - 0xf0, 0x74, 0x11, 0xac, 0xf9, 0x80, 0x13, 0x25, 431 - 0xf9, 0x80, 0x16, 0x53, 0xf9, 0x80, 0x17, 0x82, 432 - 0xf0, 0x74, 0x06, 0x2f, 0xf9, 0x80, 0x14, 0xb2, 433 - 0xf9, 0x80, 0x19, 0x10, 0xf0, 0x74, 0x0d, 0xe3, 434 - 0xf0, 0x74, 0x07, 0xe8, 0xf0, 0x74, 0x02, 0x36, 435 - 0x8a, 0x11, 0xfc, 0x00, 0x4a, 0x11, 0x60, 0xf8, 436 - 0x27, 0x7b, 0xff, 0xff, 0xf8, 0x30, 0x08, 0x39, 437 - 0x71, 0xf8, 0x27, 0x7b, 0x27, 0x79, 0x60, 0xf8, 438 - 0x27, 0x79, 0xff, 0xff, 0xf8, 0x30, 0x08, 0xb2, 439 - 0x10, 0xf8, 0x29, 0x86, 0x08, 0xf8, 0x27, 0x79, 440 - 0xf0, 0x30, 0x7f, 0xff, 0x88, 0x11, 0xf4, 0x95, 441 - 0x77, 0x10, 0x40, 0x00, 0xf6, 0xa9, 0xf8, 0x30, 442 - 0x08, 0x58, 0x10, 0xf8, 0x27, 0x79, 0x08, 0xf8, 443 - 0x27, 0x7a, 0xf0, 0x30, 0x7f, 0xff, 0x88, 0x11, 444 - 0xf4, 0x95, 0x77, 0x10, 0x40, 0x00, 0xf6, 0xa9, 445 - 0xf8, 0x20, 0x08, 0x63, 0x76, 0xf8, 0x27, 0x79, 446 - 0xff, 0xff, 0x76, 0xf8, 0x27, 0x7b, 0xff, 0xff, 447 - 0xf7, 0xb8, 0xf2, 0x73, 0x08, 0xd9, 0xf0, 0x20, 448 - 0xff, 0xff, 0xf6, 0xb8, 0x56, 0xf8, 0x27, 0x74, 449 - 0xf0, 0xf9, 0x88, 0x11, 0x56, 0xf8, 0x27, 0x72, 450 - 0xf0, 0xf9, 0x88, 0x12, 0xf4, 0x95, 0xf4, 0x95, 451 - 0xe7, 0x20, 0xf4, 0xa9, 0xf8, 0x30, 0x08, 0x8f, 452 - 0xf1, 0x20, 0x27, 0x7c, 0x48, 0x11, 0xf6, 0x00, 453 - 0x88, 0x13, 0xf4, 0x95, 0xf4, 0x95, 0x10, 0x83, 454 - 0x08, 0xf8, 0x27, 0x79, 0xf0, 0x30, 0x7f, 0xff, 455 - 0x88, 0x13, 0xf4, 0x95, 0x77, 0x10, 0x40, 0x00, 456 - 0xf5, 0xab, 0xf8, 0x30, 0x08, 0x8f, 0x6d, 0x91, 457 - 0x48, 0x11, 0xf0, 0x30, 0x01, 0xff, 0x88, 0x11, 458 - 0xf4, 0x95, 0xe7, 0x20, 0xf7, 0xa9, 0xf8, 0x30, 459 - 0x08, 0x74, 0x6d, 0x89, 0x48, 0x11, 0xf0, 0x30, 460 - 0x01, 0xff, 0xf0, 0xe7, 0xf4, 0x95, 0x48, 0x08, 461 - 0x4e, 0xf8, 0x27, 0x74, 0x48, 0x08, 0xf1, 0xf9, 462 - 0x89, 0x11, 0xf4, 0x95, 0xf4, 0x95, 0x71, 0xe1, 463 - 0x27, 0x7c, 0x27, 0x7a, 0x60, 0xf8, 0x27, 0x7b, 464 - 0xff, 0xff, 0xf8, 0x30, 0x08, 0xab, 0x48, 0x08, 465 - 0x4e, 0xf8, 0x27, 0x72, 0x76, 0xf8, 0x27, 0x7b, 466 - 0xff, 0xff, 0x76, 0xf8, 0x27, 0x79, 0xff, 0xff, 467 - 0xf2, 0x73, 0x08, 0xd9, 0xf4, 0x95, 0xe8, 0x00, 468 - 0x44, 0xf8, 0x27, 0x73, 0x40, 0xf8, 0x27, 0x75, 469 - 0x82, 0xf8, 0x00, 0x11, 0xf4, 0x95, 0x77, 0x10, 470 - 0x80, 0x00, 0xf6, 0xa9, 0xf8, 0x20, 0x08, 0xd8, 471 - 0xf6, 0xb8, 0x10, 0xf8, 0x27, 0x73, 0xf0, 0x00, 472 - 0x80, 0x00, 0x48, 0x08, 0x4e, 0xf8, 0x27, 0x74, 473 - 0x48, 0x08, 0xf0, 0xf9, 0x88, 0x11, 0xf4, 0x95, 474 - 0xf4, 0x95, 0x71, 0xe1, 0x27, 0x7c, 0x27, 0x7a, 475 - 0xf7, 0xb8, 0x57, 0xf8, 0x27, 0x74, 0xf0, 0x62, 476 - 0xff, 0xff, 0xf0, 0x40, 0xff, 0x80, 0xf2, 0x80, 477 - 0x4e, 0xf8, 0x27, 0x74, 0xe8, 0x00, 0x8a, 0x11, 478 - 0xfc, 0x00, 0x4a, 0x11, 0x4a, 0x16, 0xee, 0xfb, 479 - 0x11, 0xf8, 0x27, 0x71, 0x09, 0xf8, 0x27, 0x73, 480 - 0x89, 0x11, 0x88, 0x10, 0xf4, 0x95, 0xf4, 0x95, 481 - 0xf6, 0xa9, 0xf8, 0x20, 0x08, 0xed, 0xf2, 0x73, 482 - 0x09, 0x0e, 0xf4, 0x95, 0xe8, 0x00, 0xf6, 0x20, 483 - 0x76, 0x00, 0x00, 0x41, 0xf0, 0x74, 0x12, 0xee, 484 - 0x88, 0x16, 0xf4, 0x95, 0xf7, 0xb8, 0x6d, 0x96, 485 - 0x10, 0xf8, 0x00, 0x16, 0xf8, 0x47, 0x09, 0x0a, 486 - 0xe7, 0x61, 0x76, 0x00, 0x00, 0x00, 0x76, 0x01, 487 - 0x00, 0x80, 0x76, 0x02, 0x00, 0xff, 0x76, 0x03, 488 - 0x00, 0x00, 0xf2, 0x74, 0x0c, 0xb9, 0xf4, 0x95, 489 - 0xe8, 0x00, 0x6c, 0xe9, 0xff, 0xff, 0x08, 0xfb, 490 - 0x73, 0x16, 0x00, 0x0e, 0xf0, 0x66, 0x00, 0x41, 491 - 0xee, 0x05, 0x8a, 0x16, 0x8a, 0x11, 0xfc, 0x00, 492 - 0x4a, 0x11, 0xf4, 0x95, 0x71, 0x02, 0x00, 0x13, 493 - 0xf6, 0xb8, 0x77, 0x11, 0x7f, 0xff, 0x57, 0xf8, 494 - 0x27, 0x72, 0x48, 0x11, 0xf2, 0x80, 0xf0, 0x00, 495 - 0x80, 0x00, 0x88, 0x11, 0xf6, 0x40, 0xf0, 0xe0, 496 - 0xf1, 0xf1, 0xe8, 0x01, 0xf2, 0x80, 0x80, 0xf8, 497 - 0x27, 0x78, 0x77, 0x12, 0x80, 0x00, 0x57, 0xf8, 498 - 0x27, 0x72, 0x48, 0x12, 0xf2, 0x80, 0x88, 0x12, 499 - 0xf4, 0x95, 0xf4, 0x95, 0x6c, 0x82, 0x09, 0x38, 500 - 0xe8, 0x00, 0x75, 0xf8, 0x00, 0x08, 0x00, 0x01, 501 - 0xf0, 0x73, 0x09, 0x3d, 0xf0, 0x20, 0x80, 0x01, 502 - 0x75, 0xf8, 0x00, 0x08, 0x00, 0x01, 0x70, 0x81, 503 - 0x00, 0x13, 0x8a, 0x11, 0xfc, 0x00, 0x4a, 0x11, 504 - 0xf0, 0x30, 0x7f, 0xff, 0x11, 0xf8, 0x29, 0x86, 505 - 0xf5, 0x20, 0xf3, 0x30, 0x7f, 0xff, 0x89, 0x11, 506 - 0xf4, 0x95, 0x77, 0x10, 0x40, 0x00, 0xf6, 0xa9, 507 - 0xf8, 0x20, 0x09, 0x54, 0xf2, 0x73, 0x09, 0x67, 508 - 0xf4, 0x95, 0xe8, 0x02, 0x6f, 0xf8, 0x27, 0x7a, 509 - 0x0d, 0x20, 0xf3, 0x30, 0x7f, 0xff, 0x89, 0x11, 510 - 0xf4, 0x95, 0x77, 0x10, 0x40, 0x00, 0xf6, 0xa9, 511 - 0xf8, 0x20, 0x09, 0x64, 0xf2, 0x73, 0x09, 0x67, 512 - 0xf4, 0x95, 0xe8, 0x01, 0x80, 0xf8, 0x27, 0x7b, 513 - 0xe8, 0x00, 0x8a, 0x11, 0xfc, 0x00, 0x4a, 0x11, 514 - 0x11, 0xf8, 0x29, 0x86, 0xf5, 0x20, 0xf3, 0x30, 515 - 0x7f, 0xff, 0x89, 0x11, 0xf4, 0x95, 0x77, 0x10, 516 - 0x40, 0x00, 0xf6, 0xa9, 0xf8, 0x20, 0x09, 0x7a, 517 - 0xf2, 0x73, 0x09, 0x8d, 0xf4, 0x95, 0xe8, 0x02, 518 - 0x6f, 0xf8, 0x27, 0x7a, 0x0d, 0x20, 0xf3, 0x30, 519 - 0x7f, 0xff, 0x89, 0x11, 0xf4, 0x95, 0x77, 0x10, 520 - 0x40, 0x00, 0xf6, 0xa9, 0xf8, 0x20, 0x09, 0x8a, 521 - 0xf2, 0x73, 0x09, 0x8d, 0xf4, 0x95, 0xe8, 0x01, 522 - 0x80, 0xf8, 0x27, 0x79, 0xe8, 0x00, 0x8a, 0x11, 523 - 0xfc, 0x00, 0x4a, 0x11, 0xf4, 0x95, 0x71, 0x02, 524 - 0x00, 0x12, 0x88, 0x11, 0xf6, 0xb8, 0x57, 0xf8, 525 - 0x27, 0x72, 0xf0, 0x20, 0x7f, 0xff, 0xf2, 0x80, 526 - 0xf0, 0x00, 0x80, 0x00, 0x80, 0x81, 0x57, 0xf8, 527 - 0x27, 0x72, 0xe8, 0x01, 0xf3, 0xf1, 0xf2, 0x80, 528 - 0x80, 0xf8, 0x27, 0x78, 0x77, 0x11, 0x80, 0x00, 529 - 0x48, 0x11, 0x57, 0xf8, 0x27, 0x72, 0xf2, 0x80, 530 - 0x88, 0x11, 0xf4, 0x95, 0xf4, 0x95, 0x6c, 0x81, 531 - 0x09, 0xb5, 0xe8, 0x00, 0x75, 0xf8, 0x00, 0x08, 532 - 0x00, 0x01, 0xf0, 0x73, 0x09, 0xba, 0xf0, 0x20, 533 - 0x80, 0x01, 0x75, 0xf8, 0x00, 0x08, 0x00, 0x01, 534 - 0x45, 0xf8, 0x27, 0x71, 0x43, 0xf8, 0x27, 0x73, 535 - 0x83, 0xf8, 0x00, 0x11, 0xf4, 0x95, 0xe7, 0x20, 536 - 0xf6, 0xa9, 0xf8, 0x30, 0x09, 0xc9, 0xf2, 0x73, 537 - 0x09, 0xe4, 0x77, 0x12, 0x00, 0x00, 0x57, 0xf8, 538 - 0x27, 0x72, 0xf0, 0x20, 0x7f, 0xff, 0xf2, 0x80, 539 - 0x49, 0x12, 0xf5, 0x00, 0xf3, 0x00, 0x80, 0x00, 540 - 0x61, 0xf8, 0x00, 0x0b, 0x80, 0x00, 0xf8, 0x30, 541 - 0x09, 0xdc, 0xf1, 0x20, 0x80, 0x00, 0xf5, 0x20, 542 - 0x89, 0x12, 0xf4, 0x95, 0x48, 0x12, 0x6f, 0xf8, 543 - 0x27, 0x73, 0x0d, 0x00, 0xf4, 0x95, 0x49, 0x0b, 544 - 0x4f, 0xf8, 0x27, 0x72, 0x8a, 0x11, 0xfe, 0x00, 545 - 0x48, 0x12, 0xf4, 0x95, 0x4a, 0x11, 0x4a, 0x16, 546 - 0x4a, 0x17, 0xee, 0xfc, 0xf4, 0x95, 0x71, 0x08, 547 - 0x00, 0x16, 0x88, 0x17, 0xf0, 0x74, 0x08, 0x30, 548 - 0x48, 0x18, 0x70, 0x00, 0x00, 0x16, 0xf2, 0x74, 549 - 0x09, 0x8f, 0xf0, 0x00, 0x00, 0x02, 0x88, 0x11, 550 - 0xf4, 0x95, 0xf4, 0x95, 0x6c, 0x81, 0x0a, 0x0a, 551 - 0xf2, 0x74, 0x08, 0xdb, 0xf4, 0x95, 0x48, 0x16, 552 - 0x48, 0x18, 0x70, 0x00, 0x00, 0x16, 0xf2, 0x74, 553 - 0x09, 0x8f, 0xf0, 0x00, 0x00, 0x02, 0x88, 0x11, 554 - 0x10, 0x02, 0x70, 0x01, 0x00, 0x11, 0x80, 0x00, 555 - 0xf2, 0x74, 0x06, 0xce, 0xf4, 0x95, 0x48, 0x17, 556 - 0x49, 0x11, 0x48, 0x17, 0xf6, 0x00, 0x88, 0x17, 557 - 0xe7, 0x60, 0xf5, 0xa9, 0xf8, 0x20, 0x0a, 0x2d, 558 - 0x48, 0x16, 0xf6, 0x20, 0x88, 0x11, 0x48, 0x18, 559 - 0x70, 0x00, 0x00, 0x11, 0xf2, 0x74, 0x09, 0x8f, 560 - 0xf0, 0x00, 0x00, 0x02, 0x88, 0x11, 0x70, 0x01, 561 - 0x00, 0x11, 0x10, 0x02, 0x80, 0x00, 0xf2, 0x74, 562 - 0x06, 0xce, 0xf4, 0x95, 0x48, 0x17, 0xee, 0x04, 563 - 0x48, 0x16, 0x8a, 0x17, 0x8a, 0x16, 0x8a, 0x11, 564 - 0xfc, 0x00, 0xee, 0xfd, 0xe8, 0x00, 0x4e, 0xf8, 565 - 0x27, 0x70, 0xe8, 0x00, 0x4e, 0xf8, 0x27, 0x72, 566 - 0xe8, 0x00, 0x4e, 0xf8, 0x27, 0x74, 0xe8, 0x00, 567 - 0x4e, 0xf8, 0x27, 0x76, 0x76, 0xf8, 0x27, 0x79, 568 - 0xff, 0xff, 0x76, 0xf8, 0x27, 0x7a, 0x00, 0x00, 569 - 0x76, 0xf8, 0x27, 0x7b, 0xff, 0xff, 0x76, 0xf8, 570 - 0x27, 0x78, 0x00, 0x00, 0xe8, 0x00, 0x75, 0xf8, 571 - 0x00, 0x08, 0x00, 0x01, 0x76, 0x00, 0x00, 0x00, 572 - 0x76, 0x01, 0x02, 0x00, 0xf2, 0x74, 0x12, 0xdc, 573 - 0xf0, 0x20, 0x27, 0x7c, 0xee, 0x03, 0xfc, 0x00, 574 - 0x4a, 0x11, 0xee, 0xfc, 0xf4, 0x95, 0x4e, 0x00, 575 - 0x77, 0x12, 0x7f, 0xff, 0xf6, 0xb8, 0x49, 0x12, 576 - 0xf1, 0x80, 0xf3, 0x00, 0x80, 0x00, 0x89, 0x12, 577 - 0xf0, 0xe0, 0xf1, 0xf1, 0x4f, 0x02, 0xe9, 0x01, 578 - 0xf4, 0x95, 0x48, 0x0b, 0xf5, 0x40, 0x56, 0x02, 579 - 0xf1, 0x80, 0x81, 0xf8, 0x27, 0x78, 0x77, 0x11, 580 - 0x80, 0x00, 0x56, 0x00, 0x49, 0x11, 0xf1, 0x80, 581 - 0x89, 0x11, 0xf4, 0x95, 0xf4, 0x95, 0x6c, 0x81, 582 - 0x0a, 0x81, 0xe8, 0x00, 0x75, 0xf8, 0x00, 0x08, 583 - 0x00, 0x01, 0xf0, 0x73, 0x0a, 0x86, 0xf0, 0x20, 584 - 0x80, 0x01, 0x75, 0xf8, 0x00, 0x08, 0x00, 0x01, 585 - 0x10, 0x82, 0xee, 0x04, 0x8a, 0x11, 0xfc, 0x00, 586 - 0x4a, 0x11, 0xee, 0xfe, 0xf4, 0x95, 0x4e, 0x00, 587 - 0x77, 0x11, 0x7f, 0xff, 0xf6, 0xb8, 0x49, 0x11, 588 - 0xf1, 0x80, 0xf3, 0x00, 0x80, 0x00, 0x89, 0x11, 589 - 0xf0, 0xe0, 0xf1, 0xf1, 0xe8, 0x01, 0xf2, 0x80, 590 - 0x80, 0xf8, 0x27, 0x78, 0x56, 0x00, 0xf1, 0x20, 591 - 0x80, 0x00, 0xf1, 0x80, 0xf4, 0x95, 0x49, 0x0b, 592 - 0xf8, 0x4d, 0x0a, 0xab, 0xf0, 0x20, 0x80, 0x01, 593 - 0x75, 0xf8, 0x00, 0x08, 0x00, 0x01, 0xf0, 0x73, 594 - 0x0a, 0xaf, 0xe8, 0x00, 0x75, 0xf8, 0x00, 0x08, 595 - 0x00, 0x01, 0xee, 0x02, 0x48, 0x11, 0x8a, 0x11, 596 - 0xfc, 0x00, 0x4a, 0x11, 0x88, 0x12, 0x13, 0x02, 597 - 0x77, 0x11, 0x00, 0x00, 0xf8, 0x4d, 0x0a, 0xcb, 598 - 0xf3, 0x10, 0x00, 0x01, 0x89, 0x1a, 0xf4, 0x95, 599 - 0xf0, 0x72, 0x0a, 0xca, 0x48, 0x11, 0x1c, 0xf8, 600 - 0x29, 0x7e, 0x88, 0x11, 0x11, 0xf8, 0x29, 0x7e, 601 - 0xf2, 0x00, 0x00, 0x01, 0x80, 0xf8, 0x29, 0x7e, 602 - 0x81, 0x92, 0x48, 0x11, 0x8a, 0x11, 0xfc, 0x00, 603 - 0x4a, 0x11, 0xf4, 0x95, 0x71, 0x02, 0x00, 0x11, 604 - 0x88, 0x12, 0xf6, 0xb8, 0xf0, 0x20, 0x7f, 0xff, 605 - 0x57, 0xf8, 0x27, 0x70, 0xf2, 0x80, 0xf0, 0x00, 606 - 0x80, 0x00, 0x80, 0x82, 0x57, 0xf8, 0x27, 0x70, 607 - 0xe8, 0x01, 0xf3, 0xf1, 0xf2, 0x80, 0x80, 0xf8, 608 - 0x27, 0x78, 0x77, 0x12, 0x80, 0x00, 0x48, 0x12, 609 - 0x57, 0xf8, 0x27, 0x70, 0xf2, 0x80, 0x88, 0x12, 610 - 0xf4, 0x95, 0xf4, 0x95, 0x6c, 0x82, 0x0a, 0xf4, 611 - 0xe8, 0x00, 0x75, 0xf8, 0x00, 0x08, 0x00, 0x01, 612 - 0xf0, 0x73, 0x0a, 0xf9, 0xf0, 0x20, 0x80, 0x01, 613 - 0x75, 0xf8, 0x00, 0x08, 0x00, 0x01, 0x45, 0xf8, 614 - 0x27, 0x75, 0xe7, 0x10, 0x43, 0xf8, 0x27, 0x71, 615 - 0x83, 0xf8, 0x00, 0x12, 0x6d, 0xe8, 0x00, 0x04, 616 - 0x6d, 0x8a, 0xf6, 0xaa, 0xf8, 0x30, 0x0b, 0x0a, 617 - 0xf2, 0x73, 0x0b, 0x25, 0x77, 0x11, 0x00, 0x00, 618 - 0x57, 0xf8, 0x27, 0x70, 0xf0, 0x20, 0x7f, 0xff, 619 - 0xf2, 0x80, 0x49, 0x11, 0xf5, 0x00, 0xf3, 0x00, 620 - 0x80, 0x00, 0x61, 0xf8, 0x00, 0x0b, 0x80, 0x00, 621 - 0xf8, 0x30, 0x0b, 0x1d, 0xf1, 0x20, 0x80, 0x00, 622 - 0xf5, 0x20, 0x89, 0x11, 0xf4, 0x95, 0x48, 0x11, 623 - 0x6f, 0xf8, 0x27, 0x71, 0x0d, 0x00, 0xf4, 0x95, 624 - 0x49, 0x0b, 0x4f, 0xf8, 0x27, 0x70, 0x48, 0x11, 625 - 0x8a, 0x11, 0xfc, 0x00, 0x4a, 0x11, 0x4a, 0x16, 626 - 0x4a, 0x17, 0xee, 0xf0, 0x88, 0x17, 0x10, 0x17, 627 - 0x80, 0x05, 0x10, 0x16, 0x80, 0x06, 0x10, 0x15, 628 - 0x80, 0x07, 0x71, 0x14, 0x00, 0x11, 0x10, 0x05, 629 - 0xf0, 0x30, 0x00, 0x01, 0x88, 0x10, 0x10, 0x06, 630 - 0xf0, 0x30, 0x00, 0x01, 0x80, 0x08, 0x49, 0x11, 631 - 0x10, 0x05, 0xf6, 0x01, 0x80, 0x09, 0x10, 0x06, 632 - 0x61, 0xf8, 0x00, 0x08, 0x00, 0x01, 0xf8, 0x20, 633 - 0x0b, 0x4b, 0x10, 0x09, 0xf0, 0x00, 0x00, 0x01, 634 - 0x80, 0x09, 0x71, 0x08, 0x00, 0x12, 0xf4, 0xaa, 635 - 0xf8, 0x30, 0x0b, 0x54, 0x10, 0x09, 0xf0, 0x00, 636 - 0x00, 0x01, 0x80, 0x09, 0x12, 0x09, 0x49, 0x11, 637 - 0xf4, 0x7f, 0x80, 0x09, 0xf6, 0x20, 0x80, 0x0a, 638 - 0x56, 0xf8, 0x27, 0x70, 0x4e, 0x0c, 0x10, 0x09, 639 - 0x80, 0x00, 0x48, 0x18, 0xf2, 0x74, 0x0a, 0xce, 640 - 0xf0, 0x00, 0x00, 0x04, 0x88, 0x16, 0xf4, 0x95, 641 - 0xf4, 0x95, 0x6c, 0x86, 0x0b, 0x6d, 0xf2, 0x73, 642 - 0x0c, 0x59, 0xf4, 0x95, 0xe8, 0x00, 0xf6, 0xb8, 643 - 0xf4, 0x95, 0x56, 0x0c, 0xf0, 0xf9, 0x88, 0x12, 644 - 0xf4, 0x95, 0xf4, 0x95, 0x70, 0xe2, 0x27, 0x7c, 645 - 0x29, 0x86, 0xe8, 0x00, 0x80, 0x0e, 0x48, 0x11, 646 - 0xf8, 0x45, 0x0b, 0xcc, 0x77, 0x10, 0x00, 0x01, 647 - 0xf4, 0xa9, 0xf8, 0x30, 0x0b, 0x89, 0x6c, 0xe1, 648 - 0xff, 0xfd, 0x0b, 0x8b, 0x10, 0xe7, 0x00, 0x02, 649 - 0x80, 0x0e, 0xf0, 0x73, 0x0b, 0x8b, 0x10, 0x87, 650 - 0x80, 0x0e, 0xe7, 0x10, 0xf5, 0xae, 0xf8, 0x20, 651 - 0x0b, 0xb2, 0x70, 0x00, 0x00, 0x17, 0x70, 0x01, 652 - 0x00, 0x16, 0x10, 0x04, 0xf0, 0x74, 0x06, 0xce, 653 - 0x48, 0x17, 0x49, 0x16, 0xf6, 0x00, 0x88, 0x17, 654 - 0x48, 0x11, 0xf6, 0x20, 0x88, 0x11, 0x10, 0x09, 655 - 0xf6, 0x20, 0x80, 0x00, 0x48, 0x18, 0xf2, 0x74, 656 - 0x0a, 0xce, 0xf0, 0x00, 0x00, 0x04, 0x88, 0x16, 657 - 0x10, 0x04, 0x70, 0x00, 0x00, 0x17, 0x70, 0x01, 658 - 0x00, 0x11, 0xf0, 0x74, 0x06, 0xce, 0x48, 0x11, 659 - 0x00, 0x04, 0x80, 0x04, 0xf0, 0x73, 0x0b, 0xbc, 660 - 0x70, 0x00, 0x00, 0x17, 0x70, 0x01, 0x00, 0x11, 661 - 0x10, 0x04, 0xf0, 0x74, 0x06, 0xce, 0x48, 0x11, 662 - 0x00, 0x04, 0x80, 0x04, 0x49, 0x11, 0x48, 0x16, 663 - 0xf6, 0x20, 0x88, 0x16, 0xf4, 0x95, 0xf4, 0x95, 664 - 0x6c, 0x86, 0x0b, 0xcc, 0x10, 0x0a, 0x80, 0x00, 665 - 0x48, 0x18, 0xf2, 0x74, 0x0a, 0xce, 0xf0, 0x00, 666 - 0x00, 0x04, 0x88, 0x16, 0x12, 0x0a, 0xf8, 0x45, 667 - 0x0c, 0x33, 0x71, 0x0a, 0x00, 0x10, 0xf4, 0xae, 668 - 0xf8, 0x30, 0x0c, 0x1c, 0x48, 0x16, 0xf0, 0xe1, 669 - 0x88, 0x11, 0x12, 0x08, 0xf8, 0x45, 0x0b, 0xdb, 670 - 0x6d, 0x89, 0x12, 0x07, 0xf8, 0x45, 0x0b, 0xe9, 671 - 0x10, 0x07, 0x80, 0x00, 0x70, 0x02, 0x00, 0x11, 672 - 0x10, 0x06, 0x80, 0x01, 0x10, 0x04, 0xf0, 0x74, 673 - 0x06, 0xdc, 0xf0, 0x73, 0x0b, 0xef, 0x48, 0x11, 674 - 0x6f, 0x00, 0x0c, 0x9f, 0x10, 0x04, 0xf0, 0x74, 675 - 0x0a, 0xb3, 0x11, 0x0e, 0xf1, 0xc0, 0x81, 0x0e, 676 - 0x10, 0x06, 0x49, 0x11, 0xf6, 0x00, 0x80, 0x06, 677 - 0x10, 0x05, 0xf6, 0x20, 0x88, 0x11, 0xf0, 0x00, 678 - 0x00, 0x01, 0x48, 0x08, 0x6f, 0x00, 0x0c, 0x9f, 679 - 0x48, 0x18, 0xf2, 0x74, 0x0a, 0xce, 0xf0, 0x00, 680 - 0x00, 0x04, 0x12, 0x07, 0xf8, 0x45, 0x0c, 0x11, 681 - 0x10, 0x07, 0x80, 0x00, 0x70, 0x02, 0x00, 0x11, 682 - 0x10, 0x06, 0x80, 0x01, 0x10, 0x04, 0xf0, 0x74, 683 - 0x06, 0xdc, 0xf0, 0x73, 0x0c, 0x17, 0x48, 0x11, 684 - 0x6f, 0x00, 0x0c, 0x9f, 0x10, 0x04, 0xf0, 0x74, 685 - 0x0a, 0xb3, 0x11, 0x0e, 0xf1, 0xc0, 0x81, 0x0e, 686 - 0xf0, 0x73, 0x0c, 0x33, 0x12, 0x07, 0xf8, 0x45, 687 - 0x0c, 0x2a, 0x10, 0x07, 0x80, 0x00, 0x10, 0x06, 688 - 0x80, 0x01, 0x10, 0x05, 0x80, 0x02, 0x10, 0x04, 689 - 0xf0, 0x74, 0x06, 0xdc, 0xf0, 0x73, 0x0c, 0x30, 690 - 0x12, 0x05, 0x6f, 0x00, 0x0c, 0x9f, 0x10, 0x04, 691 - 0xf0, 0x74, 0x0a, 0xb3, 0x11, 0x0e, 0xf1, 0xc0, 692 - 0x81, 0x0e, 0x76, 0x00, 0x00, 0x01, 0x48, 0x18, 693 - 0xf2, 0x74, 0x0a, 0xce, 0xf0, 0x00, 0x00, 0x04, 694 - 0x71, 0x04, 0x00, 0x11, 0x70, 0x81, 0x29, 0x86, 695 - 0x10, 0x0e, 0x1c, 0xf8, 0x29, 0x86, 0x80, 0x0e, 696 - 0x76, 0x00, 0x00, 0x01, 0x48, 0x18, 0xf2, 0x74, 697 - 0x0a, 0xce, 0xf0, 0x00, 0x00, 0x04, 0x10, 0x0e, 698 - 0x71, 0x04, 0x00, 0x11, 0x80, 0x81, 0x10, 0xf8, 699 - 0x29, 0x86, 0xf0, 0x00, 0x00, 0x01, 0xf0, 0x30, 700 - 0x7f, 0xff, 0x80, 0xf8, 0x29, 0x86, 0x10, 0x09, 701 - 0xf0, 0x00, 0x00, 0x02, 0x80, 0x09, 0xee, 0x10, 702 - 0x8a, 0x17, 0x8a, 0x16, 0x8a, 0x11, 0xfc, 0x00, 703 - 0x10, 0xf8, 0x27, 0x75, 0x08, 0xf8, 0x27, 0x71, 704 - 0xf0, 0x10, 0x00, 0x01, 0x48, 0x08, 0xfc, 0x00, 705 - 0x4a, 0x11, 0x4a, 0x16, 0xee, 0xff, 0xf4, 0x95, 706 - 0x71, 0x04, 0x00, 0x16, 0xf0, 0x00, 0x00, 0x01, 707 - 0x48, 0x08, 0x4e, 0xf8, 0x29, 0x7c, 0x6d, 0xee, 708 - 0xff, 0xfd, 0x48, 0x16, 0xf8, 0x45, 0x0c, 0x99, 709 - 0x56, 0xf8, 0x29, 0x7c, 0xf0, 0x74, 0x0a, 0x5a, 710 - 0x88, 0x11, 0x10, 0xf8, 0x29, 0x7d, 0xf0, 0x00, 711 - 0x00, 0x01, 0x48, 0x08, 0x4e, 0xf8, 0x29, 0x7c, 712 - 0x10, 0xf8, 0x29, 0x82, 0xf0, 0x00, 0x00, 0x01, 713 - 0x88, 0x10, 0xf4, 0x95, 0xf4, 0x95, 0xf4, 0xa9, 714 - 0xfa, 0x30, 0x0c, 0x96, 0x80, 0xf8, 0x29, 0x82, 715 - 0x56, 0xf8, 0x29, 0x80, 0xf0, 0x00, 0x00, 0x01, 716 - 0x4e, 0xf8, 0x29, 0x80, 0x73, 0x11, 0x29, 0x82, 717 - 0x6c, 0xee, 0xff, 0xff, 0x0c, 0x76, 0xee, 0x01, 718 - 0x8a, 0x16, 0x8a, 0x11, 0xfc, 0x00, 0x4a, 0x11, 719 - 0x76, 0xf8, 0x29, 0x84, 0x00, 0x00, 0x76, 0xf8, 720 - 0x29, 0x85, 0x00, 0x01, 0xe8, 0x00, 0x4e, 0xf8, 721 - 0x2a, 0x0c, 0x76, 0xf8, 0x29, 0x86, 0x00, 0x00, 722 - 0x76, 0xf8, 0x29, 0x87, 0x00, 0x00, 0x77, 0x11, 723 - 0x29, 0x88, 0x76, 0x81, 0xaa, 0xaa, 0x76, 0xe1, 724 - 0x00, 0x01, 0xaa, 0xaa, 0x76, 0xe1, 0x00, 0x02, 725 - 0x00, 0x00, 0x8a, 0x11, 0xfc, 0x00, 0x4a, 0x11, 726 - 0xee, 0xfc, 0xf4, 0x95, 0x71, 0x06, 0x00, 0x14, 727 - 0x71, 0x07, 0x00, 0x13, 0x71, 0x08, 0x00, 0x12, 728 - 0x71, 0x09, 0x00, 0x15, 0x77, 0x10, 0x00, 0xff, 729 - 0xf4, 0xaa, 0xf8, 0x30, 0x0d, 0x44, 0x49, 0x13, 730 - 0x53, 0xf8, 0x2a, 0x0c, 0x4f, 0xf8, 0x2a, 0x0c, 731 - 0x73, 0x12, 0x00, 0x0e, 0xf1, 0x66, 0x00, 0x0d, 732 - 0x89, 0x11, 0xf4, 0x95, 0x77, 0x10, 0x00, 0x01, 733 - 0x71, 0xe1, 0x24, 0x00, 0x00, 0x11, 0xf4, 0xa9, 734 - 0xf8, 0x30, 0x0d, 0x17, 0x77, 0x10, 0x00, 0x02, 735 - 0xf4, 0xa9, 0xf8, 0x30, 0x0c, 0xec, 0x77, 0x11, 736 - 0x29, 0x8a, 0x76, 0x81, 0x00, 0x00, 0xe8, 0x00, 737 - 0x77, 0x14, 0x00, 0x00, 0x77, 0x13, 0x00, 0x00, 738 - 0xf0, 0x73, 0x0d, 0x48, 0x6c, 0x83, 0x0c, 0xfa, 739 - 0x77, 0x11, 0x29, 0x8a, 0x48, 0x12, 0xf0, 0xe8, 740 - 0xf0, 0x40, 0x80, 0x00, 0x80, 0x81, 0xe8, 0x00, 741 - 0x77, 0x14, 0x00, 0x00, 0xf0, 0x73, 0x0d, 0x48, 742 - 0x49, 0x13, 0xf3, 0x40, 0x80, 0x00, 0x81, 0xf8, 743 - 0x29, 0x8a, 0x61, 0xf8, 0x00, 0x15, 0x00, 0x01, 744 - 0xf8, 0x20, 0x0d, 0x07, 0x69, 0xf8, 0x29, 0x8a, 745 - 0x40, 0x00, 0x61, 0xf8, 0x00, 0x14, 0x00, 0x01, 746 - 0xf8, 0x20, 0x0d, 0x0f, 0x69, 0xf8, 0x29, 0x8a, 747 - 0x20, 0x00, 0x77, 0x11, 0x29, 0x8a, 0x49, 0x12, 748 - 0xf3, 0xe8, 0x1b, 0x81, 0x81, 0x81, 0xf0, 0x73, 749 - 0x0d, 0x48, 0x11, 0xf8, 0x29, 0x84, 0xf8, 0x4c, 750 - 0x0d, 0x37, 0x77, 0x11, 0x29, 0x88, 0x76, 0x81, 751 - 0xaa, 0xaa, 0x11, 0xf8, 0x29, 0x85, 0xf3, 0x10, 752 - 0x00, 0x01, 0xf3, 0x40, 0xaa, 0x00, 0x81, 0xe1, 753 - 0x00, 0x01, 0x76, 0x00, 0x00, 0x02, 0x80, 0x01, 754 - 0x70, 0x02, 0x00, 0x14, 0x70, 0x03, 0x00, 0x13, 755 - 0xf2, 0x74, 0x0b, 0x28, 0xf4, 0x95, 0x48, 0x11, 756 - 0x71, 0xf8, 0x29, 0x85, 0x29, 0x84, 0xf0, 0x73, 757 - 0x0d, 0x73, 0x76, 0x00, 0x00, 0x00, 0x80, 0x01, 758 - 0x76, 0x02, 0x00, 0x00, 0x70, 0x03, 0x00, 0x13, 759 - 0xf2, 0x74, 0x0b, 0x28, 0xf4, 0x95, 0xe8, 0x00, 760 - 0xf0, 0x73, 0x0d, 0x73, 0x77, 0x11, 0x29, 0x8a, 761 - 0x70, 0x81, 0x00, 0x13, 0x11, 0xf8, 0x29, 0x84, 762 - 0xf8, 0x4c, 0x0d, 0x68, 0x77, 0x11, 0x29, 0x88, 763 - 0x76, 0x81, 0xaa, 0xaa, 0x11, 0xf8, 0x29, 0x85, 764 - 0xf3, 0x10, 0x00, 0x01, 0xf3, 0x40, 0xaa, 0x00, 765 - 0x81, 0xe1, 0x00, 0x01, 0x76, 0x00, 0x00, 0x03, 766 - 0x80, 0x01, 0x70, 0x02, 0x00, 0x14, 0x70, 0x03, 767 - 0x00, 0x13, 0xf2, 0x74, 0x0b, 0x28, 0xf4, 0x95, 768 - 0x48, 0x11, 0x71, 0xf8, 0x29, 0x85, 0x29, 0x84, 769 - 0xf0, 0x73, 0x0d, 0x73, 0x76, 0x00, 0x00, 0x01, 770 - 0x80, 0x01, 0x70, 0x02, 0x00, 0x14, 0x70, 0x03, 771 - 0x00, 0x13, 0xf2, 0x74, 0x0b, 0x28, 0xf4, 0x95, 772 - 0x48, 0x11, 0x6b, 0xf8, 0x29, 0x84, 0xff, 0xff, 773 - 0xee, 0x04, 0x8a, 0x11, 0xfc, 0x00, 0x4a, 0x11, 774 - 0xf5, 0x40, 0xf4, 0x95, 0x48, 0x0b, 0xf4, 0x78, 775 - 0x88, 0x11, 0xf4, 0x95, 0xf4, 0x95, 0x6c, 0xe1, 776 - 0xff, 0xb9, 0x0d, 0x88, 0xf2, 0x73, 0x0d, 0xa5, 777 - 0xf4, 0x95, 0xe8, 0x60, 0xf2, 0x00, 0x00, 0x06, 778 - 0x61, 0xf8, 0x00, 0x11, 0x00, 0x20, 0xf8, 0x30, 779 - 0x0d, 0x98, 0x61, 0xf8, 0x00, 0x0b, 0x00, 0x01, 780 - 0xf8, 0x20, 0x0d, 0xa3, 0xf2, 0x00, 0x00, 0x07, 781 - 0xf0, 0x73, 0x0d, 0xa3, 0x61, 0xf8, 0x00, 0x0b, 782 - 0x00, 0x01, 0xf8, 0x20, 0x0d, 0xa1, 0xf2, 0x73, 783 - 0x0d, 0xa3, 0xf0, 0x00, 0x00, 0x01, 0xf0, 0x00, 784 - 0x00, 0x02, 0x48, 0x08, 0xf4, 0x7f, 0x8a, 0x11, 785 - 0xfc, 0x00, 0xee, 0xff, 0xf0, 0x74, 0x07, 0xfd, 786 - 0xf0, 0x74, 0x07, 0x44, 0xf0, 0x74, 0x0d, 0xb4, 787 - 0xf0, 0x74, 0x02, 0x05, 0xf0, 0x74, 0x04, 0x60, 788 - 0xf0, 0x73, 0x0d, 0xaa, 0xee, 0xfd, 0x10, 0xf8, 789 - 0x2a, 0xa3, 0xf8, 0x44, 0x0d, 0xcb, 0x10, 0xf8, 790 - 0x2a, 0xa4, 0xf8, 0x45, 0x0d, 0xd7, 0x76, 0x00, 791 - 0x02, 0x00, 0xf2, 0x74, 0x09, 0xe8, 0xf0, 0x20, 792 - 0x22, 0x00, 0x76, 0xf8, 0x2a, 0xa4, 0x00, 0x00, 793 - 0x76, 0xf8, 0x2a, 0xa7, 0x00, 0x00, 0xf0, 0x73, 794 - 0x0d, 0xd7, 0x76, 0x00, 0x02, 0x00, 0xf2, 0x74, 795 - 0x09, 0xe8, 0xf0, 0x20, 0x20, 0x00, 0x76, 0xf8, 796 - 0x2a, 0xa3, 0x00, 0x00, 0x76, 0xf8, 0x2a, 0xa7, 797 - 0x00, 0x01, 0xf0, 0x74, 0x0c, 0x5e, 0xf0, 0xe0, 798 - 0xf0, 0x10, 0x3a, 0x98, 0xf8, 0x47, 0x0d, 0xe1, 799 - 0x76, 0xf8, 0x27, 0x6e, 0x00, 0x00, 0xee, 0x03, 800 - 0xfc, 0x00, 0x4a, 0x11, 0xee, 0xfe, 0x77, 0x11, 801 - 0x20, 0x00, 0x76, 0x00, 0xaa, 0xaa, 0x76, 0x01, 802 - 0x02, 0x00, 0xf2, 0x74, 0x06, 0x6c, 0xf4, 0x95, 803 - 0x48, 0x11, 0x76, 0x00, 0x55, 0x55, 0x76, 0x01, 804 - 0x02, 0x00, 0x48, 0x11, 0xf2, 0x74, 0x06, 0x6c, 805 - 0xf0, 0x00, 0x02, 0x00, 0x76, 0xf8, 0x2a, 0xa3, 806 - 0x00, 0x00, 0x76, 0xf8, 0x2a, 0xa4, 0x00, 0x00, 807 - 0xe8, 0x00, 0x4e, 0x00, 0xfb, 0x80, 0x15, 0x3e, 808 - 0xf4, 0x95, 0xe8, 0x04, 0x80, 0xf8, 0x2a, 0xa5, 809 - 0x76, 0x00, 0x2a, 0xa8, 0xf9, 0x80, 0x14, 0x87, 810 - 0x76, 0x00, 0x2a, 0xad, 0xfb, 0x80, 0x13, 0x62, 811 - 0xf4, 0x95, 0xe8, 0x02, 0x10, 0xf8, 0x2a, 0xa5, 812 - 0xf9, 0x80, 0x14, 0x63, 0xfb, 0x80, 0x16, 0x66, 813 - 0xf4, 0x95, 0xe8, 0x1c, 0xfb, 0x80, 0x16, 0x87, 814 - 0xf4, 0x95, 0xe8, 0x1c, 0xe8, 0x01, 0x4e, 0x00, 815 - 0xfb, 0x80, 0x17, 0xd6, 0xf4, 0x95, 0xe8, 0x00, 816 - 0x80, 0xf8, 0x2a, 0xa6, 0x76, 0x00, 0x2a, 0xb7, 817 - 0xf9, 0x80, 0x16, 0xaa, 0x10, 0xf8, 0x2a, 0xa6, 818 - 0xf9, 0x80, 0x17, 0x5c, 0x10, 0xf8, 0x2a, 0xa6, 819 - 0xf9, 0x80, 0x17, 0x6f, 0xee, 0x02, 0x8a, 0x11, 820 - 0xfc, 0x00, 0xf4, 0x95, 0x4a, 0x08, 0x4a, 0x09, 821 - 0x4a, 0x0a, 0x4a, 0x07, 0x4a, 0x1d, 0x68, 0xf8, 822 - 0x00, 0x07, 0x7d, 0x3f, 0x69, 0xf8, 0x00, 0x07, 823 - 0x40, 0x00, 0x68, 0xf8, 0x00, 0x1d, 0xff, 0xfc, 824 - 0x10, 0xf8, 0x2a, 0xa7, 0xf8, 0x44, 0x0e, 0x4b, 825 - 0x76, 0xf8, 0x2a, 0xa3, 0x00, 0x01, 0xf0, 0x73, 826 - 0x0e, 0x4e, 0x76, 0xf8, 0x2a, 0xa4, 0x00, 0x01, 827 - 0x8a, 0x1d, 0x8a, 0x07, 0x8a, 0x0a, 0x8a, 0x09, 828 - 0x8a, 0x08, 0xf4, 0xeb, 0x4a, 0x11, 0x4a, 0x16, 829 - 0x4a, 0x17, 0xee, 0xfe, 0x88, 0x0e, 0x71, 0x08, 830 - 0x00, 0x16, 0x71, 0x06, 0x00, 0x17, 0x11, 0x07, 831 - 0xf0, 0x66, 0x00, 0x0d, 0xf0, 0x00, 0x25, 0xa0, 832 - 0x88, 0x11, 0x76, 0x01, 0x00, 0x06, 0x81, 0x00, 833 - 0xf2, 0x74, 0x06, 0xce, 0xf0, 0x00, 0x00, 0x01, 834 - 0x76, 0x01, 0x00, 0x06, 0x70, 0x00, 0x00, 0x16, 835 - 0x48, 0x11, 0xf2, 0x74, 0x06, 0xce, 0xf0, 0x00, 836 - 0x00, 0x07, 0x70, 0x81, 0x00, 0x17, 0xee, 0x02, 837 - 0x8a, 0x17, 0x8a, 0x16, 0x8a, 0x11, 0xfc, 0x00, 838 - 0x4a, 0x11, 0x88, 0x0e, 0x71, 0x02, 0x00, 0x12, 839 - 0x11, 0x03, 0xf0, 0x66, 0x00, 0x0d, 0xf0, 0x00, 840 - 0x24, 0x00, 0x88, 0x11, 0xf4, 0x95, 0x70, 0x81, 841 - 0x00, 0x12, 0x6e, 0xe2, 0xff, 0xfe, 0x0e, 0x8d, 842 - 0xf4, 0x95, 0xe8, 0x00, 0xe8, 0x01, 0x80, 0xe1, 843 - 0x00, 0x02, 0x76, 0xe1, 0x00, 0x03, 0x00, 0xff, 844 - 0x76, 0xe1, 0x00, 0x04, 0x00, 0x00, 0x76, 0xe1, 845 - 0x00, 0x0b, 0x00, 0x00, 0x76, 0xe1, 0x00, 0x0c, 846 - 0x00, 0x00, 0x81, 0xe1, 0x00, 0x01, 0x8a, 0x11, 847 - 0xfc, 0x00, 0x4a, 0x11, 0xee, 0xfc, 0x88, 0x0e, 848 - 0xf4, 0x95, 0xf1, 0x66, 0x00, 0x0d, 0xf3, 0x00, 849 - 0x24, 0x00, 0x89, 0x11, 0xf4, 0x95, 0xf4, 0x95, 850 - 0x76, 0xe1, 0x00, 0x0c, 0x00, 0x00, 0x76, 0xe1, 851 - 0x00, 0x0b, 0x00, 0x00, 0x76, 0xe1, 0x00, 0x02, 852 - 0x00, 0x01, 0x76, 0x00, 0x00, 0x00, 0x76, 0x01, 853 - 0x00, 0x00, 0x80, 0x02, 0x76, 0x03, 0x00, 0x00, 854 - 0xf2, 0x74, 0x0c, 0xb9, 0xf4, 0x95, 0xe8, 0x00, 855 - 0xee, 0x04, 0x8a, 0x11, 0xfc, 0x00, 0x4a, 0x11, 856 - 0x88, 0x19, 0xf4, 0x95, 0x73, 0x19, 0x00, 0x0e, 857 - 0xf1, 0x66, 0x00, 0x0d, 0xf2, 0x00, 0x24, 0x00, 858 - 0x77, 0x15, 0x25, 0xa0, 0x77, 0x14, 0x00, 0x00, 859 - 0x77, 0x1a, 0x00, 0x1f, 0xf0, 0x72, 0x0f, 0x14, 860 - 0xf6, 0xb8, 0x49, 0x19, 0x09, 0x85, 0xf8, 0x4c, 861 - 0x0f, 0x13, 0xf1, 0x00, 0x00, 0x05, 0x89, 0x11, 862 - 0x49, 0x15, 0xf3, 0x00, 0x00, 0x01, 0x89, 0x13, 863 - 0x49, 0x15, 0xf3, 0x00, 0x00, 0x07, 0x89, 0x12, 864 - 0x11, 0x93, 0x1d, 0x91, 0x19, 0x92, 0x89, 0x10, 865 - 0xf4, 0x95, 0xf4, 0x95, 0x6c, 0x80, 0x0f, 0x13, 866 - 0x11, 0x93, 0x1d, 0x91, 0x19, 0x92, 0x89, 0x10, 867 - 0xf4, 0x95, 0xf4, 0x95, 0x6c, 0x80, 0x0f, 0x13, 868 - 0x11, 0x93, 0x1d, 0x91, 0x19, 0x92, 0x89, 0x10, 869 - 0xf4, 0x95, 0xf4, 0x95, 0x6c, 0x80, 0x0f, 0x13, 870 - 0x11, 0x93, 0x1d, 0x91, 0x19, 0x92, 0x89, 0x10, 871 - 0xf4, 0x95, 0xf4, 0x95, 0x6c, 0x80, 0x0f, 0x13, 872 - 0x11, 0x93, 0x1d, 0x91, 0x19, 0x92, 0x89, 0x10, 873 - 0xf4, 0x95, 0xf4, 0x95, 0x6c, 0x80, 0x0f, 0x13, 874 - 0x11, 0x93, 0x1d, 0x91, 0x19, 0x92, 0x89, 0x11, 875 - 0xf4, 0x95, 0xf4, 0x95, 0x6c, 0x81, 0x0f, 0x13, 876 - 0x6d, 0x94, 0x6d, 0xed, 0x00, 0x0d, 0x48, 0x14, 877 - 0x8a, 0x11, 0xfc, 0x00, 0x4a, 0x11, 0x4a, 0x16, 878 - 0x4a, 0x17, 0xee, 0xf8, 0x88, 0x17, 0x10, 0x0d, 879 - 0x80, 0x04, 0x10, 0x0c, 0x80, 0x05, 0x71, 0x0e, 880 - 0x00, 0x16, 0x73, 0x17, 0x00, 0x0e, 0xf0, 0x66, 881 - 0x00, 0x0d, 0xf0, 0x00, 0x24, 0x00, 0x88, 0x11, 882 - 0x10, 0xf8, 0x27, 0x63, 0xf8, 0x45, 0x0f, 0x32, 883 - 0xf2, 0x74, 0x0e, 0x9f, 0xf4, 0x95, 0x48, 0x17, 884 - 0x10, 0xf8, 0x27, 0x60, 0xf8, 0x44, 0x0f, 0x3d, 885 - 0x60, 0xe1, 0x00, 0x02, 0x00, 0x01, 0xf8, 0x20, 886 - 0x0f, 0x6d, 0xf0, 0x73, 0x11, 0x33, 0x10, 0x04, 887 - 0x80, 0x00, 0x10, 0x05, 0xf0, 0x74, 0x06, 0x9f, 888 - 0x11, 0x04, 0xf3, 0x00, 0x00, 0x01, 0x81, 0x04, 889 - 0x6d, 0x8e, 0x77, 0x10, 0x00, 0x01, 0x71, 0xe1, 890 - 0x00, 0x02, 0x00, 0x12, 0xf4, 0xaa, 0xf8, 0x30, 891 - 0x0f, 0x62, 0x77, 0x10, 0x00, 0x02, 0xf4, 0xaa, 892 - 0xf8, 0x30, 0x0f, 0x6d, 0x45, 0xe1, 0x00, 0x0b, 893 - 0x88, 0x10, 0x43, 0xe1, 0x00, 0x0c, 0x83, 0xf8, 894 - 0x00, 0x12, 0xf4, 0x95, 0xf4, 0x95, 0xf4, 0xaa, 895 - 0xf8, 0x30, 0x0f, 0x6d, 0xf0, 0x73, 0x0f, 0x96, 896 - 0xf5, 0x00, 0x81, 0x04, 0x49, 0x16, 0xf5, 0x20, 897 - 0x89, 0x16, 0x76, 0xe1, 0x00, 0x0c, 0x00, 0x00, 898 - 0x76, 0xe1, 0x00, 0x04, 0x00, 0x00, 0x48, 0x16, 899 - 0xf8, 0x45, 0x11, 0x33, 0xf7, 0xb8, 0x71, 0xe1, 900 - 0x00, 0x02, 0x00, 0x12, 0x10, 0xf8, 0x00, 0x12, 901 - 0xf0, 0x10, 0x00, 0x03, 0xf8, 0x46, 0x0f, 0x8c, 902 - 0x10, 0xf8, 0x00, 0x12, 0xf0, 0x10, 0x00, 0x03, 903 - 0xf8, 0x45, 0x10, 0x16, 0x77, 0x10, 0x00, 0x01, 904 - 0xf4, 0xaa, 0xf8, 0x30, 0x0f, 0x9c, 0x77, 0x10, 905 - 0x00, 0x02, 0xf4, 0xaa, 0xf8, 0x30, 0x0f, 0xa8, 906 - 0xf0, 0x73, 0x0f, 0x96, 0x77, 0x10, 0x00, 0x04, 907 - 0xf4, 0xaa, 0xf8, 0x30, 0x10, 0xb7, 0x77, 0x10, 908 - 0x00, 0x05, 0xf4, 0xaa, 0xf8, 0x30, 0x10, 0xbc, 909 - 0xf2, 0x74, 0x0e, 0x9f, 0xf4, 0x95, 0x48, 0x17, 910 - 0xf0, 0x73, 0x11, 0x31, 0x76, 0xe1, 0x00, 0x0c, 911 - 0x00, 0x00, 0x76, 0xe1, 0x00, 0x0b, 0x00, 0x00, 912 - 0x76, 0xe1, 0x00, 0x04, 0x00, 0x00, 0x76, 0xe1, 913 - 0x00, 0x02, 0x00, 0x02, 0x11, 0xe1, 0x00, 0x0c, 914 - 0xe8, 0x03, 0xf6, 0x20, 0x89, 0x12, 0xf4, 0x95, 915 - 0x77, 0x10, 0x00, 0x03, 0xf5, 0xaa, 0xf8, 0x30, 916 - 0x0f, 0xb6, 0x6b, 0xf8, 0x27, 0x6f, 0x00, 0x01, 917 - 0x88, 0x10, 0xf4, 0x95, 0xf4, 0x95, 0xf5, 0xae, 918 - 0xf8, 0x20, 0x0f, 0xbd, 0x48, 0x16, 0x80, 0x06, 919 - 0x88, 0x13, 0xf4, 0x95, 0x77, 0x10, 0x00, 0x03, 920 - 0xf6, 0xab, 0xf8, 0x20, 0x0f, 0xc8, 0x6b, 0xf8, 921 - 0x27, 0x6f, 0x00, 0x01, 0x12, 0x06, 0xf8, 0x45, 922 - 0x10, 0x00, 0x10, 0xe1, 0x00, 0x04, 0x80, 0x00, 923 - 0x10, 0x05, 0x80, 0x01, 0x10, 0x04, 0x80, 0x02, 924 - 0x10, 0x06, 0x80, 0x03, 0x48, 0x11, 0xf2, 0x74, 925 - 0x07, 0x1e, 0xf0, 0x00, 0x00, 0x05, 0x10, 0x06, 926 - 0x00, 0xe1, 0x00, 0x04, 0x80, 0xe1, 0x00, 0x04, 927 - 0x10, 0x06, 0x00, 0xe1, 0x00, 0x0c, 0x80, 0xe1, 928 - 0x00, 0x0c, 0x88, 0x12, 0x11, 0x06, 0x10, 0x04, 929 - 0xf6, 0x00, 0x80, 0x04, 0x48, 0x16, 0xf6, 0x20, 930 - 0x88, 0x16, 0x89, 0x13, 0xf4, 0x95, 0x77, 0x10, 931 - 0x00, 0x03, 0xf6, 0xab, 0xf8, 0x20, 0x0f, 0xf5, 932 - 0x6b, 0xf8, 0x27, 0x6f, 0x00, 0x01, 0x77, 0x10, 933 - 0x00, 0x0c, 0x71, 0xe1, 0x00, 0x04, 0x00, 0x13, 934 - 0xf6, 0xab, 0xf8, 0x20, 0x10, 0x00, 0x6b, 0xf8, 935 - 0x27, 0x6f, 0x00, 0x01, 0x6c, 0xe2, 0xff, 0xfd, 936 - 0x11, 0x31, 0xf6, 0xb8, 0x6f, 0xe1, 0x00, 0x05, 937 - 0x0c, 0x48, 0x6f, 0xe1, 0x00, 0x06, 0x0c, 0x18, 938 - 0xf0, 0x30, 0x0f, 0xff, 0xf0, 0x00, 0x00, 0x03, 939 - 0x80, 0xe1, 0x00, 0x0b, 0x76, 0xe1, 0x00, 0x02, 940 - 0x00, 0x03, 0x48, 0x16, 0xf8, 0x45, 0x11, 0x33, 941 - 0x71, 0xe1, 0x00, 0x0c, 0x00, 0x12, 0x10, 0xe1, 942 - 0x00, 0x0b, 0x49, 0x12, 0xf6, 0x20, 0x88, 0x13, 943 - 0xe8, 0x0c, 0xf6, 0x20, 0x88, 0x10, 0xf4, 0x95, 944 - 0xf4, 0x95, 0xf5, 0xab, 0xf8, 0x20, 0x10, 0x27, 945 - 0x48, 0x13, 0x80, 0x06, 0x88, 0x10, 0xf4, 0x95, 946 - 0xf4, 0x95, 0xf5, 0xae, 0xf8, 0x20, 0x10, 0x30, 947 - 0x70, 0x06, 0x00, 0x16, 0x12, 0x06, 0xf8, 0x45, 948 - 0x10, 0x5f, 0x10, 0xe1, 0x00, 0x04, 0x80, 0x00, 949 - 0x10, 0x05, 0x80, 0x01, 0x10, 0x04, 0x80, 0x02, 950 - 0x10, 0x06, 0x80, 0x03, 0x48, 0x11, 0xf2, 0x74, 951 - 0x07, 0x1e, 0xf0, 0x00, 0x00, 0x05, 0x10, 0x06, 952 - 0x00, 0xe1, 0x00, 0x04, 0x80, 0xe1, 0x00, 0x04, 953 - 0x10, 0x06, 0x00, 0xe1, 0x00, 0x0c, 0x80, 0xe1, 954 - 0x00, 0x0c, 0x88, 0x12, 0x11, 0x06, 0x10, 0x04, 955 - 0xf6, 0x00, 0x80, 0x04, 0x48, 0x16, 0xf6, 0x20, 956 - 0x88, 0x16, 0xf4, 0x95, 0x77, 0x10, 0x00, 0x0c, 957 - 0x71, 0xe1, 0x00, 0x04, 0x00, 0x13, 0xf6, 0xab, 958 - 0xf8, 0x20, 0x10, 0x5f, 0x6b, 0xf8, 0x27, 0x6f, 959 - 0x00, 0x01, 0x77, 0x10, 0x00, 0x0c, 0xf6, 0xaa, 960 - 0xf8, 0x20, 0x10, 0x6b, 0xf2, 0x74, 0x0e, 0x9f, 961 - 0xf4, 0x95, 0x48, 0x17, 0x71, 0xe1, 0x00, 0x0c, 962 - 0x00, 0x12, 0x77, 0x10, 0x00, 0x0c, 0xf4, 0xaa, 963 - 0xf8, 0x30, 0x10, 0x7c, 0x77, 0x10, 0x00, 0x0c, 964 - 0x71, 0xe1, 0x00, 0x0b, 0x00, 0x13, 0xf6, 0xab, 965 - 0xf8, 0x30, 0x10, 0xb4, 0xe7, 0x30, 0xf7, 0xaa, 966 - 0xf8, 0x30, 0x10, 0xb4, 0xf2, 0x74, 0x0e, 0xc1, 967 - 0xf4, 0x95, 0x48, 0x17, 0x88, 0x12, 0xf4, 0x95, 968 - 0xf4, 0x95, 0x6c, 0x82, 0x10, 0x8d, 0x76, 0xe1, 969 - 0x00, 0x04, 0x00, 0x00, 0x76, 0xe1, 0x00, 0x02, 970 - 0x00, 0x05, 0xf0, 0x73, 0x10, 0xb4, 0x76, 0xe1, 971 - 0x00, 0x02, 0x00, 0x04, 0x77, 0x10, 0x00, 0x0c, 972 - 0x71, 0xe1, 0x00, 0x0b, 0x00, 0x12, 0xf5, 0xaa, 973 - 0xf8, 0x20, 0x10, 0x9a, 0xf0, 0x73, 0x10, 0x9c, 974 - 0x77, 0x12, 0x00, 0x0c, 0x76, 0x00, 0x00, 0x00, 975 - 0x70, 0x01, 0x00, 0x12, 0x70, 0x02, 0x00, 0x17, 976 - 0x76, 0x03, 0x00, 0x01, 0x48, 0x11, 0xf2, 0x74, 977 - 0x0c, 0xb9, 0xf0, 0x00, 0x00, 0x05, 0x76, 0xe1, 978 - 0x00, 0x04, 0x00, 0x00, 0x77, 0x10, 0x00, 0x0c, 979 - 0x71, 0xe1, 0x00, 0x0b, 0x00, 0x12, 0xf6, 0xaa, 980 - 0xf8, 0x20, 0x11, 0x1c, 0x48, 0x16, 0xf8, 0x45, 981 - 0x11, 0x33, 0x60, 0xe1, 0x00, 0x02, 0x00, 0x05, 982 - 0xf8, 0x20, 0x10, 0xdf, 0x10, 0xe1, 0x00, 0x0b, 983 - 0x08, 0xe1, 0x00, 0x0c, 0x11, 0xe1, 0x00, 0x04, 984 - 0xf8, 0x4d, 0x10, 0xc7, 0x6b, 0xf8, 0x27, 0x6f, 985 - 0x00, 0x01, 0x88, 0x10, 0xf4, 0x95, 0xf4, 0x95, 986 - 0xf5, 0xae, 0xf8, 0x20, 0x10, 0xcf, 0x48, 0x16, 987 - 0xf4, 0x95, 0x48, 0x08, 0xf8, 0x45, 0x11, 0x16, 988 - 0x6f, 0xe1, 0x00, 0x0c, 0x0d, 0x00, 0x81, 0xe1, 989 - 0x00, 0x0c, 0x11, 0x04, 0xf5, 0x00, 0x81, 0x04, 990 - 0x49, 0x16, 0xf5, 0x20, 0x89, 0x16, 0xf0, 0x73, 991 - 0x11, 0x0e, 0x10, 0xe1, 0x00, 0x0b, 0x71, 0xe1, 992 - 0x00, 0x0c, 0x00, 0x12, 0x88, 0x10, 0xf4, 0x95, 993 - 0xf4, 0x95, 0xf6, 0xaa, 0xf8, 0x30, 0x11, 0x16, 994 - 0x49, 0x12, 0xf6, 0x20, 0x88, 0x10, 0xf4, 0x95, 995 - 0xf4, 0x95, 0xf5, 0xae, 0xf8, 0x20, 0x10, 0xf3, 996 - 0x48, 0x16, 0x80, 0x06, 0x48, 0x08, 0xf8, 0x45, 997 - 0x11, 0x16, 0x10, 0x04, 0x70, 0x02, 0x00, 0x17, 998 - 0x80, 0x00, 0x76, 0x03, 0x00, 0x00, 0x10, 0x06, 999 - 0x80, 0x01, 0x10, 0x05, 0xf0, 0x74, 0x0c, 0xb9, 1000 - 0x10, 0x06, 0x00, 0xe1, 0x00, 0x0c, 0x80, 0xe1, 1001 - 0x00, 0x0c, 0x11, 0x06, 0x10, 0x04, 0xf6, 0x00, 1002 - 0x80, 0x04, 0x48, 0x16, 0xf6, 0x20, 0x88, 0x16, 1003 - 0x10, 0xe1, 0x00, 0x0c, 0x08, 0xe1, 0x00, 0x0b, 1004 - 0xf8, 0x45, 0x11, 0x1c, 0xf0, 0x73, 0x11, 0x31, 1005 - 0xf2, 0x74, 0x0e, 0x9f, 0xf4, 0x95, 0x48, 0x17, 1006 - 0xf0, 0x73, 0x11, 0x33, 0x76, 0xe1, 0x00, 0x0c, 1007 - 0x00, 0x00, 0x76, 0xe1, 0x00, 0x0b, 0x00, 0x00, 1008 - 0x76, 0xe1, 0x00, 0x02, 0x00, 0x01, 0x10, 0x04, 1009 - 0x80, 0x00, 0x10, 0x05, 0xf0, 0x74, 0x06, 0x9f, 1010 - 0x88, 0x12, 0xf4, 0x95, 0x77, 0x10, 0x00, 0xff, 1011 - 0xf4, 0xaa, 0xf8, 0x30, 0x11, 0x33, 0x6c, 0x86, 1012 - 0x0f, 0x70, 0xee, 0x08, 0x8a, 0x17, 0x8a, 0x16, 1013 - 0x8a, 0x11, 0xfc, 0x00, 0x4a, 0x11, 0xee, 0xfc, 1014 - 0xf4, 0x95, 0x71, 0x06, 0x00, 0x12, 0x88, 0x11, 1015 - 0x73, 0x12, 0x00, 0x0e, 0xf1, 0x66, 0x00, 0x0d, 1016 - 0xf3, 0x00, 0x24, 0x00, 0x89, 0x14, 0x13, 0x81, 1017 - 0xf7, 0x7a, 0xf3, 0x30, 0x00, 0x01, 0x81, 0xf8, 1018 - 0x27, 0x60, 0x13, 0xe1, 0x00, 0x01, 0xf7, 0x7c, 1019 - 0xf3, 0x30, 0x00, 0x03, 0x81, 0xf8, 0x27, 0x61, 1020 - 0xe9, 0x0f, 0x19, 0xe1, 0x00, 0x01, 0x81, 0xf8, 1021 - 0x27, 0x62, 0x71, 0xe4, 0x00, 0x03, 0x00, 0x13, 1022 - 0xf6, 0xb8, 0x49, 0x13, 0xf3, 0x00, 0x00, 0x01, 1023 - 0xf3, 0x30, 0x00, 0x0f, 0x49, 0x0b, 0x09, 0xf8, 1024 - 0x27, 0x62, 0xf8, 0x4d, 0x11, 0x75, 0x77, 0x10, 1025 - 0x00, 0xff, 0xf4, 0xab, 0xf8, 0x30, 0x11, 0x75, 1026 - 0x57, 0xf8, 0x27, 0x6c, 0xf3, 0x00, 0x00, 0x01, 1027 - 0x4f, 0xf8, 0x27, 0x6c, 0x76, 0xf8, 0x27, 0x63, 1028 - 0x00, 0x01, 0xf0, 0x73, 0x11, 0x78, 0x76, 0xf8, 1029 - 0x27, 0x63, 0x00, 0x00, 0x70, 0xe4, 0x00, 0x03, 1030 - 0x27, 0x62, 0x76, 0xf8, 0x27, 0x64, 0x00, 0x00, 1031 - 0x11, 0xf8, 0x27, 0x61, 0x61, 0xf8, 0x00, 0x0b, 1032 - 0x00, 0x02, 0xf8, 0x20, 0x11, 0x8d, 0xe9, 0x01, 1033 - 0x6f, 0xe1, 0x00, 0x02, 0x0f, 0x18, 0x81, 0xf8, 1034 - 0x27, 0x64, 0x11, 0xf8, 0x27, 0x61, 0x61, 0xf8, 1035 - 0x00, 0x0b, 0x00, 0x01, 0xf8, 0x20, 0x11, 0xa9, 1036 - 0x10, 0xf8, 0x27, 0x64, 0xf1, 0x00, 0x00, 0x04, 1037 - 0x89, 0x13, 0xe9, 0xb8, 0xf5, 0x20, 0x81, 0xf8, 1038 - 0x27, 0x65, 0x60, 0x84, 0x00, 0x02, 0xf8, 0x20, 1039 - 0x11, 0xa9, 0x70, 0x00, 0x00, 0x11, 0x70, 0x01, 1040 - 0x00, 0x13, 0x70, 0x02, 0x27, 0x65, 0xf2, 0x74, 1041 - 0x0f, 0x18, 0xf4, 0x95, 0x48, 0x12, 0xee, 0x04, 1042 - 0x8a, 0x11, 0xfc, 0x00, 0x4a, 0x11, 0x4a, 0x16, 1043 - 0x4a, 0x17, 0xee, 0xfc, 0xe8, 0x00, 0x4e, 0xf8, 1044 - 0x27, 0x66, 0xe8, 0x00, 0x4e, 0xf8, 0x27, 0x68, 1045 - 0xe8, 0x00, 0x4e, 0xf8, 0x27, 0x6c, 0xe8, 0x00, 1046 - 0x4e, 0xf8, 0x27, 0x6a, 0x77, 0x12, 0x27, 0x40, 1047 - 0x77, 0x11, 0x24, 0x00, 0x77, 0x1a, 0x00, 0x1f, 1048 - 0xf0, 0x72, 0x11, 0xdb, 0x70, 0x92, 0x00, 0x11, 1049 - 0x76, 0xe1, 0x00, 0x01, 0xff, 0xff, 0x76, 0x81, 1050 - 0x00, 0x00, 0x76, 0xe1, 0x00, 0x02, 0x00, 0x00, 1051 - 0x76, 0xe1, 0x00, 0x03, 0x00, 0xff, 0x76, 0xe1, 1052 - 0x00, 0x0c, 0x00, 0x00, 0x76, 0xe1, 0x00, 0x0b, 1053 - 0x00, 0x00, 0x76, 0xe1, 0x00, 0x04, 0x00, 0x00, 1054 - 0x6d, 0xe9, 0x00, 0x0d, 0xf0, 0x20, 0x25, 0xa0, 1055 - 0xf1, 0x00, 0x00, 0x07, 0x89, 0x11, 0xf1, 0x00, 1056 - 0x00, 0x01, 0x81, 0x02, 0x88, 0x16, 0xf4, 0x95, 1057 - 0x77, 0x17, 0x00, 0x20, 0x76, 0x86, 0x00, 0xff, 1058 - 0x76, 0x00, 0x00, 0x00, 0x76, 0x01, 0x00, 0x06, 1059 - 0x10, 0x02, 0xf0, 0x74, 0x06, 0x6c, 0x76, 0x00, 1060 - 0x00, 0x00, 0x76, 0x01, 0x00, 0x06, 0xf2, 0x74, 1061 - 0x06, 0x6c, 0xf4, 0x95, 0x48, 0x11, 0x10, 0x02, 1062 - 0xf0, 0x00, 0x00, 0x0d, 0x80, 0x02, 0x6d, 0xe9, 1063 - 0x00, 0x0d, 0x6d, 0xee, 0x00, 0x0d, 0x6c, 0xef, 1064 - 0xff, 0xff, 0x11, 0xe8, 0xf0, 0x74, 0x0c, 0x9d, 1065 - 0xee, 0x04, 0x8a, 0x17, 0x8a, 0x16, 0x8a, 0x11, 1066 - 0xfc, 0x00, 0x4a, 0x11, 0x4a, 0x16, 0x4a, 0x17, 1067 - 0xee, 0xfa, 0x88, 0x11, 0x10, 0x0a, 0x49, 0x11, 1068 - 0xf8, 0x4d, 0x12, 0x9f, 0x48, 0x08, 0xf8, 0x45, 1069 - 0x12, 0x9f, 0x80, 0x04, 0x12, 0x81, 0xf5, 0x78, 1070 - 0x89, 0x12, 0xf4, 0x95, 0xf4, 0x95, 0x6c, 0xe2, 1071 - 0xff, 0xb9, 0x12, 0x8a, 0x61, 0xf8, 0x00, 0x08, 1072 - 0x00, 0x80, 0xf8, 0x30, 0x12, 0x8a, 0x13, 0xe1, 1073 - 0x00, 0x01, 0xf0, 0xe8, 0xf7, 0x78, 0xf1, 0xa0, 1074 - 0xf2, 0x30, 0x1f, 0xff, 0x88, 0x17, 0xf4, 0x95, 1075 - 0x77, 0x12, 0x24, 0x00, 0x77, 0x16, 0x00, 0x00, 1076 - 0x77, 0x13, 0x00, 0x20, 0xf6, 0xb8, 0x48, 0x17, 1077 - 0x08, 0xe2, 0x00, 0x01, 0xf8, 0x45, 0x12, 0x42, 1078 - 0x6d, 0xea, 0x00, 0x0d, 0x6d, 0x96, 0x6c, 0xeb, 1079 - 0xff, 0xff, 0x12, 0x34, 0xf0, 0x73, 0x12, 0x90, 1080 - 0x56, 0xf8, 0x27, 0x6a, 0xf0, 0x00, 0x00, 0x01, 1081 - 0x4e, 0xf8, 0x27, 0x6a, 0x60, 0x82, 0x00, 0x01, 1082 - 0xf8, 0x30, 0x12, 0x54, 0x70, 0x00, 0x00, 0x16, 1083 - 0xf2, 0x74, 0x11, 0x38, 0xf4, 0x95, 0x48, 0x11, 1084 - 0xf0, 0x73, 0x12, 0x90, 0x70, 0x00, 0x00, 0x16, 1085 - 0xf2, 0x74, 0x11, 0x38, 0xf4, 0x95, 0x48, 0x11, 1086 - 0x72, 0x10, 0x2a, 0x9e, 0xf4, 0x95, 0xf4, 0xaf, 1087 - 0xf8, 0x30, 0x12, 0x6e, 0x76, 0x00, 0x00, 0x00, 1088 - 0x76, 0x01, 0x00, 0xbc, 0x70, 0x02, 0x00, 0x16, 1089 - 0x76, 0x03, 0x00, 0x00, 0xf2, 0x74, 0x0c, 0xb9, 1090 - 0xf4, 0x95, 0x48, 0x11, 0xf0, 0x73, 0x12, 0x90, 1091 - 0x10, 0xf8, 0x27, 0x6e, 0xf8, 0x44, 0x12, 0x90, 1092 - 0x76, 0x00, 0x00, 0x00, 0x76, 0x01, 0x00, 0xbc, 1093 - 0x70, 0x02, 0x00, 0x16, 0x76, 0x03, 0x00, 0x00, 1094 - 0xf2, 0x74, 0x0c, 0xb9, 0xf4, 0x95, 0x48, 0x11, 1095 - 0xf0, 0x74, 0x0c, 0x5e, 0xf0, 0xe0, 0xf0, 0x10, 1096 - 0x13, 0x88, 0xf8, 0x42, 0x12, 0x90, 0x76, 0xf8, 1097 - 0x27, 0x6e, 0x00, 0x01, 0xf0, 0x73, 0x12, 0x90, 1098 - 0x56, 0xf8, 0x27, 0x66, 0xf0, 0x00, 0x00, 0x01, 1099 - 0x4e, 0xf8, 0x27, 0x66, 0x6d, 0xe9, 0x00, 0x5e, 1100 - 0x56, 0xf8, 0x27, 0x68, 0xf0, 0x00, 0x00, 0x01, 1101 - 0x4e, 0xf8, 0x27, 0x68, 0x71, 0x04, 0x00, 0x12, 1102 - 0x6e, 0xea, 0xff, 0xff, 0x12, 0x18, 0x70, 0x04, 1103 - 0x00, 0x12, 0xee, 0x06, 0x8a, 0x17, 0x8a, 0x16, 1104 - 0x8a, 0x11, 0xfc, 0x00, 0x4a, 0x11, 0xee, 0xfe, 1105 - 0x88, 0x0e, 0xf4, 0x95, 0xf0, 0x66, 0x00, 0x0d, 1106 - 0xf0, 0x00, 0x25, 0xa0, 0x88, 0x11, 0xf4, 0x95, 1107 - 0xf4, 0x95, 0x76, 0x81, 0x00, 0xff, 0x76, 0x00, 1108 - 0x00, 0x00, 0x76, 0x01, 0x00, 0x06, 0xf2, 0x74, 1109 - 0x06, 0x6c, 0xf0, 0x00, 0x00, 0x01, 0x76, 0x00, 1110 - 0x00, 0x00, 0x76, 0x01, 0x00, 0x06, 0x48, 0x11, 1111 - 0xf2, 0x74, 0x06, 0x6c, 0xf0, 0x00, 0x00, 0x07, 1112 - 0xee, 0x02, 0x8a, 0x11, 0xfc, 0x00, 0x4a, 0x11, 1113 - 0x88, 0x0e, 0xf4, 0x95, 0xf0, 0x66, 0x00, 0x0d, 1114 - 0xf0, 0x00, 0x24, 0x00, 0x88, 0x11, 0xf4, 0x95, 1115 - 0xf4, 0x95, 0x76, 0xe1, 0x00, 0x01, 0xff, 0xff, 1116 - 0x76, 0x81, 0x00, 0x00, 0x76, 0xe1, 0x00, 0x02, 1117 - 0x00, 0x00, 0x76, 0xe1, 0x00, 0x03, 0x00, 0xff, 1118 - 0x8a, 0x11, 0xfc, 0x00, 0x4a, 0x11, 0xf4, 0x95, 1119 - 0x13, 0x03, 0x88, 0x11, 0xfa, 0x4d, 0x12, 0xec, 1120 - 0x71, 0x02, 0x00, 0x12, 0xf3, 0x10, 0x00, 0x01, 1121 - 0x89, 0x1a, 0xf4, 0x95, 0xf0, 0x72, 0x12, 0xeb, 1122 - 0x70, 0x91, 0x00, 0x12, 0x8a, 0x11, 0xfc, 0x00, 1123 - 0xf4, 0x95, 0x4a, 0x0b, 0x4a, 0x0c, 0x4a, 0x0d, 1124 - 0xf7, 0xb8, 0xee, 0xfe, 0x10, 0xf8, 0x00, 0x08, 1125 - 0x11, 0x06, 0xf1, 0xc0, 0x83, 0x00, 0xf4, 0x85, 1126 - 0x11, 0x06, 0xf7, 0x85, 0x81, 0x06, 0xf6, 0xb8, 1127 - 0xec, 0x0f, 0x1e, 0x06, 0x61, 0x00, 0x80, 0x00, 1128 - 0xf8, 0x20, 0x13, 0x05, 0xf4, 0x84, 0xee, 0x02, 1129 - 0x8a, 0x0d, 0x8a, 0x0c, 0x8a, 0x0b, 0xfc, 0x00, 1130 - 0xf4, 0x95, 0x4a, 0x0b, 0x4a, 0x0c, 0x4a, 0x0d, 1131 - 0xee, 0xfe, 0xf7, 0xb8, 0x80, 0x00, 0x10, 0xf8, 1132 - 0x00, 0x08, 0xf4, 0x85, 0x11, 0x06, 0xf7, 0x85, 1133 - 0x81, 0x06, 0xf6, 0xb8, 0xec, 0x0f, 0x1e, 0x06, 1134 - 0xf0, 0xf0, 0x61, 0x00, 0x80, 0x00, 0xf8, 0x20, 1135 - 0x13, 0x20, 0xf4, 0x84, 0xee, 0x02, 0x8a, 0x0d, 1136 - 0x8a, 0x0c, 0x8a, 0x0b, 0xfc, 0x00, 0x4a, 0x11, 1137 - 0x77, 0x11, 0x00, 0x7b, 0x76, 0x81, 0x2e, 0xec, 1138 - 0x77, 0x11, 0x00, 0x7b, 0xee, 0xff, 0x71, 0x81, 1139 - 0x00, 0x11, 0xee, 0x01, 0x76, 0xe1, 0x00, 0x01, 1140 - 0x00, 0x00, 0x76, 0xe1, 0x00, 0x04, 0x00, 0x00, 1141 - 0x76, 0xe1, 0x00, 0x06, 0x00, 0x00, 0x76, 0xe1, 1142 - 0x00, 0x62, 0x00, 0x00, 0x76, 0xe1, 0x00, 0x76, 1143 - 0x00, 0x00, 0x76, 0xe1, 0x00, 0x92, 0x00, 0x00, 1144 - 0x76, 0xe1, 0x00, 0x94, 0x00, 0x00, 0x76, 0xe1, 1145 - 0x00, 0xb0, 0x00, 0x00, 0x76, 0xe1, 0x00, 0xb3, 1146 - 0x00, 0x00, 0x76, 0xe1, 0x00, 0xbe, 0x00, 0x00, 1147 - 0x76, 0xe1, 0x00, 0xbf, 0x00, 0x00, 0x76, 0xe1, 1148 - 0x00, 0xc1, 0x00, 0x00, 0x76, 0xe1, 0x00, 0xc3, 1149 - 0x00, 0x00, 0x76, 0xe1, 0x00, 0xc5, 0x00, 0x00, 1150 - 0x76, 0xe1, 0x00, 0xc7, 0x00, 0x00, 0x76, 0x81, 1151 - 0x00, 0x00, 0x8a, 0x11, 0xf4, 0x95, 0xf4, 0xe4, 1152 - 0x4a, 0x11, 0x4a, 0x16, 0x4a, 0x17, 0xee, 0xff, 1153 - 0xf4, 0x95, 0x71, 0x06, 0x00, 0x16, 0xfb, 0x80, 1154 - 0x16, 0xa2, 0x88, 0x17, 0xf4, 0x95, 0xf7, 0xb8, 1155 - 0x10, 0xf8, 0x00, 0x17, 0xf0, 0x10, 0x00, 0x02, 1156 - 0xfa, 0x46, 0x13, 0x88, 0x77, 0x11, 0x00, 0x00, 1157 - 0x10, 0xf8, 0x00, 0x17, 0xf0, 0x10, 0x00, 0x02, 1158 - 0xf8, 0x45, 0x13, 0xf9, 0x10, 0xf8, 0x00, 0x17, 1159 - 0xf8, 0x45, 0x14, 0x39, 0x10, 0xf8, 0x00, 0x17, 1160 - 0xf0, 0x10, 0x00, 0x01, 0xf8, 0x45, 0x14, 0x1f, 1161 - 0xf0, 0x73, 0x14, 0x52, 0x10, 0xf8, 0x00, 0x17, 1162 - 0xf0, 0x10, 0x00, 0x03, 0xf8, 0x45, 0x13, 0xd3, 1163 - 0x10, 0xf8, 0x00, 0x17, 0xf0, 0x10, 0x00, 0x06, 1164 - 0xf8, 0x44, 0x14, 0x52, 0x77, 0x12, 0x00, 0x7b, 1165 - 0x71, 0x82, 0x00, 0x14, 0x61, 0xe4, 0x00, 0x07, 1166 - 0x00, 0x40, 0xf8, 0x30, 0x14, 0x52, 0x49, 0x14, 1167 - 0x48, 0x17, 0xf6, 0x00, 0x88, 0x12, 0xf4, 0x95, 1168 - 0x77, 0x13, 0x00, 0x55, 0x77, 0x11, 0x00, 0x57, 1169 - 0x6d, 0xea, 0x00, 0x3b, 0xe5, 0x01, 0x10, 0xe6, 1170 - 0x00, 0x06, 0x80, 0x81, 0x48, 0x14, 0x00, 0xf8, 1171 - 0x00, 0x17, 0x88, 0x12, 0xf4, 0x95, 0x77, 0x11, 1172 - 0x00, 0x55, 0x10, 0xe2, 0x00, 0x40, 0x80, 0x81, 1173 - 0x77, 0x11, 0x00, 0x57, 0x10, 0xe6, 0x00, 0x07, 1174 - 0x80, 0x81, 0x77, 0x11, 0x00, 0x55, 0x10, 0xe2, 1175 - 0x00, 0x45, 0x80, 0x81, 0x10, 0xe6, 0x00, 0x08, 1176 - 0x77, 0x11, 0x00, 0x57, 0x80, 0x81, 0x77, 0x11, 1177 - 0x00, 0x55, 0x10, 0xe2, 0x00, 0x4a, 0x80, 0x81, 1178 - 0x77, 0x11, 0x00, 0x57, 0x10, 0xe6, 0x00, 0x09, 1179 - 0x80, 0x81, 0xf2, 0x73, 0x14, 0x52, 0x77, 0x11, 1180 - 0x03, 0xc0, 0x77, 0x12, 0x00, 0x7b, 0x10, 0x82, 1181 - 0xf0, 0x00, 0x00, 0x07, 0x88, 0x13, 0xf4, 0x95, 1182 - 0xf4, 0x95, 0x96, 0x1b, 0xf8, 0x30, 0x14, 0x52, 1183 - 0x10, 0xe3, 0x00, 0x35, 0x77, 0x12, 0x00, 0x55, 1184 - 0x80, 0x82, 0x77, 0x12, 0x00, 0x57, 0x10, 0xe6, 1185 - 0x00, 0x04, 0x80, 0x82, 0x77, 0x12, 0x00, 0x55, 1186 - 0x10, 0xe3, 0x00, 0x37, 0x80, 0x82, 0x77, 0x12, 1187 - 0x00, 0x57, 0x10, 0xe6, 0x00, 0x05, 0x80, 0x82, 1188 - 0x48, 0x11, 0xf0, 0x40, 0x00, 0x10, 0xf2, 0x73, 1189 - 0x14, 0x50, 0xf0, 0x40, 0x00, 0x20, 0x77, 0x12, 1190 - 0x00, 0x7b, 0x10, 0x82, 0xf0, 0x00, 0x00, 0x07, 1191 - 0x88, 0x12, 0xf4, 0x95, 0xf4, 0x95, 0x96, 0x0d, 1192 - 0xf8, 0x30, 0x14, 0x52, 0x10, 0xe2, 0x00, 0x34, 1193 - 0x77, 0x13, 0x00, 0x55, 0x80, 0x83, 0x77, 0x13, 1194 - 0x00, 0x57, 0x10, 0xe6, 0x00, 0x02, 0x80, 0x83, 1195 - 0x10, 0xe2, 0x00, 0x36, 0x77, 0x12, 0x00, 0x55, 1196 - 0x80, 0x82, 0x77, 0x12, 0x00, 0x57, 0x10, 0xe6, 1197 - 0x00, 0x03, 0x80, 0x82, 0x48, 0x11, 0xf0, 0x40, 1198 - 0x00, 0x04, 0xf2, 0x73, 0x14, 0x50, 0xf0, 0x40, 1199 - 0x00, 0x08, 0x77, 0x12, 0x00, 0x7b, 0x10, 0x82, 1200 - 0xf0, 0x00, 0x00, 0x07, 0x88, 0x12, 0xf4, 0x95, 1201 - 0xf4, 0x95, 0x96, 0x0e, 0xf8, 0x30, 0x14, 0x52, 1202 - 0x10, 0xe2, 0x00, 0x33, 0x77, 0x12, 0x00, 0x55, 1203 - 0x80, 0x82, 0x77, 0x12, 0x00, 0x57, 0x10, 0xe6, 1204 - 0x00, 0x01, 0x80, 0x82, 0x48, 0x11, 0xf2, 0x73, 1205 - 0x14, 0x50, 0xf0, 0x40, 0x00, 0x02, 0x77, 0x12, 1206 - 0x00, 0x7b, 0x10, 0x82, 0xf0, 0x00, 0x00, 0x07, 1207 - 0x88, 0x12, 0xf4, 0x95, 0xf4, 0x95, 0x96, 0x0f, 1208 - 0xf8, 0x30, 0x14, 0x52, 0x10, 0xe2, 0x00, 0x32, 1209 - 0x77, 0x12, 0x00, 0x55, 0x77, 0x13, 0x00, 0x57, 1210 - 0x80, 0x82, 0x48, 0x11, 0xe7, 0x62, 0xf0, 0x40, 1211 - 0x00, 0x01, 0xe5, 0x01, 0x88, 0x11, 0xf4, 0x95, 1212 - 0x77, 0x12, 0x00, 0x7b, 0x48, 0x11, 0x71, 0x82, 1213 - 0x00, 0x12, 0x1a, 0xe2, 0x00, 0x07, 0x80, 0xe2, 1214 - 0x00, 0x07, 0xf9, 0x80, 0x16, 0x9a, 0xee, 0x01, 1215 - 0x8a, 0x17, 0x48, 0x11, 0x8a, 0x16, 0x8a, 0x11, 1216 - 0xf4, 0xe4, 0x4a, 0x11, 0x88, 0x11, 0x77, 0x0e, 1217 - 0x00, 0x05, 0x77, 0x12, 0x00, 0x55, 0xe8, 0x04, 1218 - 0xf6, 0xb8, 0x28, 0xe1, 0x00, 0x02, 0xee, 0xff, 1219 - 0x80, 0x82, 0x77, 0x12, 0x00, 0x57, 0xf0, 0x20, 1220 - 0x80, 0x00, 0xee, 0x01, 0x1a, 0x82, 0x77, 0x12, 1221 - 0x00, 0x57, 0x80, 0x82, 0xe8, 0x01, 0x32, 0xe1, 1222 - 0x00, 0x02, 0xf5, 0x82, 0x77, 0x11, 0x00, 0x54, 1223 - 0xf6, 0x93, 0x18, 0x81, 0x77, 0x11, 0x00, 0x54, 1224 - 0xf2, 0xa0, 0x80, 0x81, 0x8a, 0x11, 0xf4, 0x95, 1225 - 0xf4, 0xe4, 0x4a, 0x11, 0x4a, 0x16, 0xf4, 0x95, 1226 - 0x71, 0x04, 0x00, 0x11, 0xfb, 0x80, 0x16, 0xa2, 1227 - 0x88, 0x16, 0xf4, 0x95, 0x77, 0x12, 0x00, 0x55, 1228 - 0x10, 0xe6, 0x00, 0x03, 0x80, 0x82, 0x77, 0x12, 1229 - 0x00, 0x56, 0x10, 0xe1, 0x00, 0x02, 0x77, 0x13, 1230 - 0x00, 0x56, 0x80, 0x82, 0x77, 0x12, 0x00, 0x56, 1231 - 0x10, 0xe1, 0x00, 0x03, 0x80, 0x82, 0x10, 0xe1, 1232 - 0x00, 0x04, 0x77, 0x12, 0x00, 0x56, 0x80, 0x82, 1233 - 0x77, 0x12, 0x00, 0x56, 0x10, 0xe1, 0x00, 0x01, 1234 - 0x80, 0x82, 0xe7, 0x12, 0xe5, 0x01, 0xf9, 0x80, 1235 - 0x16, 0x9a, 0x8a, 0x16, 0x8a, 0x11, 0xf4, 0xe4, 1236 - 0x4a, 0x11, 0x4a, 0x16, 0x4a, 0x17, 0xee, 0xf9, 1237 - 0x77, 0x11, 0x00, 0x7b, 0x76, 0x00, 0x00, 0x16, 1238 - 0x76, 0x01, 0x00, 0x17, 0x76, 0x02, 0x00, 0x1a, 1239 - 0x76, 0x03, 0x00, 0x1b, 0x76, 0x04, 0x00, 0x1c, 1240 - 0x76, 0x05, 0x00, 0x1d, 0x71, 0x81, 0x00, 0x17, 1241 - 0x71, 0xe7, 0x00, 0x06, 0x00, 0x11, 0x10, 0x81, 1242 - 0xf8, 0x44, 0x14, 0xdf, 0xf9, 0x80, 0x16, 0x53, 1243 - 0xf6, 0xb8, 0xfb, 0x80, 0x15, 0x85, 0xf0, 0x20, 1244 - 0xff, 0xff, 0xf6, 0xb8, 0xfb, 0x80, 0x16, 0x08, 1245 - 0xf0, 0x20, 0xff, 0xff, 0x77, 0x11, 0x00, 0x7b, 1246 - 0x71, 0x81, 0x00, 0x17, 0x76, 0xe7, 0x00, 0x06, 1247 - 0x00, 0x01, 0x48, 0x17, 0x77, 0x16, 0x00, 0x00, 1248 - 0x77, 0x10, 0x00, 0x04, 0x77, 0x15, 0x00, 0x03, 1249 - 0x77, 0x14, 0x00, 0x02, 0x77, 0x13, 0x00, 0x01, 1250 - 0xf0, 0x00, 0x00, 0x39, 0x76, 0xe7, 0x00, 0x08, 1251 - 0x00, 0x1f, 0x76, 0xe7, 0x00, 0x07, 0x00, 0x00, 1252 - 0x88, 0x0e, 0x77, 0x1a, 0x00, 0x05, 0x48, 0x17, 1253 - 0xf0, 0x00, 0x00, 0x09, 0x88, 0x12, 0x48, 0x18, 1254 - 0x88, 0x19, 0xe8, 0x00, 0xf0, 0x72, 0x15, 0x2c, 1255 - 0x73, 0x19, 0x00, 0x11, 0x76, 0x82, 0x00, 0x00, 1256 - 0x11, 0x91, 0x73, 0x11, 0x00, 0x19, 0x70, 0xe2, 1257 - 0x00, 0x03, 0x00, 0x16, 0x70, 0xe2, 0x00, 0x04, 1258 - 0x00, 0x13, 0x70, 0xe2, 0x00, 0x05, 0x00, 0x14, 1259 - 0x81, 0xe2, 0x00, 0x01, 0x70, 0xe2, 0x00, 0x06, 1260 - 0x00, 0x15, 0x70, 0xe2, 0x00, 0x07, 0x00, 0x10, 1261 - 0x80, 0xe2, 0x00, 0x02, 0x73, 0x0e, 0x00, 0x11, 1262 - 0xf1, 0x00, 0x00, 0x1e, 0x6d, 0xee, 0x00, 0x05, 1263 - 0x6d, 0xeb, 0x00, 0x05, 0x6d, 0xec, 0x00, 0x05, 1264 - 0x6d, 0xed, 0x00, 0x05, 0x6d, 0xe8, 0x00, 0x05, 1265 - 0xf0, 0x00, 0x00, 0x01, 0x81, 0x91, 0x6d, 0xea, 1266 - 0x00, 0x08, 0x73, 0x11, 0x00, 0x0e, 0xee, 0x07, 1267 - 0x76, 0xe7, 0x00, 0x41, 0x00, 0x24, 0x76, 0xe7, 1268 - 0x00, 0x46, 0x00, 0x25, 0x76, 0xe7, 0x00, 0x4b, 1269 - 0x00, 0x26, 0x76, 0xe7, 0x00, 0x50, 0x00, 0x27, 1270 - 0x8a, 0x17, 0x8a, 0x16, 0x8a, 0x11, 0xf4, 0xe4, 1271 - 0x4a, 0x11, 0x4a, 0x16, 0xee, 0xfe, 0x88, 0x11, 1272 - 0x56, 0x06, 0x4e, 0x00, 0xf9, 0x80, 0x16, 0xa2, 1273 - 0xf7, 0xb8, 0x10, 0xf8, 0x00, 0x11, 0xf0, 0x10, 1274 - 0xff, 0xff, 0xfa, 0x45, 0x15, 0x60, 0x77, 0x16, 1275 - 0xff, 0xff, 0x77, 0x12, 0x00, 0x7b, 0x49, 0x11, 1276 - 0x10, 0x82, 0xf6, 0x03, 0xf0, 0x00, 0x00, 0x09, 1277 - 0x88, 0x11, 0xf4, 0x95, 0xf4, 0x95, 0x10, 0x81, 1278 - 0xf8, 0x44, 0x15, 0x71, 0xf2, 0x73, 0x15, 0x71, 1279 - 0xf4, 0x95, 0xe7, 0x16, 0x77, 0x11, 0x00, 0x7b, 1280 - 0x10, 0x81, 0xf0, 0x00, 0x00, 0x09, 0x88, 0x11, 1281 - 0xf4, 0x95, 0x77, 0x12, 0x00, 0x06, 0x10, 0x81, 1282 - 0xf8, 0x45, 0x15, 0x5c, 0x6e, 0xea, 0xff, 0xff, 1283 - 0x15, 0x69, 0x6d, 0xe9, 0x00, 0x08, 0x76, 0x86, 1284 - 0x00, 0x01, 0xe9, 0x01, 0x56, 0x00, 0xf1, 0x80, 1285 - 0x10, 0xf8, 0x00, 0x0b, 0xf8, 0x45, 0x15, 0x7e, 1286 - 0xfb, 0x80, 0x15, 0x85, 0xf4, 0x95, 0x48, 0x16, 1287 - 0xf9, 0x80, 0x16, 0x9a, 0xee, 0x02, 0x48, 0x16, 1288 - 0x8a, 0x16, 0x8a, 0x11, 0xf4, 0xe4, 0x4a, 0x11, 1289 - 0xee, 0xff, 0xfb, 0x80, 0x16, 0xa2, 0x88, 0x11, 1290 - 0xf4, 0x95, 0x77, 0x10, 0xff, 0xff, 0xf4, 0xa9, 1291 - 0xf8, 0x30, 0x15, 0xc4, 0x10, 0xe1, 0x00, 0x03, 1292 - 0x77, 0x12, 0x00, 0x55, 0x80, 0x82, 0x77, 0x12, 1293 - 0x00, 0x56, 0x76, 0x82, 0x00, 0x00, 0x77, 0x12, 1294 - 0x00, 0x56, 0x76, 0x82, 0x00, 0x00, 0x77, 0x12, 1295 - 0x00, 0x56, 0x76, 0x82, 0x00, 0x00, 0x77, 0x12, 1296 - 0x00, 0x56, 0x76, 0x82, 0x00, 0x00, 0x77, 0x12, 1297 - 0x00, 0x56, 0x76, 0x82, 0x00, 0x00, 0x10, 0xe1, 1298 - 0x00, 0x02, 0xf0, 0x00, 0x00, 0x08, 0x32, 0xf8, 1299 - 0x00, 0x08, 0x77, 0x12, 0x00, 0x54, 0xe8, 0x01, 1300 - 0xf4, 0x82, 0xf4, 0x93, 0x18, 0x82, 0x77, 0x12, 1301 - 0x00, 0x54, 0xf0, 0x40, 0x00, 0x00, 0x80, 0x82, 1302 - 0x10, 0xe1, 0x00, 0x01, 0xf9, 0x80, 0x16, 0x76, 1303 - 0x10, 0xe1, 0x00, 0x01, 0xf9, 0x80, 0x16, 0x66, 1304 - 0xf0, 0x73, 0x16, 0x03, 0x77, 0x11, 0x00, 0x7b, 1305 - 0x71, 0x81, 0x00, 0x11, 0x71, 0xe1, 0x00, 0x07, 1306 - 0x00, 0x12, 0x76, 0x82, 0x00, 0x00, 0x10, 0xe1, 1307 - 0x00, 0x09, 0xf9, 0x80, 0x15, 0x85, 0x77, 0x11, 1308 - 0x00, 0x7b, 0x71, 0x81, 0x00, 0x11, 0x10, 0xe1, 1309 - 0x00, 0x09, 0xfb, 0x80, 0x15, 0x85, 0xf0, 0x00, 1310 - 0x00, 0x08, 0x77, 0x11, 0x00, 0x7b, 0x71, 0x81, 1311 - 0x00, 0x11, 0x10, 0xe1, 0x00, 0x09, 0xfb, 0x80, 1312 - 0x15, 0x85, 0xf0, 0x00, 0x00, 0x10, 0x77, 0x11, 1313 - 0x00, 0x7b, 0x71, 0x81, 0x00, 0x11, 0x10, 0xe1, 1314 - 0x00, 0x09, 0xfb, 0x80, 0x15, 0x85, 0xf0, 0x00, 1315 - 0x00, 0x18, 0x77, 0x11, 0x00, 0x7b, 0x71, 0x81, 1316 - 0x00, 0x11, 0x10, 0xe1, 0x00, 0x09, 0xfb, 0x80, 1317 - 0x15, 0x85, 0xf0, 0x00, 0x00, 0x20, 0x77, 0x11, 1318 - 0x00, 0x7b, 0x71, 0x81, 0x00, 0x11, 0x10, 0xe1, 1319 - 0x00, 0x09, 0xfb, 0x80, 0x15, 0x85, 0xf0, 0x00, 1320 - 0x00, 0x28, 0xf9, 0x80, 0x16, 0x9a, 0xee, 0x01, 1321 - 0x8a, 0x11, 0xf4, 0xe4, 0x4a, 0x11, 0xee, 0xff, 1322 - 0xfb, 0x80, 0x16, 0xa2, 0x88, 0x11, 0xf4, 0x95, 1323 - 0x77, 0x10, 0xff, 0xff, 0xf4, 0xa9, 0xf8, 0x30, 1324 - 0x16, 0x41, 0x77, 0x11, 0x00, 0x55, 0x76, 0x81, 1325 - 0x00, 0x1e, 0x77, 0x11, 0x00, 0x56, 0x76, 0x81, 1326 - 0x00, 0x00, 0x77, 0x11, 0x00, 0x56, 0x76, 0x81, 1327 - 0x00, 0x00, 0x77, 0x11, 0x00, 0x56, 0x76, 0x81, 1328 - 0x00, 0x00, 0x77, 0x11, 0x00, 0x56, 0x76, 0x81, 1329 - 0x00, 0x00, 0x77, 0x11, 0x00, 0x56, 0x76, 0x81, 1330 - 0x00, 0x00, 0x77, 0x11, 0x00, 0x56, 0x76, 0x81, 1331 - 0x00, 0x00, 0x77, 0x11, 0x00, 0x56, 0x76, 0x81, 1332 - 0x00, 0x00, 0x77, 0x11, 0x00, 0x56, 0x76, 0x81, 1333 - 0x00, 0x00, 0x77, 0x11, 0x00, 0x56, 0x76, 0x81, 1334 - 0x00, 0x00, 0x77, 0x11, 0x00, 0x56, 0xf2, 0x73, 1335 - 0x16, 0x4e, 0x76, 0x81, 0x00, 0x00, 0x77, 0x11, 1336 - 0x00, 0x7b, 0x71, 0x81, 0x00, 0x11, 0x71, 0xe1, 1337 - 0x00, 0x07, 0x00, 0x12, 0x76, 0x82, 0x00, 0x00, 1338 - 0x10, 0xe1, 0x00, 0x39, 0xf9, 0x80, 0x16, 0x08, 1339 - 0xf9, 0x80, 0x16, 0x9a, 0xee, 0x01, 0x8a, 0x11, 1340 - 0xf4, 0xe4, 0x4a, 0x11, 0x77, 0x11, 0x00, 0x7b, 1341 - 0x10, 0x81, 0xf0, 0x00, 0x00, 0x04, 0x88, 0x11, 1342 - 0xf4, 0x95, 0xf4, 0x95, 0x10, 0x81, 0xfa, 0x44, 1343 - 0x16, 0x63, 0xf4, 0x95, 0xee, 0xff, 0x76, 0x81, 1344 - 0x00, 0x01, 0xee, 0x01, 0x8a, 0x11, 0xf4, 0xe4, 1345 - 0xf0, 0x10, 0x00, 0x10, 0x4a, 0x11, 0x32, 0xf8, 1346 - 0x00, 0x08, 0xee, 0xff, 0x77, 0x11, 0x00, 0x01, 1347 - 0xe8, 0x01, 0xee, 0x01, 0xf4, 0x82, 0x1a, 0x81, 1348 - 0x80, 0x81, 0x8a, 0x11, 0xf4, 0x95, 0xf4, 0xe4, 1349 - 0xf0, 0x10, 0x00, 0x10, 0x4a, 0x11, 0x32, 0xf8, 1350 - 0x00, 0x08, 0xee, 0xff, 0xe8, 0x01, 0x77, 0x11, 1351 - 0x00, 0x00, 0xf4, 0x82, 0xee, 0x01, 0xf4, 0x93, 1352 - 0x18, 0x81, 0x80, 0x81, 0x8a, 0x11, 0xf4, 0x95, 1353 - 0xf4, 0xe4, 0x4a, 0x11, 0xf0, 0x10, 0x00, 0x10, 1354 - 0x77, 0x11, 0x00, 0x00, 0x32, 0xf8, 0x00, 0x08, 1355 - 0xee, 0xff, 0x11, 0x81, 0xe8, 0x01, 0xee, 0x01, 1356 - 0x77, 0x11, 0x00, 0x00, 0xf4, 0x82, 0xf2, 0xa0, 1357 - 0x80, 0x81, 0x8a, 0x11, 0xf4, 0x95, 0xf4, 0xe4, 1358 - 0xf2, 0x73, 0x16, 0x9e, 0xf6, 0xbb, 0xf4, 0x95, 1359 - 0xf4, 0x95, 0xf4, 0x95, 0xf4, 0x95, 0xf4, 0xe4, 1360 - 0xf2, 0x73, 0x16, 0xa6, 0xf7, 0xbb, 0xf4, 0x95, 1361 - 0xf4, 0x95, 0xf4, 0x95, 0xf4, 0x95, 0xf4, 0xe4, 1362 - 0x4a, 0x11, 0x4a, 0x16, 0xf4, 0x95, 0x71, 0x04, 1363 - 0x00, 0x16, 0xfb, 0x80, 0x16, 0xa2, 0x88, 0x11, 1364 - 0xf4, 0x95, 0x71, 0xe1, 0x00, 0x05, 0x00, 0x12, 1365 - 0x76, 0x82, 0x00, 0x0e, 0x10, 0xe6, 0x00, 0x0e, 1366 - 0x71, 0xe1, 0x00, 0x06, 0x00, 0x12, 0x80, 0x82, 1367 - 0x71, 0xe1, 0x00, 0x05, 0x00, 0x12, 0x76, 0x82, 1368 - 0x00, 0x0d, 0x71, 0xe1, 0x00, 0x06, 0x00, 0x12, 1369 - 0x10, 0xe6, 0x00, 0x0d, 0x80, 0x82, 0x71, 0xe1, 1370 - 0x00, 0x05, 0x00, 0x12, 0x76, 0x82, 0x00, 0x0c, 1371 - 0x10, 0xe6, 0x00, 0x0c, 0x71, 0xe1, 0x00, 0x06, 1372 - 0x00, 0x12, 0x80, 0x82, 0x71, 0xe1, 0x00, 0x05, 1373 - 0x00, 0x12, 0x76, 0x82, 0x00, 0x0b, 0x10, 0xe6, 1374 - 0x00, 0x0b, 0x71, 0xe1, 0x00, 0x06, 0x00, 0x12, 1375 - 0x80, 0x82, 0x71, 0xe1, 0x00, 0x05, 0x00, 0x12, 1376 - 0x76, 0x82, 0x00, 0x0a, 0x71, 0xe1, 0x00, 0x06, 1377 - 0x00, 0x12, 0x10, 0xe6, 0x00, 0x0a, 0x80, 0x82, 1378 - 0x71, 0xe1, 0x00, 0x05, 0x00, 0x12, 0x76, 0x82, 1379 - 0x00, 0x09, 0x10, 0xe6, 0x00, 0x09, 0x71, 0xe1, 1380 - 0x00, 0x06, 0x00, 0x12, 0x80, 0x82, 0x71, 0xe1, 1381 - 0x00, 0x05, 0x00, 0x12, 0x76, 0x82, 0x00, 0x08, 1382 - 0x71, 0xe1, 0x00, 0x06, 0x00, 0x12, 0x10, 0xe6, 1383 - 0x00, 0x08, 0x80, 0x82, 0x71, 0xe1, 0x00, 0x05, 1384 - 0x00, 0x12, 0x76, 0x82, 0x00, 0x07, 0x10, 0xe6, 1385 - 0x00, 0x07, 0x71, 0xe1, 0x00, 0x06, 0x00, 0x12, 1386 - 0x80, 0x82, 0x71, 0xe1, 0x00, 0x05, 0x00, 0x12, 1387 - 0x76, 0x82, 0x00, 0x06, 0x71, 0xe1, 0x00, 0x06, 1388 - 0x00, 0x12, 0x10, 0xe6, 0x00, 0x06, 0x80, 0x82, 1389 - 0x71, 0xe1, 0x00, 0x05, 0x00, 0x12, 0x76, 0x82, 1390 - 0x00, 0x05, 0x71, 0xe1, 0x00, 0x06, 0x00, 0x12, 1391 - 0x10, 0xe6, 0x00, 0x05, 0x80, 0x82, 0x71, 0xe1, 1392 - 0x00, 0x05, 0x00, 0x12, 0x76, 0x82, 0x00, 0x04, 1393 - 0x71, 0xe1, 0x00, 0x06, 0x00, 0x12, 0x10, 0xe6, 1394 - 0x00, 0x04, 0x80, 0x82, 0x71, 0xe1, 0x00, 0x05, 1395 - 0x00, 0x12, 0x76, 0x82, 0x00, 0x03, 0x71, 0xe1, 1396 - 0x00, 0x06, 0x00, 0x12, 0x10, 0xe6, 0x00, 0x03, 1397 - 0x80, 0x82, 0x71, 0xe1, 0x00, 0x05, 0x00, 0x12, 1398 - 0x76, 0x82, 0x00, 0x02, 0x10, 0xe6, 0x00, 0x02, 1399 - 0x71, 0xe1, 0x00, 0x06, 0x00, 0x12, 0x80, 0x82, 1400 - 0x71, 0xe1, 0x00, 0x05, 0x00, 0x12, 0x76, 0x82, 1401 - 0x00, 0x01, 0x10, 0xe6, 0x00, 0x01, 0x71, 0xe1, 1402 - 0x00, 0x06, 0x00, 0x12, 0x80, 0x82, 0x71, 0xe1, 1403 - 0x00, 0x05, 0x00, 0x12, 0x76, 0x82, 0x00, 0x00, 1404 - 0x71, 0xe1, 0x00, 0x06, 0x00, 0x13, 0xe7, 0x62, 1405 - 0xe5, 0x01, 0xf9, 0x80, 0x16, 0x9a, 0x8a, 0x16, 1406 - 0x8a, 0x11, 0xf4, 0xe4, 0x4a, 0x11, 0x88, 0x11, 1407 - 0xf4, 0x95, 0xf4, 0x95, 0x71, 0xe1, 0x00, 0x05, 1408 - 0x00, 0x12, 0xee, 0xff, 0x76, 0x82, 0x00, 0x00, 1409 - 0xee, 0x01, 0x71, 0xe1, 0x00, 0x06, 0x00, 0x11, 1410 - 0x69, 0x81, 0x00, 0x01, 0x8a, 0x11, 0xf4, 0x95, 1411 - 0xf4, 0xe4, 0x4a, 0x11, 0x88, 0x11, 0xf4, 0x95, 1412 - 0xf4, 0x95, 0x71, 0xe1, 0x00, 0x05, 0x00, 0x12, 1413 - 0xee, 0xff, 0x76, 0x82, 0x00, 0x01, 0xee, 0x01, 1414 - 0x71, 0xe1, 0x00, 0x06, 0x00, 0x11, 0x69, 0x81, 1415 - 0x00, 0x01, 0x8a, 0x11, 0xf4, 0x95, 0xf4, 0xe4, 1416 - 0x4a, 0x11, 0x77, 0x11, 0x00, 0x7b, 0x10, 0x81, 1417 - 0xf0, 0x00, 0x00, 0x94, 0x88, 0x11, 0xf4, 0x95, 1418 - 0xf4, 0x95, 0x10, 0x81, 0xfa, 0x44, 0x17, 0x9c, 1419 - 0xf4, 0x95, 0xee, 0xff, 0xf9, 0x80, 0x16, 0x53, 1420 - 0x77, 0x11, 0x00, 0x7b, 0x10, 0x81, 0xf0, 0x00, 1421 - 0x00, 0x94, 0x88, 0x11, 0xf4, 0x95, 0xf4, 0x95, 1422 - 0x76, 0x81, 0x00, 0x01, 0xee, 0x01, 0x76, 0xe1, 1423 - 0x00, 0x01, 0x00, 0x00, 0x76, 0xe1, 0x00, 0x02, 1424 - 0x00, 0x21, 0x76, 0xe1, 0x00, 0x03, 0x00, 0x20, 1425 - 0x76, 0xe1, 0x00, 0x04, 0x00, 0x23, 0x76, 0xe1, 1426 - 0x00, 0x05, 0x00, 0x22, 0x76, 0xe1, 0x00, 0x06, 1427 - 0x00, 0x38, 0x76, 0xe1, 0x00, 0x07, 0x00, 0x39, 1428 - 0x76, 0xe1, 0x00, 0x08, 0x00, 0x15, 0x76, 0xe1, 1429 - 0x00, 0x09, 0x00, 0x14, 0x76, 0xe1, 0x00, 0x0a, 1430 - 0x00, 0x00, 0x76, 0xe1, 0x00, 0x0b, 0x00, 0x41, 1431 - 0x76, 0xe1, 0x00, 0x0c, 0x00, 0x40, 0x76, 0xe1, 1432 - 0x00, 0x0d, 0x00, 0x43, 0x76, 0xe1, 0x00, 0x0e, 1433 - 0x00, 0x42, 0x76, 0xe1, 0x00, 0x0f, 0x00, 0x48, 1434 - 0x76, 0xe1, 0x00, 0x10, 0x00, 0x49, 0x76, 0xe1, 1435 - 0x00, 0x11, 0x00, 0x1b, 0x76, 0xe1, 0x00, 0x12, 1436 - 0x00, 0x1a, 0x8a, 0x11, 0xf4, 0x95, 0xf4, 0xe4, 1437 - 0x4a, 0x11, 0xee, 0xfd, 0x88, 0x11, 0x56, 0x06, 1438 - 0x4e, 0x00, 0xf9, 0x80, 0x16, 0xa2, 0x77, 0x12, 1439 - 0x00, 0x7b, 0x77, 0x0e, 0x00, 0x09, 0x10, 0x82, 1440 - 0x28, 0xf8, 0x00, 0x11, 0xf0, 0x00, 0x00, 0x95, 1441 - 0x88, 0x11, 0xf4, 0x95, 0xf4, 0x95, 0x10, 0x81, 1442 - 0xf8, 0x45, 0x17, 0xf0, 0xf2, 0x73, 0x17, 0xfd, 1443 - 0x77, 0x11, 0xff, 0xff, 0x76, 0x81, 0x00, 0x01, 1444 - 0xe9, 0x01, 0x56, 0x00, 0xf1, 0x80, 0x10, 0xf8, 1445 - 0x00, 0x0b, 0xf8, 0x45, 0x17, 0xfd, 0xfb, 0x80, 1446 - 0x18, 0x10, 0xf4, 0x95, 0x48, 0x11, 0xf9, 0x80, 1447 - 0x16, 0x9a, 0xee, 0x03, 0x48, 0x11, 0x8a, 0x11, 1448 - 0xf4, 0x95, 0xf4, 0xe4, 0x4a, 0x11, 0x88, 0x11, 1449 - 0xf4, 0x95, 0xee, 0xff, 0x71, 0xe1, 0x00, 0x01, 1450 - 0x00, 0x11, 0xee, 0x01, 0x10, 0x81, 0x8a, 0x11, 1451 - 0xf4, 0x95, 0xf4, 0xe4, 0x4a, 0x11, 0xee, 0xff, 1452 - 0xfb, 0x80, 0x16, 0xa2, 0x88, 0x11, 0xf4, 0x95, 1453 - 0x77, 0x10, 0xff, 0xff, 0xf4, 0xa9, 0xf8, 0x30, 1454 - 0x18, 0xc3, 0x71, 0xe1, 0x00, 0x05, 0x00, 0x12, 1455 - 0x76, 0x82, 0x00, 0x00, 0x71, 0xe1, 0x00, 0x06, 1456 - 0x00, 0x12, 0x76, 0x82, 0x00, 0x00, 0x71, 0xe1, 1457 - 0x00, 0x05, 0x00, 0x12, 0x76, 0x82, 0x00, 0x01, 1458 - 0x71, 0xe1, 0x00, 0x06, 0x00, 0x12, 0x76, 0x82, 1459 - 0x00, 0x00, 0x71, 0xe1, 0x00, 0x05, 0x00, 0x12, 1460 - 0x76, 0x82, 0x00, 0x02, 0x71, 0xe1, 0x00, 0x06, 1461 - 0x00, 0x12, 0x76, 0x82, 0x00, 0x00, 0x71, 0xe1, 1462 - 0x00, 0x05, 0x00, 0x12, 0x76, 0x82, 0x00, 0x03, 1463 - 0x71, 0xe1, 0x00, 0x06, 0x00, 0x12, 0x76, 0x82, 1464 - 0x00, 0x00, 0x71, 0xe1, 0x00, 0x05, 0x00, 0x12, 1465 - 0x76, 0x82, 0x00, 0x04, 0x71, 0xe1, 0x00, 0x06, 1466 - 0x00, 0x12, 0x76, 0x82, 0x00, 0x00, 0x71, 0xe1, 1467 - 0x00, 0x05, 0x00, 0x12, 0x76, 0x82, 0x00, 0x05, 1468 - 0x71, 0xe1, 0x00, 0x06, 0x00, 0x12, 0x76, 0x82, 1469 - 0x00, 0x00, 0x71, 0xe1, 0x00, 0x05, 0x00, 0x12, 1470 - 0x76, 0x82, 0x00, 0x06, 0x71, 0xe1, 0x00, 0x06, 1471 - 0x00, 0x12, 0x76, 0x82, 0x00, 0x01, 0x71, 0xe1, 1472 - 0x00, 0x05, 0x00, 0x12, 0x76, 0x82, 0x00, 0x07, 1473 - 0x71, 0xe1, 0x00, 0x06, 0x00, 0x12, 0x76, 0x82, 1474 - 0x20, 0x00, 0x71, 0xe1, 0x00, 0x05, 0x00, 0x12, 1475 - 0x76, 0x82, 0x00, 0x08, 0x71, 0xe1, 0x00, 0x06, 1476 - 0x00, 0x12, 0x76, 0x82, 0x00, 0x00, 0x71, 0xe1, 1477 - 0x00, 0x05, 0x00, 0x12, 0x76, 0x82, 0x00, 0x09, 1478 - 0x71, 0xe1, 0x00, 0x06, 0x00, 0x12, 0x76, 0x82, 1479 - 0x00, 0x00, 0x71, 0xe1, 0x00, 0x05, 0x00, 0x12, 1480 - 0x76, 0x82, 0x00, 0x0a, 0x71, 0xe1, 0x00, 0x06, 1481 - 0x00, 0x12, 0x76, 0x82, 0x00, 0x00, 0x71, 0xe1, 1482 - 0x00, 0x05, 0x00, 0x12, 0x76, 0x82, 0x00, 0x0b, 1483 - 0x71, 0xe1, 0x00, 0x06, 0x00, 0x12, 0x76, 0x82, 1484 - 0x00, 0x00, 0x71, 0xe1, 0x00, 0x05, 0x00, 0x12, 1485 - 0x76, 0x82, 0x00, 0x0c, 0x71, 0xe1, 0x00, 0x06, 1486 - 0x00, 0x12, 0x76, 0x82, 0x00, 0x00, 0x71, 0xe1, 1487 - 0x00, 0x05, 0x00, 0x12, 0x76, 0x82, 0x00, 0x0d, 1488 - 0x71, 0xe1, 0x00, 0x06, 0x00, 0x12, 0x76, 0x82, 1489 - 0x00, 0x00, 0x71, 0xe1, 0x00, 0x05, 0x00, 0x12, 1490 - 0x76, 0x82, 0x00, 0x0e, 0x71, 0xe1, 0x00, 0x06, 1491 - 0x00, 0x12, 0x76, 0x82, 0x00, 0x00, 0x10, 0xe1, 1492 - 0x00, 0x07, 0xf9, 0x80, 0x16, 0x76, 0x10, 0xe1, 1493 - 0x00, 0x08, 0xf9, 0x80, 0x16, 0x76, 0x10, 0xe1, 1494 - 0x00, 0x07, 0xf9, 0x80, 0x16, 0x66, 0x10, 0xe1, 1495 - 0x00, 0x08, 0xf9, 0x80, 0x16, 0x66, 0xf0, 0x73, 1496 - 0x18, 0xd1, 0x77, 0x11, 0x00, 0x7b, 0x10, 0x81, 1497 - 0xfb, 0x80, 0x18, 0x10, 0xf0, 0x00, 0x00, 0x95, 1498 - 0x77, 0x11, 0x00, 0x7b, 0x10, 0x81, 0xfb, 0x80, 1499 - 0x18, 0x10, 0xf0, 0x00, 0x00, 0x9e, 0xf9, 0x80, 1500 - 0x16, 0x9a, 0xee, 0x01, 0x8a, 0x11, 0xf4, 0xe4, 1501 - 0x4a, 0x11, 0x88, 0x11, 0xee, 0xff, 0xf4, 0x95, 1502 - 0x10, 0x04, 0x71, 0xe1, 0x00, 0x03, 0x00, 0x11, 1503 - 0xee, 0x01, 0x80, 0x81, 0x8a, 0x11, 0xf4, 0x95, 1504 - 0xf4, 0xe4, 0x4a, 0x11, 0x4a, 0x16, 0xf4, 0x95, 1505 - 0x71, 0x04, 0x00, 0x16, 0xfb, 0x80, 0x16, 0xa2, 1506 - 0x88, 0x11, 0xf4, 0x95, 0x71, 0xe1, 0x00, 0x02, 1507 - 0x00, 0x12, 0x76, 0x82, 0x00, 0x10, 0x10, 0xe6, 1508 - 0x00, 0x01, 0x71, 0xe1, 0x00, 0x03, 0x00, 0x12, 1509 - 0x80, 0x82, 0x71, 0xe1, 0x00, 0x04, 0x00, 0x12, 1510 - 0x10, 0xe6, 0x00, 0x02, 0x80, 0x82, 0xe7, 0x62, 1511 - 0x71, 0xe1, 0x00, 0x02, 0x00, 0x13, 0xe5, 0x01, 1512 - 0xf9, 0x80, 0x16, 0x9a, 0x8a, 0x16, 0x8a, 0x11, 1513 - 0xf4, 0xe4, 0x4a, 0x11, 0x88, 0x11, 0xee, 0xff, 1514 - 0xee, 0x01, 0x10, 0xe1, 0x00, 0x01, 0x8a, 0x11, 1515 - 0xf4, 0x95, 0xf4, 0xe4, 0x4a, 0x11, 0x77, 0x11, 1516 - 0x00, 0x7b, 0x10, 0x81, 0xf0, 0x00, 0x00, 0xb3, 1517 - 0x88, 0x11, 0xf4, 0x95, 0xf4, 0x95, 0x10, 0x81, 1518 - 0xfa, 0x44, 0x19, 0x2a, 0xf4, 0x95, 0xee, 0xff, 1519 - 0xf9, 0x80, 0x16, 0x53, 0x77, 0x11, 0x00, 0x7b, 1520 - 0x10, 0x81, 0xf0, 0x00, 0x00, 0xb3, 0x88, 0x11, 1521 - 0xf4, 0x95, 0xf4, 0x95, 0x76, 0x81, 0x00, 0x01, 1522 - 0xee, 0x01, 0x76, 0xe1, 0x00, 0x01, 0x00, 0x00, 1523 - 0x76, 0xe1, 0x00, 0x02, 0x00, 0x13, 0x76, 0xe1, 1524 - 0x00, 0x03, 0x00, 0x26, 0x76, 0xe1, 0x00, 0x04, 1525 - 0x00, 0x25, 0x76, 0xe1, 0x00, 0x05, 0x00, 0x24, 1526 - 0x76, 0xe1, 0x00, 0x06, 0x00, 0x00, 0x76, 0xe1, 1527 - 0x00, 0x07, 0x00, 0x17, 0x76, 0xe1, 0x00, 0x08, 1528 - 0x00, 0x32, 0x76, 0xe1, 0x00, 0x09, 0x00, 0x31, 1529 - 0x76, 0xe1, 0x00, 0x0a, 0x00, 0x30, 0x8a, 0x11, 1530 - 0xf4, 0x95, 0xf4, 0xe4, 0x4a, 0x11, 0x4a, 0x16, 1531 - 0x4a, 0x17, 0xee, 0xff, 0xf4, 0x95, 0x71, 0x06, 1532 - 0x00, 0x17, 0xfb, 0x80, 0x16, 0xa2, 0x88, 0x11, 1533 - 0xf4, 0x95, 0xf7, 0xb8, 0x10, 0xf8, 0x00, 0x11, 1534 - 0xf0, 0x10, 0xff, 0xff, 0xfa, 0x45, 0x19, 0x73, 1535 - 0x77, 0x16, 0xff, 0xff, 0x77, 0x12, 0x00, 0x7b, 1536 - 0x77, 0x0e, 0x00, 0x05, 0x10, 0x82, 0x28, 0xf8, 1537 - 0x00, 0x11, 0xf0, 0x00, 0x00, 0xb4, 0x88, 0x11, 1538 - 0xf4, 0x95, 0xf4, 0x95, 0x10, 0x81, 0xf8, 0x44, 1539 - 0x19, 0x84, 0xf2, 0x73, 0x19, 0x84, 0xf4, 0x95, 1540 - 0xe7, 0x16, 0x77, 0x11, 0x00, 0x7b, 0x10, 0x81, 1541 - 0xf0, 0x00, 0x00, 0xb4, 0x88, 0x11, 0xf4, 0x95, 1542 - 0x77, 0x12, 0x00, 0x02, 0x10, 0x81, 0xf8, 0x45, 1543 - 0x19, 0x6f, 0x6e, 0xea, 0xff, 0xff, 0x19, 0x7c, 1544 - 0x6d, 0xe9, 0x00, 0x05, 0x61, 0xf8, 0x00, 0x17, 1545 - 0x00, 0x01, 0xfa, 0x20, 0x19, 0x8f, 0x76, 0x86, 1546 - 0x00, 0x01, 0xfb, 0x80, 0x19, 0x97, 0xf4, 0x95, 1547 - 0x48, 0x16, 0xf9, 0x80, 0x16, 0x9a, 0xee, 0x01, 1548 - 0x8a, 0x17, 0x48, 0x16, 0x8a, 0x16, 0x8a, 0x11, 1549 - 0xf4, 0xe4, 0x4a, 0x11, 0xee, 0xff, 0xfb, 0x80, 1550 - 0x16, 0xa2, 0x88, 0x11, 0xf4, 0x95, 0x77, 0x10, 1551 - 0xff, 0xff, 0xf4, 0xa9, 0xf8, 0x30, 0x19, 0xcc, 1552 - 0x71, 0xe1, 0x00, 0x02, 0x00, 0x12, 0x69, 0x82, 1553 - 0x00, 0x10, 0x71, 0xe1, 0x00, 0x02, 0x00, 0x12, 1554 - 0x68, 0x82, 0xf7, 0xff, 0x71, 0xe1, 0x00, 0x02, 1555 - 0x00, 0x12, 0x68, 0x82, 0xfb, 0xff, 0x71, 0xe1, 1556 - 0x00, 0x02, 0x00, 0x12, 0x68, 0x82, 0xff, 0xf0, 1557 - 0x71, 0xe1, 0x00, 0x03, 0x00, 0x12, 0x76, 0x82, 1558 - 0xff, 0xff, 0x71, 0xe1, 0x00, 0x04, 0x00, 0x12, 1559 - 0x76, 0x82, 0xff, 0xff, 0x71, 0xe1, 0x00, 0x02, 1560 - 0x00, 0x12, 0x69, 0x82, 0x00, 0x20, 0x71, 0xe1, 1561 - 0x00, 0x02, 0x00, 0x11, 0xf2, 0x73, 0x19, 0xda, 1562 - 0x68, 0x81, 0xff, 0xef, 0x77, 0x11, 0x00, 0x7b, 1563 - 0x10, 0x81, 0xfb, 0x80, 0x19, 0x97, 0xf0, 0x00, 1564 - 0x00, 0xb4, 0x77, 0x11, 0x00, 0x7b, 0x10, 0x81, 1565 - 0xfb, 0x80, 0x19, 0x97, 0xf0, 0x00, 0x00, 0xb9, 1566 - 0xf9, 0x80, 0x16, 0x9a, 0xee, 0x01, 0x8a, 0x11, 1567 - 0xf4, 0xe4, 0x00, 0xa4, 0x00, 0x00, 0x19, 0xdf, 1568 - 0x00, 0x01, 0x2a, 0xe6, 0x00, 0x00, 0x00, 0x01, 1569 - 0x2a, 0xe7, 0x00, 0x00, 0x00, 0x03, 0x2a, 0x12, 1570 - 0x0c, 0x01, 0xc3, 0x4f, 0x00, 0x00, 0x00, 0x01, 1571 - 0x2a, 0x15, 0x00, 0x00, 0x00, 0x02, 0x2a, 0x16, 1572 - 0x00, 0x00, 0x00, 0x00, 0x00, 0x19, 0x2a, 0x5d, 1573 - 0x00, 0x43, 0x00, 0x6f, 0x00, 0x70, 0x00, 0x79, 1574 - 0x00, 0x72, 0x00, 0x69, 0x00, 0x67, 0x00, 0x68, 1575 - 0x00, 0x74, 0x00, 0x20, 0x00, 0x54, 0x00, 0x65, 1576 - 0x00, 0x63, 0x00, 0x68, 0x00, 0x6e, 0x00, 0x6f, 1577 - 0x00, 0x54, 0x00, 0x72, 0x00, 0x65, 0x00, 0x6e, 1578 - 0x00, 0x64, 0x00, 0x20, 0x00, 0x41, 0x00, 0x47, 1579 - 0x00, 0x00, 0x00, 0x04, 0x2a, 0x76, 0x00, 0x30, 1580 - 0x00, 0x2e, 0x00, 0x30, 0x00, 0x00, 0x00, 0x0c, 1581 - 0x2a, 0x7a, 0x00, 0x46, 0x00, 0x65, 0x00, 0x62, 1582 - 0x00, 0x20, 0x00, 0x32, 0x00, 0x37, 0x00, 0x20, 1583 - 0x00, 0x32, 0x00, 0x30, 0x00, 0x30, 0x00, 0x31, 1584 - 0x00, 0x00, 0x00, 0x09, 0x2a, 0x86, 0x00, 0x31, 1585 - 0x00, 0x34, 0x00, 0x3a, 0x00, 0x33, 0x00, 0x35, 1586 - 0x00, 0x3a, 0x00, 0x33, 0x00, 0x33, 0x00, 0x00, 1587 - 0x00, 0x0f, 0x2a, 0x8f, 0x00, 0x00, 0x00, 0x00, 1588 - 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 1589 - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 1590 - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 1591 - 0x00, 0x00, 0x00, 0x01, 0x2a, 0x9e, 0x00, 0x00, 1592 - 0x00, 0x01, 0x2a, 0x9f, 0x00, 0x00, 0x00, 0x01, 1593 - 0x2a, 0xa0, 0x00, 0x00, 0x00, 0x01, 0x2a, 0xa1, 1594 - 0x00, 0x00, 0x00, 0x01, 0x2a, 0xa2, 0x00, 0x00, 1595 - 0x00, 0x01, 0x29, 0x7e, 0x00, 0x00, 0x00, 0x02, 1596 - 0x29, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 1597 - 0x29, 0x82, 0xff, 0xff, 0x00, 0x01, 0x2a, 0xa7, 1598 - 0x00, 0x00, 0x00, 0x05, 0x2a, 0xa8, 0x71, 0x41, 1599 - 0x20, 0x00, 0x20, 0x00, 0x00, 0x23, 0x04, 0x00, 1600 - 0x00, 0x0a, 0x2a, 0xad, 0x00, 0x00, 0x00, 0x00, 1601 - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 1602 - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 1603 - 0x00, 0x0f, 0x2a, 0xb7, 0x00, 0x00, 0x00, 0x00, 1604 - 0x00, 0x00, 0x00, 0x40, 0x00, 0xa0, 0x82, 0x40, 1605 - 0x00, 0x08, 0x30, 0x7f, 0x00, 0x80, 0x01, 0x80, 1606 - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 1607 - 0x00, 0x00, 0x00, 0x01, 0x27, 0x6e, 0x00, 0x00, 1608 - 0x00, 0x01, 0x27, 0x6f, 0x00, 0x00, 0x00, 0x00, 1609 - 0x00, 0x09, 0x00, 0x00, 0x1a, 0x83, 0x04, 0xe8, 1610 - 0x04, 0xcf, 0x04, 0xc5, 0x04, 0xba, 0x04, 0xb0, 1611 - 0x04, 0xac, 0x04, 0x9c, 0x04, 0x8c, 0x04, 0x81, 1612 - 0x00, 0x78, 0x00, 0x00, 0x01, 0x00, 0xf2, 0x73, 1613 - 0x07, 0xef, 0xf4, 0x95, 0xf4, 0x95, 0xf2, 0x73, 1614 - 0x07, 0xef, 0xf4, 0x95, 0xf4, 0x95, 0xf2, 0x73, 1615 - 0x07, 0xef, 0xf4, 0x95, 0xf4, 0x95, 0xf2, 0x73, 1616 - 0x07, 0xef, 0xf4, 0x95, 0xf4, 0x95, 0xf2, 0x73, 1617 - 0x07, 0xef, 0xf4, 0x95, 0xf4, 0x95, 0xf2, 0x73, 1618 - 0x07, 0xef, 0xf4, 0x95, 0xf4, 0x95, 0xf2, 0x73, 1619 - 0x07, 0xef, 0xf4, 0x95, 0xf4, 0x95, 0xf2, 0x73, 1620 - 0x07, 0xef, 0xf4, 0x95, 0xf4, 0x95, 0xf2, 0x73, 1621 - 0x07, 0xef, 0xf4, 0x95, 0xf4, 0x95, 0xf2, 0x73, 1622 - 0x07, 0xef, 0xf4, 0x95, 0xf4, 0x95, 0xf2, 0x73, 1623 - 0x07, 0xef, 0xf4, 0x95, 0xf4, 0x95, 0xf2, 0x73, 1624 - 0x07, 0xef, 0xf4, 0x95, 0xf4, 0x95, 0xf2, 0x73, 1625 - 0x07, 0xef, 0xf4, 0x95, 0xf4, 0x95, 0xf2, 0x73, 1626 - 0x07, 0xef, 0xf4, 0x95, 0xf4, 0x95, 0xf2, 0x73, 1627 - 0x07, 0xef, 0xf4, 0x95, 0xf4, 0x95, 0xf2, 0x73, 1628 - 0x07, 0xef, 0xf4, 0x95, 0xf4, 0x95, 0xf2, 0x73, 1629 - 0x07, 0xaa, 0xf4, 0x95, 0xf4, 0x95, 0xf2, 0x73, 1630 - 0x07, 0xef, 0xf4, 0x95, 0xf4, 0x95, 0xf2, 0x73, 1631 - 0x07, 0xef, 0xf4, 0x95, 0xf4, 0x95, 0xf2, 0x73, 1632 - 0x02, 0x23, 0xf4, 0x95, 0xf4, 0x95, 0xf2, 0x73, 1633 - 0x07, 0xef, 0xf4, 0x95, 0xf4, 0x95, 0xf2, 0x73, 1634 - 0x07, 0xef, 0xf4, 0x95, 0xf4, 0x95, 0xf2, 0x73, 1635 - 0x07, 0xef, 0xf4, 0x95, 0xf4, 0x95, 0xf2, 0x73, 1636 - 0x07, 0xef, 0xf4, 0x95, 0xf4, 0x95, 0xf2, 0x73, 1637 - 0x07, 0xef, 0xf4, 0x95, 0xf4, 0x95, 0xf2, 0x73, 1638 - 0x07, 0xef, 0xf4, 0x95, 0xf4, 0x95, 0xf2, 0x73, 1639 - 0x05, 0xe5, 0xf4, 0x95, 0xf4, 0x95, 0xf2, 0x73, 1640 - 0x02, 0xb5, 0xf4, 0x95, 0xf4, 0x95, 0xf2, 0x73, 1641 - 0x0e, 0x33, 0xf4, 0x95, 0xf4, 0x95, 0xf2, 0x73, 1642 - 0x07, 0xef, 0xf4, 0x95, 0xf4, 0x95, 0x00, 0x00, 5 + 0x08, 0xaa, 0x00, 0x18, 0x00, 0x03, 0x08, 0x00, 6 + 0x00, 0x10, 0x00, 0x00, 0x01, 0x80, 0x18, 0x5f, 7 + 0x00, 0x00, 0x01, 0x80, 0x77, 0x18, 0x2a, 0xeb, 8 + 0x6b, 0xf8, 0x00, 0x18, 0x03, 0xff, 0x68, 0xf8, 9 + 0x00, 0x18, 0xff, 0xfe, 0xf7, 0xb8, 0xf7, 0xbe, 10 + 0xf6, 0xb9, 0xf4, 0xa0, 0xf6, 0xb7, 0xf6, 0xb5, 11 + 0xf6, 0xb6, 0xf0, 0x20, 0x19, 0xdf, 0xf1, 0x00, 12 + 0x00, 0x01, 0xf8, 0x4d, 0x01, 0xab, 0xf6, 0xb8, 13 + 0xf0, 0x20, 0x19, 0xdf, 0xf0, 0x73, 0x01, 0xa5, 14 + 0x7e, 0xf8, 0x00, 0x12, 0xf0, 0x00, 0x00, 0x01, 15 + 0x47, 0xf8, 0x00, 0x11, 0x7e, 0x92, 0x00, 0xf8, 16 + 0x00, 0x11, 0xf0, 0x00, 0x00, 0x01, 0x7e, 0xf8, 17 + 0x00, 0x11, 0xf0, 0x00, 0x00, 0x01, 0x6c, 0x89, 18 + 0x01, 0x9a, 0xf7, 0xb8, 0xee, 0xfc, 0xf0, 0x20, 19 + 0xff, 0xff, 0xf1, 0x00, 0x00, 0x01, 0xf8, 0x4d, 20 + 0x01, 0xbf, 0xf2, 0x73, 0x01, 0xb9, 0x4e, 0x02, 21 + 0xf4, 0x95, 0xf5, 0xe3, 0x56, 0x02, 0x7e, 0x00, 22 + 0x11, 0x00, 0xfa, 0x4c, 0x01, 0xb7, 0x6b, 0x03, 23 + 0x00, 0x01, 0xf6, 0xb8, 0xee, 0x04, 0xf0, 0x74, 24 + 0x0d, 0xa7, 0xf0, 0x74, 0x01, 0xc5, 0x4a, 0x11, 25 + 0x4a, 0x16, 0x72, 0x11, 0x2a, 0xe6, 0x10, 0xf8, 26 + 0x00, 0x11, 0xfa, 0x45, 0x01, 0xdb, 0xf4, 0x95, 27 + 0xee, 0xff, 0x48, 0x11, 0xf0, 0x00, 0x2a, 0xc6, 28 + 0x88, 0x16, 0xf4, 0x95, 0xf4, 0x95, 0x10, 0xee, 29 + 0xff, 0xff, 0xf4, 0xe3, 0x6c, 0xe9, 0xff, 0xff, 30 + 0x01, 0xd5, 0x10, 0xf8, 0x2a, 0xe7, 0xf8, 0x45, 31 + 0x01, 0xe2, 0x10, 0xf8, 0x2a, 0xe7, 0xf4, 0xe3, 32 + 0xf0, 0x74, 0x01, 0xff, 0xee, 0x01, 0x8a, 0x16, 33 + 0x8a, 0x11, 0xfc, 0x00, 0xf7, 0xb8, 0xe9, 0x20, 34 + 0x4a, 0x11, 0x09, 0xf8, 0x2a, 0xe6, 0xf8, 0x4e, 35 + 0x01, 0xf3, 0xf2, 0x73, 0x01, 0xfd, 0xf4, 0x95, 36 + 0xe8, 0x01, 0x72, 0x11, 0x2a, 0xe6, 0x49, 0x11, 37 + 0x80, 0xe1, 0x2a, 0xc6, 0xf3, 0x00, 0x00, 0x01, 38 + 0xe8, 0x00, 0x81, 0xf8, 0x2a, 0xe6, 0x8a, 0x11, 39 + 0xfc, 0x00, 0xf4, 0x95, 0xf0, 0x73, 0x02, 0x00, 40 + 0x10, 0xf8, 0x2a, 0x0f, 0xfc, 0x00, 0x4a, 0x11, 41 + 0xf0, 0x74, 0x02, 0x02, 0x80, 0xf8, 0x2a, 0x10, 42 + 0x73, 0x08, 0x00, 0x09, 0x40, 0xf8, 0x2a, 0x15, 43 + 0x82, 0xf8, 0x00, 0x11, 0xf4, 0x95, 0x77, 0x10, 44 + 0x03, 0xe8, 0xf5, 0xa9, 0xf8, 0x30, 0x02, 0x21, 45 + 0x71, 0xf8, 0x2a, 0x10, 0x2a, 0x15, 0x56, 0xf8, 46 + 0x2a, 0x0c, 0xf0, 0xe3, 0x4e, 0xf8, 0x2a, 0x16, 47 + 0xe8, 0x00, 0x4e, 0xf8, 0x2a, 0x0c, 0x8a, 0x11, 48 + 0xfc, 0x00, 0x4a, 0x06, 0x4a, 0x07, 0x4a, 0x1d, 49 + 0x68, 0xf8, 0x00, 0x07, 0x7d, 0x3f, 0x69, 0xf8, 50 + 0x00, 0x07, 0x40, 0x00, 0x68, 0xf8, 0x00, 0x1d, 51 + 0xff, 0xfc, 0x6b, 0xf8, 0x2a, 0x0f, 0x00, 0x01, 52 + 0x8a, 0x1d, 0x8a, 0x07, 0x8a, 0x06, 0xf4, 0xeb, 53 + 0xee, 0xfd, 0x76, 0xf8, 0x2a, 0x0f, 0x00, 0x00, 54 + 0x76, 0x00, 0x00, 0x00, 0xfb, 0x80, 0x19, 0x4c, 55 + 0xf4, 0x95, 0xe8, 0x00, 0x80, 0xf8, 0x2a, 0x11, 56 + 0xf9, 0x80, 0x19, 0x07, 0x80, 0xf8, 0x2a, 0x0e, 57 + 0xf9, 0x80, 0x16, 0x66, 0x76, 0x00, 0x2a, 0x12, 58 + 0x10, 0xf8, 0x2a, 0x11, 0xf9, 0x80, 0x18, 0xe3, 59 + 0x10, 0xf8, 0x2a, 0x0e, 0xf9, 0x80, 0x16, 0x66, 60 + 0x10, 0xf8, 0x2a, 0x0e, 0xf9, 0x80, 0x16, 0x87, 61 + 0xee, 0x03, 0xfc, 0x00, 0x4a, 0x11, 0xf6, 0xb8, 62 + 0xf4, 0x95, 0xf0, 0x20, 0x80, 0x00, 0x11, 0xf8, 63 + 0x2a, 0x5a, 0xf8, 0x4d, 0x02, 0x93, 0x11, 0xf8, 64 + 0x2a, 0x9f, 0xf8, 0x4c, 0x02, 0x7c, 0x77, 0x12, 65 + 0x2a, 0x39, 0x49, 0x12, 0x01, 0xf8, 0x2a, 0x9f, 66 + 0x89, 0x11, 0xf4, 0x95, 0xf4, 0x95, 0x71, 0x81, 67 + 0x00, 0x11, 0x6c, 0xe1, 0xff, 0xab, 0x02, 0x93, 68 + 0x6b, 0xf8, 0x2a, 0x9f, 0x00, 0x01, 0xe9, 0x05, 69 + 0x01, 0xe2, 0x00, 0x03, 0x81, 0xf8, 0x2a, 0xa0, 70 + 0xf0, 0x73, 0x02, 0x95, 0x72, 0x11, 0x2a, 0x9f, 71 + 0xf4, 0x95, 0x10, 0xe1, 0x2a, 0x39, 0x6b, 0xf8, 72 + 0x2a, 0x9f, 0x00, 0x01, 0x11, 0xf8, 0x2a, 0x9f, 73 + 0x09, 0xf8, 0x2a, 0xa0, 0xf8, 0x4c, 0x02, 0x93, 74 + 0x76, 0xf8, 0x2a, 0x5a, 0x00, 0x00, 0x76, 0xf8, 75 + 0x2a, 0x9f, 0x00, 0x00, 0x76, 0xf8, 0x2a, 0xa0, 76 + 0x00, 0x00, 0x88, 0x11, 0xf4, 0x95, 0x48, 0x11, 77 + 0x8a, 0x11, 0xfc, 0x00, 0x4a, 0x11, 0xee, 0xfe, 78 + 0x10, 0xf8, 0x2a, 0x5a, 0xf8, 0x44, 0x02, 0xb2, 79 + 0x76, 0xf8, 0x2a, 0x5a, 0x00, 0x01, 0xf0, 0x74, 80 + 0x02, 0x58, 0x88, 0x11, 0xf4, 0x95, 0x77, 0x10, 81 + 0x80, 0x00, 0xf4, 0xa9, 0xf8, 0x30, 0x02, 0xb2, 82 + 0x48, 0x11, 0xf0, 0x30, 0x00, 0xff, 0x80, 0x00, 83 + 0x10, 0xf8, 0x2a, 0x5b, 0xf9, 0x80, 0x18, 0xd6, 84 + 0xee, 0x02, 0x8a, 0x11, 0xfc, 0x00, 0xf4, 0x95, 85 + 0x4a, 0x08, 0x4a, 0x09, 0x4a, 0x0a, 0x4a, 0x0b, 86 + 0x4a, 0x0c, 0x4a, 0x0d, 0x4a, 0x10, 0x4a, 0x11, 87 + 0x4a, 0x12, 0x4a, 0x13, 0x4a, 0x14, 0x4a, 0x15, 88 + 0x4a, 0x16, 0x4a, 0x17, 0x4a, 0x17, 0x4a, 0x19, 89 + 0x4a, 0x0e, 0x4a, 0x06, 0x4a, 0x07, 0x4a, 0x1a, 90 + 0x4a, 0x1d, 0x4a, 0x1b, 0x4a, 0x1c, 0x68, 0xf8, 91 + 0x00, 0x07, 0x7d, 0x3f, 0x69, 0xf8, 0x00, 0x07, 92 + 0x40, 0x00, 0x68, 0xf8, 0x00, 0x1d, 0xff, 0xfc, 93 + 0x48, 0x18, 0x68, 0xf8, 0x00, 0x18, 0xff, 0xfe, 94 + 0xf4, 0x95, 0xf4, 0x95, 0x4a, 0x08, 0xee, 0xfd, 95 + 0xf0, 0x74, 0x02, 0x58, 0x88, 0x11, 0xf4, 0x95, 96 + 0x77, 0x10, 0x80, 0x00, 0xf4, 0xa9, 0xf8, 0x30, 97 + 0x02, 0xef, 0x48, 0x11, 0xf0, 0x30, 0x00, 0xff, 98 + 0x80, 0x00, 0x10, 0xf8, 0x2a, 0x5b, 0xf9, 0x80, 99 + 0x18, 0xd6, 0xee, 0x03, 0x8a, 0x18, 0xf4, 0x95, 100 + 0x8a, 0x1c, 0x8a, 0x1b, 0x8a, 0x1d, 0x8a, 0x1a, 101 + 0x8a, 0x07, 0x8a, 0x06, 0x8a, 0x0e, 0x8a, 0x19, 102 + 0x8a, 0x17, 0x8a, 0x17, 0x8a, 0x16, 0x8a, 0x15, 103 + 0x8a, 0x14, 0x8a, 0x13, 0x8a, 0x12, 0x8a, 0x11, 104 + 0x8a, 0x10, 0x8a, 0x0d, 0x8a, 0x0c, 0x8a, 0x0b, 105 + 0x8a, 0x0a, 0x8a, 0x09, 0x8a, 0x08, 0xf4, 0xeb, 106 + 0x4a, 0x11, 0x77, 0x11, 0x2a, 0x39, 0x76, 0x81, 107 + 0x00, 0x55, 0x77, 0x12, 0x2a, 0x18, 0x10, 0xe2, 108 + 0x00, 0x01, 0x80, 0xe1, 0x00, 0x01, 0x10, 0xe2, 109 + 0x00, 0x02, 0x80, 0xe1, 0x00, 0x02, 0x76, 0xe1, 110 + 0x00, 0x03, 0x00, 0x00, 0x76, 0xe1, 0x00, 0x04, 111 + 0x00, 0xaa, 0xf0, 0x74, 0x02, 0x98, 0x8a, 0x11, 112 + 0xfc, 0x00, 0x4a, 0x11, 0x88, 0x11, 0xf4, 0x95, 113 + 0xf4, 0x95, 0x10, 0x81, 0x6f, 0xf8, 0x2a, 0x9e, 114 + 0x0c, 0x88, 0xe8, 0xff, 0x18, 0xe1, 0x00, 0x01, 115 + 0x1a, 0xf8, 0x2a, 0x9e, 0xf0, 0x30, 0x1f, 0xff, 116 + 0x80, 0xf8, 0x2a, 0x9e, 0x8a, 0x11, 0xfc, 0x00, 117 + 0x4a, 0x11, 0x77, 0x11, 0x2a, 0x39, 0x76, 0x81, 118 + 0x00, 0x55, 0x77, 0x12, 0x2a, 0x18, 0x11, 0xe2, 119 + 0x00, 0x01, 0x81, 0xe1, 0x00, 0x01, 0x11, 0xe2, 120 + 0x00, 0x02, 0x81, 0xe1, 0x00, 0x02, 0x76, 0xe1, 121 + 0x00, 0x03, 0x00, 0x02, 0x48, 0x08, 0x6f, 0xe1, 122 + 0x00, 0x04, 0x0c, 0x98, 0xf0, 0x30, 0x00, 0xff, 123 + 0x80, 0xe1, 0x00, 0x05, 0x76, 0xe1, 0x00, 0x06, 124 + 0x00, 0xaa, 0xf0, 0x74, 0x02, 0x98, 0x8a, 0x11, 125 + 0xfc, 0x00, 0x4a, 0x11, 0x77, 0x11, 0x2a, 0x39, 126 + 0x76, 0x81, 0x00, 0x55, 0x77, 0x12, 0x2a, 0x18, 127 + 0x10, 0xe2, 0x00, 0x01, 0x80, 0xe1, 0x00, 0x01, 128 + 0x10, 0xe2, 0x00, 0x02, 0x80, 0xe1, 0x00, 0x02, 129 + 0x76, 0xe1, 0x00, 0x03, 0x00, 0x04, 0x48, 0x11, 130 + 0xf0, 0x00, 0x00, 0x04, 0x88, 0x12, 0xf4, 0x95, 131 + 0x77, 0x13, 0x2a, 0x76, 0xe9, 0x00, 0xe5, 0x98, 132 + 0xf3, 0x00, 0x00, 0x01, 0xf6, 0xb8, 0x48, 0x0b, 133 + 0x08, 0xf8, 0x2a, 0x3c, 0xf8, 0x43, 0x03, 0x71, 134 + 0x76, 0x82, 0x00, 0xaa, 0xf0, 0x74, 0x02, 0x98, 135 + 0x8a, 0x11, 0xfc, 0x00, 0x4a, 0x11, 0xee, 0xf0, 136 + 0x88, 0x11, 0xf4, 0x95, 0xf4, 0x95, 0x71, 0x81, 137 + 0x00, 0x14, 0x71, 0xe1, 0x00, 0x01, 0x00, 0x15, 138 + 0x49, 0x11, 0xf3, 0x00, 0x00, 0x02, 0x89, 0x11, 139 + 0xe7, 0x82, 0x6d, 0xea, 0x00, 0x04, 0xe7, 0x83, 140 + 0x6d, 0xeb, 0x00, 0x0a, 0x77, 0x1a, 0x00, 0x05, 141 + 0xf0, 0x72, 0x03, 0xaa, 0x11, 0x81, 0xf2, 0xe8, 142 + 0x80, 0x82, 0xe9, 0xff, 0x19, 0xe1, 0x00, 0x01, 143 + 0xf1, 0xa0, 0x81, 0x92, 0x11, 0xe1, 0x00, 0x0c, 144 + 0xf2, 0xe8, 0x80, 0x83, 0xe9, 0xff, 0x19, 0xe1, 145 + 0x00, 0x0d, 0xf1, 0xa0, 0x81, 0x93, 0x6d, 0xe9, 146 + 0x00, 0x02, 0x48, 0x18, 0x49, 0x18, 0x70, 0x00, 147 + 0x00, 0x15, 0xf0, 0x00, 0x00, 0x04, 0xf3, 0x00, 148 + 0x00, 0x0a, 0x80, 0x01, 0x81, 0x02, 0xf2, 0x74, 149 + 0x0e, 0x54, 0xf4, 0x95, 0x48, 0x14, 0xee, 0x10, 150 + 0x8a, 0x11, 0xfc, 0x00, 0x4a, 0x11, 0xf0, 0x74, 151 + 0x0c, 0x5e, 0x80, 0xf8, 0x2a, 0x5c, 0x77, 0x12, 152 + 0x2a, 0x39, 0x76, 0x82, 0x00, 0x55, 0x77, 0x11, 153 + 0x2a, 0x18, 0x10, 0xe1, 0x00, 0x01, 0x80, 0xe2, 154 + 0x00, 0x01, 0x10, 0xe1, 0x00, 0x02, 0x80, 0xe2, 155 + 0x00, 0x02, 0x76, 0xe2, 0x00, 0x03, 0x00, 0x1c, 156 + 0xf6, 0xb8, 0x56, 0xf8, 0x2a, 0x16, 0xf0, 0xf0, 157 + 0xf0, 0xf8, 0x80, 0xe2, 0x00, 0x07, 0x56, 0xf8, 158 + 0x2a, 0x16, 0xf1, 0xf0, 0xe8, 0xff, 0xf2, 0x80, 159 + 0x80, 0xe2, 0x00, 0x06, 0x56, 0xf8, 0x2a, 0x16, 160 + 0xf1, 0xf8, 0xe8, 0xff, 0xf2, 0x80, 0x80, 0xe2, 161 + 0x00, 0x05, 0x57, 0xf8, 0x2a, 0x16, 0xe8, 0xff, 162 + 0xf2, 0x80, 0x80, 0xe2, 0x00, 0x04, 0x56, 0xf8, 163 + 0x27, 0x6c, 0xf0, 0xf0, 0xf0, 0xf8, 0x80, 0xe2, 164 + 0x00, 0x0b, 0x56, 0xf8, 0x27, 0x6c, 0xf1, 0xf0, 165 + 0xe8, 0xff, 0xf2, 0x80, 0x80, 0xe2, 0x00, 0x0a, 166 + 0x56, 0xf8, 0x27, 0x6c, 0xf1, 0xf8, 0xe8, 0xff, 167 + 0xf2, 0x80, 0x80, 0xe2, 0x00, 0x09, 0xe8, 0xff, 168 + 0x57, 0xf8, 0x27, 0x6c, 0xf2, 0x80, 0x80, 0xe2, 169 + 0x00, 0x08, 0x56, 0xf8, 0x27, 0x6a, 0xf0, 0xf0, 170 + 0xf0, 0xf8, 0x80, 0xe2, 0x00, 0x0f, 0x56, 0xf8, 171 + 0x27, 0x6a, 0xf1, 0xf0, 0xe8, 0xff, 0xf2, 0x80, 172 + 0x80, 0xe2, 0x00, 0x0e, 0x56, 0xf8, 0x27, 0x6a, 173 + 0xf1, 0xf8, 0xe8, 0xff, 0xf2, 0x80, 0x80, 0xe2, 174 + 0x00, 0x0d, 0x57, 0xf8, 0x27, 0x6a, 0xe8, 0xff, 175 + 0xf2, 0x80, 0x80, 0xe2, 0x00, 0x0c, 0x76, 0xe2, 176 + 0x00, 0x13, 0x00, 0x00, 0x76, 0xe2, 0x00, 0x12, 177 + 0x00, 0x00, 0x6f, 0xf8, 0x2a, 0x5c, 0x0c, 0x58, 178 + 0x80, 0xe2, 0x00, 0x11, 0xe8, 0xff, 0x18, 0xf8, 179 + 0x2a, 0x5c, 0x80, 0xe2, 0x00, 0x10, 0x76, 0xe2, 180 + 0x00, 0x17, 0x00, 0x00, 0x76, 0xe2, 0x00, 0x16, 181 + 0x00, 0x00, 0x6f, 0xf8, 0x2a, 0x9e, 0x0c, 0x58, 182 + 0x80, 0xe2, 0x00, 0x15, 0xe8, 0xff, 0x18, 0xf8, 183 + 0x2a, 0x9e, 0x80, 0xe2, 0x00, 0x14, 0x76, 0xe2, 184 + 0x00, 0x1b, 0x00, 0x00, 0x76, 0xe2, 0x00, 0x1a, 185 + 0x00, 0x00, 0x76, 0xe2, 0x00, 0x19, 0x00, 0x00, 186 + 0x70, 0xe2, 0x00, 0x18, 0x27, 0x6e, 0x76, 0xe2, 187 + 0x00, 0x1f, 0x00, 0x00, 0x76, 0xe2, 0x00, 0x1e, 188 + 0x00, 0x00, 0x76, 0xe2, 0x00, 0x1d, 0x00, 0x00, 189 + 0x76, 0xe2, 0x00, 0x1c, 0x00, 0x00, 0x76, 0xe2, 190 + 0x00, 0x20, 0x00, 0xaa, 0xf0, 0x74, 0x02, 0x98, 191 + 0x8a, 0x11, 0xfc, 0x00, 0x4a, 0x11, 0xee, 0xfe, 192 + 0x10, 0xf8, 0x2a, 0x38, 0xf8, 0x45, 0x04, 0xed, 193 + 0x77, 0x12, 0x2a, 0x18, 0x10, 0xe2, 0x00, 0x02, 194 + 0x88, 0x11, 0xf4, 0x95, 0x77, 0x10, 0x00, 0x08, 195 + 0x6d, 0xe9, 0xff, 0xdf, 0xf6, 0xa9, 0xf8, 0x20, 196 + 0x04, 0x75, 0xf0, 0x73, 0x04, 0x7d, 0xf0, 0x10, 197 + 0x00, 0x21, 0xf0, 0x00, 0x1a, 0x83, 0x48, 0x08, 198 + 0x7e, 0xf8, 0x00, 0x08, 0xf4, 0xe2, 0xf0, 0x74, 199 + 0x03, 0x0a, 0xf0, 0x73, 0x04, 0xea, 0x48, 0x12, 200 + 0xf2, 0x74, 0x03, 0x23, 0xf0, 0x00, 0x00, 0x04, 201 + 0xf2, 0x74, 0x03, 0x36, 0xf4, 0x95, 0xe8, 0x00, 202 + 0xf0, 0x73, 0x04, 0xea, 0x77, 0x11, 0x2a, 0x18, 203 + 0xe8, 0xff, 0x6f, 0xe1, 0x00, 0x04, 0x0d, 0x48, 204 + 0x18, 0xe1, 0x00, 0x05, 0xf2, 0x74, 0x09, 0x69, 205 + 0xf4, 0x95, 0xf2, 0xa0, 0xf0, 0x74, 0x03, 0x36, 206 + 0xf0, 0x73, 0x04, 0xea, 0x77, 0x11, 0x2a, 0x18, 207 + 0xe8, 0xff, 0x6f, 0xe1, 0x00, 0x04, 0x0d, 0x48, 208 + 0x18, 0xe1, 0x00, 0x05, 0xf2, 0x74, 0x09, 0x41, 209 + 0xf4, 0x95, 0xf2, 0xa0, 0xf0, 0x74, 0x03, 0x36, 210 + 0xf0, 0x73, 0x04, 0xea, 0xf0, 0x74, 0x03, 0x57, 211 + 0xf0, 0x73, 0x04, 0xea, 0x10, 0xf8, 0x2a, 0x1c, 212 + 0xf0, 0x74, 0x12, 0xa4, 0xf2, 0x74, 0x03, 0x36, 213 + 0xf4, 0x95, 0xe8, 0x00, 0xf0, 0x73, 0x04, 0xea, 214 + 0x48, 0x12, 0xf2, 0x74, 0x03, 0x80, 0xf0, 0x00, 215 + 0x00, 0x04, 0xf2, 0x74, 0x03, 0x36, 0xf4, 0x95, 216 + 0xe8, 0x00, 0xf0, 0x73, 0x04, 0xea, 0x10, 0xf8, 217 + 0x2a, 0x1c, 0xf0, 0x74, 0x12, 0xc5, 0xf2, 0x74, 218 + 0x03, 0x36, 0xf4, 0x95, 0xe8, 0x00, 0xf0, 0x73, 219 + 0x04, 0xea, 0x77, 0x11, 0x2a, 0x18, 0xe8, 0xff, 220 + 0x6f, 0xe1, 0x00, 0x06, 0x0d, 0x48, 0x18, 0xe1, 221 + 0x00, 0x07, 0x71, 0xe1, 0x00, 0x05, 0x00, 0x12, 222 + 0xf2, 0xa0, 0x70, 0x00, 0x00, 0x12, 0x80, 0x01, 223 + 0x10, 0xe1, 0x00, 0x04, 0xf0, 0x74, 0x0e, 0x7a, 224 + 0xf2, 0x74, 0x03, 0x36, 0xf4, 0x95, 0xe8, 0x00, 225 + 0xf0, 0x73, 0x04, 0xea, 0xf0, 0x74, 0x03, 0xbc, 226 + 0x76, 0xf8, 0x2a, 0x38, 0x00, 0x00, 0xee, 0x02, 227 + 0x8a, 0x11, 0xfc, 0x00, 0x4a, 0x11, 0x77, 0x11, 228 + 0x2a, 0x39, 0x76, 0x81, 0x00, 0x55, 0x77, 0x12, 229 + 0x2a, 0x18, 0x10, 0xe2, 0x00, 0x01, 0x80, 0xe1, 230 + 0x00, 0x01, 0x10, 0xe2, 0x00, 0x02, 0x80, 0xe1, 231 + 0x00, 0x02, 0x76, 0xe1, 0x00, 0x03, 0x00, 0x09, 232 + 0x48, 0x11, 0xf0, 0x00, 0x00, 0x04, 0x88, 0x12, 233 + 0xf4, 0x95, 0x77, 0x13, 0x2a, 0x86, 0xe9, 0x00, 234 + 0xe5, 0x98, 0xf3, 0x00, 0x00, 0x01, 0xf6, 0xb8, 235 + 0x48, 0x0b, 0x08, 0xf8, 0x2a, 0x3c, 0xf8, 0x43, 236 + 0x05, 0x0a, 0x76, 0x82, 0x00, 0xaa, 0xf0, 0x74, 237 + 0x02, 0x98, 0x8a, 0x11, 0xfc, 0x00, 0x4a, 0x11, 238 + 0x77, 0x11, 0x2a, 0x39, 0x76, 0x81, 0x00, 0x55, 239 + 0x77, 0x13, 0x2a, 0x18, 0x10, 0xe3, 0x00, 0x01, 240 + 0x80, 0xe1, 0x00, 0x01, 0x10, 0xe3, 0x00, 0x02, 241 + 0x80, 0xe1, 0x00, 0x02, 0x13, 0xe3, 0x00, 0x03, 242 + 0x81, 0xe1, 0x00, 0x03, 0x48, 0x11, 0x77, 0x11, 243 + 0x00, 0x00, 0xf8, 0x4d, 0x05, 0x44, 0xf0, 0x00, 244 + 0x00, 0x04, 0x88, 0x12, 0x48, 0x13, 0xf0, 0x00, 245 + 0x00, 0x04, 0x88, 0x13, 0xf4, 0x95, 0xf4, 0x95, 246 + 0xe5, 0x98, 0x6d, 0x91, 0xf6, 0xb8, 0x48, 0x11, 247 + 0x08, 0xf8, 0x2a, 0x3c, 0xf8, 0x43, 0x05, 0x3a, 248 + 0xf0, 0x20, 0x2a, 0x39, 0x49, 0x11, 0xf5, 0x00, 249 + 0x89, 0x11, 0xf4, 0x95, 0xf4, 0x95, 0x76, 0xe1, 250 + 0x00, 0x04, 0x00, 0xaa, 0xf0, 0x74, 0x02, 0x98, 251 + 0x8a, 0x11, 0xfc, 0x00, 0x4a, 0x11, 0x77, 0x11, 252 + 0x2a, 0x39, 0x76, 0x81, 0x00, 0x55, 0x77, 0x12, 253 + 0x2a, 0x18, 0x10, 0xe2, 0x00, 0x01, 0x80, 0xe1, 254 + 0x00, 0x01, 0x10, 0xe2, 0x00, 0x02, 0x80, 0xe1, 255 + 0x00, 0x02, 0x76, 0xe1, 0x00, 0x03, 0x00, 0x0c, 256 + 0x48, 0x11, 0xf0, 0x00, 0x00, 0x04, 0x88, 0x12, 257 + 0xf4, 0x95, 0x77, 0x13, 0x2a, 0x7a, 0xe9, 0x00, 258 + 0xe5, 0x98, 0xf3, 0x00, 0x00, 0x01, 0xf6, 0xb8, 259 + 0x48, 0x0b, 0x08, 0xf8, 0x2a, 0x3c, 0xf8, 0x43, 260 + 0x05, 0x6a, 0x76, 0x82, 0x00, 0xaa, 0xf0, 0x74, 261 + 0x02, 0x98, 0x8a, 0x11, 0xfc, 0x00, 0x4a, 0x11, 262 + 0x77, 0x11, 0x2a, 0x39, 0x76, 0x81, 0x00, 0x55, 263 + 0x77, 0x12, 0x2a, 0x18, 0x10, 0xe2, 0x00, 0x01, 264 + 0x80, 0xe1, 0x00, 0x01, 0x10, 0xe2, 0x00, 0x02, 265 + 0x80, 0xe1, 0x00, 0x02, 0x76, 0xe1, 0x00, 0x03, 266 + 0x00, 0x19, 0x48, 0x11, 0xf0, 0x00, 0x00, 0x04, 267 + 0x88, 0x12, 0xf4, 0x95, 0x77, 0x13, 0x2a, 0x5d, 268 + 0xe9, 0x00, 0xe5, 0x98, 0xf3, 0x00, 0x00, 0x01, 269 + 0xf6, 0xb8, 0x48, 0x0b, 0x08, 0xf8, 0x2a, 0x3c, 270 + 0xf8, 0x43, 0x05, 0x93, 0x76, 0x82, 0x00, 0xaa, 271 + 0xf0, 0x74, 0x02, 0x98, 0x8a, 0x11, 0xfc, 0x00, 272 + 0x4a, 0x11, 0x88, 0x11, 0x10, 0xf8, 0x2a, 0x38, 273 + 0xf8, 0x44, 0x05, 0xe3, 0x10, 0xf8, 0x2a, 0xa1, 274 + 0xf8, 0x44, 0x05, 0xba, 0x6c, 0xe1, 0xff, 0x56, 275 + 0x05, 0xe3, 0x72, 0x12, 0x2a, 0xa1, 0xf4, 0x95, 276 + 0x70, 0xe2, 0x2a, 0x18, 0x00, 0x11, 0x6b, 0xf8, 277 + 0x2a, 0xa1, 0x00, 0x01, 0xf0, 0x73, 0x05, 0xe3, 278 + 0x72, 0x12, 0x2a, 0xa1, 0xf4, 0x95, 0x70, 0xe2, 279 + 0x2a, 0x18, 0x00, 0x11, 0x10, 0xf8, 0x2a, 0xa1, 280 + 0xf0, 0x00, 0x00, 0x01, 0x88, 0x12, 0xf4, 0x95, 281 + 0xf4, 0x95, 0x6e, 0xe2, 0xff, 0xfc, 0x05, 0xd1, 282 + 0x73, 0x12, 0x2a, 0xa1, 0x48, 0x11, 0xf0, 0x00, 283 + 0x00, 0x05, 0x80, 0xf8, 0x2a, 0xa2, 0x10, 0xf8, 284 + 0x2a, 0xa1, 0x08, 0xf8, 0x2a, 0xa2, 0xf8, 0x44, 285 + 0x05, 0xe3, 0x6c, 0xe1, 0xff, 0xab, 0x05, 0xdd, 286 + 0x76, 0xf8, 0x2a, 0x38, 0x00, 0x01, 0x76, 0xf8, 287 + 0x2a, 0xa1, 0x00, 0x00, 0x76, 0xf8, 0x2a, 0xa2, 288 + 0x00, 0x00, 0x8a, 0x11, 0xfc, 0x00, 0xf4, 0x95, 289 + 0x4a, 0x08, 0x4a, 0x09, 0x4a, 0x0a, 0x4a, 0x0b, 290 + 0x4a, 0x0c, 0x4a, 0x0d, 0x4a, 0x10, 0x4a, 0x11, 291 + 0x4a, 0x12, 0x4a, 0x13, 0x4a, 0x14, 0x4a, 0x15, 292 + 0x4a, 0x16, 0x4a, 0x17, 0x4a, 0x17, 0x4a, 0x19, 293 + 0x4a, 0x0e, 0x4a, 0x06, 0x4a, 0x07, 0x4a, 0x1a, 294 + 0x4a, 0x1d, 0x4a, 0x1b, 0x4a, 0x1c, 0x68, 0xf8, 295 + 0x00, 0x07, 0x7d, 0x3f, 0x69, 0xf8, 0x00, 0x07, 296 + 0x40, 0x00, 0x68, 0xf8, 0x00, 0x1d, 0xff, 0xfc, 297 + 0x48, 0x18, 0x68, 0xf8, 0x00, 0x18, 0xff, 0xfe, 298 + 0xf4, 0x95, 0xf4, 0x95, 0x4a, 0x08, 0xee, 0xff, 299 + 0x10, 0xf8, 0x2a, 0x5b, 0xf9, 0x80, 0x18, 0x04, 300 + 0xf0, 0x74, 0x05, 0xa2, 0xee, 0x01, 0x8a, 0x18, 301 + 0xf4, 0x95, 0x8a, 0x1c, 0x8a, 0x1b, 0x8a, 0x1d, 302 + 0x8a, 0x1a, 0x8a, 0x07, 0x8a, 0x06, 0x8a, 0x0e, 303 + 0x8a, 0x19, 0x8a, 0x17, 0x8a, 0x17, 0x8a, 0x16, 304 + 0x8a, 0x15, 0x8a, 0x14, 0x8a, 0x13, 0x8a, 0x12, 305 + 0x8a, 0x11, 0x8a, 0x10, 0x8a, 0x0d, 0x8a, 0x0c, 306 + 0x8a, 0x0b, 0x8a, 0x0a, 0x8a, 0x09, 0x8a, 0x08, 307 + 0xf4, 0xeb, 0xee, 0xfd, 0x76, 0xf8, 0x2a, 0x38, 308 + 0x00, 0x00, 0x76, 0xf8, 0x2a, 0x5a, 0x00, 0x00, 309 + 0xe8, 0x01, 0x4e, 0x00, 0xfb, 0x80, 0x17, 0xd6, 310 + 0xf4, 0x95, 0xe8, 0x01, 0x80, 0xf8, 0x2a, 0x5b, 311 + 0x76, 0x00, 0x2a, 0x8f, 0xf9, 0x80, 0x16, 0xaa, 312 + 0x10, 0xf8, 0x2a, 0x5b, 0xf9, 0x80, 0x17, 0x5c, 313 + 0x10, 0xf8, 0x2a, 0x5b, 0xf9, 0x80, 0x17, 0x6f, 314 + 0xfb, 0x80, 0x16, 0x66, 0xf4, 0x95, 0xe8, 0x1a, 315 + 0xfb, 0x80, 0x16, 0x87, 0xf4, 0x95, 0xe8, 0x1a, 316 + 0xfb, 0x80, 0x16, 0x66, 0xf4, 0x95, 0xe8, 0x1b, 317 + 0xfb, 0x80, 0x16, 0x87, 0xf4, 0x95, 0xe8, 0x1b, 318 + 0xee, 0x03, 0xfc, 0x00, 0x4a, 0x11, 0xf4, 0x95, 319 + 0x13, 0x02, 0x88, 0x11, 0xe8, 0x00, 0xf8, 0x4d, 320 + 0x06, 0x6a, 0xf3, 0x10, 0x00, 0x01, 0x89, 0x1a, 321 + 0xf4, 0x95, 0xf0, 0x72, 0x06, 0x69, 0x1c, 0x91, 322 + 0x8a, 0x11, 0xfc, 0x00, 0x4a, 0x11, 0x88, 0x11, 323 + 0x12, 0x03, 0x11, 0x02, 0xf8, 0x45, 0x06, 0x79, 324 + 0xf0, 0x10, 0x00, 0x01, 0x88, 0x1a, 0xf4, 0x95, 325 + 0xf0, 0x72, 0x06, 0x78, 0x81, 0x91, 0x8a, 0x11, 326 + 0xfc, 0x00, 0x4a, 0x11, 0xf4, 0x95, 0x71, 0x02, 327 + 0x00, 0x11, 0x11, 0x03, 0x61, 0xf8, 0x00, 0x11, 328 + 0x00, 0x01, 0xf8, 0x30, 0x06, 0x91, 0xf6, 0xb8, 329 + 0x6f, 0xf8, 0x00, 0x11, 0x0c, 0x1f, 0x88, 0x11, 330 + 0xf3, 0xe8, 0xe8, 0xff, 0x18, 0x81, 0xf1, 0xa0, 331 + 0x81, 0x81, 0xf0, 0x73, 0x06, 0x9d, 0xf6, 0xb8, 332 + 0x6f, 0xf8, 0x00, 0x11, 0x0c, 0x1f, 0x88, 0x11, 333 + 0xf3, 0x30, 0x00, 0xff, 0xf0, 0x20, 0xff, 0x00, 334 + 0x18, 0x81, 0xf1, 0xa0, 0x81, 0x81, 0x8a, 0x11, 335 + 0xfc, 0x00, 0x4a, 0x11, 0xf4, 0x95, 0x11, 0x02, 336 + 0x61, 0xf8, 0x00, 0x0b, 0x00, 0x01, 0xf8, 0x20, 337 + 0x06, 0xb1, 0x49, 0x0b, 0xf6, 0x1f, 0x88, 0x11, 338 + 0xf4, 0x95, 0xf4, 0x95, 0x10, 0x81, 0xf2, 0x73, 339 + 0x06, 0xb8, 0xf0, 0x30, 0x00, 0xff, 0x49, 0x0b, 340 + 0xf6, 0x1f, 0x88, 0x11, 0xf4, 0x95, 0xf4, 0x95, 341 + 0x12, 0x81, 0xf4, 0x78, 0x8a, 0x11, 0xfc, 0x00, 342 + 0x4a, 0x11, 0xf4, 0x95, 0x71, 0x02, 0x00, 0x12, 343 + 0x13, 0x03, 0x88, 0x11, 0xe8, 0x00, 0xf8, 0x4d, 344 + 0x06, 0xcc, 0xf3, 0x10, 0x00, 0x01, 0x89, 0x1a, 345 + 0xf4, 0x95, 0xf0, 0x72, 0x06, 0xcb, 0x11, 0x92, 346 + 0xf2, 0xc0, 0x81, 0x91, 0x8a, 0x11, 0xfc, 0x00, 347 + 0x88, 0x12, 0x12, 0x02, 0x71, 0x01, 0x00, 0x13, 348 + 0xf8, 0x45, 0x06, 0xdb, 0xf0, 0x10, 0x00, 0x01, 349 + 0x88, 0x1a, 0xf4, 0x95, 0xf0, 0x72, 0x06, 0xda, 350 + 0xe5, 0x98, 0xfc, 0x00, 0x4a, 0x11, 0xee, 0xfe, 351 + 0x88, 0x11, 0x11, 0x04, 0x10, 0x06, 0x71, 0x05, 352 + 0x00, 0x12, 0x61, 0xf8, 0x00, 0x12, 0x00, 0x01, 353 + 0xf8, 0x20, 0x06, 0xea, 0xf0, 0x00, 0x00, 0x01, 354 + 0xf6, 0xb8, 0xf0, 0x00, 0x00, 0x01, 0x6f, 0xf8, 355 + 0x00, 0x12, 0x0f, 0x1f, 0x48, 0x08, 0x81, 0x00, 356 + 0xf4, 0x7f, 0x80, 0x01, 0xf2, 0x74, 0x06, 0xba, 357 + 0xf4, 0x95, 0x48, 0x11, 0xee, 0x02, 0x8a, 0x11, 358 + 0xfc, 0x00, 0x4a, 0x11, 0xee, 0xfe, 0x88, 0x12, 359 + 0x11, 0x04, 0x10, 0x06, 0x71, 0x05, 0x00, 0x13, 360 + 0x61, 0xf8, 0x00, 0x13, 0x00, 0x01, 0xf8, 0x20, 361 + 0x07, 0x09, 0xf0, 0x00, 0x00, 0x01, 0xf0, 0x00, 362 + 0x00, 0x01, 0x88, 0x11, 0xf6, 0xb8, 0x6f, 0xf8, 363 + 0x00, 0x13, 0x0f, 0x1f, 0x81, 0x00, 0x48, 0x11, 364 + 0xf4, 0x7f, 0x80, 0x01, 0xf2, 0x74, 0x06, 0xce, 365 + 0xf4, 0x95, 0x48, 0x12, 0x48, 0x11, 0xf0, 0x30, 366 + 0xff, 0xfe, 0xee, 0x02, 0x8a, 0x11, 0xfc, 0x00, 367 + 0x4a, 0x11, 0x4a, 0x16, 0x4a, 0x17, 0xee, 0xfc, 368 + 0xf4, 0x95, 0x80, 0x02, 0x71, 0x08, 0x00, 0x16, 369 + 0x10, 0x09, 0x71, 0x0b, 0x00, 0x17, 0x80, 0x03, 370 + 0x71, 0x0a, 0x00, 0x11, 0x48, 0x17, 0xf8, 0x45, 371 + 0x07, 0x3f, 0x70, 0x00, 0x00, 0x11, 0x10, 0x03, 372 + 0xf0, 0x74, 0x06, 0x9f, 0x80, 0x01, 0x70, 0x00, 373 + 0x00, 0x16, 0x10, 0x02, 0xf0, 0x74, 0x06, 0x7b, 374 + 0x6d, 0x91, 0x6d, 0x96, 0x6c, 0xef, 0xff, 0xff, 375 + 0x07, 0x2f, 0xee, 0x04, 0x8a, 0x17, 0x8a, 0x16, 376 + 0x8a, 0x11, 0xfc, 0x00, 0x4a, 0x11, 0xee, 0xfe, 377 + 0x10, 0xf8, 0x2a, 0xe8, 0x08, 0xf8, 0x2a, 0xe9, 378 + 0xf8, 0x45, 0x07, 0x64, 0x76, 0x00, 0x00, 0x01, 379 + 0x62, 0xf8, 0x2a, 0xe9, 0x00, 0x5e, 0xf2, 0x74, 380 + 0x12, 0x0b, 0xf0, 0x00, 0x30, 0x40, 0x72, 0x11, 381 + 0x2a, 0xe9, 0x77, 0x10, 0x00, 0x0f, 0xf5, 0xa9, 382 + 0xf8, 0x20, 0x07, 0x61, 0x6b, 0xf8, 0x2a, 0xe9, 383 + 0x00, 0x01, 0xf0, 0x73, 0x07, 0x64, 0x76, 0xf8, 384 + 0x2a, 0xe9, 0x00, 0x00, 0xee, 0x02, 0x8a, 0x11, 385 + 0xfc, 0x00, 0x4a, 0x11, 0x88, 0x11, 0xe8, 0x00, 386 + 0x75, 0xf8, 0x00, 0x08, 0x00, 0x08, 0xe8, 0x00, 387 + 0x75, 0xf8, 0x00, 0x08, 0x00, 0x09, 0xf6, 0xb8, 388 + 0xf4, 0x95, 0xf0, 0x20, 0xfc, 0x3f, 0x75, 0xf8, 389 + 0x00, 0x08, 0x00, 0x0d, 0xf0, 0x20, 0x0c, 0x30, 390 + 0x75, 0xf8, 0x00, 0x08, 0x00, 0x0c, 0x76, 0xf8, 391 + 0x2a, 0xe8, 0x00, 0x00, 0x76, 0xf8, 0x2a, 0xe9, 392 + 0x00, 0x00, 0x6c, 0x81, 0x07, 0x92, 0x76, 0xf8, 393 + 0x2a, 0xea, 0x00, 0x00, 0xfb, 0x80, 0x16, 0x76, 394 + 0xf4, 0x95, 0xe8, 0x10, 0xe8, 0x00, 0x75, 0xf8, 395 + 0x00, 0x08, 0x00, 0x00, 0xf0, 0x73, 0x07, 0xa8, 396 + 0x76, 0xf8, 0x2a, 0xea, 0x00, 0x01, 0xfb, 0x80, 397 + 0x16, 0x66, 0xf4, 0x95, 0xe8, 0x10, 0xfb, 0x80, 398 + 0x16, 0x87, 0xf4, 0x95, 0xe8, 0x10, 0xe8, 0x00, 399 + 0x75, 0xf8, 0x00, 0x08, 0x00, 0x00, 0xf6, 0xb8, 400 + 0xf4, 0x95, 0xf0, 0x20, 0xff, 0xff, 0x75, 0xf8, 401 + 0x00, 0x08, 0x00, 0x00, 0x8a, 0x11, 0xfc, 0x00, 402 + 0xf4, 0x95, 0x4a, 0x08, 0x4a, 0x09, 0x4a, 0x0a, 403 + 0x4a, 0x06, 0x4a, 0x07, 0x4a, 0x1d, 0x68, 0xf8, 404 + 0x00, 0x07, 0x7d, 0x3f, 0x69, 0xf8, 0x00, 0x07, 405 + 0x40, 0x00, 0x68, 0xf8, 0x00, 0x1d, 0xff, 0xfc, 406 + 0x10, 0xf8, 0x2a, 0xea, 0xf8, 0x45, 0x07, 0xe1, 407 + 0x10, 0xf8, 0x2a, 0xe8, 0xf0, 0x00, 0x00, 0x01, 408 + 0xf0, 0x30, 0x00, 0x0f, 0x80, 0xf8, 0x2a, 0xe8, 409 + 0x10, 0xf8, 0x2a, 0xe8, 0xf8, 0x44, 0x07, 0xd6, 410 + 0xf6, 0xb8, 0xf4, 0x95, 0xf0, 0x20, 0xfc, 0x3f, 411 + 0x75, 0xf8, 0x00, 0x08, 0x00, 0x0d, 0xf0, 0x20, 412 + 0x0c, 0x30, 0x75, 0xf8, 0x00, 0x08, 0x00, 0x0c, 413 + 0xe8, 0x00, 0x75, 0xf8, 0x00, 0x08, 0x00, 0x00, 414 + 0xf6, 0xb8, 0xf4, 0x95, 0xf0, 0x20, 0xff, 0xff, 415 + 0x75, 0xf8, 0x00, 0x08, 0x00, 0x00, 0x8a, 0x1d, 416 + 0x8a, 0x07, 0x8a, 0x06, 0x8a, 0x0a, 0x8a, 0x09, 417 + 0x8a, 0x08, 0xf4, 0xeb, 0xee, 0xff, 0xf2, 0x74, 418 + 0x07, 0x67, 0xf4, 0x95, 0xe8, 0x01, 0xee, 0x01, 419 + 0xfc, 0x00, 0x4a, 0x07, 0x4a, 0x1d, 0x68, 0xf8, 420 + 0x00, 0x07, 0x7d, 0x3f, 0x69, 0xf8, 0x00, 0x07, 421 + 0x40, 0x00, 0x68, 0xf8, 0x00, 0x1d, 0xff, 0xfc, 422 + 0x8a, 0x1d, 0x8a, 0x07, 0xf4, 0xeb, 0x4a, 0x11, 423 + 0x77, 0x11, 0x00, 0x28, 0x76, 0x81, 0x24, 0x00, 424 + 0xe8, 0x00, 0x75, 0xf8, 0x00, 0x08, 0x00, 0x01, 425 + 0xf2, 0x74, 0x07, 0x67, 0xf4, 0x95, 0xe8, 0x00, 426 + 0x77, 0x11, 0x00, 0x1d, 0x68, 0x81, 0x00, 0x7f, 427 + 0xf6, 0xb8, 0xf4, 0x95, 0xf0, 0x20, 0xff, 0x80, 428 + 0x77, 0x11, 0x00, 0x1d, 0xf0, 0x30, 0x01, 0x00, 429 + 0x1a, 0x81, 0x80, 0x81, 0xf0, 0x74, 0x0a, 0x33, 430 + 0xf0, 0x74, 0x11, 0xac, 0xf9, 0x80, 0x13, 0x25, 431 + 0xf9, 0x80, 0x16, 0x53, 0xf9, 0x80, 0x17, 0x82, 432 + 0xf0, 0x74, 0x06, 0x2f, 0xf9, 0x80, 0x14, 0xb2, 433 + 0xf9, 0x80, 0x19, 0x10, 0xf0, 0x74, 0x0d, 0xe3, 434 + 0xf0, 0x74, 0x07, 0xe8, 0xf0, 0x74, 0x02, 0x36, 435 + 0x8a, 0x11, 0xfc, 0x00, 0x4a, 0x11, 0x60, 0xf8, 436 + 0x27, 0x7b, 0xff, 0xff, 0xf8, 0x30, 0x08, 0x39, 437 + 0x71, 0xf8, 0x27, 0x7b, 0x27, 0x79, 0x60, 0xf8, 438 + 0x27, 0x79, 0xff, 0xff, 0xf8, 0x30, 0x08, 0xb2, 439 + 0x10, 0xf8, 0x29, 0x86, 0x08, 0xf8, 0x27, 0x79, 440 + 0xf0, 0x30, 0x7f, 0xff, 0x88, 0x11, 0xf4, 0x95, 441 + 0x77, 0x10, 0x40, 0x00, 0xf6, 0xa9, 0xf8, 0x30, 442 + 0x08, 0x58, 0x10, 0xf8, 0x27, 0x79, 0x08, 0xf8, 443 + 0x27, 0x7a, 0xf0, 0x30, 0x7f, 0xff, 0x88, 0x11, 444 + 0xf4, 0x95, 0x77, 0x10, 0x40, 0x00, 0xf6, 0xa9, 445 + 0xf8, 0x20, 0x08, 0x63, 0x76, 0xf8, 0x27, 0x79, 446 + 0xff, 0xff, 0x76, 0xf8, 0x27, 0x7b, 0xff, 0xff, 447 + 0xf7, 0xb8, 0xf2, 0x73, 0x08, 0xd9, 0xf0, 0x20, 448 + 0xff, 0xff, 0xf6, 0xb8, 0x56, 0xf8, 0x27, 0x74, 449 + 0xf0, 0xf9, 0x88, 0x11, 0x56, 0xf8, 0x27, 0x72, 450 + 0xf0, 0xf9, 0x88, 0x12, 0xf4, 0x95, 0xf4, 0x95, 451 + 0xe7, 0x20, 0xf4, 0xa9, 0xf8, 0x30, 0x08, 0x8f, 452 + 0xf1, 0x20, 0x27, 0x7c, 0x48, 0x11, 0xf6, 0x00, 453 + 0x88, 0x13, 0xf4, 0x95, 0xf4, 0x95, 0x10, 0x83, 454 + 0x08, 0xf8, 0x27, 0x79, 0xf0, 0x30, 0x7f, 0xff, 455 + 0x88, 0x13, 0xf4, 0x95, 0x77, 0x10, 0x40, 0x00, 456 + 0xf5, 0xab, 0xf8, 0x30, 0x08, 0x8f, 0x6d, 0x91, 457 + 0x48, 0x11, 0xf0, 0x30, 0x01, 0xff, 0x88, 0x11, 458 + 0xf4, 0x95, 0xe7, 0x20, 0xf7, 0xa9, 0xf8, 0x30, 459 + 0x08, 0x74, 0x6d, 0x89, 0x48, 0x11, 0xf0, 0x30, 460 + 0x01, 0xff, 0xf0, 0xe7, 0xf4, 0x95, 0x48, 0x08, 461 + 0x4e, 0xf8, 0x27, 0x74, 0x48, 0x08, 0xf1, 0xf9, 462 + 0x89, 0x11, 0xf4, 0x95, 0xf4, 0x95, 0x71, 0xe1, 463 + 0x27, 0x7c, 0x27, 0x7a, 0x60, 0xf8, 0x27, 0x7b, 464 + 0xff, 0xff, 0xf8, 0x30, 0x08, 0xab, 0x48, 0x08, 465 + 0x4e, 0xf8, 0x27, 0x72, 0x76, 0xf8, 0x27, 0x7b, 466 + 0xff, 0xff, 0x76, 0xf8, 0x27, 0x79, 0xff, 0xff, 467 + 0xf2, 0x73, 0x08, 0xd9, 0xf4, 0x95, 0xe8, 0x00, 468 + 0x44, 0xf8, 0x27, 0x73, 0x40, 0xf8, 0x27, 0x75, 469 + 0x82, 0xf8, 0x00, 0x11, 0xf4, 0x95, 0x77, 0x10, 470 + 0x80, 0x00, 0xf6, 0xa9, 0xf8, 0x20, 0x08, 0xd8, 471 + 0xf6, 0xb8, 0x10, 0xf8, 0x27, 0x73, 0xf0, 0x00, 472 + 0x80, 0x00, 0x48, 0x08, 0x4e, 0xf8, 0x27, 0x74, 473 + 0x48, 0x08, 0xf0, 0xf9, 0x88, 0x11, 0xf4, 0x95, 474 + 0xf4, 0x95, 0x71, 0xe1, 0x27, 0x7c, 0x27, 0x7a, 475 + 0xf7, 0xb8, 0x57, 0xf8, 0x27, 0x74, 0xf0, 0x62, 476 + 0xff, 0xff, 0xf0, 0x40, 0xff, 0x80, 0xf2, 0x80, 477 + 0x4e, 0xf8, 0x27, 0x74, 0xe8, 0x00, 0x8a, 0x11, 478 + 0xfc, 0x00, 0x4a, 0x11, 0x4a, 0x16, 0xee, 0xfb, 479 + 0x11, 0xf8, 0x27, 0x71, 0x09, 0xf8, 0x27, 0x73, 480 + 0x89, 0x11, 0x88, 0x10, 0xf4, 0x95, 0xf4, 0x95, 481 + 0xf6, 0xa9, 0xf8, 0x20, 0x08, 0xed, 0xf2, 0x73, 482 + 0x09, 0x0e, 0xf4, 0x95, 0xe8, 0x00, 0xf6, 0x20, 483 + 0x76, 0x00, 0x00, 0x41, 0xf0, 0x74, 0x12, 0xee, 484 + 0x88, 0x16, 0xf4, 0x95, 0xf7, 0xb8, 0x6d, 0x96, 485 + 0x10, 0xf8, 0x00, 0x16, 0xf8, 0x47, 0x09, 0x0a, 486 + 0xe7, 0x61, 0x76, 0x00, 0x00, 0x00, 0x76, 0x01, 487 + 0x00, 0x80, 0x76, 0x02, 0x00, 0xff, 0x76, 0x03, 488 + 0x00, 0x00, 0xf2, 0x74, 0x0c, 0xb9, 0xf4, 0x95, 489 + 0xe8, 0x00, 0x6c, 0xe9, 0xff, 0xff, 0x08, 0xfb, 490 + 0x73, 0x16, 0x00, 0x0e, 0xf0, 0x66, 0x00, 0x41, 491 + 0xee, 0x05, 0x8a, 0x16, 0x8a, 0x11, 0xfc, 0x00, 492 + 0x4a, 0x11, 0xf4, 0x95, 0x71, 0x02, 0x00, 0x13, 493 + 0xf6, 0xb8, 0x77, 0x11, 0x7f, 0xff, 0x57, 0xf8, 494 + 0x27, 0x72, 0x48, 0x11, 0xf2, 0x80, 0xf0, 0x00, 495 + 0x80, 0x00, 0x88, 0x11, 0xf6, 0x40, 0xf0, 0xe0, 496 + 0xf1, 0xf1, 0xe8, 0x01, 0xf2, 0x80, 0x80, 0xf8, 497 + 0x27, 0x78, 0x77, 0x12, 0x80, 0x00, 0x57, 0xf8, 498 + 0x27, 0x72, 0x48, 0x12, 0xf2, 0x80, 0x88, 0x12, 499 + 0xf4, 0x95, 0xf4, 0x95, 0x6c, 0x82, 0x09, 0x38, 500 + 0xe8, 0x00, 0x75, 0xf8, 0x00, 0x08, 0x00, 0x01, 501 + 0xf0, 0x73, 0x09, 0x3d, 0xf0, 0x20, 0x80, 0x01, 502 + 0x75, 0xf8, 0x00, 0x08, 0x00, 0x01, 0x70, 0x81, 503 + 0x00, 0x13, 0x8a, 0x11, 0xfc, 0x00, 0x4a, 0x11, 504 + 0xf0, 0x30, 0x7f, 0xff, 0x11, 0xf8, 0x29, 0x86, 505 + 0xf5, 0x20, 0xf3, 0x30, 0x7f, 0xff, 0x89, 0x11, 506 + 0xf4, 0x95, 0x77, 0x10, 0x40, 0x00, 0xf6, 0xa9, 507 + 0xf8, 0x20, 0x09, 0x54, 0xf2, 0x73, 0x09, 0x67, 508 + 0xf4, 0x95, 0xe8, 0x02, 0x6f, 0xf8, 0x27, 0x7a, 509 + 0x0d, 0x20, 0xf3, 0x30, 0x7f, 0xff, 0x89, 0x11, 510 + 0xf4, 0x95, 0x77, 0x10, 0x40, 0x00, 0xf6, 0xa9, 511 + 0xf8, 0x20, 0x09, 0x64, 0xf2, 0x73, 0x09, 0x67, 512 + 0xf4, 0x95, 0xe8, 0x01, 0x80, 0xf8, 0x27, 0x7b, 513 + 0xe8, 0x00, 0x8a, 0x11, 0xfc, 0x00, 0x4a, 0x11, 514 + 0x11, 0xf8, 0x29, 0x86, 0xf5, 0x20, 0xf3, 0x30, 515 + 0x7f, 0xff, 0x89, 0x11, 0xf4, 0x95, 0x77, 0x10, 516 + 0x40, 0x00, 0xf6, 0xa9, 0xf8, 0x20, 0x09, 0x7a, 517 + 0xf2, 0x73, 0x09, 0x8d, 0xf4, 0x95, 0xe8, 0x02, 518 + 0x6f, 0xf8, 0x27, 0x7a, 0x0d, 0x20, 0xf3, 0x30, 519 + 0x7f, 0xff, 0x89, 0x11, 0xf4, 0x95, 0x77, 0x10, 520 + 0x40, 0x00, 0xf6, 0xa9, 0xf8, 0x20, 0x09, 0x8a, 521 + 0xf2, 0x73, 0x09, 0x8d, 0xf4, 0x95, 0xe8, 0x01, 522 + 0x80, 0xf8, 0x27, 0x79, 0xe8, 0x00, 0x8a, 0x11, 523 + 0xfc, 0x00, 0x4a, 0x11, 0xf4, 0x95, 0x71, 0x02, 524 + 0x00, 0x12, 0x88, 0x11, 0xf6, 0xb8, 0x57, 0xf8, 525 + 0x27, 0x72, 0xf0, 0x20, 0x7f, 0xff, 0xf2, 0x80, 526 + 0xf0, 0x00, 0x80, 0x00, 0x80, 0x81, 0x57, 0xf8, 527 + 0x27, 0x72, 0xe8, 0x01, 0xf3, 0xf1, 0xf2, 0x80, 528 + 0x80, 0xf8, 0x27, 0x78, 0x77, 0x11, 0x80, 0x00, 529 + 0x48, 0x11, 0x57, 0xf8, 0x27, 0x72, 0xf2, 0x80, 530 + 0x88, 0x11, 0xf4, 0x95, 0xf4, 0x95, 0x6c, 0x81, 531 + 0x09, 0xb5, 0xe8, 0x00, 0x75, 0xf8, 0x00, 0x08, 532 + 0x00, 0x01, 0xf0, 0x73, 0x09, 0xba, 0xf0, 0x20, 533 + 0x80, 0x01, 0x75, 0xf8, 0x00, 0x08, 0x00, 0x01, 534 + 0x45, 0xf8, 0x27, 0x71, 0x43, 0xf8, 0x27, 0x73, 535 + 0x83, 0xf8, 0x00, 0x11, 0xf4, 0x95, 0xe7, 0x20, 536 + 0xf6, 0xa9, 0xf8, 0x30, 0x09, 0xc9, 0xf2, 0x73, 537 + 0x09, 0xe4, 0x77, 0x12, 0x00, 0x00, 0x57, 0xf8, 538 + 0x27, 0x72, 0xf0, 0x20, 0x7f, 0xff, 0xf2, 0x80, 539 + 0x49, 0x12, 0xf5, 0x00, 0xf3, 0x00, 0x80, 0x00, 540 + 0x61, 0xf8, 0x00, 0x0b, 0x80, 0x00, 0xf8, 0x30, 541 + 0x09, 0xdc, 0xf1, 0x20, 0x80, 0x00, 0xf5, 0x20, 542 + 0x89, 0x12, 0xf4, 0x95, 0x48, 0x12, 0x6f, 0xf8, 543 + 0x27, 0x73, 0x0d, 0x00, 0xf4, 0x95, 0x49, 0x0b, 544 + 0x4f, 0xf8, 0x27, 0x72, 0x8a, 0x11, 0xfe, 0x00, 545 + 0x48, 0x12, 0xf4, 0x95, 0x4a, 0x11, 0x4a, 0x16, 546 + 0x4a, 0x17, 0xee, 0xfc, 0xf4, 0x95, 0x71, 0x08, 547 + 0x00, 0x16, 0x88, 0x17, 0xf0, 0x74, 0x08, 0x30, 548 + 0x48, 0x18, 0x70, 0x00, 0x00, 0x16, 0xf2, 0x74, 549 + 0x09, 0x8f, 0xf0, 0x00, 0x00, 0x02, 0x88, 0x11, 550 + 0xf4, 0x95, 0xf4, 0x95, 0x6c, 0x81, 0x0a, 0x0a, 551 + 0xf2, 0x74, 0x08, 0xdb, 0xf4, 0x95, 0x48, 0x16, 552 + 0x48, 0x18, 0x70, 0x00, 0x00, 0x16, 0xf2, 0x74, 553 + 0x09, 0x8f, 0xf0, 0x00, 0x00, 0x02, 0x88, 0x11, 554 + 0x10, 0x02, 0x70, 0x01, 0x00, 0x11, 0x80, 0x00, 555 + 0xf2, 0x74, 0x06, 0xce, 0xf4, 0x95, 0x48, 0x17, 556 + 0x49, 0x11, 0x48, 0x17, 0xf6, 0x00, 0x88, 0x17, 557 + 0xe7, 0x60, 0xf5, 0xa9, 0xf8, 0x20, 0x0a, 0x2d, 558 + 0x48, 0x16, 0xf6, 0x20, 0x88, 0x11, 0x48, 0x18, 559 + 0x70, 0x00, 0x00, 0x11, 0xf2, 0x74, 0x09, 0x8f, 560 + 0xf0, 0x00, 0x00, 0x02, 0x88, 0x11, 0x70, 0x01, 561 + 0x00, 0x11, 0x10, 0x02, 0x80, 0x00, 0xf2, 0x74, 562 + 0x06, 0xce, 0xf4, 0x95, 0x48, 0x17, 0xee, 0x04, 563 + 0x48, 0x16, 0x8a, 0x17, 0x8a, 0x16, 0x8a, 0x11, 564 + 0xfc, 0x00, 0xee, 0xfd, 0xe8, 0x00, 0x4e, 0xf8, 565 + 0x27, 0x70, 0xe8, 0x00, 0x4e, 0xf8, 0x27, 0x72, 566 + 0xe8, 0x00, 0x4e, 0xf8, 0x27, 0x74, 0xe8, 0x00, 567 + 0x4e, 0xf8, 0x27, 0x76, 0x76, 0xf8, 0x27, 0x79, 568 + 0xff, 0xff, 0x76, 0xf8, 0x27, 0x7a, 0x00, 0x00, 569 + 0x76, 0xf8, 0x27, 0x7b, 0xff, 0xff, 0x76, 0xf8, 570 + 0x27, 0x78, 0x00, 0x00, 0xe8, 0x00, 0x75, 0xf8, 571 + 0x00, 0x08, 0x00, 0x01, 0x76, 0x00, 0x00, 0x00, 572 + 0x76, 0x01, 0x02, 0x00, 0xf2, 0x74, 0x12, 0xdc, 573 + 0xf0, 0x20, 0x27, 0x7c, 0xee, 0x03, 0xfc, 0x00, 574 + 0x4a, 0x11, 0xee, 0xfc, 0xf4, 0x95, 0x4e, 0x00, 575 + 0x77, 0x12, 0x7f, 0xff, 0xf6, 0xb8, 0x49, 0x12, 576 + 0xf1, 0x80, 0xf3, 0x00, 0x80, 0x00, 0x89, 0x12, 577 + 0xf0, 0xe0, 0xf1, 0xf1, 0x4f, 0x02, 0xe9, 0x01, 578 + 0xf4, 0x95, 0x48, 0x0b, 0xf5, 0x40, 0x56, 0x02, 579 + 0xf1, 0x80, 0x81, 0xf8, 0x27, 0x78, 0x77, 0x11, 580 + 0x80, 0x00, 0x56, 0x00, 0x49, 0x11, 0xf1, 0x80, 581 + 0x89, 0x11, 0xf4, 0x95, 0xf4, 0x95, 0x6c, 0x81, 582 + 0x0a, 0x81, 0xe8, 0x00, 0x75, 0xf8, 0x00, 0x08, 583 + 0x00, 0x01, 0xf0, 0x73, 0x0a, 0x86, 0xf0, 0x20, 584 + 0x80, 0x01, 0x75, 0xf8, 0x00, 0x08, 0x00, 0x01, 585 + 0x10, 0x82, 0xee, 0x04, 0x8a, 0x11, 0xfc, 0x00, 586 + 0x4a, 0x11, 0xee, 0xfe, 0xf4, 0x95, 0x4e, 0x00, 587 + 0x77, 0x11, 0x7f, 0xff, 0xf6, 0xb8, 0x49, 0x11, 588 + 0xf1, 0x80, 0xf3, 0x00, 0x80, 0x00, 0x89, 0x11, 589 + 0xf0, 0xe0, 0xf1, 0xf1, 0xe8, 0x01, 0xf2, 0x80, 590 + 0x80, 0xf8, 0x27, 0x78, 0x56, 0x00, 0xf1, 0x20, 591 + 0x80, 0x00, 0xf1, 0x80, 0xf4, 0x95, 0x49, 0x0b, 592 + 0xf8, 0x4d, 0x0a, 0xab, 0xf0, 0x20, 0x80, 0x01, 593 + 0x75, 0xf8, 0x00, 0x08, 0x00, 0x01, 0xf0, 0x73, 594 + 0x0a, 0xaf, 0xe8, 0x00, 0x75, 0xf8, 0x00, 0x08, 595 + 0x00, 0x01, 0xee, 0x02, 0x48, 0x11, 0x8a, 0x11, 596 + 0xfc, 0x00, 0x4a, 0x11, 0x88, 0x12, 0x13, 0x02, 597 + 0x77, 0x11, 0x00, 0x00, 0xf8, 0x4d, 0x0a, 0xcb, 598 + 0xf3, 0x10, 0x00, 0x01, 0x89, 0x1a, 0xf4, 0x95, 599 + 0xf0, 0x72, 0x0a, 0xca, 0x48, 0x11, 0x1c, 0xf8, 600 + 0x29, 0x7e, 0x88, 0x11, 0x11, 0xf8, 0x29, 0x7e, 601 + 0xf2, 0x00, 0x00, 0x01, 0x80, 0xf8, 0x29, 0x7e, 602 + 0x81, 0x92, 0x48, 0x11, 0x8a, 0x11, 0xfc, 0x00, 603 + 0x4a, 0x11, 0xf4, 0x95, 0x71, 0x02, 0x00, 0x11, 604 + 0x88, 0x12, 0xf6, 0xb8, 0xf0, 0x20, 0x7f, 0xff, 605 + 0x57, 0xf8, 0x27, 0x70, 0xf2, 0x80, 0xf0, 0x00, 606 + 0x80, 0x00, 0x80, 0x82, 0x57, 0xf8, 0x27, 0x70, 607 + 0xe8, 0x01, 0xf3, 0xf1, 0xf2, 0x80, 0x80, 0xf8, 608 + 0x27, 0x78, 0x77, 0x12, 0x80, 0x00, 0x48, 0x12, 609 + 0x57, 0xf8, 0x27, 0x70, 0xf2, 0x80, 0x88, 0x12, 610 + 0xf4, 0x95, 0xf4, 0x95, 0x6c, 0x82, 0x0a, 0xf4, 611 + 0xe8, 0x00, 0x75, 0xf8, 0x00, 0x08, 0x00, 0x01, 612 + 0xf0, 0x73, 0x0a, 0xf9, 0xf0, 0x20, 0x80, 0x01, 613 + 0x75, 0xf8, 0x00, 0x08, 0x00, 0x01, 0x45, 0xf8, 614 + 0x27, 0x75, 0xe7, 0x10, 0x43, 0xf8, 0x27, 0x71, 615 + 0x83, 0xf8, 0x00, 0x12, 0x6d, 0xe8, 0x00, 0x04, 616 + 0x6d, 0x8a, 0xf6, 0xaa, 0xf8, 0x30, 0x0b, 0x0a, 617 + 0xf2, 0x73, 0x0b, 0x25, 0x77, 0x11, 0x00, 0x00, 618 + 0x57, 0xf8, 0x27, 0x70, 0xf0, 0x20, 0x7f, 0xff, 619 + 0xf2, 0x80, 0x49, 0x11, 0xf5, 0x00, 0xf3, 0x00, 620 + 0x80, 0x00, 0x61, 0xf8, 0x00, 0x0b, 0x80, 0x00, 621 + 0xf8, 0x30, 0x0b, 0x1d, 0xf1, 0x20, 0x80, 0x00, 622 + 0xf5, 0x20, 0x89, 0x11, 0xf4, 0x95, 0x48, 0x11, 623 + 0x6f, 0xf8, 0x27, 0x71, 0x0d, 0x00, 0xf4, 0x95, 624 + 0x49, 0x0b, 0x4f, 0xf8, 0x27, 0x70, 0x48, 0x11, 625 + 0x8a, 0x11, 0xfc, 0x00, 0x4a, 0x11, 0x4a, 0x16, 626 + 0x4a, 0x17, 0xee, 0xf0, 0x88, 0x17, 0x10, 0x17, 627 + 0x80, 0x05, 0x10, 0x16, 0x80, 0x06, 0x10, 0x15, 628 + 0x80, 0x07, 0x71, 0x14, 0x00, 0x11, 0x10, 0x05, 629 + 0xf0, 0x30, 0x00, 0x01, 0x88, 0x10, 0x10, 0x06, 630 + 0xf0, 0x30, 0x00, 0x01, 0x80, 0x08, 0x49, 0x11, 631 + 0x10, 0x05, 0xf6, 0x01, 0x80, 0x09, 0x10, 0x06, 632 + 0x61, 0xf8, 0x00, 0x08, 0x00, 0x01, 0xf8, 0x20, 633 + 0x0b, 0x4b, 0x10, 0x09, 0xf0, 0x00, 0x00, 0x01, 634 + 0x80, 0x09, 0x71, 0x08, 0x00, 0x12, 0xf4, 0xaa, 635 + 0xf8, 0x30, 0x0b, 0x54, 0x10, 0x09, 0xf0, 0x00, 636 + 0x00, 0x01, 0x80, 0x09, 0x12, 0x09, 0x49, 0x11, 637 + 0xf4, 0x7f, 0x80, 0x09, 0xf6, 0x20, 0x80, 0x0a, 638 + 0x56, 0xf8, 0x27, 0x70, 0x4e, 0x0c, 0x10, 0x09, 639 + 0x80, 0x00, 0x48, 0x18, 0xf2, 0x74, 0x0a, 0xce, 640 + 0xf0, 0x00, 0x00, 0x04, 0x88, 0x16, 0xf4, 0x95, 641 + 0xf4, 0x95, 0x6c, 0x86, 0x0b, 0x6d, 0xf2, 0x73, 642 + 0x0c, 0x59, 0xf4, 0x95, 0xe8, 0x00, 0xf6, 0xb8, 643 + 0xf4, 0x95, 0x56, 0x0c, 0xf0, 0xf9, 0x88, 0x12, 644 + 0xf4, 0x95, 0xf4, 0x95, 0x70, 0xe2, 0x27, 0x7c, 645 + 0x29, 0x86, 0xe8, 0x00, 0x80, 0x0e, 0x48, 0x11, 646 + 0xf8, 0x45, 0x0b, 0xcc, 0x77, 0x10, 0x00, 0x01, 647 + 0xf4, 0xa9, 0xf8, 0x30, 0x0b, 0x89, 0x6c, 0xe1, 648 + 0xff, 0xfd, 0x0b, 0x8b, 0x10, 0xe7, 0x00, 0x02, 649 + 0x80, 0x0e, 0xf0, 0x73, 0x0b, 0x8b, 0x10, 0x87, 650 + 0x80, 0x0e, 0xe7, 0x10, 0xf5, 0xae, 0xf8, 0x20, 651 + 0x0b, 0xb2, 0x70, 0x00, 0x00, 0x17, 0x70, 0x01, 652 + 0x00, 0x16, 0x10, 0x04, 0xf0, 0x74, 0x06, 0xce, 653 + 0x48, 0x17, 0x49, 0x16, 0xf6, 0x00, 0x88, 0x17, 654 + 0x48, 0x11, 0xf6, 0x20, 0x88, 0x11, 0x10, 0x09, 655 + 0xf6, 0x20, 0x80, 0x00, 0x48, 0x18, 0xf2, 0x74, 656 + 0x0a, 0xce, 0xf0, 0x00, 0x00, 0x04, 0x88, 0x16, 657 + 0x10, 0x04, 0x70, 0x00, 0x00, 0x17, 0x70, 0x01, 658 + 0x00, 0x11, 0xf0, 0x74, 0x06, 0xce, 0x48, 0x11, 659 + 0x00, 0x04, 0x80, 0x04, 0xf0, 0x73, 0x0b, 0xbc, 660 + 0x70, 0x00, 0x00, 0x17, 0x70, 0x01, 0x00, 0x11, 661 + 0x10, 0x04, 0xf0, 0x74, 0x06, 0xce, 0x48, 0x11, 662 + 0x00, 0x04, 0x80, 0x04, 0x49, 0x11, 0x48, 0x16, 663 + 0xf6, 0x20, 0x88, 0x16, 0xf4, 0x95, 0xf4, 0x95, 664 + 0x6c, 0x86, 0x0b, 0xcc, 0x10, 0x0a, 0x80, 0x00, 665 + 0x48, 0x18, 0xf2, 0x74, 0x0a, 0xce, 0xf0, 0x00, 666 + 0x00, 0x04, 0x88, 0x16, 0x12, 0x0a, 0xf8, 0x45, 667 + 0x0c, 0x33, 0x71, 0x0a, 0x00, 0x10, 0xf4, 0xae, 668 + 0xf8, 0x30, 0x0c, 0x1c, 0x48, 0x16, 0xf0, 0xe1, 669 + 0x88, 0x11, 0x12, 0x08, 0xf8, 0x45, 0x0b, 0xdb, 670 + 0x6d, 0x89, 0x12, 0x07, 0xf8, 0x45, 0x0b, 0xe9, 671 + 0x10, 0x07, 0x80, 0x00, 0x70, 0x02, 0x00, 0x11, 672 + 0x10, 0x06, 0x80, 0x01, 0x10, 0x04, 0xf0, 0x74, 673 + 0x06, 0xdc, 0xf0, 0x73, 0x0b, 0xef, 0x48, 0x11, 674 + 0x6f, 0x00, 0x0c, 0x9f, 0x10, 0x04, 0xf0, 0x74, 675 + 0x0a, 0xb3, 0x11, 0x0e, 0xf1, 0xc0, 0x81, 0x0e, 676 + 0x10, 0x06, 0x49, 0x11, 0xf6, 0x00, 0x80, 0x06, 677 + 0x10, 0x05, 0xf6, 0x20, 0x88, 0x11, 0xf0, 0x00, 678 + 0x00, 0x01, 0x48, 0x08, 0x6f, 0x00, 0x0c, 0x9f, 679 + 0x48, 0x18, 0xf2, 0x74, 0x0a, 0xce, 0xf0, 0x00, 680 + 0x00, 0x04, 0x12, 0x07, 0xf8, 0x45, 0x0c, 0x11, 681 + 0x10, 0x07, 0x80, 0x00, 0x70, 0x02, 0x00, 0x11, 682 + 0x10, 0x06, 0x80, 0x01, 0x10, 0x04, 0xf0, 0x74, 683 + 0x06, 0xdc, 0xf0, 0x73, 0x0c, 0x17, 0x48, 0x11, 684 + 0x6f, 0x00, 0x0c, 0x9f, 0x10, 0x04, 0xf0, 0x74, 685 + 0x0a, 0xb3, 0x11, 0x0e, 0xf1, 0xc0, 0x81, 0x0e, 686 + 0xf0, 0x73, 0x0c, 0x33, 0x12, 0x07, 0xf8, 0x45, 687 + 0x0c, 0x2a, 0x10, 0x07, 0x80, 0x00, 0x10, 0x06, 688 + 0x80, 0x01, 0x10, 0x05, 0x80, 0x02, 0x10, 0x04, 689 + 0xf0, 0x74, 0x06, 0xdc, 0xf0, 0x73, 0x0c, 0x30, 690 + 0x12, 0x05, 0x6f, 0x00, 0x0c, 0x9f, 0x10, 0x04, 691 + 0xf0, 0x74, 0x0a, 0xb3, 0x11, 0x0e, 0xf1, 0xc0, 692 + 0x81, 0x0e, 0x76, 0x00, 0x00, 0x01, 0x48, 0x18, 693 + 0xf2, 0x74, 0x0a, 0xce, 0xf0, 0x00, 0x00, 0x04, 694 + 0x71, 0x04, 0x00, 0x11, 0x70, 0x81, 0x29, 0x86, 695 + 0x10, 0x0e, 0x1c, 0xf8, 0x29, 0x86, 0x80, 0x0e, 696 + 0x76, 0x00, 0x00, 0x01, 0x48, 0x18, 0xf2, 0x74, 697 + 0x0a, 0xce, 0xf0, 0x00, 0x00, 0x04, 0x10, 0x0e, 698 + 0x71, 0x04, 0x00, 0x11, 0x80, 0x81, 0x10, 0xf8, 699 + 0x29, 0x86, 0xf0, 0x00, 0x00, 0x01, 0xf0, 0x30, 700 + 0x7f, 0xff, 0x80, 0xf8, 0x29, 0x86, 0x10, 0x09, 701 + 0xf0, 0x00, 0x00, 0x02, 0x80, 0x09, 0xee, 0x10, 702 + 0x8a, 0x17, 0x8a, 0x16, 0x8a, 0x11, 0xfc, 0x00, 703 + 0x10, 0xf8, 0x27, 0x75, 0x08, 0xf8, 0x27, 0x71, 704 + 0xf0, 0x10, 0x00, 0x01, 0x48, 0x08, 0xfc, 0x00, 705 + 0x4a, 0x11, 0x4a, 0x16, 0xee, 0xff, 0xf4, 0x95, 706 + 0x71, 0x04, 0x00, 0x16, 0xf0, 0x00, 0x00, 0x01, 707 + 0x48, 0x08, 0x4e, 0xf8, 0x29, 0x7c, 0x6d, 0xee, 708 + 0xff, 0xfd, 0x48, 0x16, 0xf8, 0x45, 0x0c, 0x99, 709 + 0x56, 0xf8, 0x29, 0x7c, 0xf0, 0x74, 0x0a, 0x5a, 710 + 0x88, 0x11, 0x10, 0xf8, 0x29, 0x7d, 0xf0, 0x00, 711 + 0x00, 0x01, 0x48, 0x08, 0x4e, 0xf8, 0x29, 0x7c, 712 + 0x10, 0xf8, 0x29, 0x82, 0xf0, 0x00, 0x00, 0x01, 713 + 0x88, 0x10, 0xf4, 0x95, 0xf4, 0x95, 0xf4, 0xa9, 714 + 0xfa, 0x30, 0x0c, 0x96, 0x80, 0xf8, 0x29, 0x82, 715 + 0x56, 0xf8, 0x29, 0x80, 0xf0, 0x00, 0x00, 0x01, 716 + 0x4e, 0xf8, 0x29, 0x80, 0x73, 0x11, 0x29, 0x82, 717 + 0x6c, 0xee, 0xff, 0xff, 0x0c, 0x76, 0xee, 0x01, 718 + 0x8a, 0x16, 0x8a, 0x11, 0xfc, 0x00, 0x4a, 0x11, 719 + 0x76, 0xf8, 0x29, 0x84, 0x00, 0x00, 0x76, 0xf8, 720 + 0x29, 0x85, 0x00, 0x01, 0xe8, 0x00, 0x4e, 0xf8, 721 + 0x2a, 0x0c, 0x76, 0xf8, 0x29, 0x86, 0x00, 0x00, 722 + 0x76, 0xf8, 0x29, 0x87, 0x00, 0x00, 0x77, 0x11, 723 + 0x29, 0x88, 0x76, 0x81, 0xaa, 0xaa, 0x76, 0xe1, 724 + 0x00, 0x01, 0xaa, 0xaa, 0x76, 0xe1, 0x00, 0x02, 725 + 0x00, 0x00, 0x8a, 0x11, 0xfc, 0x00, 0x4a, 0x11, 726 + 0xee, 0xfc, 0xf4, 0x95, 0x71, 0x06, 0x00, 0x14, 727 + 0x71, 0x07, 0x00, 0x13, 0x71, 0x08, 0x00, 0x12, 728 + 0x71, 0x09, 0x00, 0x15, 0x77, 0x10, 0x00, 0xff, 729 + 0xf4, 0xaa, 0xf8, 0x30, 0x0d, 0x44, 0x49, 0x13, 730 + 0x53, 0xf8, 0x2a, 0x0c, 0x4f, 0xf8, 0x2a, 0x0c, 731 + 0x73, 0x12, 0x00, 0x0e, 0xf1, 0x66, 0x00, 0x0d, 732 + 0x89, 0x11, 0xf4, 0x95, 0x77, 0x10, 0x00, 0x01, 733 + 0x71, 0xe1, 0x24, 0x00, 0x00, 0x11, 0xf4, 0xa9, 734 + 0xf8, 0x30, 0x0d, 0x17, 0x77, 0x10, 0x00, 0x02, 735 + 0xf4, 0xa9, 0xf8, 0x30, 0x0c, 0xec, 0x77, 0x11, 736 + 0x29, 0x8a, 0x76, 0x81, 0x00, 0x00, 0xe8, 0x00, 737 + 0x77, 0x14, 0x00, 0x00, 0x77, 0x13, 0x00, 0x00, 738 + 0xf0, 0x73, 0x0d, 0x48, 0x6c, 0x83, 0x0c, 0xfa, 739 + 0x77, 0x11, 0x29, 0x8a, 0x48, 0x12, 0xf0, 0xe8, 740 + 0xf0, 0x40, 0x80, 0x00, 0x80, 0x81, 0xe8, 0x00, 741 + 0x77, 0x14, 0x00, 0x00, 0xf0, 0x73, 0x0d, 0x48, 742 + 0x49, 0x13, 0xf3, 0x40, 0x80, 0x00, 0x81, 0xf8, 743 + 0x29, 0x8a, 0x61, 0xf8, 0x00, 0x15, 0x00, 0x01, 744 + 0xf8, 0x20, 0x0d, 0x07, 0x69, 0xf8, 0x29, 0x8a, 745 + 0x40, 0x00, 0x61, 0xf8, 0x00, 0x14, 0x00, 0x01, 746 + 0xf8, 0x20, 0x0d, 0x0f, 0x69, 0xf8, 0x29, 0x8a, 747 + 0x20, 0x00, 0x77, 0x11, 0x29, 0x8a, 0x49, 0x12, 748 + 0xf3, 0xe8, 0x1b, 0x81, 0x81, 0x81, 0xf0, 0x73, 749 + 0x0d, 0x48, 0x11, 0xf8, 0x29, 0x84, 0xf8, 0x4c, 750 + 0x0d, 0x37, 0x77, 0x11, 0x29, 0x88, 0x76, 0x81, 751 + 0xaa, 0xaa, 0x11, 0xf8, 0x29, 0x85, 0xf3, 0x10, 752 + 0x00, 0x01, 0xf3, 0x40, 0xaa, 0x00, 0x81, 0xe1, 753 + 0x00, 0x01, 0x76, 0x00, 0x00, 0x02, 0x80, 0x01, 754 + 0x70, 0x02, 0x00, 0x14, 0x70, 0x03, 0x00, 0x13, 755 + 0xf2, 0x74, 0x0b, 0x28, 0xf4, 0x95, 0x48, 0x11, 756 + 0x71, 0xf8, 0x29, 0x85, 0x29, 0x84, 0xf0, 0x73, 757 + 0x0d, 0x73, 0x76, 0x00, 0x00, 0x00, 0x80, 0x01, 758 + 0x76, 0x02, 0x00, 0x00, 0x70, 0x03, 0x00, 0x13, 759 + 0xf2, 0x74, 0x0b, 0x28, 0xf4, 0x95, 0xe8, 0x00, 760 + 0xf0, 0x73, 0x0d, 0x73, 0x77, 0x11, 0x29, 0x8a, 761 + 0x70, 0x81, 0x00, 0x13, 0x11, 0xf8, 0x29, 0x84, 762 + 0xf8, 0x4c, 0x0d, 0x68, 0x77, 0x11, 0x29, 0x88, 763 + 0x76, 0x81, 0xaa, 0xaa, 0x11, 0xf8, 0x29, 0x85, 764 + 0xf3, 0x10, 0x00, 0x01, 0xf3, 0x40, 0xaa, 0x00, 765 + 0x81, 0xe1, 0x00, 0x01, 0x76, 0x00, 0x00, 0x03, 766 + 0x80, 0x01, 0x70, 0x02, 0x00, 0x14, 0x70, 0x03, 767 + 0x00, 0x13, 0xf2, 0x74, 0x0b, 0x28, 0xf4, 0x95, 768 + 0x48, 0x11, 0x71, 0xf8, 0x29, 0x85, 0x29, 0x84, 769 + 0xf0, 0x73, 0x0d, 0x73, 0x76, 0x00, 0x00, 0x01, 770 + 0x80, 0x01, 0x70, 0x02, 0x00, 0x14, 0x70, 0x03, 771 + 0x00, 0x13, 0xf2, 0x74, 0x0b, 0x28, 0xf4, 0x95, 772 + 0x48, 0x11, 0x6b, 0xf8, 0x29, 0x84, 0xff, 0xff, 773 + 0xee, 0x04, 0x8a, 0x11, 0xfc, 0x00, 0x4a, 0x11, 774 + 0xf5, 0x40, 0xf4, 0x95, 0x48, 0x0b, 0xf4, 0x78, 775 + 0x88, 0x11, 0xf4, 0x95, 0xf4, 0x95, 0x6c, 0xe1, 776 + 0xff, 0xb9, 0x0d, 0x88, 0xf2, 0x73, 0x0d, 0xa5, 777 + 0xf4, 0x95, 0xe8, 0x60, 0xf2, 0x00, 0x00, 0x06, 778 + 0x61, 0xf8, 0x00, 0x11, 0x00, 0x20, 0xf8, 0x30, 779 + 0x0d, 0x98, 0x61, 0xf8, 0x00, 0x0b, 0x00, 0x01, 780 + 0xf8, 0x20, 0x0d, 0xa3, 0xf2, 0x00, 0x00, 0x07, 781 + 0xf0, 0x73, 0x0d, 0xa3, 0x61, 0xf8, 0x00, 0x0b, 782 + 0x00, 0x01, 0xf8, 0x20, 0x0d, 0xa1, 0xf2, 0x73, 783 + 0x0d, 0xa3, 0xf0, 0x00, 0x00, 0x01, 0xf0, 0x00, 784 + 0x00, 0x02, 0x48, 0x08, 0xf4, 0x7f, 0x8a, 0x11, 785 + 0xfc, 0x00, 0xee, 0xff, 0xf0, 0x74, 0x07, 0xfd, 786 + 0xf0, 0x74, 0x07, 0x44, 0xf0, 0x74, 0x0d, 0xb4, 787 + 0xf0, 0x74, 0x02, 0x05, 0xf0, 0x74, 0x04, 0x60, 788 + 0xf0, 0x73, 0x0d, 0xaa, 0xee, 0xfd, 0x10, 0xf8, 789 + 0x2a, 0xa3, 0xf8, 0x44, 0x0d, 0xcb, 0x10, 0xf8, 790 + 0x2a, 0xa4, 0xf8, 0x45, 0x0d, 0xd7, 0x76, 0x00, 791 + 0x02, 0x00, 0xf2, 0x74, 0x09, 0xe8, 0xf0, 0x20, 792 + 0x22, 0x00, 0x76, 0xf8, 0x2a, 0xa4, 0x00, 0x00, 793 + 0x76, 0xf8, 0x2a, 0xa7, 0x00, 0x00, 0xf0, 0x73, 794 + 0x0d, 0xd7, 0x76, 0x00, 0x02, 0x00, 0xf2, 0x74, 795 + 0x09, 0xe8, 0xf0, 0x20, 0x20, 0x00, 0x76, 0xf8, 796 + 0x2a, 0xa3, 0x00, 0x00, 0x76, 0xf8, 0x2a, 0xa7, 797 + 0x00, 0x01, 0xf0, 0x74, 0x0c, 0x5e, 0xf0, 0xe0, 798 + 0xf0, 0x10, 0x3a, 0x98, 0xf8, 0x47, 0x0d, 0xe1, 799 + 0x76, 0xf8, 0x27, 0x6e, 0x00, 0x00, 0xee, 0x03, 800 + 0xfc, 0x00, 0x4a, 0x11, 0xee, 0xfe, 0x77, 0x11, 801 + 0x20, 0x00, 0x76, 0x00, 0xaa, 0xaa, 0x76, 0x01, 802 + 0x02, 0x00, 0xf2, 0x74, 0x06, 0x6c, 0xf4, 0x95, 803 + 0x48, 0x11, 0x76, 0x00, 0x55, 0x55, 0x76, 0x01, 804 + 0x02, 0x00, 0x48, 0x11, 0xf2, 0x74, 0x06, 0x6c, 805 + 0xf0, 0x00, 0x02, 0x00, 0x76, 0xf8, 0x2a, 0xa3, 806 + 0x00, 0x00, 0x76, 0xf8, 0x2a, 0xa4, 0x00, 0x00, 807 + 0xe8, 0x00, 0x4e, 0x00, 0xfb, 0x80, 0x15, 0x3e, 808 + 0xf4, 0x95, 0xe8, 0x04, 0x80, 0xf8, 0x2a, 0xa5, 809 + 0x76, 0x00, 0x2a, 0xa8, 0xf9, 0x80, 0x14, 0x87, 810 + 0x76, 0x00, 0x2a, 0xad, 0xfb, 0x80, 0x13, 0x62, 811 + 0xf4, 0x95, 0xe8, 0x02, 0x10, 0xf8, 0x2a, 0xa5, 812 + 0xf9, 0x80, 0x14, 0x63, 0xfb, 0x80, 0x16, 0x66, 813 + 0xf4, 0x95, 0xe8, 0x1c, 0xfb, 0x80, 0x16, 0x87, 814 + 0xf4, 0x95, 0xe8, 0x1c, 0xe8, 0x01, 0x4e, 0x00, 815 + 0xfb, 0x80, 0x17, 0xd6, 0xf4, 0x95, 0xe8, 0x00, 816 + 0x80, 0xf8, 0x2a, 0xa6, 0x76, 0x00, 0x2a, 0xb7, 817 + 0xf9, 0x80, 0x16, 0xaa, 0x10, 0xf8, 0x2a, 0xa6, 818 + 0xf9, 0x80, 0x17, 0x5c, 0x10, 0xf8, 0x2a, 0xa6, 819 + 0xf9, 0x80, 0x17, 0x6f, 0xee, 0x02, 0x8a, 0x11, 820 + 0xfc, 0x00, 0xf4, 0x95, 0x4a, 0x08, 0x4a, 0x09, 821 + 0x4a, 0x0a, 0x4a, 0x07, 0x4a, 0x1d, 0x68, 0xf8, 822 + 0x00, 0x07, 0x7d, 0x3f, 0x69, 0xf8, 0x00, 0x07, 823 + 0x40, 0x00, 0x68, 0xf8, 0x00, 0x1d, 0xff, 0xfc, 824 + 0x10, 0xf8, 0x2a, 0xa7, 0xf8, 0x44, 0x0e, 0x4b, 825 + 0x76, 0xf8, 0x2a, 0xa3, 0x00, 0x01, 0xf0, 0x73, 826 + 0x0e, 0x4e, 0x76, 0xf8, 0x2a, 0xa4, 0x00, 0x01, 827 + 0x8a, 0x1d, 0x8a, 0x07, 0x8a, 0x0a, 0x8a, 0x09, 828 + 0x8a, 0x08, 0xf4, 0xeb, 0x4a, 0x11, 0x4a, 0x16, 829 + 0x4a, 0x17, 0xee, 0xfe, 0x88, 0x0e, 0x71, 0x08, 830 + 0x00, 0x16, 0x71, 0x06, 0x00, 0x17, 0x11, 0x07, 831 + 0xf0, 0x66, 0x00, 0x0d, 0xf0, 0x00, 0x25, 0xa0, 832 + 0x88, 0x11, 0x76, 0x01, 0x00, 0x06, 0x81, 0x00, 833 + 0xf2, 0x74, 0x06, 0xce, 0xf0, 0x00, 0x00, 0x01, 834 + 0x76, 0x01, 0x00, 0x06, 0x70, 0x00, 0x00, 0x16, 835 + 0x48, 0x11, 0xf2, 0x74, 0x06, 0xce, 0xf0, 0x00, 836 + 0x00, 0x07, 0x70, 0x81, 0x00, 0x17, 0xee, 0x02, 837 + 0x8a, 0x17, 0x8a, 0x16, 0x8a, 0x11, 0xfc, 0x00, 838 + 0x4a, 0x11, 0x88, 0x0e, 0x71, 0x02, 0x00, 0x12, 839 + 0x11, 0x03, 0xf0, 0x66, 0x00, 0x0d, 0xf0, 0x00, 840 + 0x24, 0x00, 0x88, 0x11, 0xf4, 0x95, 0x70, 0x81, 841 + 0x00, 0x12, 0x6e, 0xe2, 0xff, 0xfe, 0x0e, 0x8d, 842 + 0xf4, 0x95, 0xe8, 0x00, 0xe8, 0x01, 0x80, 0xe1, 843 + 0x00, 0x02, 0x76, 0xe1, 0x00, 0x03, 0x00, 0xff, 844 + 0x76, 0xe1, 0x00, 0x04, 0x00, 0x00, 0x76, 0xe1, 845 + 0x00, 0x0b, 0x00, 0x00, 0x76, 0xe1, 0x00, 0x0c, 846 + 0x00, 0x00, 0x81, 0xe1, 0x00, 0x01, 0x8a, 0x11, 847 + 0xfc, 0x00, 0x4a, 0x11, 0xee, 0xfc, 0x88, 0x0e, 848 + 0xf4, 0x95, 0xf1, 0x66, 0x00, 0x0d, 0xf3, 0x00, 849 + 0x24, 0x00, 0x89, 0x11, 0xf4, 0x95, 0xf4, 0x95, 850 + 0x76, 0xe1, 0x00, 0x0c, 0x00, 0x00, 0x76, 0xe1, 851 + 0x00, 0x0b, 0x00, 0x00, 0x76, 0xe1, 0x00, 0x02, 852 + 0x00, 0x01, 0x76, 0x00, 0x00, 0x00, 0x76, 0x01, 853 + 0x00, 0x00, 0x80, 0x02, 0x76, 0x03, 0x00, 0x00, 854 + 0xf2, 0x74, 0x0c, 0xb9, 0xf4, 0x95, 0xe8, 0x00, 855 + 0xee, 0x04, 0x8a, 0x11, 0xfc, 0x00, 0x4a, 0x11, 856 + 0x88, 0x19, 0xf4, 0x95, 0x73, 0x19, 0x00, 0x0e, 857 + 0xf1, 0x66, 0x00, 0x0d, 0xf2, 0x00, 0x24, 0x00, 858 + 0x77, 0x15, 0x25, 0xa0, 0x77, 0x14, 0x00, 0x00, 859 + 0x77, 0x1a, 0x00, 0x1f, 0xf0, 0x72, 0x0f, 0x14, 860 + 0xf6, 0xb8, 0x49, 0x19, 0x09, 0x85, 0xf8, 0x4c, 861 + 0x0f, 0x13, 0xf1, 0x00, 0x00, 0x05, 0x89, 0x11, 862 + 0x49, 0x15, 0xf3, 0x00, 0x00, 0x01, 0x89, 0x13, 863 + 0x49, 0x15, 0xf3, 0x00, 0x00, 0x07, 0x89, 0x12, 864 + 0x11, 0x93, 0x1d, 0x91, 0x19, 0x92, 0x89, 0x10, 865 + 0xf4, 0x95, 0xf4, 0x95, 0x6c, 0x80, 0x0f, 0x13, 866 + 0x11, 0x93, 0x1d, 0x91, 0x19, 0x92, 0x89, 0x10, 867 + 0xf4, 0x95, 0xf4, 0x95, 0x6c, 0x80, 0x0f, 0x13, 868 + 0x11, 0x93, 0x1d, 0x91, 0x19, 0x92, 0x89, 0x10, 869 + 0xf4, 0x95, 0xf4, 0x95, 0x6c, 0x80, 0x0f, 0x13, 870 + 0x11, 0x93, 0x1d, 0x91, 0x19, 0x92, 0x89, 0x10, 871 + 0xf4, 0x95, 0xf4, 0x95, 0x6c, 0x80, 0x0f, 0x13, 872 + 0x11, 0x93, 0x1d, 0x91, 0x19, 0x92, 0x89, 0x10, 873 + 0xf4, 0x95, 0xf4, 0x95, 0x6c, 0x80, 0x0f, 0x13, 874 + 0x11, 0x93, 0x1d, 0x91, 0x19, 0x92, 0x89, 0x11, 875 + 0xf4, 0x95, 0xf4, 0x95, 0x6c, 0x81, 0x0f, 0x13, 876 + 0x6d, 0x94, 0x6d, 0xed, 0x00, 0x0d, 0x48, 0x14, 877 + 0x8a, 0x11, 0xfc, 0x00, 0x4a, 0x11, 0x4a, 0x16, 878 + 0x4a, 0x17, 0xee, 0xf8, 0x88, 0x17, 0x10, 0x0d, 879 + 0x80, 0x04, 0x10, 0x0c, 0x80, 0x05, 0x71, 0x0e, 880 + 0x00, 0x16, 0x73, 0x17, 0x00, 0x0e, 0xf0, 0x66, 881 + 0x00, 0x0d, 0xf0, 0x00, 0x24, 0x00, 0x88, 0x11, 882 + 0x10, 0xf8, 0x27, 0x63, 0xf8, 0x45, 0x0f, 0x32, 883 + 0xf2, 0x74, 0x0e, 0x9f, 0xf4, 0x95, 0x48, 0x17, 884 + 0x10, 0xf8, 0x27, 0x60, 0xf8, 0x44, 0x0f, 0x3d, 885 + 0x60, 0xe1, 0x00, 0x02, 0x00, 0x01, 0xf8, 0x20, 886 + 0x0f, 0x6d, 0xf0, 0x73, 0x11, 0x33, 0x10, 0x04, 887 + 0x80, 0x00, 0x10, 0x05, 0xf0, 0x74, 0x06, 0x9f, 888 + 0x11, 0x04, 0xf3, 0x00, 0x00, 0x01, 0x81, 0x04, 889 + 0x6d, 0x8e, 0x77, 0x10, 0x00, 0x01, 0x71, 0xe1, 890 + 0x00, 0x02, 0x00, 0x12, 0xf4, 0xaa, 0xf8, 0x30, 891 + 0x0f, 0x62, 0x77, 0x10, 0x00, 0x02, 0xf4, 0xaa, 892 + 0xf8, 0x30, 0x0f, 0x6d, 0x45, 0xe1, 0x00, 0x0b, 893 + 0x88, 0x10, 0x43, 0xe1, 0x00, 0x0c, 0x83, 0xf8, 894 + 0x00, 0x12, 0xf4, 0x95, 0xf4, 0x95, 0xf4, 0xaa, 895 + 0xf8, 0x30, 0x0f, 0x6d, 0xf0, 0x73, 0x0f, 0x96, 896 + 0xf5, 0x00, 0x81, 0x04, 0x49, 0x16, 0xf5, 0x20, 897 + 0x89, 0x16, 0x76, 0xe1, 0x00, 0x0c, 0x00, 0x00, 898 + 0x76, 0xe1, 0x00, 0x04, 0x00, 0x00, 0x48, 0x16, 899 + 0xf8, 0x45, 0x11, 0x33, 0xf7, 0xb8, 0x71, 0xe1, 900 + 0x00, 0x02, 0x00, 0x12, 0x10, 0xf8, 0x00, 0x12, 901 + 0xf0, 0x10, 0x00, 0x03, 0xf8, 0x46, 0x0f, 0x8c, 902 + 0x10, 0xf8, 0x00, 0x12, 0xf0, 0x10, 0x00, 0x03, 903 + 0xf8, 0x45, 0x10, 0x16, 0x77, 0x10, 0x00, 0x01, 904 + 0xf4, 0xaa, 0xf8, 0x30, 0x0f, 0x9c, 0x77, 0x10, 905 + 0x00, 0x02, 0xf4, 0xaa, 0xf8, 0x30, 0x0f, 0xa8, 906 + 0xf0, 0x73, 0x0f, 0x96, 0x77, 0x10, 0x00, 0x04, 907 + 0xf4, 0xaa, 0xf8, 0x30, 0x10, 0xb7, 0x77, 0x10, 908 + 0x00, 0x05, 0xf4, 0xaa, 0xf8, 0x30, 0x10, 0xbc, 909 + 0xf2, 0x74, 0x0e, 0x9f, 0xf4, 0x95, 0x48, 0x17, 910 + 0xf0, 0x73, 0x11, 0x31, 0x76, 0xe1, 0x00, 0x0c, 911 + 0x00, 0x00, 0x76, 0xe1, 0x00, 0x0b, 0x00, 0x00, 912 + 0x76, 0xe1, 0x00, 0x04, 0x00, 0x00, 0x76, 0xe1, 913 + 0x00, 0x02, 0x00, 0x02, 0x11, 0xe1, 0x00, 0x0c, 914 + 0xe8, 0x03, 0xf6, 0x20, 0x89, 0x12, 0xf4, 0x95, 915 + 0x77, 0x10, 0x00, 0x03, 0xf5, 0xaa, 0xf8, 0x30, 916 + 0x0f, 0xb6, 0x6b, 0xf8, 0x27, 0x6f, 0x00, 0x01, 917 + 0x88, 0x10, 0xf4, 0x95, 0xf4, 0x95, 0xf5, 0xae, 918 + 0xf8, 0x20, 0x0f, 0xbd, 0x48, 0x16, 0x80, 0x06, 919 + 0x88, 0x13, 0xf4, 0x95, 0x77, 0x10, 0x00, 0x03, 920 + 0xf6, 0xab, 0xf8, 0x20, 0x0f, 0xc8, 0x6b, 0xf8, 921 + 0x27, 0x6f, 0x00, 0x01, 0x12, 0x06, 0xf8, 0x45, 922 + 0x10, 0x00, 0x10, 0xe1, 0x00, 0x04, 0x80, 0x00, 923 + 0x10, 0x05, 0x80, 0x01, 0x10, 0x04, 0x80, 0x02, 924 + 0x10, 0x06, 0x80, 0x03, 0x48, 0x11, 0xf2, 0x74, 925 + 0x07, 0x1e, 0xf0, 0x00, 0x00, 0x05, 0x10, 0x06, 926 + 0x00, 0xe1, 0x00, 0x04, 0x80, 0xe1, 0x00, 0x04, 927 + 0x10, 0x06, 0x00, 0xe1, 0x00, 0x0c, 0x80, 0xe1, 928 + 0x00, 0x0c, 0x88, 0x12, 0x11, 0x06, 0x10, 0x04, 929 + 0xf6, 0x00, 0x80, 0x04, 0x48, 0x16, 0xf6, 0x20, 930 + 0x88, 0x16, 0x89, 0x13, 0xf4, 0x95, 0x77, 0x10, 931 + 0x00, 0x03, 0xf6, 0xab, 0xf8, 0x20, 0x0f, 0xf5, 932 + 0x6b, 0xf8, 0x27, 0x6f, 0x00, 0x01, 0x77, 0x10, 933 + 0x00, 0x0c, 0x71, 0xe1, 0x00, 0x04, 0x00, 0x13, 934 + 0xf6, 0xab, 0xf8, 0x20, 0x10, 0x00, 0x6b, 0xf8, 935 + 0x27, 0x6f, 0x00, 0x01, 0x6c, 0xe2, 0xff, 0xfd, 936 + 0x11, 0x31, 0xf6, 0xb8, 0x6f, 0xe1, 0x00, 0x05, 937 + 0x0c, 0x48, 0x6f, 0xe1, 0x00, 0x06, 0x0c, 0x18, 938 + 0xf0, 0x30, 0x0f, 0xff, 0xf0, 0x00, 0x00, 0x03, 939 + 0x80, 0xe1, 0x00, 0x0b, 0x76, 0xe1, 0x00, 0x02, 940 + 0x00, 0x03, 0x48, 0x16, 0xf8, 0x45, 0x11, 0x33, 941 + 0x71, 0xe1, 0x00, 0x0c, 0x00, 0x12, 0x10, 0xe1, 942 + 0x00, 0x0b, 0x49, 0x12, 0xf6, 0x20, 0x88, 0x13, 943 + 0xe8, 0x0c, 0xf6, 0x20, 0x88, 0x10, 0xf4, 0x95, 944 + 0xf4, 0x95, 0xf5, 0xab, 0xf8, 0x20, 0x10, 0x27, 945 + 0x48, 0x13, 0x80, 0x06, 0x88, 0x10, 0xf4, 0x95, 946 + 0xf4, 0x95, 0xf5, 0xae, 0xf8, 0x20, 0x10, 0x30, 947 + 0x70, 0x06, 0x00, 0x16, 0x12, 0x06, 0xf8, 0x45, 948 + 0x10, 0x5f, 0x10, 0xe1, 0x00, 0x04, 0x80, 0x00, 949 + 0x10, 0x05, 0x80, 0x01, 0x10, 0x04, 0x80, 0x02, 950 + 0x10, 0x06, 0x80, 0x03, 0x48, 0x11, 0xf2, 0x74, 951 + 0x07, 0x1e, 0xf0, 0x00, 0x00, 0x05, 0x10, 0x06, 952 + 0x00, 0xe1, 0x00, 0x04, 0x80, 0xe1, 0x00, 0x04, 953 + 0x10, 0x06, 0x00, 0xe1, 0x00, 0x0c, 0x80, 0xe1, 954 + 0x00, 0x0c, 0x88, 0x12, 0x11, 0x06, 0x10, 0x04, 955 + 0xf6, 0x00, 0x80, 0x04, 0x48, 0x16, 0xf6, 0x20, 956 + 0x88, 0x16, 0xf4, 0x95, 0x77, 0x10, 0x00, 0x0c, 957 + 0x71, 0xe1, 0x00, 0x04, 0x00, 0x13, 0xf6, 0xab, 958 + 0xf8, 0x20, 0x10, 0x5f, 0x6b, 0xf8, 0x27, 0x6f, 959 + 0x00, 0x01, 0x77, 0x10, 0x00, 0x0c, 0xf6, 0xaa, 960 + 0xf8, 0x20, 0x10, 0x6b, 0xf2, 0x74, 0x0e, 0x9f, 961 + 0xf4, 0x95, 0x48, 0x17, 0x71, 0xe1, 0x00, 0x0c, 962 + 0x00, 0x12, 0x77, 0x10, 0x00, 0x0c, 0xf4, 0xaa, 963 + 0xf8, 0x30, 0x10, 0x7c, 0x77, 0x10, 0x00, 0x0c, 964 + 0x71, 0xe1, 0x00, 0x0b, 0x00, 0x13, 0xf6, 0xab, 965 + 0xf8, 0x30, 0x10, 0xb4, 0xe7, 0x30, 0xf7, 0xaa, 966 + 0xf8, 0x30, 0x10, 0xb4, 0xf2, 0x74, 0x0e, 0xc1, 967 + 0xf4, 0x95, 0x48, 0x17, 0x88, 0x12, 0xf4, 0x95, 968 + 0xf4, 0x95, 0x6c, 0x82, 0x10, 0x8d, 0x76, 0xe1, 969 + 0x00, 0x04, 0x00, 0x00, 0x76, 0xe1, 0x00, 0x02, 970 + 0x00, 0x05, 0xf0, 0x73, 0x10, 0xb4, 0x76, 0xe1, 971 + 0x00, 0x02, 0x00, 0x04, 0x77, 0x10, 0x00, 0x0c, 972 + 0x71, 0xe1, 0x00, 0x0b, 0x00, 0x12, 0xf5, 0xaa, 973 + 0xf8, 0x20, 0x10, 0x9a, 0xf0, 0x73, 0x10, 0x9c, 974 + 0x77, 0x12, 0x00, 0x0c, 0x76, 0x00, 0x00, 0x00, 975 + 0x70, 0x01, 0x00, 0x12, 0x70, 0x02, 0x00, 0x17, 976 + 0x76, 0x03, 0x00, 0x01, 0x48, 0x11, 0xf2, 0x74, 977 + 0x0c, 0xb9, 0xf0, 0x00, 0x00, 0x05, 0x76, 0xe1, 978 + 0x00, 0x04, 0x00, 0x00, 0x77, 0x10, 0x00, 0x0c, 979 + 0x71, 0xe1, 0x00, 0x0b, 0x00, 0x12, 0xf6, 0xaa, 980 + 0xf8, 0x20, 0x11, 0x1c, 0x48, 0x16, 0xf8, 0x45, 981 + 0x11, 0x33, 0x60, 0xe1, 0x00, 0x02, 0x00, 0x05, 982 + 0xf8, 0x20, 0x10, 0xdf, 0x10, 0xe1, 0x00, 0x0b, 983 + 0x08, 0xe1, 0x00, 0x0c, 0x11, 0xe1, 0x00, 0x04, 984 + 0xf8, 0x4d, 0x10, 0xc7, 0x6b, 0xf8, 0x27, 0x6f, 985 + 0x00, 0x01, 0x88, 0x10, 0xf4, 0x95, 0xf4, 0x95, 986 + 0xf5, 0xae, 0xf8, 0x20, 0x10, 0xcf, 0x48, 0x16, 987 + 0xf4, 0x95, 0x48, 0x08, 0xf8, 0x45, 0x11, 0x16, 988 + 0x6f, 0xe1, 0x00, 0x0c, 0x0d, 0x00, 0x81, 0xe1, 989 + 0x00, 0x0c, 0x11, 0x04, 0xf5, 0x00, 0x81, 0x04, 990 + 0x49, 0x16, 0xf5, 0x20, 0x89, 0x16, 0xf0, 0x73, 991 + 0x11, 0x0e, 0x10, 0xe1, 0x00, 0x0b, 0x71, 0xe1, 992 + 0x00, 0x0c, 0x00, 0x12, 0x88, 0x10, 0xf4, 0x95, 993 + 0xf4, 0x95, 0xf6, 0xaa, 0xf8, 0x30, 0x11, 0x16, 994 + 0x49, 0x12, 0xf6, 0x20, 0x88, 0x10, 0xf4, 0x95, 995 + 0xf4, 0x95, 0xf5, 0xae, 0xf8, 0x20, 0x10, 0xf3, 996 + 0x48, 0x16, 0x80, 0x06, 0x48, 0x08, 0xf8, 0x45, 997 + 0x11, 0x16, 0x10, 0x04, 0x70, 0x02, 0x00, 0x17, 998 + 0x80, 0x00, 0x76, 0x03, 0x00, 0x00, 0x10, 0x06, 999 + 0x80, 0x01, 0x10, 0x05, 0xf0, 0x74, 0x0c, 0xb9, 1000 + 0x10, 0x06, 0x00, 0xe1, 0x00, 0x0c, 0x80, 0xe1, 1001 + 0x00, 0x0c, 0x11, 0x06, 0x10, 0x04, 0xf6, 0x00, 1002 + 0x80, 0x04, 0x48, 0x16, 0xf6, 0x20, 0x88, 0x16, 1003 + 0x10, 0xe1, 0x00, 0x0c, 0x08, 0xe1, 0x00, 0x0b, 1004 + 0xf8, 0x45, 0x11, 0x1c, 0xf0, 0x73, 0x11, 0x31, 1005 + 0xf2, 0x74, 0x0e, 0x9f, 0xf4, 0x95, 0x48, 0x17, 1006 + 0xf0, 0x73, 0x11, 0x33, 0x76, 0xe1, 0x00, 0x0c, 1007 + 0x00, 0x00, 0x76, 0xe1, 0x00, 0x0b, 0x00, 0x00, 1008 + 0x76, 0xe1, 0x00, 0x02, 0x00, 0x01, 0x10, 0x04, 1009 + 0x80, 0x00, 0x10, 0x05, 0xf0, 0x74, 0x06, 0x9f, 1010 + 0x88, 0x12, 0xf4, 0x95, 0x77, 0x10, 0x00, 0xff, 1011 + 0xf4, 0xaa, 0xf8, 0x30, 0x11, 0x33, 0x6c, 0x86, 1012 + 0x0f, 0x70, 0xee, 0x08, 0x8a, 0x17, 0x8a, 0x16, 1013 + 0x8a, 0x11, 0xfc, 0x00, 0x4a, 0x11, 0xee, 0xfc, 1014 + 0xf4, 0x95, 0x71, 0x06, 0x00, 0x12, 0x88, 0x11, 1015 + 0x73, 0x12, 0x00, 0x0e, 0xf1, 0x66, 0x00, 0x0d, 1016 + 0xf3, 0x00, 0x24, 0x00, 0x89, 0x14, 0x13, 0x81, 1017 + 0xf7, 0x7a, 0xf3, 0x30, 0x00, 0x01, 0x81, 0xf8, 1018 + 0x27, 0x60, 0x13, 0xe1, 0x00, 0x01, 0xf7, 0x7c, 1019 + 0xf3, 0x30, 0x00, 0x03, 0x81, 0xf8, 0x27, 0x61, 1020 + 0xe9, 0x0f, 0x19, 0xe1, 0x00, 0x01, 0x81, 0xf8, 1021 + 0x27, 0x62, 0x71, 0xe4, 0x00, 0x03, 0x00, 0x13, 1022 + 0xf6, 0xb8, 0x49, 0x13, 0xf3, 0x00, 0x00, 0x01, 1023 + 0xf3, 0x30, 0x00, 0x0f, 0x49, 0x0b, 0x09, 0xf8, 1024 + 0x27, 0x62, 0xf8, 0x4d, 0x11, 0x75, 0x77, 0x10, 1025 + 0x00, 0xff, 0xf4, 0xab, 0xf8, 0x30, 0x11, 0x75, 1026 + 0x57, 0xf8, 0x27, 0x6c, 0xf3, 0x00, 0x00, 0x01, 1027 + 0x4f, 0xf8, 0x27, 0x6c, 0x76, 0xf8, 0x27, 0x63, 1028 + 0x00, 0x01, 0xf0, 0x73, 0x11, 0x78, 0x76, 0xf8, 1029 + 0x27, 0x63, 0x00, 0x00, 0x70, 0xe4, 0x00, 0x03, 1030 + 0x27, 0x62, 0x76, 0xf8, 0x27, 0x64, 0x00, 0x00, 1031 + 0x11, 0xf8, 0x27, 0x61, 0x61, 0xf8, 0x00, 0x0b, 1032 + 0x00, 0x02, 0xf8, 0x20, 0x11, 0x8d, 0xe9, 0x01, 1033 + 0x6f, 0xe1, 0x00, 0x02, 0x0f, 0x18, 0x81, 0xf8, 1034 + 0x27, 0x64, 0x11, 0xf8, 0x27, 0x61, 0x61, 0xf8, 1035 + 0x00, 0x0b, 0x00, 0x01, 0xf8, 0x20, 0x11, 0xa9, 1036 + 0x10, 0xf8, 0x27, 0x64, 0xf1, 0x00, 0x00, 0x04, 1037 + 0x89, 0x13, 0xe9, 0xb8, 0xf5, 0x20, 0x81, 0xf8, 1038 + 0x27, 0x65, 0x60, 0x84, 0x00, 0x02, 0xf8, 0x20, 1039 + 0x11, 0xa9, 0x70, 0x00, 0x00, 0x11, 0x70, 0x01, 1040 + 0x00, 0x13, 0x70, 0x02, 0x27, 0x65, 0xf2, 0x74, 1041 + 0x0f, 0x18, 0xf4, 0x95, 0x48, 0x12, 0xee, 0x04, 1042 + 0x8a, 0x11, 0xfc, 0x00, 0x4a, 0x11, 0x4a, 0x16, 1043 + 0x4a, 0x17, 0xee, 0xfc, 0xe8, 0x00, 0x4e, 0xf8, 1044 + 0x27, 0x66, 0xe8, 0x00, 0x4e, 0xf8, 0x27, 0x68, 1045 + 0xe8, 0x00, 0x4e, 0xf8, 0x27, 0x6c, 0xe8, 0x00, 1046 + 0x4e, 0xf8, 0x27, 0x6a, 0x77, 0x12, 0x27, 0x40, 1047 + 0x77, 0x11, 0x24, 0x00, 0x77, 0x1a, 0x00, 0x1f, 1048 + 0xf0, 0x72, 0x11, 0xdb, 0x70, 0x92, 0x00, 0x11, 1049 + 0x76, 0xe1, 0x00, 0x01, 0xff, 0xff, 0x76, 0x81, 1050 + 0x00, 0x00, 0x76, 0xe1, 0x00, 0x02, 0x00, 0x00, 1051 + 0x76, 0xe1, 0x00, 0x03, 0x00, 0xff, 0x76, 0xe1, 1052 + 0x00, 0x0c, 0x00, 0x00, 0x76, 0xe1, 0x00, 0x0b, 1053 + 0x00, 0x00, 0x76, 0xe1, 0x00, 0x04, 0x00, 0x00, 1054 + 0x6d, 0xe9, 0x00, 0x0d, 0xf0, 0x20, 0x25, 0xa0, 1055 + 0xf1, 0x00, 0x00, 0x07, 0x89, 0x11, 0xf1, 0x00, 1056 + 0x00, 0x01, 0x81, 0x02, 0x88, 0x16, 0xf4, 0x95, 1057 + 0x77, 0x17, 0x00, 0x20, 0x76, 0x86, 0x00, 0xff, 1058 + 0x76, 0x00, 0x00, 0x00, 0x76, 0x01, 0x00, 0x06, 1059 + 0x10, 0x02, 0xf0, 0x74, 0x06, 0x6c, 0x76, 0x00, 1060 + 0x00, 0x00, 0x76, 0x01, 0x00, 0x06, 0xf2, 0x74, 1061 + 0x06, 0x6c, 0xf4, 0x95, 0x48, 0x11, 0x10, 0x02, 1062 + 0xf0, 0x00, 0x00, 0x0d, 0x80, 0x02, 0x6d, 0xe9, 1063 + 0x00, 0x0d, 0x6d, 0xee, 0x00, 0x0d, 0x6c, 0xef, 1064 + 0xff, 0xff, 0x11, 0xe8, 0xf0, 0x74, 0x0c, 0x9d, 1065 + 0xee, 0x04, 0x8a, 0x17, 0x8a, 0x16, 0x8a, 0x11, 1066 + 0xfc, 0x00, 0x4a, 0x11, 0x4a, 0x16, 0x4a, 0x17, 1067 + 0xee, 0xfa, 0x88, 0x11, 0x10, 0x0a, 0x49, 0x11, 1068 + 0xf8, 0x4d, 0x12, 0x9f, 0x48, 0x08, 0xf8, 0x45, 1069 + 0x12, 0x9f, 0x80, 0x04, 0x12, 0x81, 0xf5, 0x78, 1070 + 0x89, 0x12, 0xf4, 0x95, 0xf4, 0x95, 0x6c, 0xe2, 1071 + 0xff, 0xb9, 0x12, 0x8a, 0x61, 0xf8, 0x00, 0x08, 1072 + 0x00, 0x80, 0xf8, 0x30, 0x12, 0x8a, 0x13, 0xe1, 1073 + 0x00, 0x01, 0xf0, 0xe8, 0xf7, 0x78, 0xf1, 0xa0, 1074 + 0xf2, 0x30, 0x1f, 0xff, 0x88, 0x17, 0xf4, 0x95, 1075 + 0x77, 0x12, 0x24, 0x00, 0x77, 0x16, 0x00, 0x00, 1076 + 0x77, 0x13, 0x00, 0x20, 0xf6, 0xb8, 0x48, 0x17, 1077 + 0x08, 0xe2, 0x00, 0x01, 0xf8, 0x45, 0x12, 0x42, 1078 + 0x6d, 0xea, 0x00, 0x0d, 0x6d, 0x96, 0x6c, 0xeb, 1079 + 0xff, 0xff, 0x12, 0x34, 0xf0, 0x73, 0x12, 0x90, 1080 + 0x56, 0xf8, 0x27, 0x6a, 0xf0, 0x00, 0x00, 0x01, 1081 + 0x4e, 0xf8, 0x27, 0x6a, 0x60, 0x82, 0x00, 0x01, 1082 + 0xf8, 0x30, 0x12, 0x54, 0x70, 0x00, 0x00, 0x16, 1083 + 0xf2, 0x74, 0x11, 0x38, 0xf4, 0x95, 0x48, 0x11, 1084 + 0xf0, 0x73, 0x12, 0x90, 0x70, 0x00, 0x00, 0x16, 1085 + 0xf2, 0x74, 0x11, 0x38, 0xf4, 0x95, 0x48, 0x11, 1086 + 0x72, 0x10, 0x2a, 0x9e, 0xf4, 0x95, 0xf4, 0xaf, 1087 + 0xf8, 0x30, 0x12, 0x6e, 0x76, 0x00, 0x00, 0x00, 1088 + 0x76, 0x01, 0x00, 0xbc, 0x70, 0x02, 0x00, 0x16, 1089 + 0x76, 0x03, 0x00, 0x00, 0xf2, 0x74, 0x0c, 0xb9, 1090 + 0xf4, 0x95, 0x48, 0x11, 0xf0, 0x73, 0x12, 0x90, 1091 + 0x10, 0xf8, 0x27, 0x6e, 0xf8, 0x44, 0x12, 0x90, 1092 + 0x76, 0x00, 0x00, 0x00, 0x76, 0x01, 0x00, 0xbc, 1093 + 0x70, 0x02, 0x00, 0x16, 0x76, 0x03, 0x00, 0x00, 1094 + 0xf2, 0x74, 0x0c, 0xb9, 0xf4, 0x95, 0x48, 0x11, 1095 + 0xf0, 0x74, 0x0c, 0x5e, 0xf0, 0xe0, 0xf0, 0x10, 1096 + 0x13, 0x88, 0xf8, 0x42, 0x12, 0x90, 0x76, 0xf8, 1097 + 0x27, 0x6e, 0x00, 0x01, 0xf0, 0x73, 0x12, 0x90, 1098 + 0x56, 0xf8, 0x27, 0x66, 0xf0, 0x00, 0x00, 0x01, 1099 + 0x4e, 0xf8, 0x27, 0x66, 0x6d, 0xe9, 0x00, 0x5e, 1100 + 0x56, 0xf8, 0x27, 0x68, 0xf0, 0x00, 0x00, 0x01, 1101 + 0x4e, 0xf8, 0x27, 0x68, 0x71, 0x04, 0x00, 0x12, 1102 + 0x6e, 0xea, 0xff, 0xff, 0x12, 0x18, 0x70, 0x04, 1103 + 0x00, 0x12, 0xee, 0x06, 0x8a, 0x17, 0x8a, 0x16, 1104 + 0x8a, 0x11, 0xfc, 0x00, 0x4a, 0x11, 0xee, 0xfe, 1105 + 0x88, 0x0e, 0xf4, 0x95, 0xf0, 0x66, 0x00, 0x0d, 1106 + 0xf0, 0x00, 0x25, 0xa0, 0x88, 0x11, 0xf4, 0x95, 1107 + 0xf4, 0x95, 0x76, 0x81, 0x00, 0xff, 0x76, 0x00, 1108 + 0x00, 0x00, 0x76, 0x01, 0x00, 0x06, 0xf2, 0x74, 1109 + 0x06, 0x6c, 0xf0, 0x00, 0x00, 0x01, 0x76, 0x00, 1110 + 0x00, 0x00, 0x76, 0x01, 0x00, 0x06, 0x48, 0x11, 1111 + 0xf2, 0x74, 0x06, 0x6c, 0xf0, 0x00, 0x00, 0x07, 1112 + 0xee, 0x02, 0x8a, 0x11, 0xfc, 0x00, 0x4a, 0x11, 1113 + 0x88, 0x0e, 0xf4, 0x95, 0xf0, 0x66, 0x00, 0x0d, 1114 + 0xf0, 0x00, 0x24, 0x00, 0x88, 0x11, 0xf4, 0x95, 1115 + 0xf4, 0x95, 0x76, 0xe1, 0x00, 0x01, 0xff, 0xff, 1116 + 0x76, 0x81, 0x00, 0x00, 0x76, 0xe1, 0x00, 0x02, 1117 + 0x00, 0x00, 0x76, 0xe1, 0x00, 0x03, 0x00, 0xff, 1118 + 0x8a, 0x11, 0xfc, 0x00, 0x4a, 0x11, 0xf4, 0x95, 1119 + 0x13, 0x03, 0x88, 0x11, 0xfa, 0x4d, 0x12, 0xec, 1120 + 0x71, 0x02, 0x00, 0x12, 0xf3, 0x10, 0x00, 0x01, 1121 + 0x89, 0x1a, 0xf4, 0x95, 0xf0, 0x72, 0x12, 0xeb, 1122 + 0x70, 0x91, 0x00, 0x12, 0x8a, 0x11, 0xfc, 0x00, 1123 + 0xf4, 0x95, 0x4a, 0x0b, 0x4a, 0x0c, 0x4a, 0x0d, 1124 + 0xf7, 0xb8, 0xee, 0xfe, 0x10, 0xf8, 0x00, 0x08, 1125 + 0x11, 0x06, 0xf1, 0xc0, 0x83, 0x00, 0xf4, 0x85, 1126 + 0x11, 0x06, 0xf7, 0x85, 0x81, 0x06, 0xf6, 0xb8, 1127 + 0xec, 0x0f, 0x1e, 0x06, 0x61, 0x00, 0x80, 0x00, 1128 + 0xf8, 0x20, 0x13, 0x05, 0xf4, 0x84, 0xee, 0x02, 1129 + 0x8a, 0x0d, 0x8a, 0x0c, 0x8a, 0x0b, 0xfc, 0x00, 1130 + 0xf4, 0x95, 0x4a, 0x0b, 0x4a, 0x0c, 0x4a, 0x0d, 1131 + 0xee, 0xfe, 0xf7, 0xb8, 0x80, 0x00, 0x10, 0xf8, 1132 + 0x00, 0x08, 0xf4, 0x85, 0x11, 0x06, 0xf7, 0x85, 1133 + 0x81, 0x06, 0xf6, 0xb8, 0xec, 0x0f, 0x1e, 0x06, 1134 + 0xf0, 0xf0, 0x61, 0x00, 0x80, 0x00, 0xf8, 0x20, 1135 + 0x13, 0x20, 0xf4, 0x84, 0xee, 0x02, 0x8a, 0x0d, 1136 + 0x8a, 0x0c, 0x8a, 0x0b, 0xfc, 0x00, 0x4a, 0x11, 1137 + 0x77, 0x11, 0x00, 0x7b, 0x76, 0x81, 0x2e, 0xec, 1138 + 0x77, 0x11, 0x00, 0x7b, 0xee, 0xff, 0x71, 0x81, 1139 + 0x00, 0x11, 0xee, 0x01, 0x76, 0xe1, 0x00, 0x01, 1140 + 0x00, 0x00, 0x76, 0xe1, 0x00, 0x04, 0x00, 0x00, 1141 + 0x76, 0xe1, 0x00, 0x06, 0x00, 0x00, 0x76, 0xe1, 1142 + 0x00, 0x62, 0x00, 0x00, 0x76, 0xe1, 0x00, 0x76, 1143 + 0x00, 0x00, 0x76, 0xe1, 0x00, 0x92, 0x00, 0x00, 1144 + 0x76, 0xe1, 0x00, 0x94, 0x00, 0x00, 0x76, 0xe1, 1145 + 0x00, 0xb0, 0x00, 0x00, 0x76, 0xe1, 0x00, 0xb3, 1146 + 0x00, 0x00, 0x76, 0xe1, 0x00, 0xbe, 0x00, 0x00, 1147 + 0x76, 0xe1, 0x00, 0xbf, 0x00, 0x00, 0x76, 0xe1, 1148 + 0x00, 0xc1, 0x00, 0x00, 0x76, 0xe1, 0x00, 0xc3, 1149 + 0x00, 0x00, 0x76, 0xe1, 0x00, 0xc5, 0x00, 0x00, 1150 + 0x76, 0xe1, 0x00, 0xc7, 0x00, 0x00, 0x76, 0x81, 1151 + 0x00, 0x00, 0x8a, 0x11, 0xf4, 0x95, 0xf4, 0xe4, 1152 + 0x4a, 0x11, 0x4a, 0x16, 0x4a, 0x17, 0xee, 0xff, 1153 + 0xf4, 0x95, 0x71, 0x06, 0x00, 0x16, 0xfb, 0x80, 1154 + 0x16, 0xa2, 0x88, 0x17, 0xf4, 0x95, 0xf7, 0xb8, 1155 + 0x10, 0xf8, 0x00, 0x17, 0xf0, 0x10, 0x00, 0x02, 1156 + 0xfa, 0x46, 0x13, 0x88, 0x77, 0x11, 0x00, 0x00, 1157 + 0x10, 0xf8, 0x00, 0x17, 0xf0, 0x10, 0x00, 0x02, 1158 + 0xf8, 0x45, 0x13, 0xf9, 0x10, 0xf8, 0x00, 0x17, 1159 + 0xf8, 0x45, 0x14, 0x39, 0x10, 0xf8, 0x00, 0x17, 1160 + 0xf0, 0x10, 0x00, 0x01, 0xf8, 0x45, 0x14, 0x1f, 1161 + 0xf0, 0x73, 0x14, 0x52, 0x10, 0xf8, 0x00, 0x17, 1162 + 0xf0, 0x10, 0x00, 0x03, 0xf8, 0x45, 0x13, 0xd3, 1163 + 0x10, 0xf8, 0x00, 0x17, 0xf0, 0x10, 0x00, 0x06, 1164 + 0xf8, 0x44, 0x14, 0x52, 0x77, 0x12, 0x00, 0x7b, 1165 + 0x71, 0x82, 0x00, 0x14, 0x61, 0xe4, 0x00, 0x07, 1166 + 0x00, 0x40, 0xf8, 0x30, 0x14, 0x52, 0x49, 0x14, 1167 + 0x48, 0x17, 0xf6, 0x00, 0x88, 0x12, 0xf4, 0x95, 1168 + 0x77, 0x13, 0x00, 0x55, 0x77, 0x11, 0x00, 0x57, 1169 + 0x6d, 0xea, 0x00, 0x3b, 0xe5, 0x01, 0x10, 0xe6, 1170 + 0x00, 0x06, 0x80, 0x81, 0x48, 0x14, 0x00, 0xf8, 1171 + 0x00, 0x17, 0x88, 0x12, 0xf4, 0x95, 0x77, 0x11, 1172 + 0x00, 0x55, 0x10, 0xe2, 0x00, 0x40, 0x80, 0x81, 1173 + 0x77, 0x11, 0x00, 0x57, 0x10, 0xe6, 0x00, 0x07, 1174 + 0x80, 0x81, 0x77, 0x11, 0x00, 0x55, 0x10, 0xe2, 1175 + 0x00, 0x45, 0x80, 0x81, 0x10, 0xe6, 0x00, 0x08, 1176 + 0x77, 0x11, 0x00, 0x57, 0x80, 0x81, 0x77, 0x11, 1177 + 0x00, 0x55, 0x10, 0xe2, 0x00, 0x4a, 0x80, 0x81, 1178 + 0x77, 0x11, 0x00, 0x57, 0x10, 0xe6, 0x00, 0x09, 1179 + 0x80, 0x81, 0xf2, 0x73, 0x14, 0x52, 0x77, 0x11, 1180 + 0x03, 0xc0, 0x77, 0x12, 0x00, 0x7b, 0x10, 0x82, 1181 + 0xf0, 0x00, 0x00, 0x07, 0x88, 0x13, 0xf4, 0x95, 1182 + 0xf4, 0x95, 0x96, 0x1b, 0xf8, 0x30, 0x14, 0x52, 1183 + 0x10, 0xe3, 0x00, 0x35, 0x77, 0x12, 0x00, 0x55, 1184 + 0x80, 0x82, 0x77, 0x12, 0x00, 0x57, 0x10, 0xe6, 1185 + 0x00, 0x04, 0x80, 0x82, 0x77, 0x12, 0x00, 0x55, 1186 + 0x10, 0xe3, 0x00, 0x37, 0x80, 0x82, 0x77, 0x12, 1187 + 0x00, 0x57, 0x10, 0xe6, 0x00, 0x05, 0x80, 0x82, 1188 + 0x48, 0x11, 0xf0, 0x40, 0x00, 0x10, 0xf2, 0x73, 1189 + 0x14, 0x50, 0xf0, 0x40, 0x00, 0x20, 0x77, 0x12, 1190 + 0x00, 0x7b, 0x10, 0x82, 0xf0, 0x00, 0x00, 0x07, 1191 + 0x88, 0x12, 0xf4, 0x95, 0xf4, 0x95, 0x96, 0x0d, 1192 + 0xf8, 0x30, 0x14, 0x52, 0x10, 0xe2, 0x00, 0x34, 1193 + 0x77, 0x13, 0x00, 0x55, 0x80, 0x83, 0x77, 0x13, 1194 + 0x00, 0x57, 0x10, 0xe6, 0x00, 0x02, 0x80, 0x83, 1195 + 0x10, 0xe2, 0x00, 0x36, 0x77, 0x12, 0x00, 0x55, 1196 + 0x80, 0x82, 0x77, 0x12, 0x00, 0x57, 0x10, 0xe6, 1197 + 0x00, 0x03, 0x80, 0x82, 0x48, 0x11, 0xf0, 0x40, 1198 + 0x00, 0x04, 0xf2, 0x73, 0x14, 0x50, 0xf0, 0x40, 1199 + 0x00, 0x08, 0x77, 0x12, 0x00, 0x7b, 0x10, 0x82, 1200 + 0xf0, 0x00, 0x00, 0x07, 0x88, 0x12, 0xf4, 0x95, 1201 + 0xf4, 0x95, 0x96, 0x0e, 0xf8, 0x30, 0x14, 0x52, 1202 + 0x10, 0xe2, 0x00, 0x33, 0x77, 0x12, 0x00, 0x55, 1203 + 0x80, 0x82, 0x77, 0x12, 0x00, 0x57, 0x10, 0xe6, 1204 + 0x00, 0x01, 0x80, 0x82, 0x48, 0x11, 0xf2, 0x73, 1205 + 0x14, 0x50, 0xf0, 0x40, 0x00, 0x02, 0x77, 0x12, 1206 + 0x00, 0x7b, 0x10, 0x82, 0xf0, 0x00, 0x00, 0x07, 1207 + 0x88, 0x12, 0xf4, 0x95, 0xf4, 0x95, 0x96, 0x0f, 1208 + 0xf8, 0x30, 0x14, 0x52, 0x10, 0xe2, 0x00, 0x32, 1209 + 0x77, 0x12, 0x00, 0x55, 0x77, 0x13, 0x00, 0x57, 1210 + 0x80, 0x82, 0x48, 0x11, 0xe7, 0x62, 0xf0, 0x40, 1211 + 0x00, 0x01, 0xe5, 0x01, 0x88, 0x11, 0xf4, 0x95, 1212 + 0x77, 0x12, 0x00, 0x7b, 0x48, 0x11, 0x71, 0x82, 1213 + 0x00, 0x12, 0x1a, 0xe2, 0x00, 0x07, 0x80, 0xe2, 1214 + 0x00, 0x07, 0xf9, 0x80, 0x16, 0x9a, 0xee, 0x01, 1215 + 0x8a, 0x17, 0x48, 0x11, 0x8a, 0x16, 0x8a, 0x11, 1216 + 0xf4, 0xe4, 0x4a, 0x11, 0x88, 0x11, 0x77, 0x0e, 1217 + 0x00, 0x05, 0x77, 0x12, 0x00, 0x55, 0xe8, 0x04, 1218 + 0xf6, 0xb8, 0x28, 0xe1, 0x00, 0x02, 0xee, 0xff, 1219 + 0x80, 0x82, 0x77, 0x12, 0x00, 0x57, 0xf0, 0x20, 1220 + 0x80, 0x00, 0xee, 0x01, 0x1a, 0x82, 0x77, 0x12, 1221 + 0x00, 0x57, 0x80, 0x82, 0xe8, 0x01, 0x32, 0xe1, 1222 + 0x00, 0x02, 0xf5, 0x82, 0x77, 0x11, 0x00, 0x54, 1223 + 0xf6, 0x93, 0x18, 0x81, 0x77, 0x11, 0x00, 0x54, 1224 + 0xf2, 0xa0, 0x80, 0x81, 0x8a, 0x11, 0xf4, 0x95, 1225 + 0xf4, 0xe4, 0x4a, 0x11, 0x4a, 0x16, 0xf4, 0x95, 1226 + 0x71, 0x04, 0x00, 0x11, 0xfb, 0x80, 0x16, 0xa2, 1227 + 0x88, 0x16, 0xf4, 0x95, 0x77, 0x12, 0x00, 0x55, 1228 + 0x10, 0xe6, 0x00, 0x03, 0x80, 0x82, 0x77, 0x12, 1229 + 0x00, 0x56, 0x10, 0xe1, 0x00, 0x02, 0x77, 0x13, 1230 + 0x00, 0x56, 0x80, 0x82, 0x77, 0x12, 0x00, 0x56, 1231 + 0x10, 0xe1, 0x00, 0x03, 0x80, 0x82, 0x10, 0xe1, 1232 + 0x00, 0x04, 0x77, 0x12, 0x00, 0x56, 0x80, 0x82, 1233 + 0x77, 0x12, 0x00, 0x56, 0x10, 0xe1, 0x00, 0x01, 1234 + 0x80, 0x82, 0xe7, 0x12, 0xe5, 0x01, 0xf9, 0x80, 1235 + 0x16, 0x9a, 0x8a, 0x16, 0x8a, 0x11, 0xf4, 0xe4, 1236 + 0x4a, 0x11, 0x4a, 0x16, 0x4a, 0x17, 0xee, 0xf9, 1237 + 0x77, 0x11, 0x00, 0x7b, 0x76, 0x00, 0x00, 0x16, 1238 + 0x76, 0x01, 0x00, 0x17, 0x76, 0x02, 0x00, 0x1a, 1239 + 0x76, 0x03, 0x00, 0x1b, 0x76, 0x04, 0x00, 0x1c, 1240 + 0x76, 0x05, 0x00, 0x1d, 0x71, 0x81, 0x00, 0x17, 1241 + 0x71, 0xe7, 0x00, 0x06, 0x00, 0x11, 0x10, 0x81, 1242 + 0xf8, 0x44, 0x14, 0xdf, 0xf9, 0x80, 0x16, 0x53, 1243 + 0xf6, 0xb8, 0xfb, 0x80, 0x15, 0x85, 0xf0, 0x20, 1244 + 0xff, 0xff, 0xf6, 0xb8, 0xfb, 0x80, 0x16, 0x08, 1245 + 0xf0, 0x20, 0xff, 0xff, 0x77, 0x11, 0x00, 0x7b, 1246 + 0x71, 0x81, 0x00, 0x17, 0x76, 0xe7, 0x00, 0x06, 1247 + 0x00, 0x01, 0x48, 0x17, 0x77, 0x16, 0x00, 0x00, 1248 + 0x77, 0x10, 0x00, 0x04, 0x77, 0x15, 0x00, 0x03, 1249 + 0x77, 0x14, 0x00, 0x02, 0x77, 0x13, 0x00, 0x01, 1250 + 0xf0, 0x00, 0x00, 0x39, 0x76, 0xe7, 0x00, 0x08, 1251 + 0x00, 0x1f, 0x76, 0xe7, 0x00, 0x07, 0x00, 0x00, 1252 + 0x88, 0x0e, 0x77, 0x1a, 0x00, 0x05, 0x48, 0x17, 1253 + 0xf0, 0x00, 0x00, 0x09, 0x88, 0x12, 0x48, 0x18, 1254 + 0x88, 0x19, 0xe8, 0x00, 0xf0, 0x72, 0x15, 0x2c, 1255 + 0x73, 0x19, 0x00, 0x11, 0x76, 0x82, 0x00, 0x00, 1256 + 0x11, 0x91, 0x73, 0x11, 0x00, 0x19, 0x70, 0xe2, 1257 + 0x00, 0x03, 0x00, 0x16, 0x70, 0xe2, 0x00, 0x04, 1258 + 0x00, 0x13, 0x70, 0xe2, 0x00, 0x05, 0x00, 0x14, 1259 + 0x81, 0xe2, 0x00, 0x01, 0x70, 0xe2, 0x00, 0x06, 1260 + 0x00, 0x15, 0x70, 0xe2, 0x00, 0x07, 0x00, 0x10, 1261 + 0x80, 0xe2, 0x00, 0x02, 0x73, 0x0e, 0x00, 0x11, 1262 + 0xf1, 0x00, 0x00, 0x1e, 0x6d, 0xee, 0x00, 0x05, 1263 + 0x6d, 0xeb, 0x00, 0x05, 0x6d, 0xec, 0x00, 0x05, 1264 + 0x6d, 0xed, 0x00, 0x05, 0x6d, 0xe8, 0x00, 0x05, 1265 + 0xf0, 0x00, 0x00, 0x01, 0x81, 0x91, 0x6d, 0xea, 1266 + 0x00, 0x08, 0x73, 0x11, 0x00, 0x0e, 0xee, 0x07, 1267 + 0x76, 0xe7, 0x00, 0x41, 0x00, 0x24, 0x76, 0xe7, 1268 + 0x00, 0x46, 0x00, 0x25, 0x76, 0xe7, 0x00, 0x4b, 1269 + 0x00, 0x26, 0x76, 0xe7, 0x00, 0x50, 0x00, 0x27, 1270 + 0x8a, 0x17, 0x8a, 0x16, 0x8a, 0x11, 0xf4, 0xe4, 1271 + 0x4a, 0x11, 0x4a, 0x16, 0xee, 0xfe, 0x88, 0x11, 1272 + 0x56, 0x06, 0x4e, 0x00, 0xf9, 0x80, 0x16, 0xa2, 1273 + 0xf7, 0xb8, 0x10, 0xf8, 0x00, 0x11, 0xf0, 0x10, 1274 + 0xff, 0xff, 0xfa, 0x45, 0x15, 0x60, 0x77, 0x16, 1275 + 0xff, 0xff, 0x77, 0x12, 0x00, 0x7b, 0x49, 0x11, 1276 + 0x10, 0x82, 0xf6, 0x03, 0xf0, 0x00, 0x00, 0x09, 1277 + 0x88, 0x11, 0xf4, 0x95, 0xf4, 0x95, 0x10, 0x81, 1278 + 0xf8, 0x44, 0x15, 0x71, 0xf2, 0x73, 0x15, 0x71, 1279 + 0xf4, 0x95, 0xe7, 0x16, 0x77, 0x11, 0x00, 0x7b, 1280 + 0x10, 0x81, 0xf0, 0x00, 0x00, 0x09, 0x88, 0x11, 1281 + 0xf4, 0x95, 0x77, 0x12, 0x00, 0x06, 0x10, 0x81, 1282 + 0xf8, 0x45, 0x15, 0x5c, 0x6e, 0xea, 0xff, 0xff, 1283 + 0x15, 0x69, 0x6d, 0xe9, 0x00, 0x08, 0x76, 0x86, 1284 + 0x00, 0x01, 0xe9, 0x01, 0x56, 0x00, 0xf1, 0x80, 1285 + 0x10, 0xf8, 0x00, 0x0b, 0xf8, 0x45, 0x15, 0x7e, 1286 + 0xfb, 0x80, 0x15, 0x85, 0xf4, 0x95, 0x48, 0x16, 1287 + 0xf9, 0x80, 0x16, 0x9a, 0xee, 0x02, 0x48, 0x16, 1288 + 0x8a, 0x16, 0x8a, 0x11, 0xf4, 0xe4, 0x4a, 0x11, 1289 + 0xee, 0xff, 0xfb, 0x80, 0x16, 0xa2, 0x88, 0x11, 1290 + 0xf4, 0x95, 0x77, 0x10, 0xff, 0xff, 0xf4, 0xa9, 1291 + 0xf8, 0x30, 0x15, 0xc4, 0x10, 0xe1, 0x00, 0x03, 1292 + 0x77, 0x12, 0x00, 0x55, 0x80, 0x82, 0x77, 0x12, 1293 + 0x00, 0x56, 0x76, 0x82, 0x00, 0x00, 0x77, 0x12, 1294 + 0x00, 0x56, 0x76, 0x82, 0x00, 0x00, 0x77, 0x12, 1295 + 0x00, 0x56, 0x76, 0x82, 0x00, 0x00, 0x77, 0x12, 1296 + 0x00, 0x56, 0x76, 0x82, 0x00, 0x00, 0x77, 0x12, 1297 + 0x00, 0x56, 0x76, 0x82, 0x00, 0x00, 0x10, 0xe1, 1298 + 0x00, 0x02, 0xf0, 0x00, 0x00, 0x08, 0x32, 0xf8, 1299 + 0x00, 0x08, 0x77, 0x12, 0x00, 0x54, 0xe8, 0x01, 1300 + 0xf4, 0x82, 0xf4, 0x93, 0x18, 0x82, 0x77, 0x12, 1301 + 0x00, 0x54, 0xf0, 0x40, 0x00, 0x00, 0x80, 0x82, 1302 + 0x10, 0xe1, 0x00, 0x01, 0xf9, 0x80, 0x16, 0x76, 1303 + 0x10, 0xe1, 0x00, 0x01, 0xf9, 0x80, 0x16, 0x66, 1304 + 0xf0, 0x73, 0x16, 0x03, 0x77, 0x11, 0x00, 0x7b, 1305 + 0x71, 0x81, 0x00, 0x11, 0x71, 0xe1, 0x00, 0x07, 1306 + 0x00, 0x12, 0x76, 0x82, 0x00, 0x00, 0x10, 0xe1, 1307 + 0x00, 0x09, 0xf9, 0x80, 0x15, 0x85, 0x77, 0x11, 1308 + 0x00, 0x7b, 0x71, 0x81, 0x00, 0x11, 0x10, 0xe1, 1309 + 0x00, 0x09, 0xfb, 0x80, 0x15, 0x85, 0xf0, 0x00, 1310 + 0x00, 0x08, 0x77, 0x11, 0x00, 0x7b, 0x71, 0x81, 1311 + 0x00, 0x11, 0x10, 0xe1, 0x00, 0x09, 0xfb, 0x80, 1312 + 0x15, 0x85, 0xf0, 0x00, 0x00, 0x10, 0x77, 0x11, 1313 + 0x00, 0x7b, 0x71, 0x81, 0x00, 0x11, 0x10, 0xe1, 1314 + 0x00, 0x09, 0xfb, 0x80, 0x15, 0x85, 0xf0, 0x00, 1315 + 0x00, 0x18, 0x77, 0x11, 0x00, 0x7b, 0x71, 0x81, 1316 + 0x00, 0x11, 0x10, 0xe1, 0x00, 0x09, 0xfb, 0x80, 1317 + 0x15, 0x85, 0xf0, 0x00, 0x00, 0x20, 0x77, 0x11, 1318 + 0x00, 0x7b, 0x71, 0x81, 0x00, 0x11, 0x10, 0xe1, 1319 + 0x00, 0x09, 0xfb, 0x80, 0x15, 0x85, 0xf0, 0x00, 1320 + 0x00, 0x28, 0xf9, 0x80, 0x16, 0x9a, 0xee, 0x01, 1321 + 0x8a, 0x11, 0xf4, 0xe4, 0x4a, 0x11, 0xee, 0xff, 1322 + 0xfb, 0x80, 0x16, 0xa2, 0x88, 0x11, 0xf4, 0x95, 1323 + 0x77, 0x10, 0xff, 0xff, 0xf4, 0xa9, 0xf8, 0x30, 1324 + 0x16, 0x41, 0x77, 0x11, 0x00, 0x55, 0x76, 0x81, 1325 + 0x00, 0x1e, 0x77, 0x11, 0x00, 0x56, 0x76, 0x81, 1326 + 0x00, 0x00, 0x77, 0x11, 0x00, 0x56, 0x76, 0x81, 1327 + 0x00, 0x00, 0x77, 0x11, 0x00, 0x56, 0x76, 0x81, 1328 + 0x00, 0x00, 0x77, 0x11, 0x00, 0x56, 0x76, 0x81, 1329 + 0x00, 0x00, 0x77, 0x11, 0x00, 0x56, 0x76, 0x81, 1330 + 0x00, 0x00, 0x77, 0x11, 0x00, 0x56, 0x76, 0x81, 1331 + 0x00, 0x00, 0x77, 0x11, 0x00, 0x56, 0x76, 0x81, 1332 + 0x00, 0x00, 0x77, 0x11, 0x00, 0x56, 0x76, 0x81, 1333 + 0x00, 0x00, 0x77, 0x11, 0x00, 0x56, 0x76, 0x81, 1334 + 0x00, 0x00, 0x77, 0x11, 0x00, 0x56, 0xf2, 0x73, 1335 + 0x16, 0x4e, 0x76, 0x81, 0x00, 0x00, 0x77, 0x11, 1336 + 0x00, 0x7b, 0x71, 0x81, 0x00, 0x11, 0x71, 0xe1, 1337 + 0x00, 0x07, 0x00, 0x12, 0x76, 0x82, 0x00, 0x00, 1338 + 0x10, 0xe1, 0x00, 0x39, 0xf9, 0x80, 0x16, 0x08, 1339 + 0xf9, 0x80, 0x16, 0x9a, 0xee, 0x01, 0x8a, 0x11, 1340 + 0xf4, 0xe4, 0x4a, 0x11, 0x77, 0x11, 0x00, 0x7b, 1341 + 0x10, 0x81, 0xf0, 0x00, 0x00, 0x04, 0x88, 0x11, 1342 + 0xf4, 0x95, 0xf4, 0x95, 0x10, 0x81, 0xfa, 0x44, 1343 + 0x16, 0x63, 0xf4, 0x95, 0xee, 0xff, 0x76, 0x81, 1344 + 0x00, 0x01, 0xee, 0x01, 0x8a, 0x11, 0xf4, 0xe4, 1345 + 0xf0, 0x10, 0x00, 0x10, 0x4a, 0x11, 0x32, 0xf8, 1346 + 0x00, 0x08, 0xee, 0xff, 0x77, 0x11, 0x00, 0x01, 1347 + 0xe8, 0x01, 0xee, 0x01, 0xf4, 0x82, 0x1a, 0x81, 1348 + 0x80, 0x81, 0x8a, 0x11, 0xf4, 0x95, 0xf4, 0xe4, 1349 + 0xf0, 0x10, 0x00, 0x10, 0x4a, 0x11, 0x32, 0xf8, 1350 + 0x00, 0x08, 0xee, 0xff, 0xe8, 0x01, 0x77, 0x11, 1351 + 0x00, 0x00, 0xf4, 0x82, 0xee, 0x01, 0xf4, 0x93, 1352 + 0x18, 0x81, 0x80, 0x81, 0x8a, 0x11, 0xf4, 0x95, 1353 + 0xf4, 0xe4, 0x4a, 0x11, 0xf0, 0x10, 0x00, 0x10, 1354 + 0x77, 0x11, 0x00, 0x00, 0x32, 0xf8, 0x00, 0x08, 1355 + 0xee, 0xff, 0x11, 0x81, 0xe8, 0x01, 0xee, 0x01, 1356 + 0x77, 0x11, 0x00, 0x00, 0xf4, 0x82, 0xf2, 0xa0, 1357 + 0x80, 0x81, 0x8a, 0x11, 0xf4, 0x95, 0xf4, 0xe4, 1358 + 0xf2, 0x73, 0x16, 0x9e, 0xf6, 0xbb, 0xf4, 0x95, 1359 + 0xf4, 0x95, 0xf4, 0x95, 0xf4, 0x95, 0xf4, 0xe4, 1360 + 0xf2, 0x73, 0x16, 0xa6, 0xf7, 0xbb, 0xf4, 0x95, 1361 + 0xf4, 0x95, 0xf4, 0x95, 0xf4, 0x95, 0xf4, 0xe4, 1362 + 0x4a, 0x11, 0x4a, 0x16, 0xf4, 0x95, 0x71, 0x04, 1363 + 0x00, 0x16, 0xfb, 0x80, 0x16, 0xa2, 0x88, 0x11, 1364 + 0xf4, 0x95, 0x71, 0xe1, 0x00, 0x05, 0x00, 0x12, 1365 + 0x76, 0x82, 0x00, 0x0e, 0x10, 0xe6, 0x00, 0x0e, 1366 + 0x71, 0xe1, 0x00, 0x06, 0x00, 0x12, 0x80, 0x82, 1367 + 0x71, 0xe1, 0x00, 0x05, 0x00, 0x12, 0x76, 0x82, 1368 + 0x00, 0x0d, 0x71, 0xe1, 0x00, 0x06, 0x00, 0x12, 1369 + 0x10, 0xe6, 0x00, 0x0d, 0x80, 0x82, 0x71, 0xe1, 1370 + 0x00, 0x05, 0x00, 0x12, 0x76, 0x82, 0x00, 0x0c, 1371 + 0x10, 0xe6, 0x00, 0x0c, 0x71, 0xe1, 0x00, 0x06, 1372 + 0x00, 0x12, 0x80, 0x82, 0x71, 0xe1, 0x00, 0x05, 1373 + 0x00, 0x12, 0x76, 0x82, 0x00, 0x0b, 0x10, 0xe6, 1374 + 0x00, 0x0b, 0x71, 0xe1, 0x00, 0x06, 0x00, 0x12, 1375 + 0x80, 0x82, 0x71, 0xe1, 0x00, 0x05, 0x00, 0x12, 1376 + 0x76, 0x82, 0x00, 0x0a, 0x71, 0xe1, 0x00, 0x06, 1377 + 0x00, 0x12, 0x10, 0xe6, 0x00, 0x0a, 0x80, 0x82, 1378 + 0x71, 0xe1, 0x00, 0x05, 0x00, 0x12, 0x76, 0x82, 1379 + 0x00, 0x09, 0x10, 0xe6, 0x00, 0x09, 0x71, 0xe1, 1380 + 0x00, 0x06, 0x00, 0x12, 0x80, 0x82, 0x71, 0xe1, 1381 + 0x00, 0x05, 0x00, 0x12, 0x76, 0x82, 0x00, 0x08, 1382 + 0x71, 0xe1, 0x00, 0x06, 0x00, 0x12, 0x10, 0xe6, 1383 + 0x00, 0x08, 0x80, 0x82, 0x71, 0xe1, 0x00, 0x05, 1384 + 0x00, 0x12, 0x76, 0x82, 0x00, 0x07, 0x10, 0xe6, 1385 + 0x00, 0x07, 0x71, 0xe1, 0x00, 0x06, 0x00, 0x12, 1386 + 0x80, 0x82, 0x71, 0xe1, 0x00, 0x05, 0x00, 0x12, 1387 + 0x76, 0x82, 0x00, 0x06, 0x71, 0xe1, 0x00, 0x06, 1388 + 0x00, 0x12, 0x10, 0xe6, 0x00, 0x06, 0x80, 0x82, 1389 + 0x71, 0xe1, 0x00, 0x05, 0x00, 0x12, 0x76, 0x82, 1390 + 0x00, 0x05, 0x71, 0xe1, 0x00, 0x06, 0x00, 0x12, 1391 + 0x10, 0xe6, 0x00, 0x05, 0x80, 0x82, 0x71, 0xe1, 1392 + 0x00, 0x05, 0x00, 0x12, 0x76, 0x82, 0x00, 0x04, 1393 + 0x71, 0xe1, 0x00, 0x06, 0x00, 0x12, 0x10, 0xe6, 1394 + 0x00, 0x04, 0x80, 0x82, 0x71, 0xe1, 0x00, 0x05, 1395 + 0x00, 0x12, 0x76, 0x82, 0x00, 0x03, 0x71, 0xe1, 1396 + 0x00, 0x06, 0x00, 0x12, 0x10, 0xe6, 0x00, 0x03, 1397 + 0x80, 0x82, 0x71, 0xe1, 0x00, 0x05, 0x00, 0x12, 1398 + 0x76, 0x82, 0x00, 0x02, 0x10, 0xe6, 0x00, 0x02, 1399 + 0x71, 0xe1, 0x00, 0x06, 0x00, 0x12, 0x80, 0x82, 1400 + 0x71, 0xe1, 0x00, 0x05, 0x00, 0x12, 0x76, 0x82, 1401 + 0x00, 0x01, 0x10, 0xe6, 0x00, 0x01, 0x71, 0xe1, 1402 + 0x00, 0x06, 0x00, 0x12, 0x80, 0x82, 0x71, 0xe1, 1403 + 0x00, 0x05, 0x00, 0x12, 0x76, 0x82, 0x00, 0x00, 1404 + 0x71, 0xe1, 0x00, 0x06, 0x00, 0x13, 0xe7, 0x62, 1405 + 0xe5, 0x01, 0xf9, 0x80, 0x16, 0x9a, 0x8a, 0x16, 1406 + 0x8a, 0x11, 0xf4, 0xe4, 0x4a, 0x11, 0x88, 0x11, 1407 + 0xf4, 0x95, 0xf4, 0x95, 0x71, 0xe1, 0x00, 0x05, 1408 + 0x00, 0x12, 0xee, 0xff, 0x76, 0x82, 0x00, 0x00, 1409 + 0xee, 0x01, 0x71, 0xe1, 0x00, 0x06, 0x00, 0x11, 1410 + 0x69, 0x81, 0x00, 0x01, 0x8a, 0x11, 0xf4, 0x95, 1411 + 0xf4, 0xe4, 0x4a, 0x11, 0x88, 0x11, 0xf4, 0x95, 1412 + 0xf4, 0x95, 0x71, 0xe1, 0x00, 0x05, 0x00, 0x12, 1413 + 0xee, 0xff, 0x76, 0x82, 0x00, 0x01, 0xee, 0x01, 1414 + 0x71, 0xe1, 0x00, 0x06, 0x00, 0x11, 0x69, 0x81, 1415 + 0x00, 0x01, 0x8a, 0x11, 0xf4, 0x95, 0xf4, 0xe4, 1416 + 0x4a, 0x11, 0x77, 0x11, 0x00, 0x7b, 0x10, 0x81, 1417 + 0xf0, 0x00, 0x00, 0x94, 0x88, 0x11, 0xf4, 0x95, 1418 + 0xf4, 0x95, 0x10, 0x81, 0xfa, 0x44, 0x17, 0x9c, 1419 + 0xf4, 0x95, 0xee, 0xff, 0xf9, 0x80, 0x16, 0x53, 1420 + 0x77, 0x11, 0x00, 0x7b, 0x10, 0x81, 0xf0, 0x00, 1421 + 0x00, 0x94, 0x88, 0x11, 0xf4, 0x95, 0xf4, 0x95, 1422 + 0x76, 0x81, 0x00, 0x01, 0xee, 0x01, 0x76, 0xe1, 1423 + 0x00, 0x01, 0x00, 0x00, 0x76, 0xe1, 0x00, 0x02, 1424 + 0x00, 0x21, 0x76, 0xe1, 0x00, 0x03, 0x00, 0x20, 1425 + 0x76, 0xe1, 0x00, 0x04, 0x00, 0x23, 0x76, 0xe1, 1426 + 0x00, 0x05, 0x00, 0x22, 0x76, 0xe1, 0x00, 0x06, 1427 + 0x00, 0x38, 0x76, 0xe1, 0x00, 0x07, 0x00, 0x39, 1428 + 0x76, 0xe1, 0x00, 0x08, 0x00, 0x15, 0x76, 0xe1, 1429 + 0x00, 0x09, 0x00, 0x14, 0x76, 0xe1, 0x00, 0x0a, 1430 + 0x00, 0x00, 0x76, 0xe1, 0x00, 0x0b, 0x00, 0x41, 1431 + 0x76, 0xe1, 0x00, 0x0c, 0x00, 0x40, 0x76, 0xe1, 1432 + 0x00, 0x0d, 0x00, 0x43, 0x76, 0xe1, 0x00, 0x0e, 1433 + 0x00, 0x42, 0x76, 0xe1, 0x00, 0x0f, 0x00, 0x48, 1434 + 0x76, 0xe1, 0x00, 0x10, 0x00, 0x49, 0x76, 0xe1, 1435 + 0x00, 0x11, 0x00, 0x1b, 0x76, 0xe1, 0x00, 0x12, 1436 + 0x00, 0x1a, 0x8a, 0x11, 0xf4, 0x95, 0xf4, 0xe4, 1437 + 0x4a, 0x11, 0xee, 0xfd, 0x88, 0x11, 0x56, 0x06, 1438 + 0x4e, 0x00, 0xf9, 0x80, 0x16, 0xa2, 0x77, 0x12, 1439 + 0x00, 0x7b, 0x77, 0x0e, 0x00, 0x09, 0x10, 0x82, 1440 + 0x28, 0xf8, 0x00, 0x11, 0xf0, 0x00, 0x00, 0x95, 1441 + 0x88, 0x11, 0xf4, 0x95, 0xf4, 0x95, 0x10, 0x81, 1442 + 0xf8, 0x45, 0x17, 0xf0, 0xf2, 0x73, 0x17, 0xfd, 1443 + 0x77, 0x11, 0xff, 0xff, 0x76, 0x81, 0x00, 0x01, 1444 + 0xe9, 0x01, 0x56, 0x00, 0xf1, 0x80, 0x10, 0xf8, 1445 + 0x00, 0x0b, 0xf8, 0x45, 0x17, 0xfd, 0xfb, 0x80, 1446 + 0x18, 0x10, 0xf4, 0x95, 0x48, 0x11, 0xf9, 0x80, 1447 + 0x16, 0x9a, 0xee, 0x03, 0x48, 0x11, 0x8a, 0x11, 1448 + 0xf4, 0x95, 0xf4, 0xe4, 0x4a, 0x11, 0x88, 0x11, 1449 + 0xf4, 0x95, 0xee, 0xff, 0x71, 0xe1, 0x00, 0x01, 1450 + 0x00, 0x11, 0xee, 0x01, 0x10, 0x81, 0x8a, 0x11, 1451 + 0xf4, 0x95, 0xf4, 0xe4, 0x4a, 0x11, 0xee, 0xff, 1452 + 0xfb, 0x80, 0x16, 0xa2, 0x88, 0x11, 0xf4, 0x95, 1453 + 0x77, 0x10, 0xff, 0xff, 0xf4, 0xa9, 0xf8, 0x30, 1454 + 0x18, 0xc3, 0x71, 0xe1, 0x00, 0x05, 0x00, 0x12, 1455 + 0x76, 0x82, 0x00, 0x00, 0x71, 0xe1, 0x00, 0x06, 1456 + 0x00, 0x12, 0x76, 0x82, 0x00, 0x00, 0x71, 0xe1, 1457 + 0x00, 0x05, 0x00, 0x12, 0x76, 0x82, 0x00, 0x01, 1458 + 0x71, 0xe1, 0x00, 0x06, 0x00, 0x12, 0x76, 0x82, 1459 + 0x00, 0x00, 0x71, 0xe1, 0x00, 0x05, 0x00, 0x12, 1460 + 0x76, 0x82, 0x00, 0x02, 0x71, 0xe1, 0x00, 0x06, 1461 + 0x00, 0x12, 0x76, 0x82, 0x00, 0x00, 0x71, 0xe1, 1462 + 0x00, 0x05, 0x00, 0x12, 0x76, 0x82, 0x00, 0x03, 1463 + 0x71, 0xe1, 0x00, 0x06, 0x00, 0x12, 0x76, 0x82, 1464 + 0x00, 0x00, 0x71, 0xe1, 0x00, 0x05, 0x00, 0x12, 1465 + 0x76, 0x82, 0x00, 0x04, 0x71, 0xe1, 0x00, 0x06, 1466 + 0x00, 0x12, 0x76, 0x82, 0x00, 0x00, 0x71, 0xe1, 1467 + 0x00, 0x05, 0x00, 0x12, 0x76, 0x82, 0x00, 0x05, 1468 + 0x71, 0xe1, 0x00, 0x06, 0x00, 0x12, 0x76, 0x82, 1469 + 0x00, 0x00, 0x71, 0xe1, 0x00, 0x05, 0x00, 0x12, 1470 + 0x76, 0x82, 0x00, 0x06, 0x71, 0xe1, 0x00, 0x06, 1471 + 0x00, 0x12, 0x76, 0x82, 0x00, 0x01, 0x71, 0xe1, 1472 + 0x00, 0x05, 0x00, 0x12, 0x76, 0x82, 0x00, 0x07, 1473 + 0x71, 0xe1, 0x00, 0x06, 0x00, 0x12, 0x76, 0x82, 1474 + 0x20, 0x00, 0x71, 0xe1, 0x00, 0x05, 0x00, 0x12, 1475 + 0x76, 0x82, 0x00, 0x08, 0x71, 0xe1, 0x00, 0x06, 1476 + 0x00, 0x12, 0x76, 0x82, 0x00, 0x00, 0x71, 0xe1, 1477 + 0x00, 0x05, 0x00, 0x12, 0x76, 0x82, 0x00, 0x09, 1478 + 0x71, 0xe1, 0x00, 0x06, 0x00, 0x12, 0x76, 0x82, 1479 + 0x00, 0x00, 0x71, 0xe1, 0x00, 0x05, 0x00, 0x12, 1480 + 0x76, 0x82, 0x00, 0x0a, 0x71, 0xe1, 0x00, 0x06, 1481 + 0x00, 0x12, 0x76, 0x82, 0x00, 0x00, 0x71, 0xe1, 1482 + 0x00, 0x05, 0x00, 0x12, 0x76, 0x82, 0x00, 0x0b, 1483 + 0x71, 0xe1, 0x00, 0x06, 0x00, 0x12, 0x76, 0x82, 1484 + 0x00, 0x00, 0x71, 0xe1, 0x00, 0x05, 0x00, 0x12, 1485 + 0x76, 0x82, 0x00, 0x0c, 0x71, 0xe1, 0x00, 0x06, 1486 + 0x00, 0x12, 0x76, 0x82, 0x00, 0x00, 0x71, 0xe1, 1487 + 0x00, 0x05, 0x00, 0x12, 0x76, 0x82, 0x00, 0x0d, 1488 + 0x71, 0xe1, 0x00, 0x06, 0x00, 0x12, 0x76, 0x82, 1489 + 0x00, 0x00, 0x71, 0xe1, 0x00, 0x05, 0x00, 0x12, 1490 + 0x76, 0x82, 0x00, 0x0e, 0x71, 0xe1, 0x00, 0x06, 1491 + 0x00, 0x12, 0x76, 0x82, 0x00, 0x00, 0x10, 0xe1, 1492 + 0x00, 0x07, 0xf9, 0x80, 0x16, 0x76, 0x10, 0xe1, 1493 + 0x00, 0x08, 0xf9, 0x80, 0x16, 0x76, 0x10, 0xe1, 1494 + 0x00, 0x07, 0xf9, 0x80, 0x16, 0x66, 0x10, 0xe1, 1495 + 0x00, 0x08, 0xf9, 0x80, 0x16, 0x66, 0xf0, 0x73, 1496 + 0x18, 0xd1, 0x77, 0x11, 0x00, 0x7b, 0x10, 0x81, 1497 + 0xfb, 0x80, 0x18, 0x10, 0xf0, 0x00, 0x00, 0x95, 1498 + 0x77, 0x11, 0x00, 0x7b, 0x10, 0x81, 0xfb, 0x80, 1499 + 0x18, 0x10, 0xf0, 0x00, 0x00, 0x9e, 0xf9, 0x80, 1500 + 0x16, 0x9a, 0xee, 0x01, 0x8a, 0x11, 0xf4, 0xe4, 1501 + 0x4a, 0x11, 0x88, 0x11, 0xee, 0xff, 0xf4, 0x95, 1502 + 0x10, 0x04, 0x71, 0xe1, 0x00, 0x03, 0x00, 0x11, 1503 + 0xee, 0x01, 0x80, 0x81, 0x8a, 0x11, 0xf4, 0x95, 1504 + 0xf4, 0xe4, 0x4a, 0x11, 0x4a, 0x16, 0xf4, 0x95, 1505 + 0x71, 0x04, 0x00, 0x16, 0xfb, 0x80, 0x16, 0xa2, 1506 + 0x88, 0x11, 0xf4, 0x95, 0x71, 0xe1, 0x00, 0x02, 1507 + 0x00, 0x12, 0x76, 0x82, 0x00, 0x10, 0x10, 0xe6, 1508 + 0x00, 0x01, 0x71, 0xe1, 0x00, 0x03, 0x00, 0x12, 1509 + 0x80, 0x82, 0x71, 0xe1, 0x00, 0x04, 0x00, 0x12, 1510 + 0x10, 0xe6, 0x00, 0x02, 0x80, 0x82, 0xe7, 0x62, 1511 + 0x71, 0xe1, 0x00, 0x02, 0x00, 0x13, 0xe5, 0x01, 1512 + 0xf9, 0x80, 0x16, 0x9a, 0x8a, 0x16, 0x8a, 0x11, 1513 + 0xf4, 0xe4, 0x4a, 0x11, 0x88, 0x11, 0xee, 0xff, 1514 + 0xee, 0x01, 0x10, 0xe1, 0x00, 0x01, 0x8a, 0x11, 1515 + 0xf4, 0x95, 0xf4, 0xe4, 0x4a, 0x11, 0x77, 0x11, 1516 + 0x00, 0x7b, 0x10, 0x81, 0xf0, 0x00, 0x00, 0xb3, 1517 + 0x88, 0x11, 0xf4, 0x95, 0xf4, 0x95, 0x10, 0x81, 1518 + 0xfa, 0x44, 0x19, 0x2a, 0xf4, 0x95, 0xee, 0xff, 1519 + 0xf9, 0x80, 0x16, 0x53, 0x77, 0x11, 0x00, 0x7b, 1520 + 0x10, 0x81, 0xf0, 0x00, 0x00, 0xb3, 0x88, 0x11, 1521 + 0xf4, 0x95, 0xf4, 0x95, 0x76, 0x81, 0x00, 0x01, 1522 + 0xee, 0x01, 0x76, 0xe1, 0x00, 0x01, 0x00, 0x00, 1523 + 0x76, 0xe1, 0x00, 0x02, 0x00, 0x13, 0x76, 0xe1, 1524 + 0x00, 0x03, 0x00, 0x26, 0x76, 0xe1, 0x00, 0x04, 1525 + 0x00, 0x25, 0x76, 0xe1, 0x00, 0x05, 0x00, 0x24, 1526 + 0x76, 0xe1, 0x00, 0x06, 0x00, 0x00, 0x76, 0xe1, 1527 + 0x00, 0x07, 0x00, 0x17, 0x76, 0xe1, 0x00, 0x08, 1528 + 0x00, 0x32, 0x76, 0xe1, 0x00, 0x09, 0x00, 0x31, 1529 + 0x76, 0xe1, 0x00, 0x0a, 0x00, 0x30, 0x8a, 0x11, 1530 + 0xf4, 0x95, 0xf4, 0xe4, 0x4a, 0x11, 0x4a, 0x16, 1531 + 0x4a, 0x17, 0xee, 0xff, 0xf4, 0x95, 0x71, 0x06, 1532 + 0x00, 0x17, 0xfb, 0x80, 0x16, 0xa2, 0x88, 0x11, 1533 + 0xf4, 0x95, 0xf7, 0xb8, 0x10, 0xf8, 0x00, 0x11, 1534 + 0xf0, 0x10, 0xff, 0xff, 0xfa, 0x45, 0x19, 0x73, 1535 + 0x77, 0x16, 0xff, 0xff, 0x77, 0x12, 0x00, 0x7b, 1536 + 0x77, 0x0e, 0x00, 0x05, 0x10, 0x82, 0x28, 0xf8, 1537 + 0x00, 0x11, 0xf0, 0x00, 0x00, 0xb4, 0x88, 0x11, 1538 + 0xf4, 0x95, 0xf4, 0x95, 0x10, 0x81, 0xf8, 0x44, 1539 + 0x19, 0x84, 0xf2, 0x73, 0x19, 0x84, 0xf4, 0x95, 1540 + 0xe7, 0x16, 0x77, 0x11, 0x00, 0x7b, 0x10, 0x81, 1541 + 0xf0, 0x00, 0x00, 0xb4, 0x88, 0x11, 0xf4, 0x95, 1542 + 0x77, 0x12, 0x00, 0x02, 0x10, 0x81, 0xf8, 0x45, 1543 + 0x19, 0x6f, 0x6e, 0xea, 0xff, 0xff, 0x19, 0x7c, 1544 + 0x6d, 0xe9, 0x00, 0x05, 0x61, 0xf8, 0x00, 0x17, 1545 + 0x00, 0x01, 0xfa, 0x20, 0x19, 0x8f, 0x76, 0x86, 1546 + 0x00, 0x01, 0xfb, 0x80, 0x19, 0x97, 0xf4, 0x95, 1547 + 0x48, 0x16, 0xf9, 0x80, 0x16, 0x9a, 0xee, 0x01, 1548 + 0x8a, 0x17, 0x48, 0x16, 0x8a, 0x16, 0x8a, 0x11, 1549 + 0xf4, 0xe4, 0x4a, 0x11, 0xee, 0xff, 0xfb, 0x80, 1550 + 0x16, 0xa2, 0x88, 0x11, 0xf4, 0x95, 0x77, 0x10, 1551 + 0xff, 0xff, 0xf4, 0xa9, 0xf8, 0x30, 0x19, 0xcc, 1552 + 0x71, 0xe1, 0x00, 0x02, 0x00, 0x12, 0x69, 0x82, 1553 + 0x00, 0x10, 0x71, 0xe1, 0x00, 0x02, 0x00, 0x12, 1554 + 0x68, 0x82, 0xf7, 0xff, 0x71, 0xe1, 0x00, 0x02, 1555 + 0x00, 0x12, 0x68, 0x82, 0xfb, 0xff, 0x71, 0xe1, 1556 + 0x00, 0x02, 0x00, 0x12, 0x68, 0x82, 0xff, 0xf0, 1557 + 0x71, 0xe1, 0x00, 0x03, 0x00, 0x12, 0x76, 0x82, 1558 + 0xff, 0xff, 0x71, 0xe1, 0x00, 0x04, 0x00, 0x12, 1559 + 0x76, 0x82, 0xff, 0xff, 0x71, 0xe1, 0x00, 0x02, 1560 + 0x00, 0x12, 0x69, 0x82, 0x00, 0x20, 0x71, 0xe1, 1561 + 0x00, 0x02, 0x00, 0x11, 0xf2, 0x73, 0x19, 0xda, 1562 + 0x68, 0x81, 0xff, 0xef, 0x77, 0x11, 0x00, 0x7b, 1563 + 0x10, 0x81, 0xfb, 0x80, 0x19, 0x97, 0xf0, 0x00, 1564 + 0x00, 0xb4, 0x77, 0x11, 0x00, 0x7b, 0x10, 0x81, 1565 + 0xfb, 0x80, 0x19, 0x97, 0xf0, 0x00, 0x00, 0xb9, 1566 + 0xf9, 0x80, 0x16, 0x9a, 0xee, 0x01, 0x8a, 0x11, 1567 + 0xf4, 0xe4, 0x00, 0xa4, 0x00, 0x00, 0x19, 0xdf, 1568 + 0x00, 0x01, 0x2a, 0xe6, 0x00, 0x00, 0x00, 0x01, 1569 + 0x2a, 0xe7, 0x00, 0x00, 0x00, 0x03, 0x2a, 0x12, 1570 + 0x0c, 0x01, 0xc3, 0x4f, 0x00, 0x00, 0x00, 0x01, 1571 + 0x2a, 0x15, 0x00, 0x00, 0x00, 0x02, 0x2a, 0x16, 1572 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x19, 0x2a, 0x5d, 1573 + 0x00, 0x43, 0x00, 0x6f, 0x00, 0x70, 0x00, 0x79, 1574 + 0x00, 0x72, 0x00, 0x69, 0x00, 0x67, 0x00, 0x68, 1575 + 0x00, 0x74, 0x00, 0x20, 0x00, 0x54, 0x00, 0x65, 1576 + 0x00, 0x63, 0x00, 0x68, 0x00, 0x6e, 0x00, 0x6f, 1577 + 0x00, 0x54, 0x00, 0x72, 0x00, 0x65, 0x00, 0x6e, 1578 + 0x00, 0x64, 0x00, 0x20, 0x00, 0x41, 0x00, 0x47, 1579 + 0x00, 0x00, 0x00, 0x04, 0x2a, 0x76, 0x00, 0x30, 1580 + 0x00, 0x2e, 0x00, 0x30, 0x00, 0x00, 0x00, 0x0c, 1581 + 0x2a, 0x7a, 0x00, 0x46, 0x00, 0x65, 0x00, 0x62, 1582 + 0x00, 0x20, 0x00, 0x32, 0x00, 0x37, 0x00, 0x20, 1583 + 0x00, 0x32, 0x00, 0x30, 0x00, 0x30, 0x00, 0x31, 1584 + 0x00, 0x00, 0x00, 0x09, 0x2a, 0x86, 0x00, 0x31, 1585 + 0x00, 0x34, 0x00, 0x3a, 0x00, 0x33, 0x00, 0x35, 1586 + 0x00, 0x3a, 0x00, 0x33, 0x00, 0x33, 0x00, 0x00, 1587 + 0x00, 0x0f, 0x2a, 0x8f, 0x00, 0x00, 0x00, 0x00, 1588 + 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 1589 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 1590 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 1591 + 0x00, 0x00, 0x00, 0x01, 0x2a, 0x9e, 0x00, 0x00, 1592 + 0x00, 0x01, 0x2a, 0x9f, 0x00, 0x00, 0x00, 0x01, 1593 + 0x2a, 0xa0, 0x00, 0x00, 0x00, 0x01, 0x2a, 0xa1, 1594 + 0x00, 0x00, 0x00, 0x01, 0x2a, 0xa2, 0x00, 0x00, 1595 + 0x00, 0x01, 0x29, 0x7e, 0x00, 0x00, 0x00, 0x02, 1596 + 0x29, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 1597 + 0x29, 0x82, 0xff, 0xff, 0x00, 0x01, 0x2a, 0xa7, 1598 + 0x00, 0x00, 0x00, 0x05, 0x2a, 0xa8, 0x71, 0x41, 1599 + 0x20, 0x00, 0x20, 0x00, 0x00, 0x23, 0x04, 0x00, 1600 + 0x00, 0x0a, 0x2a, 0xad, 0x00, 0x00, 0x00, 0x00, 1601 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 1602 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 1603 + 0x00, 0x0f, 0x2a, 0xb7, 0x00, 0x00, 0x00, 0x00, 1604 + 0x00, 0x00, 0x00, 0x40, 0x00, 0xa0, 0x82, 0x40, 1605 + 0x00, 0x08, 0x30, 0x7f, 0x00, 0x80, 0x01, 0x80, 1606 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 1607 + 0x00, 0x00, 0x00, 0x01, 0x27, 0x6e, 0x00, 0x00, 1608 + 0x00, 0x01, 0x27, 0x6f, 0x00, 0x00, 0x00, 0x00, 1609 + 0x00, 0x09, 0x00, 0x00, 0x1a, 0x83, 0x04, 0xe8, 1610 + 0x04, 0xcf, 0x04, 0xc5, 0x04, 0xba, 0x04, 0xb0, 1611 + 0x04, 0xac, 0x04, 0x9c, 0x04, 0x8c, 0x04, 0x81, 1612 + 0x00, 0x78, 0x00, 0x00, 0x01, 0x00, 0xf2, 0x73, 1613 + 0x07, 0xef, 0xf4, 0x95, 0xf4, 0x95, 0xf2, 0x73, 1614 + 0x07, 0xef, 0xf4, 0x95, 0xf4, 0x95, 0xf2, 0x73, 1615 + 0x07, 0xef, 0xf4, 0x95, 0xf4, 0x95, 0xf2, 0x73, 1616 + 0x07, 0xef, 0xf4, 0x95, 0xf4, 0x95, 0xf2, 0x73, 1617 + 0x07, 0xef, 0xf4, 0x95, 0xf4, 0x95, 0xf2, 0x73, 1618 + 0x07, 0xef, 0xf4, 0x95, 0xf4, 0x95, 0xf2, 0x73, 1619 + 0x07, 0xef, 0xf4, 0x95, 0xf4, 0x95, 0xf2, 0x73, 1620 + 0x07, 0xef, 0xf4, 0x95, 0xf4, 0x95, 0xf2, 0x73, 1621 + 0x07, 0xef, 0xf4, 0x95, 0xf4, 0x95, 0xf2, 0x73, 1622 + 0x07, 0xef, 0xf4, 0x95, 0xf4, 0x95, 0xf2, 0x73, 1623 + 0x07, 0xef, 0xf4, 0x95, 0xf4, 0x95, 0xf2, 0x73, 1624 + 0x07, 0xef, 0xf4, 0x95, 0xf4, 0x95, 0xf2, 0x73, 1625 + 0x07, 0xef, 0xf4, 0x95, 0xf4, 0x95, 0xf2, 0x73, 1626 + 0x07, 0xef, 0xf4, 0x95, 0xf4, 0x95, 0xf2, 0x73, 1627 + 0x07, 0xef, 0xf4, 0x95, 0xf4, 0x95, 0xf2, 0x73, 1628 + 0x07, 0xef, 0xf4, 0x95, 0xf4, 0x95, 0xf2, 0x73, 1629 + 0x07, 0xaa, 0xf4, 0x95, 0xf4, 0x95, 0xf2, 0x73, 1630 + 0x07, 0xef, 0xf4, 0x95, 0xf4, 0x95, 0xf2, 0x73, 1631 + 0x07, 0xef, 0xf4, 0x95, 0xf4, 0x95, 0xf2, 0x73, 1632 + 0x02, 0x23, 0xf4, 0x95, 0xf4, 0x95, 0xf2, 0x73, 1633 + 0x07, 0xef, 0xf4, 0x95, 0xf4, 0x95, 0xf2, 0x73, 1634 + 0x07, 0xef, 0xf4, 0x95, 0xf4, 0x95, 0xf2, 0x73, 1635 + 0x07, 0xef, 0xf4, 0x95, 0xf4, 0x95, 0xf2, 0x73, 1636 + 0x07, 0xef, 0xf4, 0x95, 0xf4, 0x95, 0xf2, 0x73, 1637 + 0x07, 0xef, 0xf4, 0x95, 0xf4, 0x95, 0xf2, 0x73, 1638 + 0x07, 0xef, 0xf4, 0x95, 0xf4, 0x95, 0xf2, 0x73, 1639 + 0x05, 0xe5, 0xf4, 0x95, 0xf4, 0x95, 0xf2, 0x73, 1640 + 0x02, 0xb5, 0xf4, 0x95, 0xf4, 0x95, 0xf2, 0x73, 1641 + 0x0e, 0x33, 0xf4, 0x95, 0xf4, 0x95, 0xf2, 0x73, 1642 + 0x07, 0xef, 0xf4, 0x95, 0xf4, 0x95, 0x00, 0x00, 1643 1643 }; 1644 1644
+2 -2
drivers/media/dvb/ttusb-dec/ttusb_dec.c
··· 1203 1203 input_dev->keycode = rc_keys; 1204 1204 1205 1205 for (i = 0; i < ARRAY_SIZE(rc_keys); i++) 1206 - set_bit(rc_keys[i], input_dev->keybit); 1206 + set_bit(rc_keys[i], input_dev->keybit); 1207 1207 1208 1208 input_register_device(input_dev); 1209 1209 ··· 1529 1529 usb_free_urb(dec->irq_urb); 1530 1530 1531 1531 usb_buffer_free(dec->udev,IRQ_PACKET_SIZE, 1532 - dec->irq_buffer, dec->irq_dma_handle); 1532 + dec->irq_buffer, dec->irq_dma_handle); 1533 1533 1534 1534 if (dec->rc_input_dev) { 1535 1535 input_unregister_device(dec->rc_input_dev);
+7 -7
drivers/media/video/Kconfig
··· 188 188 189 189 To compile this driver as a module, choose M here: the 190 190 module will be called zr36067. 191 - 191 + 192 192 config VIDEO_ZORAN_BUZ 193 193 tristate "Iomega Buz support" 194 194 depends on VIDEO_ZORAN ··· 204 204 205 205 config VIDEO_ZORAN_DC30 206 206 tristate "Pinnacle/Miro DC30(+) support" 207 - depends on VIDEO_ZORAN 208 - help 207 + depends on VIDEO_ZORAN 208 + help 209 209 Support for the Pinnacle/Miro DC30(+) MJPEG capture/playback 210 210 card. This also supports really old DC10 cards based on the 211 211 zr36050 MJPEG codec and zr36016 VFE. ··· 260 260 ---help--- 261 261 This is a video4linux driver for the 'Multimedia eXtension Board' 262 262 TV card by Siemens-Nixdorf. 263 - 263 + 264 264 To compile this driver as a module, choose M here: the 265 265 module will be called mxb. 266 266 ··· 274 274 for SAA7146 bases boards, so if you have some unsupported 275 275 saa7146 based, analog video card, chances are good that it 276 276 will work with this skeleton driver. 277 - 277 + 278 278 To compile this driver as a module, choose M here: the 279 279 module will be called dpc7146. 280 280 ··· 285 285 ---help--- 286 286 This is a video4linux driver for the Hexium HV-PCI6 and 287 287 Orion frame grabber cards by Hexium. 288 - 288 + 289 289 To compile this driver as a module, choose M here: the 290 290 module will be called hexium_orion. 291 291 ··· 297 297 This is a video4linux driver for the Hexium Gemini frame 298 298 grabber card by Hexium. Please note that the Gemini Dual 299 299 card is *not* fully supported. 300 - 300 + 301 301 To compile this driver as a module, choose M here: the 302 302 module will be called hexium_gemini. 303 303
+7 -7
drivers/media/video/bt832.c
··· 231 231 232 232 static struct i2c_driver driver = { 233 233 .owner = THIS_MODULE, 234 - .name = "i2c bt832 driver", 235 - .id = -1, /* FIXME */ 236 - .flags = I2C_DF_NOTIFY, 237 - .attach_adapter = bt832_probe, 238 - .detach_client = bt832_detach, 239 - .command = bt832_command, 234 + .name = "i2c bt832 driver", 235 + .id = -1, /* FIXME */ 236 + .flags = I2C_DF_NOTIFY, 237 + .attach_adapter = bt832_probe, 238 + .detach_client = bt832_detach, 239 + .command = bt832_command, 240 240 }; 241 241 static struct i2c_client client_template = 242 242 { 243 243 .name = "bt832", 244 244 .flags = I2C_CLIENT_ALLOW_USE, 245 - .driver = &driver, 245 + .driver = &driver, 246 246 }; 247 247 248 248
+41 -41
drivers/media/video/bttv-driver.c
··· 727 727 728 728 static void set_pll_freq(struct bttv *btv, unsigned int fin, unsigned int fout) 729 729 { 730 - unsigned char fl, fh, fi; 730 + unsigned char fl, fh, fi; 731 731 732 - /* prevent overflows */ 733 - fin/=4; 734 - fout/=4; 732 + /* prevent overflows */ 733 + fin/=4; 734 + fout/=4; 735 735 736 - fout*=12; 737 - fi=fout/fin; 736 + fout*=12; 737 + fi=fout/fin; 738 738 739 - fout=(fout%fin)*256; 740 - fh=fout/fin; 739 + fout=(fout%fin)*256; 740 + fh=fout/fin; 741 741 742 - fout=(fout%fin)*256; 743 - fl=fout/fin; 742 + fout=(fout%fin)*256; 743 + fl=fout/fin; 744 744 745 - btwrite(fl, BT848_PLL_F_LO); 746 - btwrite(fh, BT848_PLL_F_HI); 747 - btwrite(fi|BT848_PLL_X, BT848_PLL_XCI); 745 + btwrite(fl, BT848_PLL_F_LO); 746 + btwrite(fh, BT848_PLL_F_HI); 747 + btwrite(fi|BT848_PLL_X, BT848_PLL_XCI); 748 748 } 749 749 750 750 static void set_pll(struct bttv *btv) 751 751 { 752 - int i; 752 + int i; 753 753 754 - if (!btv->pll.pll_crystal) 755 - return; 754 + if (!btv->pll.pll_crystal) 755 + return; 756 756 757 757 if (btv->pll.pll_ofreq == btv->pll.pll_current) { 758 758 dprintk("bttv%d: PLL: no change required\n",btv->c.nr); 759 - return; 760 - } 759 + return; 760 + } 761 761 762 - if (btv->pll.pll_ifreq == btv->pll.pll_ofreq) { 763 - /* no PLL needed */ 764 - if (btv->pll.pll_current == 0) 765 - return; 762 + if (btv->pll.pll_ifreq == btv->pll.pll_ofreq) { 763 + /* no PLL needed */ 764 + if (btv->pll.pll_current == 0) 765 + return; 766 766 bttv_printk(KERN_INFO "bttv%d: PLL can sleep, using XTAL (%d).\n", 767 - btv->c.nr,btv->pll.pll_ifreq); 768 - btwrite(0x00,BT848_TGCTRL); 769 - btwrite(0x00,BT848_PLL_XCI); 770 - btv->pll.pll_current = 0; 771 - return; 772 - } 767 + btv->c.nr,btv->pll.pll_ifreq); 768 + btwrite(0x00,BT848_TGCTRL); 769 + btwrite(0x00,BT848_PLL_XCI); 770 + btv->pll.pll_current = 0; 771 + return; 772 + } 773 773 774 774 bttv_printk(KERN_INFO "bttv%d: PLL: %d => %d ",btv->c.nr, 775 - btv->pll.pll_ifreq, btv->pll.pll_ofreq); 775 + btv->pll.pll_ifreq, btv->pll.pll_ofreq); 776 776 set_pll_freq(btv, btv->pll.pll_ifreq, btv->pll.pll_ofreq); 777 777 778 - for (i=0; i<10; i++) { 778 + for (i=0; i<10; i++) { 779 779 /* Let other people run while the PLL stabilizes */ 780 780 bttv_printk("."); 781 781 msleep(10); 782 782 783 - if (btread(BT848_DSTATUS) & BT848_DSTATUS_PLOCK) { 783 + if (btread(BT848_DSTATUS) & BT848_DSTATUS_PLOCK) { 784 784 btwrite(0,BT848_DSTATUS); 785 - } else { 786 - btwrite(0x08,BT848_TGCTRL); 787 - btv->pll.pll_current = btv->pll.pll_ofreq; 785 + } else { 786 + btwrite(0x08,BT848_TGCTRL); 787 + btv->pll.pll_current = btv->pll.pll_ofreq; 788 788 bttv_printk(" ok\n"); 789 - return; 790 - } 791 - } 792 - btv->pll.pll_current = -1; 789 + return; 790 + } 791 + } 792 + btv->pll.pll_current = -1; 793 793 bttv_printk("failed\n"); 794 - return; 794 + return; 795 795 } 796 796 797 797 /* used to switch between the bt848's analog/digital video capture modes */ ··· 1964 1964 } 1965 1965 1966 1966 down(&fh->cap.lock); 1967 - kfree(fh->ov.clips); 1967 + kfree(fh->ov.clips); 1968 1968 fh->ov.clips = clips; 1969 1969 fh->ov.nclips = n; 1970 1970 ··· 2758 2758 fh->ov.w.height = fb->fmt.height; 2759 2759 btv->init.ov.w.width = fb->fmt.width; 2760 2760 btv->init.ov.w.height = fb->fmt.height; 2761 - kfree(fh->ov.clips); 2761 + kfree(fh->ov.clips); 2762 2762 fh->ov.clips = NULL; 2763 2763 fh->ov.nclips = 0; 2764 2764
+1
drivers/media/video/bttvp.h
··· 45 45 #include <media/tveeprom.h> 46 46 #include <media/ir-common.h> 47 47 48 + 48 49 #include "bt848.h" 49 50 #include "bttv.h" 50 51 #include "btcx-risc.h"
+2
drivers/media/video/cx88/cx88-blackbird.c
··· 616 616 617 617 retval = request_firmware(&firmware, BLACKBIRD_FIRM_ENC_FILENAME, 618 618 &dev->pci->dev); 619 + 620 + 619 621 if (retval != 0) { 620 622 dprintk(0, "ERROR: Hotplug firmware request failed (%s).\n", 621 623 BLACKBIRD_FIRM_ENC_FILENAME);
-2
drivers/media/video/cx88/cx88-input.c
··· 453 453 input_dev->id.product = pci->device; 454 454 } 455 455 input_dev->cdev.dev = &pci->dev; 456 - 457 456 /* record handles to ourself */ 458 457 ir->core = core; 459 458 core->ir = ir; ··· 585 586 MODULE_AUTHOR("Gerd Knorr, Pavel Machek, Chris Pascoe"); 586 587 MODULE_DESCRIPTION("input driver for cx88 GPIO-based IR remote controls"); 587 588 MODULE_LICENSE("GPL"); 588 - 589 589 /* 590 590 * Local variables: 591 591 * c-basic-offset: 8
-1
drivers/media/video/cx88/cx88.h
··· 411 411 struct videobuf_dvb dvb; 412 412 void* fe_handle; 413 413 int (*fe_release)(void *handle); 414 - 415 414 /* for switching modulation types */ 416 415 unsigned char ts_gen_cntrl; 417 416
+7 -47
drivers/media/video/em28xx/em28xx-core.c
··· 39 39 #define em28xx_coredbg(fmt, arg...) do {\ 40 40 if (core_debug) \ 41 41 printk(KERN_INFO "%s %s :"fmt, \ 42 - dev->name, __FUNCTION__ , ##arg); } while (0) 42 + dev->name, __FUNCTION__, ##arg); } while (0) 43 43 44 44 static unsigned int reg_debug; 45 45 module_param(reg_debug,int,0644); ··· 48 48 #define em28xx_regdbg(fmt, arg...) do {\ 49 49 if (reg_debug) \ 50 50 printk(KERN_INFO "%s %s :"fmt, \ 51 - dev->name, __FUNCTION__ , ##arg); } while (0) 51 + dev->name, __FUNCTION__, ##arg); } while (0) 52 52 53 53 static unsigned int isoc_debug; 54 54 module_param(isoc_debug,int,0644); ··· 57 57 #define em28xx_isocdbg(fmt, arg...) do {\ 58 58 if (isoc_debug) \ 59 59 printk(KERN_INFO "%s %s :"fmt, \ 60 - dev->name, __FUNCTION__ , ##arg); } while (0) 60 + dev->name, __FUNCTION__, ##arg); } while (0) 61 61 62 62 static int alt = EM28XX_PINOUT; 63 63 module_param(alt, int, 0644); ··· 116 116 } 117 117 } 118 118 119 - static void *rvmalloc(size_t size) 120 - { 121 - void *mem; 122 - unsigned long adr; 123 - 124 - size = PAGE_ALIGN(size); 125 - 126 - mem = vmalloc_32((unsigned long)size); 127 - if (!mem) 128 - return NULL; 129 - 130 - memset(mem, 0, size); 131 - 132 - adr = (unsigned long)mem; 133 - while (size > 0) { 134 - SetPageReserved(vmalloc_to_page((void *)adr)); 135 - adr += PAGE_SIZE; 136 - size -= PAGE_SIZE; 137 - } 138 - 139 - return mem; 140 - } 141 - 142 - static void rvfree(void *mem, size_t size) 143 - { 144 - unsigned long adr; 145 - 146 - if (!mem) 147 - return; 148 - 149 - size = PAGE_ALIGN(size); 150 - 151 - adr = (unsigned long)mem; 152 - while (size > 0) { 153 - ClearPageReserved(vmalloc_to_page((void *)adr)); 154 - adr += PAGE_SIZE; 155 - size -= PAGE_SIZE; 156 - } 157 - 158 - vfree(mem); 159 - } 160 119 161 120 /* 162 121 * em28xx_request_buffers() ··· 132 173 133 174 dev->num_frames = count; 134 175 while (dev->num_frames > 0) { 135 - if ((buff = rvmalloc(dev->num_frames * imagesize))) 176 + if ((buff = vmalloc_32(dev->num_frames * imagesize))) { 177 + memset(buff, 0, dev->num_frames * imagesize); 136 178 break; 179 + } 137 180 dev->num_frames--; 138 181 } 139 182 ··· 178 217 void em28xx_release_buffers(struct em28xx *dev) 179 218 { 180 219 if (dev->num_frames) { 181 - rvfree(dev->frame[0].bufmem, 182 - dev->num_frames * PAGE_ALIGN(dev->frame[0].buf.length)); 220 + vfree(dev->frame[0].bufmem); 183 221 dev->num_frames = 0; 184 222 } 185 223 }
+2 -2
drivers/media/video/em28xx/em28xx-i2c.c
··· 41 41 MODULE_PARM_DESC(i2c_debug, "enable debug messages [i2c]"); 42 42 43 43 #define dprintk1(lvl,fmt, args...) if (i2c_debug>=lvl) do {\ 44 - printk(fmt , ##args); } while (0) 44 + printk(fmt, ##args); } while (0) 45 45 #define dprintk2(lvl,fmt, args...) if (i2c_debug>=lvl) do{ \ 46 46 printk(KERN_DEBUG "%s at %s: " fmt, \ 47 - dev->name, __FUNCTION__ , ##args); } while (0) 47 + dev->name, __FUNCTION__, ##args); } while (0) 48 48 49 49 /* 50 50 * em2800_i2c_send_max4()
+6 -17
drivers/media/video/em28xx/em28xx-video.c
··· 45 45 #define em28xx_videodbg(fmt, arg...) do {\ 46 46 if (video_debug) \ 47 47 printk(KERN_INFO "%s %s :"fmt, \ 48 - dev->name, __FUNCTION__ , ##arg); } while (0) 48 + dev->name, __FUNCTION__, ##arg); } while (0) 49 49 50 50 MODULE_AUTHOR(DRIVER_AUTHOR); 51 51 MODULE_DESCRIPTION(DRIVER_DESC); ··· 188 188 static DECLARE_RWSEM(em28xx_disconnect); 189 189 190 190 /********************* v4l2 interface ******************************************/ 191 - 192 - static inline unsigned long kvirt_to_pa(unsigned long adr) 193 - { 194 - unsigned long kva, ret; 195 - 196 - kva = (unsigned long)page_address(vmalloc_to_page((void *)adr)); 197 - kva |= adr & (PAGE_SIZE - 1); 198 - ret = __pa(kva); 199 - return ret; 200 - } 201 191 202 192 /* 203 193 * em28xx_config() ··· 606 616 static int em28xx_v4l2_mmap(struct file *filp, struct vm_area_struct *vma) 607 617 { 608 618 unsigned long size = vma->vm_end - vma->vm_start, 609 - start = vma->vm_start, pos, page; 619 + start = vma->vm_start; 620 + void *pos; 610 621 u32 i; 611 622 612 623 struct em28xx *dev = filp->private_data; ··· 648 657 vma->vm_flags |= VM_IO; 649 658 vma->vm_flags |= VM_RESERVED; /* avoid to swap out this VMA */ 650 659 651 - pos = (unsigned long)dev->frame[i].bufmem; 660 + pos = dev->frame[i].bufmem; 652 661 while (size > 0) { /* size is page-aligned */ 653 - page = vmalloc_to_pfn((void *)pos); 654 - if (remap_pfn_range(vma, start, page, PAGE_SIZE, 655 - vma->vm_page_prot)) { 656 - em28xx_videodbg("mmap: rename page map failed\n"); 662 + if (vm_insert_page(vma, start, vmalloc_to_page(pos))) { 663 + em28xx_videodbg("mmap: vm_insert_page failed\n"); 657 664 up(&dev->fileop_lock); 658 665 return -EAGAIN; 659 666 }
+4 -4
drivers/media/video/em28xx/em28xx.h
··· 392 392 /* printk macros */ 393 393 394 394 #define em28xx_err(fmt, arg...) do {\ 395 - printk(KERN_ERR fmt , ##arg); } while (0) 395 + printk(KERN_ERR fmt, ##arg); } while (0) 396 396 397 397 #define em28xx_errdev(fmt, arg...) do {\ 398 398 printk(KERN_ERR "%s: "fmt,\ 399 - dev->name , ##arg); } while (0) 399 + dev->name, ##arg); } while (0) 400 400 401 401 #define em28xx_info(fmt, arg...) do {\ 402 402 printk(KERN_INFO "%s: "fmt,\ 403 - dev->name , ##arg); } while (0) 403 + dev->name, ##arg); } while (0) 404 404 #define em28xx_warn(fmt, arg...) do {\ 405 405 printk(KERN_WARNING "%s: "fmt,\ 406 - dev->name , ##arg); } while (0) 406 + dev->name, ##arg); } while (0) 407 407 408 408 inline static int em28xx_audio_source(struct em28xx *dev, int input) 409 409 {
+4 -4
drivers/media/video/ir-kbd-gpio.c
··· 291 291 u32 mask_keycode; 292 292 u32 mask_keydown; 293 293 u32 mask_keyup; 294 - u32 polling; 294 + u32 polling; 295 295 u32 last_gpio; 296 296 struct work_struct work; 297 297 struct timer_list timer; 298 298 299 299 /* RC5 gpio */ 300 - 301 300 u32 rc5_gpio; 302 301 struct timer_list timer_end; /* timer_end for code completion */ 303 302 struct timer_list timer_keyup; /* timer_end for key release */ ··· 646 647 driver.any_irq = ir_rc5_irq; 647 648 driver.gpio_irq = NULL; 648 649 ir->rc5_gpio = 1; 649 - break; 650 + break; 650 651 } 651 652 if (NULL == ir_codes) { 652 653 kfree(ir); ··· 656 657 657 658 if (ir->rc5_gpio) { 658 659 u32 gpio; 659 - /* enable remote irq */ 660 + /* enable remote irq */ 660 661 bttv_gpio_inout(sub->core, (1 << 4), 1 << 4); 661 662 gpio = bttv_gpio_read(sub->core); 662 663 bttv_gpio_write(sub->core, gpio & ~(1 << 4)); ··· 725 726 del_timer(&ir->timer); 726 727 flush_scheduled_work(); 727 728 } 729 + 728 730 if (ir->rc5_gpio) { 729 731 u32 gpio; 730 732
+6 -5
drivers/media/video/ir-kbd-i2c.c
··· 40 40 #include <linux/i2c.h> 41 41 #include <linux/workqueue.h> 42 42 #include <asm/semaphore.h> 43 + 43 44 #include <media/ir-common.h> 44 45 #include <media/ir-kbd-i2c.h> 45 46 ··· 279 278 280 279 static struct i2c_driver driver = { 281 280 .name = "ir remote kbd driver", 282 - .id = I2C_DRIVERID_I2C_IR, 281 + .id = I2C_DRIVERID_INFRARED, 283 282 .flags = I2C_DF_NOTIFY, 284 283 .attach_adapter = ir_probe, 285 284 .detach_client = ir_detach, ··· 297 296 IR_KEYTAB_TYPE *ir_codes = NULL; 298 297 char *name; 299 298 int ir_type; 300 - struct IR_i2c *ir; 299 + struct IR_i2c *ir; 301 300 struct input_dev *input_dev; 302 301 303 - ir = kzalloc(sizeof(struct IR_i2c), GFP_KERNEL); 302 + ir = kzalloc(sizeof(struct IR_i2c),GFP_KERNEL); 304 303 input_dev = input_allocate_device(); 305 304 if (!ir || !input_dev) { 306 305 kfree(ir); 307 306 input_free_device(input_dev); 308 - return -ENOMEM; 307 + return -ENOMEM; 309 308 } 310 309 311 310 ir->c = client_template; ··· 361 360 /* register i2c device 362 361 * At device register, IR codes may be changed to be 363 362 * board dependent. 364 - */ 363 + */ 365 364 i2c_attach_client(&ir->c); 366 365 367 366 /* If IR not supported or disabled, unregisters driver */
+11 -7
drivers/media/video/msp3400.c
··· 134 134 int rxsubchans; 135 135 136 136 int muted; 137 - int left, right; /* volume */ 137 + int left, right; /* volume */ 138 138 int bass, treble; 139 139 140 140 /* shadow register set */ ··· 882 882 msp->watch_stereo = 0; 883 883 } 884 884 885 + 885 886 static int msp3400c_thread(void *data) 886 887 { 887 888 struct i2c_client *client = data; 888 889 struct msp3400c *msp = i2c_get_clientdata(client); 889 890 struct CARRIER_DETECT *cd; 890 891 int count, max1,max2,val1,val2, val,this; 892 + 891 893 892 894 msp3400_info("msp3400 daemon started\n"); 893 895 for (;;) { ··· 1164 1162 int mode,val,i,std; 1165 1163 1166 1164 msp3400_info("msp3410 daemon started\n"); 1165 + 1167 1166 for (;;) { 1168 1167 msp3400_dbg_mediumvol("msp3410 thread: sleep\n"); 1169 1168 msp34xx_sleep(msp,-1); ··· 1387 1384 int val, std, i; 1388 1385 1389 1386 msp3400_info("msp34xxg daemon started\n"); 1387 + 1390 1388 msp->source = 1; /* default */ 1391 1389 for (;;) { 1392 1390 msp3400_dbg_mediumvol("msp34xxg thread: sleep\n"); ··· 1563 1559 static struct i2c_driver driver = { 1564 1560 .owner = THIS_MODULE, 1565 1561 .name = "msp3400", 1566 - .id = I2C_DRIVERID_MSP3400, 1567 - .flags = I2C_DF_NOTIFY, 1568 - .attach_adapter = msp_probe, 1569 - .detach_client = msp_detach, 1570 - .command = msp_command, 1562 + .id = I2C_DRIVERID_MSP3400, 1563 + .flags = I2C_DF_NOTIFY, 1564 + .attach_adapter = msp_probe, 1565 + .detach_client = msp_detach, 1566 + .command = msp_command, 1571 1567 .driver = { 1572 1568 .suspend = msp_suspend, 1573 1569 .resume = msp_resume, ··· 1578 1574 { 1579 1575 .name = "(unset)", 1580 1576 .flags = I2C_CLIENT_ALLOW_USE, 1581 - .driver = &driver, 1577 + .driver = &driver, 1582 1578 }; 1583 1579 1584 1580 static int msp_attach(struct i2c_adapter *adap, int addr, int kind)
-1
drivers/media/video/saa6588.c
··· 422 422 s->timer.function = saa6588_timer; 423 423 s->timer.data = (unsigned long)s; 424 424 schedule_work(&s->work); 425 - 426 425 return 0; 427 426 } 428 427
+1 -1
drivers/media/video/saa711x.c
··· 59 59 #define dprintk(num, format, args...) \ 60 60 do { \ 61 61 if (debug >= num) \ 62 - printk(format , ##args); \ 62 + printk(format, ##args); \ 63 63 } while (0) 64 64 65 65 /* ----------------------------------------------------------------------- */
+9 -8
drivers/media/video/saa7134/saa6752hs.c
··· 523 523 h->standard = 0; 524 524 525 525 i2c_set_clientdata(&h->client, h); 526 - i2c_attach_client(&h->client); 526 + i2c_attach_client(&h->client); 527 + 527 528 return 0; 528 529 } 529 530 ··· 598 597 599 598 static struct i2c_driver driver = { 600 599 .owner = THIS_MODULE, 601 - .name = "i2c saa6752hs MPEG encoder", 602 - .id = I2C_DRIVERID_SAA6752HS, 603 - .flags = I2C_DF_NOTIFY, 604 - .attach_adapter = saa6752hs_probe, 605 - .detach_client = saa6752hs_detach, 606 - .command = saa6752hs_command, 600 + .name = "i2c saa6752hs MPEG encoder", 601 + .id = I2C_DRIVERID_SAA6752HS, 602 + .flags = I2C_DF_NOTIFY, 603 + .attach_adapter = saa6752hs_probe, 604 + .detach_client = saa6752hs_detach, 605 + .command = saa6752hs_command, 607 606 }; 608 607 609 608 static struct i2c_client client_template = 610 609 { 611 610 .name = "saa6752hs", 612 611 .flags = I2C_CLIENT_ALLOW_USE, 613 - .driver = &driver, 612 + .driver = &driver, 614 613 }; 615 614 616 615 static int __init saa6752hs_init_module(void)
+12 -4
drivers/media/video/saa7134/saa7134-alsa.c
··· 51 51 #define MIXER_ADDR_LINE2 2 52 52 #define MIXER_ADDR_LAST 2 53 53 54 + 54 55 static int index[SNDRV_CARDS] = SNDRV_DEFAULT_IDX; /* Index 0-MAX */ 55 56 static char *id[SNDRV_CARDS] = SNDRV_DEFAULT_STR; /* ID for this card */ 56 57 static int enable[SNDRV_CARDS] = {1, [1 ... (SNDRV_CARDS - 1)] = 0}; ··· 60 59 MODULE_PARM_DESC(index, "Index value for SAA7134 capture interface(s)."); 61 60 62 61 #define dprintk(fmt, arg...) if (debug) \ 63 - printk(KERN_DEBUG "%s/alsa: " fmt, dev->name , ## arg) 62 + printk(KERN_DEBUG "%s/alsa: " fmt, dev->name, ## arg) 63 + 64 + 64 65 65 66 /* 66 67 * Main chip structure 67 68 */ 69 + 68 70 typedef struct snd_card_saa7134 { 69 71 snd_card_t *card; 70 72 spinlock_t mixer_lock; ··· 212 208 213 209 static irqreturn_t saa7134_alsa_irq(int irq, void *dev_id, struct pt_regs *regs) 214 210 { 215 - struct saa7134_dmasound *dmasound = dev_id; 216 - struct saa7134_dev *dev = dmasound->priv_data; 211 + struct saa7134_dmasound *dmasound = dev_id; 212 + struct saa7134_dev *dev = dmasound->priv_data; 217 213 218 214 unsigned long report, status; 219 215 int loop, handled = 0; ··· 989 985 struct saa7134_dev *dev = NULL; 990 986 struct list_head *list; 991 987 992 - printk(KERN_INFO "saa7134 ALSA driver for DMA sound loaded\n"); 988 + printk(KERN_INFO "saa7134 ALSA driver for DMA sound loaded\n"); 993 989 994 990 list_for_each(list,&saa7134_devlist) { 995 991 dev = list_entry(list, struct saa7134_dev, devlist); ··· 1008 1004 printk(KERN_INFO "saa7134 ALSA: no saa7134 cards found\n"); 1009 1005 1010 1006 return 0; 1007 + 1011 1008 } 1012 1009 1013 1010 /* ··· 1032 1027 module_exit(saa7134_alsa_exit); 1033 1028 MODULE_LICENSE("GPL"); 1034 1029 MODULE_AUTHOR("Ricardo Cerqueira"); 1030 + 1031 + 1032 +
+1 -1
drivers/media/video/saa7134/saa7134-cards.c
··· 976 976 .radio_type = UNSET, 977 977 .tuner_addr = ADDR_UNSET, 978 978 .radio_addr = ADDR_UNSET, 979 - .tda9887_conf = TDA9887_PRESENT | TDA9887_INTERCARRIER, 979 + .tda9887_conf = TDA9887_PRESENT | TDA9887_INTERCARRIER | TDA9887_PORT2_ACTIVE, 980 980 .inputs = {{ 981 981 .name = name_tv, 982 982 .vmux = 3,
+1
drivers/media/video/saa7134/saa7134-core.c
··· 71 71 static unsigned int tuner[] = {[0 ... (SAA7134_MAXBOARDS - 1)] = UNSET }; 72 72 static unsigned int card[] = {[0 ... (SAA7134_MAXBOARDS - 1)] = UNSET }; 73 73 74 + 74 75 module_param_array(video_nr, int, NULL, 0444); 75 76 module_param_array(vbi_nr, int, NULL, 0444); 76 77 module_param_array(radio_nr, int, NULL, 0444);
+1
drivers/media/video/saa7134/saa7134-empress.c
··· 36 36 MODULE_LICENSE("GPL"); 37 37 38 38 static unsigned int empress_nr[] = {[0 ... (SAA7134_MAXBOARDS - 1)] = UNSET }; 39 + 39 40 module_param_array(empress_nr, int, NULL, 0444); 40 41 MODULE_PARM_DESC(empress_nr,"ts device number"); 41 42
+1 -1
drivers/media/video/saa7134/saa7134-i2c.c
··· 333 333 struct tuner_setup tun_setup; 334 334 335 335 d1printk( "%s i2c attach [addr=0x%x,client=%s]\n", 336 - client->driver->name, client->addr, client->name); 336 + client->driver->name, client->addr, client->name); 337 337 338 338 /* Am I an i2c remote control? */ 339 339
+44 -43
drivers/media/video/saa7134/saa7134-oss.c
··· 782 782 783 783 static irqreturn_t saa7134_oss_irq(int irq, void *dev_id, struct pt_regs *regs) 784 784 { 785 - struct saa7134_dmasound *dmasound = dev_id; 786 - struct saa7134_dev *dev = dmasound->priv_data; 787 - unsigned long report, status; 788 - int loop, handled = 0; 785 + struct saa7134_dmasound *dmasound = dev_id; 786 + struct saa7134_dev *dev = dmasound->priv_data; 787 + unsigned long report, status; 788 + int loop, handled = 0; 789 789 790 - for (loop = 0; loop < 10; loop++) { 791 - report = saa_readl(SAA7134_IRQ_REPORT); 792 - status = saa_readl(SAA7134_IRQ_STATUS); 790 + for (loop = 0; loop < 10; loop++) { 791 + report = saa_readl(SAA7134_IRQ_REPORT); 792 + status = saa_readl(SAA7134_IRQ_STATUS); 793 793 794 - if (report & SAA7134_IRQ_REPORT_DONE_RA3) { 795 - handled = 1; 796 - saa_writel(SAA7134_IRQ_REPORT,report); 797 - saa7134_irq_oss_done(dev, status); 798 - } else { 799 - goto out; 800 - } 801 - } 794 + if (report & SAA7134_IRQ_REPORT_DONE_RA3) { 795 + handled = 1; 796 + saa_writel(SAA7134_IRQ_REPORT,report); 797 + saa7134_irq_oss_done(dev, status); 798 + } else { 799 + goto out; 800 + } 801 + } 802 802 803 - if (loop == 10) { 804 - dprintk("error! looping IRQ!"); 805 - } 803 + if (loop == 10) { 804 + dprintk("error! looping IRQ!"); 805 + } 806 806 out: 807 - return IRQ_RETVAL(handled); 807 + return IRQ_RETVAL(handled); 808 808 } 809 809 810 810 int saa7134_oss_init1(struct saa7134_dev *dev) 811 811 { 812 812 813 - if ((request_irq(dev->pci->irq, saa7134_oss_irq, 814 - SA_SHIRQ | SA_INTERRUPT, dev->name, 813 + if ((request_irq(dev->pci->irq, saa7134_oss_irq, 814 + SA_SHIRQ | SA_INTERRUPT, dev->name, 815 815 (void*) &dev->dmasound)) < 0) 816 816 return -1; 817 817 ··· 905 905 906 906 err = dev->dmasound.minor_dsp = 907 907 register_sound_dsp(&saa7134_dsp_fops, 908 - dsp_nr[dev->nr]); 908 + dsp_nr[dev->nr]); 909 909 if (err < 0) { 910 910 goto fail; 911 911 } 912 912 printk(KERN_INFO "%s: registered device dsp%d\n", 913 - dev->name,dev->dmasound.minor_dsp >> 4); 913 + dev->name,dev->dmasound.minor_dsp >> 4); 914 914 915 915 err = dev->dmasound.minor_mixer = 916 916 register_sound_mixer(&saa7134_mixer_fops, 917 - mixer_nr[dev->nr]); 917 + mixer_nr[dev->nr]); 918 918 if (err < 0) 919 919 goto fail; 920 920 printk(KERN_INFO "%s: registered device mixer%d\n", 921 - dev->name,dev->dmasound.minor_mixer >> 4); 921 + dev->name,dev->dmasound.minor_mixer >> 4); 922 922 923 923 return 0; 924 924 925 925 fail: 926 - unregister_sound_dsp(dev->dmasound.minor_dsp); 926 + unregister_sound_dsp(dev->dmasound.minor_dsp); 927 927 return 0; 928 928 929 929 ··· 956 956 957 957 static int saa7134_oss_init(void) 958 958 { 959 - struct saa7134_dev *dev = NULL; 960 - struct list_head *list; 959 + struct saa7134_dev *dev = NULL; 960 + struct list_head *list; 961 961 962 - printk(KERN_INFO "saa7134 OSS driver for DMA sound loaded\n"); 962 + printk(KERN_INFO "saa7134 OSS driver for DMA sound loaded\n"); 963 963 964 - list_for_each(list,&saa7134_devlist) { 965 - dev = list_entry(list, struct saa7134_dev, devlist); 964 + list_for_each(list,&saa7134_devlist) { 965 + dev = list_entry(list, struct saa7134_dev, devlist); 966 966 if (dev->dmasound.priv_data == NULL) { 967 967 oss_device_init(dev); 968 968 } else { 969 - printk(KERN_ERR "saa7134 OSS: DMA sound is being handled by ALSA, ignoring %s\n",dev->name); 969 + printk(KERN_ERR "saa7134 OSS: DMA sound is being handled by ALSA, ignoring %s\n",dev->name); 970 970 return -EBUSY; 971 971 } 972 - } 972 + } 973 973 974 - if (dev == NULL) 975 - printk(KERN_INFO "saa7134 OSS: no saa7134 cards found\n"); 974 + if (dev == NULL) 975 + printk(KERN_INFO "saa7134 OSS: no saa7134 cards found\n"); 976 976 977 977 dmasound_init = oss_device_init; 978 978 dmasound_exit = oss_device_exit; 979 979 980 - return 0; 980 + return 0; 981 981 982 982 } 983 983 984 984 static void saa7134_oss_exit(void) 985 985 { 986 - struct saa7134_dev *dev = NULL; 987 - struct list_head *list; 986 + struct saa7134_dev *dev = NULL; 987 + struct list_head *list; 988 988 989 - list_for_each(list,&saa7134_devlist) { 990 - dev = list_entry(list, struct saa7134_dev, devlist); 989 + list_for_each(list,&saa7134_devlist) { 990 + dev = list_entry(list, struct saa7134_dev, devlist); 991 991 992 992 /* Device isn't registered by OSS, probably ALSA's */ 993 993 if (!dev->dmasound.minor_dsp) 994 994 continue; 995 995 996 996 oss_device_exit(dev); 997 - } 998 997 999 - printk(KERN_INFO "saa7134 OSS driver for DMA sound unloaded\n"); 998 + } 1000 999 1001 - return; 1000 + printk(KERN_INFO "saa7134 OSS driver for DMA sound unloaded\n"); 1001 + 1002 + return; 1002 1003 } 1003 1004 1004 1005 module_init(saa7134_oss_init);
+8 -7
drivers/media/video/tda9887.c
··· 12 12 #include <media/audiochip.h> 13 13 #include <media/tuner.h> 14 14 15 + 15 16 /* Chips: 16 17 TDA9885 (PAL, NTSC) 17 18 TDA9886 (PAL, SECAM, NTSC) ··· 820 819 821 820 static struct i2c_driver driver = { 822 821 .owner = THIS_MODULE, 823 - .name = "i2c tda9887 driver", 824 - .id = -1, /* FIXME */ 825 - .flags = I2C_DF_NOTIFY, 826 - .attach_adapter = tda9887_probe, 827 - .detach_client = tda9887_detach, 828 - .command = tda9887_command, 822 + .name = "i2c tda9887 driver", 823 + .id = -1, /* FIXME */ 824 + .flags = I2C_DF_NOTIFY, 825 + .attach_adapter = tda9887_probe, 826 + .detach_client = tda9887_detach, 827 + .command = tda9887_command, 829 828 .driver = { 830 829 .suspend = tda9887_suspend, 831 830 .resume = tda9887_resume, ··· 835 834 { 836 835 .name = "tda9887", 837 836 .flags = I2C_CLIENT_ALLOW_USE, 838 - .driver = &driver, 837 + .driver = &driver, 839 838 }; 840 839 841 840 static int __init tda9887_init_module(void)
+15 -15
drivers/media/video/tvaudio.c
··· 188 188 buffer[1] = val; 189 189 if (2 != i2c_master_send(&chip->c,buffer,2)) { 190 190 tvaudio_warn("%s: I/O error (write reg%d=0x%x)\n", 191 - chip->c.name, subaddr, val); 191 + chip->c.name, subaddr, val); 192 192 return -1; 193 193 } 194 194 } ··· 216 216 chip->c.name); 217 217 return -1; 218 218 } 219 - tvaudio_dbg("%s: chip_read: 0x%x\n",chip->c.name,buffer); 219 + tvaudio_dbg("%s: chip_read: 0x%x\n",chip->c.name, buffer); 220 220 return buffer; 221 221 } 222 222 ··· 235 235 return -1; 236 236 } 237 237 tvaudio_dbg("%s: chip_read2: reg%d=0x%x\n", 238 - chip->c.name,subaddr,read[0]); 238 + chip->c.name, subaddr,read[0]); 239 239 return read[0]; 240 240 } 241 241 ··· 248 248 249 249 /* update our shadow register set; print bytes if (debug > 0) */ 250 250 tvaudio_dbg("%s: chip_cmd(%s): reg=%d, data:", 251 - chip->c.name,name,cmd->bytes[0]); 251 + chip->c.name, name,cmd->bytes[0]); 252 252 for (i = 1; i < cmd->count; i++) { 253 253 if (debug) 254 254 printk(" 0x%x",cmd->bytes[i]); ··· 322 322 int mode = desc->getmode(chip); 323 323 324 324 if (mode == chip->prevmode) 325 - return; 325 + return; 326 326 327 327 tvaudio_dbg("%s: thread checkmode\n", chip->c.name); 328 328 chip->prevmode = mode; ··· 1506 1506 return -EIO; 1507 1507 } 1508 1508 tvaudio_info("%s found @ 0x%x (%s)\n", desc->name, addr<<1, adap->name); 1509 - if (desc->flags) { 1510 - tvaudio_dbg("matches:%s%s%s.\n", 1511 - (desc->flags & CHIP_HAS_VOLUME) ? " volume" : "", 1512 - (desc->flags & CHIP_HAS_BASSTREBLE) ? " bass/treble" : "", 1513 - (desc->flags & CHIP_HAS_INPUTSEL) ? " audiomux" : ""); 1514 - } 1509 + if (desc->flags) { 1510 + tvaudio_dbg("matches:%s%s%s.\n", 1511 + (desc->flags & CHIP_HAS_VOLUME) ? " volume" : "", 1512 + (desc->flags & CHIP_HAS_BASSTREBLE) ? " bass/treble" : "", 1513 + (desc->flags & CHIP_HAS_INPUTSEL) ? " audiomux" : ""); 1514 + } 1515 1515 1516 1516 /* fill required data structures */ 1517 - strcpy(chip->c.name,desc->name); 1517 + strcpy(chip->c.name, desc->name); 1518 1518 chip->type = desc-chiplist; 1519 1519 chip->shadow.count = desc->registers+1; 1520 - chip->prevmode = -1; 1520 + chip->prevmode = -1; 1521 1521 /* register */ 1522 1522 i2c_attach_client(&chip->c); 1523 1523 ··· 1604 1604 struct CHIPSTATE *chip = i2c_get_clientdata(client); 1605 1605 struct CHIPDESC *desc = chiplist + chip->type; 1606 1606 1607 - tvaudio_dbg("%s: chip_command 0x%x\n",chip->c.name,cmd); 1607 + tvaudio_dbg("%s: chip_command 0x%x\n", chip->c.name, cmd); 1608 1608 1609 1609 switch (cmd) { 1610 1610 case AUDC_SET_INPUT: ··· 1624 1624 1625 1625 /* --- v4l ioctls --- */ 1626 1626 /* take care: bttv does userspace copying, we'll get a 1627 - kernel pointer here... */ 1627 + kernel pointer here... */ 1628 1628 case VIDIOCGAUDIO: 1629 1629 { 1630 1630 struct video_audio *va = arg;
+2 -1
drivers/media/video/tveeprom.c
··· 753 753 client->driver = &i2c_driver_tveeprom; 754 754 client->flags = I2C_CLIENT_ALLOW_USE; 755 755 snprintf(client->name, sizeof(client->name), "tveeprom"); 756 - i2c_attach_client(client); 756 + i2c_attach_client(client); 757 + 757 758 return 0; 758 759 } 759 760
+1 -2
drivers/media/video/tvp5150.c
··· 31 31 #define dprintk(num, format, args...) \ 32 32 do { \ 33 33 if (debug >= num) \ 34 - printk(format , ##args); \ 34 + printk(format, ##args); \ 35 35 } while (0) 36 36 37 37 /* supported controls */ ··· 770 770 771 771 if (debug > 1) 772 772 dump_reg(client); 773 - 774 773 return 0; 775 774 } 776 775
+2
drivers/media/video/video-buf-dvb.c
··· 13 13 * (at your option) any later version. 14 14 */ 15 15 16 + 16 17 #include <linux/module.h> 17 18 #include <linux/init.h> 18 19 #include <linux/device.h> ··· 248 247 * compile-command: "make DVB=1" 249 248 * End: 250 249 */ 250 +
+11 -8
drivers/mfd/ucb1x00-ts.c
··· 59 59 60 60 static inline void ucb1x00_ts_evt_add(struct ucb1x00_ts *ts, u16 pressure, u16 x, u16 y) 61 61 { 62 - input_report_abs(ts->idev, ABS_X, x); 63 - input_report_abs(ts->idev, ABS_Y, y); 64 - input_report_abs(ts->idev, ABS_PRESSURE, pressure); 65 - input_sync(ts->idev); 62 + struct input_dev *idev = ts->idev; 63 + input_report_abs(idev, ABS_X, x); 64 + input_report_abs(idev, ABS_Y, y); 65 + input_report_abs(idev, ABS_PRESSURE, pressure); 66 + input_sync(idev); 66 67 } 67 68 68 69 static inline void ucb1x00_ts_event_release(struct ucb1x00_ts *ts) 69 70 { 70 - input_report_abs(ts->idev, ABS_PRESSURE, 0); 71 - input_sync(ts->idev); 71 + struct input_dev *idev = ts->idev; 72 + input_report_abs(idev, ABS_PRESSURE, 0); 73 + input_sync(idev); 72 74 } 73 75 74 76 /* ··· 299 297 300 298 static int ucb1x00_ts_open(struct input_dev *idev) 301 299 { 302 - struct ucb1x00_ts *ts = (struct ucb1x00_ts *)idev; 300 + struct ucb1x00_ts *ts = idev->private; 303 301 int ret = 0; 304 302 305 303 BUG_ON(ts->rtask); ··· 336 334 */ 337 335 static void ucb1x00_ts_close(struct input_dev *idev) 338 336 { 339 - struct ucb1x00_ts *ts = (struct ucb1x00_ts *)idev; 337 + struct ucb1x00_ts *ts = idev->private; 340 338 341 339 if (ts->rtask) 342 340 kthread_stop(ts->rtask); ··· 388 386 ts->ucb = dev->ucb; 389 387 ts->adcsync = adcsync ? UCB_SYNC : UCB_NOSYNC; 390 388 389 + ts->idev->private = ts; 391 390 ts->idev->name = "Touchscreen panel"; 392 391 ts->idev->id.product = ts->ucb->id; 393 392 ts->idev->open = ucb1x00_ts_open;
+3 -2
drivers/mmc/mmc.c
··· 932 932 933 933 sg_init_one(&sg, (u8*)card->raw_scr, 8); 934 934 935 - err = mmc_wait_for_req(host, &mrq); 936 - if (err != MMC_ERR_NONE) { 935 + mmc_wait_for_req(host, &mrq); 936 + 937 + if (cmd.error != MMC_ERR_NONE || data.error != MMC_ERR_NONE) { 937 938 mmc_card_set_dead(card); 938 939 continue; 939 940 }
+4 -4
drivers/mtd/devices/blkmtd.c
··· 113 113 ClearPageUptodate(page); 114 114 SetPageError(page); 115 115 } 116 - ClearPageDirty(page); 116 + clear_page_dirty(page); 117 117 unlock_page(page); 118 118 page_cache_release(page); 119 119 } while (bvec >= bio->bi_io_vec); ··· 289 289 BUG(); 290 290 } 291 291 memcpy(page_address(page)+offset, buf, start_len); 292 - SetPageDirty(page); 292 + set_page_dirty(page); 293 293 SetPageUptodate(page); 294 294 buf += start_len; 295 295 thislen = start_len; ··· 336 336 } 337 337 pagenr++; 338 338 pagecnt--; 339 - SetPageDirty(page); 339 + set_page_dirty(page); 340 340 SetPageUptodate(page); 341 341 pagesc--; 342 342 thislen += PAGE_SIZE; ··· 357 357 BUG(); 358 358 } 359 359 memcpy(page_address(page), buf, end_len); 360 - SetPageDirty(page); 360 + set_page_dirty(page); 361 361 SetPageUptodate(page); 362 362 DEBUG(3, "blkmtd: write: writing out partial end\n"); 363 363 thislen += end_len;
-5
drivers/net/pcnet32.c
··· 1251 1251 1252 1252 if (memcmp(promaddr, dev->dev_addr, 6) 1253 1253 || !is_valid_ether_addr(dev->dev_addr)) { 1254 - #ifndef __powerpc__ 1255 1254 if (is_valid_ether_addr(promaddr)) { 1256 - #else 1257 - if (!is_valid_ether_addr(dev->dev_addr) 1258 - && is_valid_ether_addr(promaddr)) { 1259 - #endif 1260 1255 if (pcnet32_debug & NETIF_MSG_PROBE) { 1261 1256 printk(" warning: CSR address invalid,\n"); 1262 1257 printk(KERN_INFO " using instead PROM address of");
+2 -2
drivers/net/sk98lin/skge.c
··· 818 818 /* set the pointers right */ 819 819 pDescr->VNextRxd = VNextDescr & 0xffffffffULL; 820 820 pDescr->pNextRxd = pNextDescr; 821 - pDescr->TcpSumStarts = 0; 821 + if (!IsTx) pDescr->TcpSumStarts = ETH_HLEN << 16 | ETH_HLEN; 822 822 823 823 /* advance one step */ 824 824 pPrevDescr = pDescr; ··· 2169 2169 } /* frame > SK_COPY_TRESHOLD */ 2170 2170 2171 2171 #ifdef USE_SK_RX_CHECKSUM 2172 - pMsg->csum = pRxd->TcpSums; 2172 + pMsg->csum = pRxd->TcpSums & 0xffff; 2173 2173 pMsg->ip_summed = CHECKSUM_HW; 2174 2174 #else 2175 2175 pMsg->ip_summed = CHECKSUM_NONE;
+6 -4
drivers/net/skge.c
··· 2280 2280 } 2281 2281 2282 2282 if (unlikely(skge->tx_avail < skb_shinfo(skb)->nr_frags +1)) { 2283 - netif_stop_queue(dev); 2284 - spin_unlock_irqrestore(&skge->tx_lock, flags); 2283 + if (!netif_queue_stopped(dev)) { 2284 + netif_stop_queue(dev); 2285 2285 2286 - printk(KERN_WARNING PFX "%s: ring full when queue awake!\n", 2287 - dev->name); 2286 + printk(KERN_WARNING PFX "%s: ring full when queue awake!\n", 2287 + dev->name); 2288 + } 2289 + spin_unlock_irqrestore(&skge->tx_lock, flags); 2288 2290 return NETDEV_TX_BUSY; 2289 2291 } 2290 2292
+64 -13
drivers/net/tg3.c
··· 68 68 69 69 #define DRV_MODULE_NAME "tg3" 70 70 #define PFX DRV_MODULE_NAME ": " 71 - #define DRV_MODULE_VERSION "3.43" 72 - #define DRV_MODULE_RELDATE "Oct 24, 2005" 71 + #define DRV_MODULE_VERSION "3.45" 72 + #define DRV_MODULE_RELDATE "Dec 13, 2005" 73 73 74 74 #define TG3_DEF_MAC_MODE 0 75 75 #define TG3_DEF_RX_MODE 0 ··· 1025 1025 1026 1026 1027 1027 if ((tp->tg3_flags & TG3_FLAG_WOL_ENABLE) != 0 || 1028 - (tp_peer->tg3_flags & TG3_FLAG_WOL_ENABLE) != 0) { 1028 + (tp->tg3_flags & TG3_FLAG_ENABLE_ASF) != 0 || 1029 + (tp_peer->tg3_flags & TG3_FLAG_WOL_ENABLE) != 0 || 1030 + (tp_peer->tg3_flags & TG3_FLAG_ENABLE_ASF) != 0) { 1029 1031 if (GET_ASIC_REV(tp->pci_chip_rev_id) == ASIC_REV_5700 || 1030 1032 GET_ASIC_REV(tp->pci_chip_rev_id) == ASIC_REV_5701) { 1031 1033 tw32_f(GRC_LOCAL_CTRL, tp->grc_local_ctrl | ··· 1107 1105 1108 1106 static void tg3_write_sig_post_reset(struct tg3 *, int); 1109 1107 static int tg3_halt_cpu(struct tg3 *, u32); 1108 + static int tg3_nvram_lock(struct tg3 *); 1109 + static void tg3_nvram_unlock(struct tg3 *); 1110 1110 1111 1111 static int tg3_set_power_state(struct tg3 *tp, int state) 1112 1112 { ··· 1182 1178 tp->link_config.autoneg = AUTONEG_ENABLE; 1183 1179 tg3_setup_phy(tp, 0); 1184 1180 } 1181 + 1182 + if (!(tp->tg3_flags & TG3_FLAG_ENABLE_ASF)) { 1183 + int i; 1184 + u32 val; 1185 + 1186 + for (i = 0; i < 200; i++) { 1187 + tg3_read_mem(tp, NIC_SRAM_FW_ASF_STATUS_MBOX, &val); 1188 + if (val == ~NIC_SRAM_FIRMWARE_MBOX_MAGIC1) 1189 + break; 1190 + msleep(1); 1191 + } 1192 + } 1193 + tg3_write_mem(tp, NIC_SRAM_WOL_MBOX, WOL_SIGNATURE | 1194 + WOL_DRV_STATE_SHUTDOWN | 1195 + WOL_DRV_WOL | WOL_SET_MAGIC_PKT); 1185 1196 1186 1197 pci_read_config_word(tp->pdev, pm + PCI_PM_PMC, &power_caps); 1187 1198 ··· 1287 1268 } 1288 1269 } 1289 1270 1271 + if (!(tp->tg3_flags & TG3_FLAG_WOL_ENABLE) && 1272 + !(tp->tg3_flags & TG3_FLAG_ENABLE_ASF)) { 1273 + /* Turn off the PHY */ 1274 + if (!(tp->tg3_flags2 & TG3_FLG2_PHY_SERDES)) { 1275 + tg3_writephy(tp, MII_TG3_EXT_CTRL, 1276 + MII_TG3_EXT_CTRL_FORCE_LED_OFF); 1277 + tg3_writephy(tp, MII_TG3_AUX_CTRL, 0x01b2); 1278 + tg3_writephy(tp, MII_BMCR, BMCR_PDOWN); 1279 + } 1280 + } 1281 + 1290 1282 tg3_frob_aux_power(tp); 1291 1283 1292 1284 /* Workaround for unstable PLL clock */ ··· 1307 1277 1308 1278 val &= ~((1 << 16) | (1 << 4) | (1 << 2) | (1 << 1) | 1); 1309 1279 tw32(0x7d00, val); 1310 - if (!(tp->tg3_flags & TG3_FLAG_ENABLE_ASF)) 1280 + if (!(tp->tg3_flags & TG3_FLAG_ENABLE_ASF)) { 1281 + tg3_nvram_lock(tp); 1311 1282 tg3_halt_cpu(tp, RX_CPU_BASE); 1283 + tw32_f(NVRAM_SWARB, SWARB_REQ_CLR0); 1284 + tg3_nvram_unlock(tp); 1285 + } 1312 1286 } 1313 1287 1314 1288 /* Finally, set the new power state. */ ··· 1846 1812 } 1847 1813 } 1848 1814 relink: 1849 - if (current_link_up == 0) { 1815 + if (current_link_up == 0 || tp->link_config.phy_is_low_power) { 1850 1816 u32 tmp; 1851 1817 1852 1818 tg3_phy_copper_begin(tp); ··· 3599 3565 if (!spin_trylock(&tp->tx_lock)) 3600 3566 return NETDEV_TX_LOCKED; 3601 3567 3602 - /* This is a hard error, log it. */ 3603 3568 if (unlikely(TX_BUFFS_AVAIL(tp) <= (skb_shinfo(skb)->nr_frags + 1))) { 3604 - netif_stop_queue(dev); 3569 + if (!netif_queue_stopped(dev)) { 3570 + netif_stop_queue(dev); 3571 + 3572 + /* This is a hard error, log it. */ 3573 + printk(KERN_ERR PFX "%s: BUG! Tx Ring full when " 3574 + "queue awake!\n", dev->name); 3575 + } 3605 3576 spin_unlock(&tp->tx_lock); 3606 - printk(KERN_ERR PFX "%s: BUG! Tx Ring full when queue awake!\n", 3607 - dev->name); 3608 3577 return NETDEV_TX_BUSY; 3609 3578 } 3610 3579 ··· 8567 8530 GET_ASIC_REV(tp->pci_chip_rev_id) != ASIC_REV_5701) { 8568 8531 tp->tg3_flags |= TG3_FLAG_NVRAM; 8569 8532 8533 + tg3_nvram_lock(tp); 8570 8534 tg3_enable_nvram_access(tp); 8571 8535 8572 8536 if (GET_ASIC_REV(tp->pci_chip_rev_id) == ASIC_REV_5752) ··· 8578 8540 tg3_get_nvram_size(tp); 8579 8541 8580 8542 tg3_disable_nvram_access(tp); 8543 + tg3_nvram_unlock(tp); 8581 8544 8582 8545 } else { 8583 8546 tp->tg3_flags &= ~(TG3_FLAG_NVRAM | TG3_FLAG_NVRAM_BUFFERED); ··· 8676 8637 if (ret == 0) 8677 8638 *val = swab32(tr32(NVRAM_RDDATA)); 8678 8639 8679 - tg3_nvram_unlock(tp); 8680 - 8681 8640 tg3_disable_nvram_access(tp); 8641 + 8642 + tg3_nvram_unlock(tp); 8682 8643 8683 8644 return ret; 8684 8645 } ··· 8764 8725 8765 8726 offset = offset + (pagesize - page_off); 8766 8727 8728 + /* Nvram lock released by tg3_nvram_read() above, 8729 + * so need to get it again. 8730 + */ 8731 + tg3_nvram_lock(tp); 8767 8732 tg3_enable_nvram_access(tp); 8768 8733 8769 8734 /* ··· 10477 10434 break; 10478 10435 pci_dev_put(peer); 10479 10436 } 10480 - if (!peer || peer == tp->pdev) 10481 - BUG(); 10437 + /* 5704 can be configured in single-port mode, set peer to 10438 + * tp->pdev in that case. 10439 + */ 10440 + if (!peer) { 10441 + peer = tp->pdev; 10442 + return peer; 10443 + } 10482 10444 10483 10445 /* 10484 10446 * We don't need to keep the refcount elevated; there's no way ··· 10865 10817 10866 10818 tg3_full_lock(tp, 0); 10867 10819 tg3_halt(tp, RESET_KIND_SHUTDOWN, 1); 10820 + tp->tg3_flags &= ~TG3_FLAG_INIT_COMPLETE; 10868 10821 tg3_full_unlock(tp); 10869 10822 10870 10823 err = tg3_set_power_state(tp, pci_choose_state(pdev, state)); 10871 10824 if (err) { 10872 10825 tg3_full_lock(tp, 0); 10873 10826 10827 + tp->tg3_flags |= TG3_FLAG_INIT_COMPLETE; 10874 10828 tg3_init_hw(tp); 10875 10829 10876 10830 tp->timer.expires = jiffies + tp->timer_offset; ··· 10906 10856 10907 10857 tg3_full_lock(tp, 0); 10908 10858 10859 + tp->tg3_flags |= TG3_FLAG_INIT_COMPLETE; 10909 10860 tg3_init_hw(tp); 10910 10861 10911 10862 tp->timer.expires = jiffies + tp->timer_offset;
+7
drivers/net/tg3.h
··· 1529 1529 #define NIC_SRAM_MAC_ADDR_HIGH_MBOX 0x00000c14 1530 1530 #define NIC_SRAM_MAC_ADDR_LOW_MBOX 0x00000c18 1531 1531 1532 + #define NIC_SRAM_WOL_MBOX 0x00000d30 1533 + #define WOL_SIGNATURE 0x474c0000 1534 + #define WOL_DRV_STATE_SHUTDOWN 0x00000001 1535 + #define WOL_DRV_WOL 0x00000002 1536 + #define WOL_SET_MAGIC_PKT 0x00000004 1537 + 1532 1538 #define NIC_SRAM_DATA_CFG_2 0x00000d38 1533 1539 1534 1540 #define SHASTA_EXT_LED_MODE_MASK 0x00018000 ··· 1571 1565 #define MII_TG3_EXT_CTRL 0x10 /* Extended control register */ 1572 1566 #define MII_TG3_EXT_CTRL_FIFO_ELASTIC 0x0001 1573 1567 #define MII_TG3_EXT_CTRL_LNK3_LED_MODE 0x0002 1568 + #define MII_TG3_EXT_CTRL_FORCE_LED_OFF 0x0008 1574 1569 #define MII_TG3_EXT_CTRL_TBI 0x8000 1575 1570 1576 1571 #define MII_TG3_EXT_STAT 0x11 /* Extended status register */
+2 -2
drivers/scsi/libata-core.c
··· 2443 2443 struct scatterlist *psg = &qc->pad_sgent; 2444 2444 void *addr = kmap_atomic(psg->page, KM_IRQ0); 2445 2445 memcpy(addr + psg->offset, pad_buf, qc->pad_len); 2446 - kunmap_atomic(psg->page, KM_IRQ0); 2446 + kunmap_atomic(addr, KM_IRQ0); 2447 2447 } 2448 2448 } else { 2449 2449 if (sg_dma_len(&sg[0]) > 0) ··· 2717 2717 if (qc->tf.flags & ATA_TFLAG_WRITE) { 2718 2718 void *addr = kmap_atomic(psg->page, KM_IRQ0); 2719 2719 memcpy(pad_buf, addr + psg->offset, qc->pad_len); 2720 - kunmap_atomic(psg->page, KM_IRQ0); 2720 + kunmap_atomic(addr, KM_IRQ0); 2721 2721 } 2722 2722 2723 2723 sg_dma_address(psg) = ap->pad_dma + (qc->tag * ATA_DMA_PAD_SZ);
+5 -2
drivers/scsi/libata-scsi.c
··· 2173 2173 if (unlikely(!ata_dev_present(dev))) 2174 2174 return NULL; 2175 2175 2176 - if (!atapi_enabled) { 2177 - if (unlikely(dev->class == ATA_DEV_ATAPI)) 2176 + if (!atapi_enabled || (ap->flags & ATA_FLAG_NO_ATAPI)) { 2177 + if (unlikely(dev->class == ATA_DEV_ATAPI)) { 2178 + printk(KERN_WARNING "ata%u(%u): WARNING: ATAPI is %s, device ignored.\n", 2179 + ap->id, dev->devno, atapi_enabled ? "not supported with this driver" : "disabled"); 2178 2180 return NULL; 2181 + } 2179 2182 } 2180 2183 2181 2184 return dev;
+2 -1
drivers/scsi/sata_mv.c
··· 86 86 MV_FLAG_DUAL_HC = (1 << 30), /* two SATA Host Controllers */ 87 87 MV_FLAG_IRQ_COALESCE = (1 << 29), /* IRQ coalescing capability */ 88 88 MV_COMMON_FLAGS = (ATA_FLAG_SATA | ATA_FLAG_NO_LEGACY | 89 - ATA_FLAG_SATA_RESET | ATA_FLAG_MMIO), 89 + ATA_FLAG_SATA_RESET | ATA_FLAG_MMIO | 90 + ATA_FLAG_NO_ATAPI), 90 91 MV_6XXX_FLAGS = MV_FLAG_IRQ_COALESCE, 91 92 92 93 CRQB_FLAG_READ = (1 << 0),
+6 -6
drivers/scsi/sata_promise.c
··· 70 70 PDC_HAS_PATA = (1 << 1), /* PDC20375 has PATA */ 71 71 72 72 PDC_RESET = (1 << 11), /* HDMA reset */ 73 + 74 + PDC_COMMON_FLAGS = ATA_FLAG_NO_LEGACY | ATA_FLAG_SRST | 75 + ATA_FLAG_MMIO | ATA_FLAG_NO_ATAPI, 73 76 }; 74 77 75 78 ··· 165 162 /* board_2037x */ 166 163 { 167 164 .sht = &pdc_ata_sht, 168 - .host_flags = ATA_FLAG_SATA | ATA_FLAG_NO_LEGACY | 169 - ATA_FLAG_SRST | ATA_FLAG_MMIO, 165 + .host_flags = PDC_COMMON_FLAGS | ATA_FLAG_SATA, 170 166 .pio_mask = 0x1f, /* pio0-4 */ 171 167 .mwdma_mask = 0x07, /* mwdma0-2 */ 172 168 .udma_mask = 0x7f, /* udma0-6 ; FIXME */ ··· 175 173 /* board_20319 */ 176 174 { 177 175 .sht = &pdc_ata_sht, 178 - .host_flags = ATA_FLAG_SATA | ATA_FLAG_NO_LEGACY | 179 - ATA_FLAG_SRST | ATA_FLAG_MMIO, 176 + .host_flags = PDC_COMMON_FLAGS | ATA_FLAG_SATA, 180 177 .pio_mask = 0x1f, /* pio0-4 */ 181 178 .mwdma_mask = 0x07, /* mwdma0-2 */ 182 179 .udma_mask = 0x7f, /* udma0-6 ; FIXME */ ··· 185 184 /* board_20619 */ 186 185 { 187 186 .sht = &pdc_ata_sht, 188 - .host_flags = ATA_FLAG_NO_LEGACY | ATA_FLAG_SRST | 189 - ATA_FLAG_MMIO | ATA_FLAG_SLAVE_POSS, 187 + .host_flags = PDC_COMMON_FLAGS | ATA_FLAG_SLAVE_POSS, 190 188 .pio_mask = 0x1f, /* pio0-4 */ 191 189 .mwdma_mask = 0x07, /* mwdma0-2 */ 192 190 .udma_mask = 0x7f, /* udma0-6 ; FIXME */
+2 -1
drivers/scsi/sata_sx4.c
··· 220 220 { 221 221 .sht = &pdc_sata_sht, 222 222 .host_flags = ATA_FLAG_SATA | ATA_FLAG_NO_LEGACY | 223 - ATA_FLAG_SRST | ATA_FLAG_MMIO, 223 + ATA_FLAG_SRST | ATA_FLAG_MMIO | 224 + ATA_FLAG_NO_ATAPI, 224 225 .pio_mask = 0x1f, /* pio0-4 */ 225 226 .mwdma_mask = 0x07, /* mwdma0-2 */ 226 227 .udma_mask = 0x7f, /* udma0-6 ; FIXME */
+8 -1
drivers/scsi/scsi_lib.c
··· 542 542 543 543 void scsi_next_command(struct scsi_cmnd *cmd) 544 544 { 545 - struct request_queue *q = cmd->device->request_queue; 545 + struct scsi_device *sdev = cmd->device; 546 + struct request_queue *q = sdev->request_queue; 547 + 548 + /* need to hold a reference on the device before we let go of the cmd */ 549 + get_device(&sdev->sdev_gendev); 546 550 547 551 scsi_put_command(cmd); 548 552 scsi_run_queue(q); 553 + 554 + /* ok to remove device now */ 555 + put_device(&sdev->sdev_gendev); 549 556 } 550 557 551 558 void scsi_run_host_queues(struct Scsi_Host *shost)
-3
drivers/scsi/scsi_scan.c
··· 266 266 /* 267 267 * if LLDD reports slave not present, don't clutter 268 268 * console with alloc failure messages 269 - 270 - 271 269 */ 272 270 if (ret == -ENXIO) 273 271 display_failure_msg = 0; ··· 277 279 278 280 out_device_destroy: 279 281 transport_destroy_device(&sdev->sdev_gendev); 280 - scsi_free_queue(sdev->request_queue); 281 282 put_device(&sdev->sdev_gendev); 282 283 out: 283 284 if (display_failure_msg)
+1 -1
drivers/serial/8250_pci.c
··· 516 516 break; 517 517 case 3: 518 518 offset = board->uart_offset; 519 - bar = 1; 519 + /* FALLTHROUGH */ 520 520 case 4: /* BAR 2 */ 521 521 case 5: /* BAR 3 */ 522 522 case 6: /* BAR 4 */
+3 -1
drivers/usb/input/hid-core.c
··· 893 893 894 894 size = ((report->size - 1) >> 3) + 1; 895 895 896 - if (len < size) 896 + if (len < size) { 897 897 dbg("report %d is too short, (%d < %d)", report->id, len, size); 898 + memset(data + len, 0, size - len); 899 + } 898 900 899 901 if (hid->claimed & HID_CLAIMED_HIDDEV) 900 902 hiddev_report_event(hid, report);
-1
drivers/video/bw2.c
··· 121 121 unsigned long fbsize; 122 122 123 123 struct sbus_dev *sdev; 124 - struct list_head list; 125 124 }; 126 125 127 126 /**
+4 -4
drivers/video/cfbcopyarea.c
··· 64 64 int const shift = dst_idx-src_idx; 65 65 int left, right; 66 66 67 - first = ~0UL >> dst_idx; 68 - last = ~(~0UL >> ((dst_idx+n) % bits)); 67 + first = FB_SHIFT_HIGH(~0UL, dst_idx); 68 + last = ~(FB_SHIFT_HIGH(~0UL, (dst_idx+n) % bits)); 69 69 70 70 if (!shift) { 71 71 // Same alignment for source and dest ··· 216 216 217 217 shift = dst_idx-src_idx; 218 218 219 - first = ~0UL << (bits - 1 - dst_idx); 220 - last = ~(~0UL << (bits - 1 - ((dst_idx-n) % bits))); 219 + first = FB_SHIFT_LOW(~0UL, bits - 1 - dst_idx); 220 + last = ~(FB_SHIFT_LOW(~0UL, bits - 1 - ((dst_idx-n) % bits))); 221 221 222 222 if (!shift) { 223 223 // Same alignment for source and dest
+8 -8
drivers/video/cfbfillrect.c
··· 110 110 if (!n) 111 111 return; 112 112 113 - first = ~0UL >> dst_idx; 114 - last = ~(~0UL >> ((dst_idx+n) % bits)); 113 + first = FB_SHIFT_HIGH(~0UL, dst_idx); 114 + last = ~(FB_SHIFT_HIGH(~0UL, (dst_idx+n) % bits)); 115 115 116 116 if (dst_idx+n <= bits) { 117 117 // Single word ··· 167 167 if (!n) 168 168 return; 169 169 170 - first = ~0UL >> dst_idx; 171 - last = ~(~0UL >> ((dst_idx+n) % bits)); 170 + first = FB_SHIFT_HIGH(~0UL, dst_idx); 171 + last = ~(FB_SHIFT_HIGH(~0UL, (dst_idx+n) % bits)); 172 172 173 173 if (dst_idx+n <= bits) { 174 174 // Single word ··· 221 221 if (!n) 222 222 return; 223 223 224 - first = ~0UL >> dst_idx; 225 - last = ~(~0UL >> ((dst_idx+n) % bits)); 224 + first = FB_SHIFT_HIGH(~0UL, dst_idx); 225 + last = ~(FB_SHIFT_HIGH(~0UL, (dst_idx+n) % bits)); 226 226 227 227 if (dst_idx+n <= bits) { 228 228 // Single word ··· 290 290 if (!n) 291 291 return; 292 292 293 - first = ~0UL >> dst_idx; 294 - last = ~(~0UL >> ((dst_idx+n) % bits)); 293 + first = FB_SHIFT_HIGH(~0UL, dst_idx); 294 + last = ~(FB_SHIFT_HIGH(~0UL, (dst_idx+n) % bits)); 295 295 296 296 if (dst_idx+n <= bits) { 297 297 // Single word
+12 -23
drivers/video/cfbimgblt.c
··· 76 76 #define FB_WRITEL fb_writel 77 77 #define FB_READL fb_readl 78 78 79 - #if defined (__BIG_ENDIAN) 80 - #define LEFT_POS(bpp) (32 - bpp) 81 - #define SHIFT_HIGH(val, bits) ((val) >> (bits)) 82 - #define SHIFT_LOW(val, bits) ((val) << (bits)) 83 - #define BIT_NR(b) (7 - (b)) 84 - #else 85 - #define LEFT_POS(bpp) (0) 86 - #define SHIFT_HIGH(val, bits) ((val) << (bits)) 87 - #define SHIFT_LOW(val, bits) ((val) >> (bits)) 88 - #define BIT_NR(b) (b) 89 - #endif 90 - 91 79 static inline void color_imageblit(const struct fb_image *image, 92 80 struct fb_info *p, u8 __iomem *dst1, 93 81 u32 start_index, ··· 97 109 val = 0; 98 110 99 111 if (start_index) { 100 - u32 start_mask = ~(SHIFT_HIGH(~(u32)0, start_index)); 112 + u32 start_mask = ~(FB_SHIFT_HIGH(~(u32)0, start_index)); 101 113 val = FB_READL(dst) & start_mask; 102 114 shift = start_index; 103 115 } ··· 107 119 color = palette[*src]; 108 120 else 109 121 color = *src; 110 - color <<= LEFT_POS(bpp); 111 - val |= SHIFT_HIGH(color, shift); 122 + color <<= FB_LEFT_POS(bpp); 123 + val |= FB_SHIFT_HIGH(color, shift); 112 124 if (shift >= null_bits) { 113 125 FB_WRITEL(val, dst++); 114 126 115 127 val = (shift == null_bits) ? 0 : 116 - SHIFT_LOW(color, 32 - shift); 128 + FB_SHIFT_LOW(color, 32 - shift); 117 129 } 118 130 shift += bpp; 119 131 shift &= (32 - 1); 120 132 src++; 121 133 } 122 134 if (shift) { 123 - u32 end_mask = SHIFT_HIGH(~(u32)0, shift); 135 + u32 end_mask = FB_SHIFT_HIGH(~(u32)0, shift); 124 136 125 137 FB_WRITEL((FB_READL(dst) & end_mask) | val, dst); 126 138 } ··· 150 162 u32 i, j, l; 151 163 152 164 dst2 = (u32 __iomem *) dst1; 165 + fgcolor <<= FB_LEFT_POS(bpp); 166 + bgcolor <<= FB_LEFT_POS(bpp); 153 167 154 168 for (i = image->height; i--; ) { 155 169 shift = val = 0; ··· 162 172 163 173 /* write leading bits */ 164 174 if (start_index) { 165 - u32 start_mask = ~(SHIFT_HIGH(~(u32)0, start_index)); 175 + u32 start_mask = ~(FB_SHIFT_HIGH(~(u32)0,start_index)); 166 176 val = FB_READL(dst) & start_mask; 167 177 shift = start_index; 168 178 } 169 179 170 180 while (j--) { 171 181 l--; 172 - color = (*s & 1 << (BIT_NR(l))) ? fgcolor : bgcolor; 173 - color <<= LEFT_POS(bpp); 174 - val |= SHIFT_HIGH(color, shift); 182 + color = (*s & 1 << (FB_BIT_NR(l))) ? fgcolor : bgcolor; 183 + val |= FB_SHIFT_HIGH(color, shift); 175 184 176 185 /* Did the bitshift spill bits to the next long? */ 177 186 if (shift >= null_bits) { 178 187 FB_WRITEL(val, dst++); 179 188 val = (shift == null_bits) ? 0 : 180 - SHIFT_LOW(color,32 - shift); 189 + FB_SHIFT_LOW(color,32 - shift); 181 190 } 182 191 shift += bpp; 183 192 shift &= (32 - 1); ··· 185 196 186 197 /* write trailing bits */ 187 198 if (shift) { 188 - u32 end_mask = SHIFT_HIGH(~(u32)0, shift); 199 + u32 end_mask = FB_SHIFT_HIGH(~(u32)0, shift); 189 200 190 201 FB_WRITEL((FB_READL(dst) & end_mask) | val, dst); 191 202 }
-1
drivers/video/cg14.c
··· 206 206 int mode; 207 207 int ramsize; 208 208 struct sbus_dev *sdev; 209 - struct list_head list; 210 209 }; 211 210 212 211 static void __cg14_reset(struct cg14_par *par)
-1
drivers/video/cg3.c
··· 124 124 unsigned long fbsize; 125 125 126 126 struct sbus_dev *sdev; 127 - struct list_head list; 128 127 }; 129 128 130 129 /**
+1 -2
drivers/video/cg6.c
··· 265 265 unsigned long fbsize; 266 266 267 267 struct sbus_dev *sdev; 268 - struct list_head list; 269 268 }; 270 269 271 270 static int cg6_sync(struct fb_info *info) ··· 611 612 struct cg6_par *par = (struct cg6_par *) info->par; 612 613 struct cg6_tec __iomem *tec = par->tec; 613 614 struct cg6_fbc __iomem *fbc = par->fbc; 614 - u32 rev, conf, mode, tmp; 615 + u32 rev, conf, mode; 615 616 int i; 616 617 617 618 /* Turn off stuff in the Transform Engine. */
+33 -9
drivers/video/console/fbcon.c
··· 2048 2048 struct fbcon_ops *ops; 2049 2049 struct display *p = &fb_display[vc->vc_num]; 2050 2050 struct fb_var_screeninfo var; 2051 - int i, prev_console; 2051 + int i, prev_console, charcnt = 256; 2052 2052 2053 2053 info = registered_fb[con2fb_map[vc->vc_num]]; 2054 2054 ops = info->fbcon_par; ··· 2103 2103 fb_set_var(info, &var); 2104 2104 ops->var = info->var; 2105 2105 2106 - if (old_info != NULL && old_info != info) { 2106 + if (old_info != NULL && (old_info != info || 2107 + info->flags & FBINFO_MISC_ALWAYS_SETPAR)) { 2107 2108 if (info->fbops->fb_set_par) 2108 2109 info->fbops->fb_set_par(info); 2109 2110 fbcon_del_cursor_timer(old_info); ··· 2121 2120 2122 2121 vc->vc_can_do_color = (fb_get_color_depth(&info->var, &info->fix)!=1); 2123 2122 vc->vc_complement_mask = vc->vc_can_do_color ? 0x7700 : 0x0800; 2123 + 2124 + if (p->userfont) 2125 + charcnt = FNTCHARCNT(vc->vc_font.data); 2126 + 2127 + if (charcnt > 256) 2128 + vc->vc_complement_mask <<= 1; 2129 + 2124 2130 updatescrollmode(p, info, vc); 2125 2131 2126 2132 switch (p->scrollmode) { ··· 2147 2139 2148 2140 scrollback_max = 0; 2149 2141 scrollback_current = 0; 2150 - ops->var.xoffset = ops->var.yoffset = p->yscroll = 0; 2151 - ops->update_start(info); 2142 + 2143 + if (!fbcon_is_inactive(vc, info)) { 2144 + ops->var.xoffset = ops->var.yoffset = p->yscroll = 0; 2145 + ops->update_start(info); 2146 + } 2147 + 2152 2148 fbcon_set_palette(vc, color_table); 2153 2149 fbcon_clear_margins(vc, 0); 2154 2150 ··· 2196 2184 ops->graphics = 1; 2197 2185 2198 2186 if (!blank) { 2187 + if (info->fbops->fb_save_state) 2188 + info->fbops->fb_save_state(info); 2199 2189 var.activate = FB_ACTIVATE_NOW | FB_ACTIVATE_FORCE; 2200 2190 fb_set_var(info, &var); 2201 2191 ops->graphics = 0; 2202 2192 ops->var = info->var; 2203 - } 2193 + } else if (info->fbops->fb_restore_state) 2194 + info->fbops->fb_restore_state(info); 2204 2195 } 2205 2196 2206 2197 if (!fbcon_is_inactive(vc, info)) { ··· 2751 2736 updatescrollmode(p, info, vc); 2752 2737 scrollback_max = 0; 2753 2738 scrollback_current = 0; 2754 - ops->var.xoffset = ops->var.yoffset = p->yscroll = 0; 2755 - ops->update_start(info); 2739 + 2740 + if (!fbcon_is_inactive(vc, info)) { 2741 + ops->var.xoffset = ops->var.yoffset = p->yscroll = 0; 2742 + ops->update_start(info); 2743 + } 2744 + 2756 2745 fbcon_set_palette(vc, color_table); 2757 2746 update_screen(vc); 2758 2747 if (softback_buf) ··· 2793 2774 updatescrollmode(p, info, vc); 2794 2775 scrollback_max = 0; 2795 2776 scrollback_current = 0; 2796 - ops->var.xoffset = ops->var.yoffset = p->yscroll = 0; 2797 - ops->update_start(info); 2777 + 2778 + if (!fbcon_is_inactive(vc, info)) { 2779 + ops->var.xoffset = ops->var.yoffset = 2780 + p->yscroll = 0; 2781 + ops->update_start(info); 2782 + } 2783 + 2798 2784 fbcon_set_palette(vc, color_table); 2799 2785 update_screen(vc); 2800 2786 if (softback_buf)
+21 -5
drivers/video/fbmem.c
··· 722 722 int 723 723 fb_pan_display(struct fb_info *info, struct fb_var_screeninfo *var) 724 724 { 725 + struct fb_fix_screeninfo *fix = &info->fix; 725 726 int xoffset = var->xoffset; 726 727 int yoffset = var->yoffset; 727 - int err; 728 + int err = 0, yres = info->var.yres; 728 729 729 - if (xoffset < 0 || yoffset < 0 || !info->fbops->fb_pan_display || 730 - xoffset + info->var.xres > info->var.xres_virtual || 731 - yoffset + info->var.yres > info->var.yres_virtual) 732 - return -EINVAL; 730 + if (var->yoffset > 0) { 731 + if (var->vmode & FB_VMODE_YWRAP) { 732 + if (!fix->ywrapstep || (var->yoffset % fix->ywrapstep)) 733 + err = -EINVAL; 734 + else 735 + yres = 0; 736 + } else if (!fix->ypanstep || (var->yoffset % fix->ypanstep)) 737 + err = -EINVAL; 738 + } 739 + 740 + if (var->xoffset > 0 && (!fix->xpanstep || 741 + (var->xoffset % fix->xpanstep))) 742 + err = -EINVAL; 743 + 744 + if (err || !info->fbops->fb_pan_display || xoffset < 0 || 745 + yoffset < 0 || var->yoffset + yres > info->var.yres_virtual || 746 + var->xoffset + info->var.xres > info->var.xres_virtual) 747 + return -EINVAL; 748 + 733 749 if ((err = info->fbops->fb_pan_display(var, info))) 734 750 return err; 735 751 info->var.xoffset = var->xoffset;
-1
drivers/video/ffb.c
··· 359 359 int prom_parent_node; 360 360 int dac_rev; 361 361 int board_type; 362 - struct list_head list; 363 362 }; 364 363 365 364 static void FFBFifo(struct ffb_par *par, int n)
-1
drivers/video/leo.c
··· 197 197 unsigned long fbsize; 198 198 199 199 struct sbus_dev *sdev; 200 - struct list_head list; 201 200 }; 202 201 203 202 static void leo_wait(struct leo_lx_krn __iomem *lx_krn)
-1
drivers/video/p9100.c
··· 140 140 unsigned long fbsize; 141 141 142 142 struct sbus_dev *sdev; 143 - struct list_head list; 144 143 }; 145 144 146 145 /**
+2 -1
drivers/video/pxafb.c
··· 1396 1396 int __devinit pxafb_setup(char *options) 1397 1397 { 1398 1398 # ifdef CONFIG_FB_PXA_PARAMETERS 1399 - strlcpy(g_options, options, sizeof(g_options)); 1399 + if (options) 1400 + strlcpy(g_options, options, sizeof(g_options)); 1400 1401 # endif 1401 1402 return 0; 1402 1403 }
+1 -2
drivers/video/tcx.c
··· 125 125 int lowdepth; 126 126 127 127 struct sbus_dev *sdev; 128 - struct list_head list; 129 128 }; 130 129 131 130 /* Reset control plane so that WID is 8-bit plane. */ ··· 443 444 444 445 tcx_reset(&all->info); 445 446 446 - tcx_blank(0, &all->info); 447 + tcx_blank(FB_BLANK_UNBLANK, &all->info); 447 448 448 449 if (fb_alloc_cmap(&all->info.cmap, 256, 0)) { 449 450 printk(KERN_ERR "tcx: Could not allocate color map.\n");
+10 -3
fs/inotify.c
··· 364 364 /* 365 365 * find_inode - resolve a user-given path to a specific inode and return a nd 366 366 */ 367 - static int find_inode(const char __user *dirname, struct nameidata *nd) 367 + static int find_inode(const char __user *dirname, struct nameidata *nd, 368 + unsigned flags) 368 369 { 369 370 int error; 370 371 371 - error = __user_walk(dirname, LOOKUP_FOLLOW, nd); 372 + error = __user_walk(dirname, flags, nd); 372 373 if (error) 373 374 return error; 374 375 /* you can only watch an inode if you have read permissions on it */ ··· 934 933 struct file *filp; 935 934 int ret, fput_needed; 936 935 int mask_add = 0; 936 + unsigned flags = 0; 937 937 938 938 filp = fget_light(fd, &fput_needed); 939 939 if (unlikely(!filp)) ··· 946 944 goto fput_and_out; 947 945 } 948 946 949 - ret = find_inode(path, &nd); 947 + if (!(mask & IN_DONT_FOLLOW)) 948 + flags |= LOOKUP_FOLLOW; 949 + if (mask & IN_ONLYDIR) 950 + flags |= LOOKUP_DIRECTORY; 951 + 952 + ret = find_inode(path, &nd, flags); 950 953 if (unlikely(ret)) 951 954 goto fput_and_out; 952 955
+1 -1
fs/xattr.c
··· 245 245 error = d->d_inode->i_op->listxattr(d, klist, size); 246 246 } else { 247 247 error = security_inode_listsecurity(d->d_inode, klist, size); 248 - if (size && error >= size) 248 + if (size && error > size) 249 249 error = -ERANGE; 250 250 } 251 251 if (error > 0) {
-5
include/asm-arm/arch-pxa/irq.h
··· 12 12 13 13 #define fixup_irq(x) (x) 14 14 15 - /* 16 - * This prototype is required for cascading of multiplexed interrupts. 17 - * Since it doesn't exist elsewhere, we'll put it here for now. 18 - */ 19 - extern void do_IRQ(int irq, struct pt_regs *regs);
+3 -3
include/asm-arm/io.h
··· 42 42 extern void __raw_writesw(void __iomem *addr, const void *data, int wordlen); 43 43 extern void __raw_writesl(void __iomem *addr, const void *data, int longlen); 44 44 45 - extern void __raw_readsb(void __iomem *addr, void *data, int bytelen); 46 - extern void __raw_readsw(void __iomem *addr, void *data, int wordlen); 47 - extern void __raw_readsl(void __iomem *addr, void *data, int longlen); 45 + extern void __raw_readsb(const void __iomem *addr, void *data, int bytelen); 46 + extern void __raw_readsw(const void __iomem *addr, void *data, int wordlen); 47 + extern void __raw_readsl(const void __iomem *addr, void *data, int longlen); 48 48 49 49 #define __raw_writeb(v,a) (__chk_io_ptr(a), *(volatile unsigned char __force *)(a) = (v)) 50 50 #define __raw_writew(v,a) (__chk_io_ptr(a), *(volatile unsigned short __force *)(a) = (v))
+1
include/asm-arm/memory.h
··· 122 122 */ 123 123 #define __pa(x) __virt_to_phys((unsigned long)(x)) 124 124 #define __va(x) ((void *)__phys_to_virt((unsigned long)(x))) 125 + #define pfn_to_kaddr(pfn) __va((pfn) << PAGE_SHIFT) 125 126 126 127 /* 127 128 * Virtual <-> DMA view memory address translations
+2
include/asm-ia64/ia32.h
··· 13 13 14 14 # ifdef CONFIG_IA32_SUPPORT 15 15 16 + #define IA32_PAGE_OFFSET 0xc0000000 17 + 16 18 extern void ia32_cpu_init (void); 17 19 extern void ia32_mem_init (void); 18 20 extern void ia32_gdt_init (void);
+2 -2
include/asm-ia64/local.h
··· 17 17 #define local_set(l, i) atomic64_set(&(l)->val, i) 18 18 #define local_inc(l) atomic64_inc(&(l)->val) 19 19 #define local_dec(l) atomic64_dec(&(l)->val) 20 - #define local_add(l) atomic64_add(&(l)->val) 21 - #define local_sub(l) atomic64_sub(&(l)->val) 20 + #define local_add(i, l) atomic64_add((i), &(l)->val) 21 + #define local_sub(i, l) atomic64_sub((i), &(l)->val) 22 22 23 23 /* Non-atomic variants, i.e., preemption disabled and won't be touched in interrupt, etc. */ 24 24
+2 -1
include/asm-ia64/sal.h
··· 320 320 typedef struct sal_log_record_header { 321 321 u64 id; /* Unique monotonically increasing ID */ 322 322 sal_log_revision_t revision; /* Major and Minor revision of header */ 323 - u16 severity; /* Error Severity */ 323 + u8 severity; /* Error Severity */ 324 + u8 validation_bits; /* 0: platform_guid, 1: !timestamp */ 324 325 u32 len; /* Length of this error log in bytes */ 325 326 sal_log_timestamp_t timestamp; /* Timestamp */ 326 327 efi_guid_t platform_guid; /* Unique OEM Platform ID */
+17 -3
include/asm-ia64/sn/pcidev.h
··· 3 3 * License. See the file "COPYING" in the main directory of this archive 4 4 * for more details. 5 5 * 6 - * Copyright (C) 1992 - 1997, 2000-2004 Silicon Graphics, Inc. All rights reserved. 6 + * Copyright (C) 1992 - 1997, 2000-2005 Silicon Graphics, Inc. All rights reserved. 7 7 */ 8 8 #ifndef _ASM_IA64_SN_PCI_PCIDEV_H 9 9 #define _ASM_IA64_SN_PCI_PCIDEV_H 10 10 11 11 #include <linux/pci.h> 12 12 13 - #define SN_PCIDEV_INFO(pci_dev) \ 14 - ((struct pcidev_info *)(pci_dev)->sysdata) 13 + /* 14 + * In ia64, pci_dev->sysdata must be a *pci_controller. To provide access to 15 + * the pcidev_info structs for all devices under a controller, we extend the 16 + * definition of pci_controller, via sn_pci_controller, to include a list 17 + * of pcidev_info. 18 + */ 19 + struct sn_pci_controller { 20 + struct pci_controller pci_controller; 21 + struct list_head pcidev_info; 22 + }; 23 + 24 + #define SN_PCI_CONTROLLER(dev) ((struct sn_pci_controller *) dev->sysdata) 25 + 26 + #define SN_PCIDEV_INFO(dev) sn_pcidev_info_get(dev) 15 27 16 28 #define SN_PCIBUS_BUSSOFT_INFO(pci_bus) \ 17 29 (struct pcibus_info *)((struct pcibus_bussoft *)(PCI_CONTROLLER((pci_bus))->platform_data)) ··· 65 53 struct sn_irq_info *pdi_sn_irq_info; 66 54 struct sn_pcibus_provider *pdi_provider; /* sn pci ops */ 67 55 struct pci_dev *host_pci_dev; /* host bus link */ 56 + struct list_head pdi_list; /* List of pcidev_info */ 68 57 }; 69 58 70 59 extern void sn_irq_fixup(struct pci_dev *pci_dev, 71 60 struct sn_irq_info *sn_irq_info); 72 61 extern void sn_irq_unfixup(struct pci_dev *pci_dev); 62 + extern struct pcidev_info * sn_pcidev_info_get(struct pci_dev *); 73 63 extern void sn_pci_controller_fixup(int segment, int busnum, 74 64 struct pci_bus *bus); 75 65 extern void sn_bus_store_sysdata(struct pci_dev *dev);
+11 -1
include/asm-ia64/spinlock.h
··· 201 201 202 202 #endif /* !ASM_SUPPORTED */ 203 203 204 - #define __raw_read_trylock(lock) generic__raw_read_trylock(lock) 204 + static inline int __raw_read_trylock(raw_rwlock_t *x) 205 + { 206 + union { 207 + raw_rwlock_t lock; 208 + __u32 word; 209 + } old, new; 210 + old.lock = new.lock = *x; 211 + old.lock.write_lock = new.lock.write_lock = 0; 212 + ++new.lock.read_counter; 213 + return (u32)ia64_cmpxchg4_acq((__u32 *)(x), new.word, old.word) == old.word; 214 + } 205 215 206 216 #endif /* _ASM_IA64_SPINLOCK_H */
+2 -1
include/asm-powerpc/mmu.h
··· 220 220 unsigned int local); 221 221 struct mm_struct; 222 222 extern int hash_huge_page(struct mm_struct *mm, unsigned long access, 223 - unsigned long ea, unsigned long vsid, int local); 223 + unsigned long ea, unsigned long vsid, int local, 224 + unsigned long trap); 224 225 225 226 extern void htab_finish_init(void); 226 227 extern int htab_bolt_mapping(unsigned long vstart, unsigned long vend,
+2
include/linux/cn_proc.h
··· 26 26 #define CN_PROC_H 27 27 28 28 #include <linux/types.h> 29 + #include <linux/time.h> 29 30 #include <linux/connector.h> 30 31 31 32 /* ··· 66 65 PROC_EVENT_EXIT = 0x80000000 67 66 } what; 68 67 __u32 cpu; 68 + struct timespec timestamp; 69 69 union { /* must be last field of proc_event struct */ 70 70 struct { 71 71 __u32 err;
+14 -14
include/linux/dvb/audio.h
··· 32 32 33 33 34 34 typedef enum { 35 - AUDIO_SOURCE_DEMUX, /* Select the demux as the main source */ 35 + AUDIO_SOURCE_DEMUX, /* Select the demux as the main source */ 36 36 AUDIO_SOURCE_MEMORY /* Select internal memory as the main source */ 37 37 } audio_stream_source_t; 38 38 39 39 40 40 typedef enum { 41 41 AUDIO_STOPPED, /* Device is stopped */ 42 - AUDIO_PLAYING, /* Device is currently playing */ 42 + AUDIO_PLAYING, /* Device is currently playing */ 43 43 AUDIO_PAUSED /* Device is paused */ 44 44 } audio_play_state_t; 45 45 46 46 47 47 typedef enum { 48 - AUDIO_STEREO, 49 - AUDIO_MONO_LEFT, 48 + AUDIO_STEREO, 49 + AUDIO_MONO_LEFT, 50 50 AUDIO_MONO_RIGHT 51 51 } audio_channel_select_t; 52 52 53 53 54 54 typedef struct audio_mixer { 55 - unsigned int volume_left; 56 - unsigned int volume_right; 55 + unsigned int volume_left; 56 + unsigned int volume_right; 57 57 // what else do we need? bass, pass-through, ... 58 58 } audio_mixer_t; 59 59 60 60 61 61 typedef struct audio_status { 62 - int AV_sync_state; /* sync audio and video? */ 63 - int mute_state; /* audio is muted */ 64 - audio_play_state_t play_state; /* current playback state */ 65 - audio_stream_source_t stream_source; /* current stream source */ 66 - audio_channel_select_t channel_select; /* currently selected channel */ 67 - int bypass_mode; /* pass on audio data to */ 62 + int AV_sync_state; /* sync audio and video? */ 63 + int mute_state; /* audio is muted */ 64 + audio_play_state_t play_state; /* current playback state */ 65 + audio_stream_source_t stream_source; /* current stream source */ 66 + audio_channel_select_t channel_select; /* currently selected channel */ 67 + int bypass_mode; /* pass on audio data to */ 68 68 audio_mixer_t mixer_state; /* current mixer state */ 69 69 } audio_status_t; /* separate decoder hardware */ 70 70 ··· 74 74 int vocal1; /* into left and right t at 70% each */ 75 75 int vocal2; /* if both, Vocal1 and Vocal2 are non-zero, Vocal1 gets*/ 76 76 int melody; /* mixed into the left channel and */ 77 - /* Vocal2 into the right channel at 100% each. */ 78 - /* if Melody is non-zero, the melody channel gets mixed*/ 77 + /* Vocal2 into the right channel at 100% each. */ 78 + /* if Melody is non-zero, the melody channel gets mixed*/ 79 79 } audio_karaoke_t; /* into left and right */ 80 80 81 81
+18 -18
include/linux/dvb/ca.h
··· 27 27 /* slot interface types and info */ 28 28 29 29 typedef struct ca_slot_info { 30 - int num; /* slot number */ 30 + int num; /* slot number */ 31 31 32 - int type; /* CA interface this slot supports */ 32 + int type; /* CA interface this slot supports */ 33 33 #define CA_CI 1 /* CI high level interface */ 34 34 #define CA_CI_LINK 2 /* CI link layer level interface */ 35 35 #define CA_CI_PHYS 4 /* CI physical layer level interface */ 36 36 #define CA_DESCR 8 /* built-in descrambler */ 37 37 #define CA_SC 128 /* simple smart card interface */ 38 38 39 - unsigned int flags; 39 + unsigned int flags; 40 40 #define CA_CI_MODULE_PRESENT 1 /* module (or card) inserted */ 41 41 #define CA_CI_MODULE_READY 2 42 42 } ca_slot_info_t; ··· 45 45 /* descrambler types and info */ 46 46 47 47 typedef struct ca_descr_info { 48 - unsigned int num; /* number of available descramblers (keys) */ 49 - unsigned int type; /* type of supported scrambling system */ 48 + unsigned int num; /* number of available descramblers (keys) */ 49 + unsigned int type; /* type of supported scrambling system */ 50 50 #define CA_ECD 1 51 51 #define CA_NDS 2 52 52 #define CA_DSS 4 53 53 } ca_descr_info_t; 54 54 55 55 typedef struct ca_caps { 56 - unsigned int slot_num; /* total number of CA card and module slots */ 57 - unsigned int slot_type; /* OR of all supported types */ 58 - unsigned int descr_num; /* total number of descrambler slots (keys) */ 59 - unsigned int descr_type; /* OR of all supported types */ 56 + unsigned int slot_num; /* total number of CA card and module slots */ 57 + unsigned int slot_type; /* OR of all supported types */ 58 + unsigned int descr_num; /* total number of descrambler slots (keys) */ 59 + unsigned int descr_type; /* OR of all supported types */ 60 60 } ca_caps_t; 61 61 62 62 /* a message to/from a CI-CAM */ 63 63 typedef struct ca_msg { 64 - unsigned int index; 65 - unsigned int type; 66 - unsigned int length; 67 - unsigned char msg[256]; 64 + unsigned int index; 65 + unsigned int type; 66 + unsigned int length; 67 + unsigned char msg[256]; 68 68 } ca_msg_t; 69 69 70 70 typedef struct ca_descr { 71 - unsigned int index; 72 - unsigned int parity; /* 0 == even, 1 == odd */ 73 - unsigned char cw[8]; 71 + unsigned int index; 72 + unsigned int parity; /* 0 == even, 1 == odd */ 73 + unsigned char cw[8]; 74 74 } ca_descr_t; 75 75 76 76 typedef struct ca_pid { 77 - unsigned int pid; 78 - int index; /* -1 == disable*/ 77 + unsigned int pid; 78 + int index; /* -1 == disable*/ 79 79 } ca_pid_t; 80 80 81 81 #define CA_RESET _IO('o', 128)
+10 -10
include/linux/dvb/dmx.h
··· 1 - /* 1 + /* 2 2 * dmx.h 3 3 * 4 4 * Copyright (C) 2000 Marcus Metzler <marcus@convergence.de> ··· 38 38 { 39 39 DMX_OUT_DECODER, /* Streaming directly to decoder. */ 40 40 DMX_OUT_TAP, /* Output going to a memory buffer */ 41 - /* (to be retrieved via the read command).*/ 41 + /* (to be retrieved via the read command).*/ 42 42 DMX_OUT_TS_TAP /* Output multiplexed into a new TS */ 43 - /* (to be retrieved by reading from the */ 44 - /* logical DVR device). */ 43 + /* (to be retrieved by reading from the */ 44 + /* logical DVR device). */ 45 45 } dmx_output_t; 46 46 47 47 ··· 54 54 55 55 typedef enum 56 56 { 57 - DMX_PES_AUDIO0, 57 + DMX_PES_AUDIO0, 58 58 DMX_PES_VIDEO0, 59 59 DMX_PES_TELETEXT0, 60 60 DMX_PES_SUBTITLE0, 61 61 DMX_PES_PCR0, 62 62 63 - DMX_PES_AUDIO1, 63 + DMX_PES_AUDIO1, 64 64 DMX_PES_VIDEO1, 65 65 DMX_PES_TELETEXT1, 66 66 DMX_PES_SUBTITLE1, 67 67 DMX_PES_PCR1, 68 68 69 - DMX_PES_AUDIO2, 69 + DMX_PES_AUDIO2, 70 70 DMX_PES_VIDEO2, 71 71 DMX_PES_TELETEXT2, 72 72 DMX_PES_SUBTITLE2, 73 73 DMX_PES_PCR2, 74 74 75 - DMX_PES_AUDIO3, 75 + DMX_PES_AUDIO3, 76 76 DMX_PES_VIDEO3, 77 77 DMX_PES_TELETEXT3, 78 78 DMX_PES_SUBTITLE3, ··· 90 90 91 91 typedef enum 92 92 { 93 - DMX_SCRAMBLING_EV, 94 - DMX_FRONTEND_EV 93 + DMX_SCRAMBLING_EV, 94 + DMX_FRONTEND_EV 95 95 } dmx_event_t; 96 96 97 97
+29 -29
include/linux/dvb/osd.h
··· 98 98 } OSD_Command; 99 99 100 100 typedef struct osd_cmd_s { 101 - OSD_Command cmd; 102 - int x0; 103 - int y0; 104 - int x1; 105 - int y1; 106 - int color; 107 - void __user *data; 101 + OSD_Command cmd; 102 + int x0; 103 + int y0; 104 + int x1; 105 + int y1; 106 + int color; 107 + void __user *data; 108 108 } osd_cmd_t; 109 109 110 110 /* OSD_OpenRaw: set 'color' to desired window type */ 111 111 typedef enum { 112 - OSD_BITMAP1, /* 1 bit bitmap */ 113 - OSD_BITMAP2, /* 2 bit bitmap */ 114 - OSD_BITMAP4, /* 4 bit bitmap */ 115 - OSD_BITMAP8, /* 8 bit bitmap */ 116 - OSD_BITMAP1HR, /* 1 Bit bitmap half resolution */ 117 - OSD_BITMAP2HR, /* 2 bit bitmap half resolution */ 118 - OSD_BITMAP4HR, /* 4 bit bitmap half resolution */ 119 - OSD_BITMAP8HR, /* 8 bit bitmap half resolution */ 120 - OSD_YCRCB422, /* 4:2:2 YCRCB Graphic Display */ 121 - OSD_YCRCB444, /* 4:4:4 YCRCB Graphic Display */ 122 - OSD_YCRCB444HR, /* 4:4:4 YCRCB graphic half resolution */ 123 - OSD_VIDEOTSIZE, /* True Size Normal MPEG Video Display */ 124 - OSD_VIDEOHSIZE, /* MPEG Video Display Half Resolution */ 125 - OSD_VIDEOQSIZE, /* MPEG Video Display Quarter Resolution */ 126 - OSD_VIDEODSIZE, /* MPEG Video Display Double Resolution */ 127 - OSD_VIDEOTHSIZE, /* True Size MPEG Video Display Half Resolution */ 128 - OSD_VIDEOTQSIZE, /* True Size MPEG Video Display Quarter Resolution*/ 129 - OSD_VIDEOTDSIZE, /* True Size MPEG Video Display Double Resolution */ 130 - OSD_VIDEONSIZE, /* Full Size MPEG Video Display */ 131 - OSD_CURSOR /* Cursor */ 112 + OSD_BITMAP1, /* 1 bit bitmap */ 113 + OSD_BITMAP2, /* 2 bit bitmap */ 114 + OSD_BITMAP4, /* 4 bit bitmap */ 115 + OSD_BITMAP8, /* 8 bit bitmap */ 116 + OSD_BITMAP1HR, /* 1 Bit bitmap half resolution */ 117 + OSD_BITMAP2HR, /* 2 bit bitmap half resolution */ 118 + OSD_BITMAP4HR, /* 4 bit bitmap half resolution */ 119 + OSD_BITMAP8HR, /* 8 bit bitmap half resolution */ 120 + OSD_YCRCB422, /* 4:2:2 YCRCB Graphic Display */ 121 + OSD_YCRCB444, /* 4:4:4 YCRCB Graphic Display */ 122 + OSD_YCRCB444HR, /* 4:4:4 YCRCB graphic half resolution */ 123 + OSD_VIDEOTSIZE, /* True Size Normal MPEG Video Display */ 124 + OSD_VIDEOHSIZE, /* MPEG Video Display Half Resolution */ 125 + OSD_VIDEOQSIZE, /* MPEG Video Display Quarter Resolution */ 126 + OSD_VIDEODSIZE, /* MPEG Video Display Double Resolution */ 127 + OSD_VIDEOTHSIZE, /* True Size MPEG Video Display Half Resolution */ 128 + OSD_VIDEOTQSIZE, /* True Size MPEG Video Display Quarter Resolution*/ 129 + OSD_VIDEOTDSIZE, /* True Size MPEG Video Display Double Resolution */ 130 + OSD_VIDEONSIZE, /* Full Size MPEG Video Display */ 131 + OSD_CURSOR /* Cursor */ 132 132 } osd_raw_window_t; 133 133 134 134 typedef struct osd_cap_s { 135 - int cmd; 135 + int cmd; 136 136 #define OSD_CAP_MEMSIZE 1 /* memory size */ 137 - long val; 137 + long val; 138 138 } osd_cap_t; 139 139 140 140
+22 -22
include/linux/dvb/video.h
··· 36 36 37 37 typedef enum { 38 38 VIDEO_FORMAT_4_3, /* Select 4:3 format */ 39 - VIDEO_FORMAT_16_9, /* Select 16:9 format. */ 39 + VIDEO_FORMAT_16_9, /* Select 16:9 format. */ 40 40 VIDEO_FORMAT_221_1 /* 2.21:1 */ 41 41 } video_format_t; 42 42 ··· 54 54 55 55 56 56 typedef enum { 57 - VIDEO_PAN_SCAN, /* use pan and scan format */ 57 + VIDEO_PAN_SCAN, /* use pan and scan format */ 58 58 VIDEO_LETTER_BOX, /* use letterbox format */ 59 59 VIDEO_CENTER_CUT_OUT /* use center cut out format */ 60 60 } video_displayformat_t; ··· 66 66 } video_size_t; 67 67 68 68 typedef enum { 69 - VIDEO_SOURCE_DEMUX, /* Select the demux as the main source */ 69 + VIDEO_SOURCE_DEMUX, /* Select the demux as the main source */ 70 70 VIDEO_SOURCE_MEMORY /* If this source is selected, the stream 71 71 comes from the user through the write 72 72 system call */ ··· 75 75 76 76 typedef enum { 77 77 VIDEO_STOPPED, /* Video is stopped */ 78 - VIDEO_PLAYING, /* Video is currently playing */ 78 + VIDEO_PLAYING, /* Video is currently playing */ 79 79 VIDEO_FREEZED /* Video is freezed */ 80 80 } video_play_state_t; 81 81 82 82 83 83 struct video_event { 84 - int32_t type; 84 + int32_t type; 85 85 #define VIDEO_EVENT_SIZE_CHANGED 1 86 86 #define VIDEO_EVENT_FRAME_RATE_CHANGED 2 87 - time_t timestamp; 87 + time_t timestamp; 88 88 union { 89 - video_size_t size; 89 + video_size_t size; 90 90 unsigned int frame_rate; /* in frames per 1000sec */ 91 91 } u; 92 92 }; 93 93 94 94 95 95 struct video_status { 96 - int video_blank; /* blank video on freeze? */ 97 - video_play_state_t play_state; /* current state of playback */ 98 - video_stream_source_t stream_source; /* current source (demux/memory) */ 99 - video_format_t video_format; /* current aspect ratio of stream*/ 100 - video_displayformat_t display_format;/* selected cropping mode */ 96 + int video_blank; /* blank video on freeze? */ 97 + video_play_state_t play_state; /* current state of playback */ 98 + video_stream_source_t stream_source; /* current source (demux/memory) */ 99 + video_format_t video_format; /* current aspect ratio of stream*/ 100 + video_displayformat_t display_format;/* selected cropping mode */ 101 101 }; 102 102 103 103 104 104 struct video_still_picture { 105 - char __user *iFrame; /* pointer to a single iframe in memory */ 106 - int32_t size; 105 + char __user *iFrame; /* pointer to a single iframe in memory */ 106 + int32_t size; 107 107 }; 108 108 109 109 ··· 111 111 struct video_highlight { 112 112 int active; /* 1=show highlight, 0=hide highlight */ 113 113 uint8_t contrast1; /* 7- 4 Pattern pixel contrast */ 114 - /* 3- 0 Background pixel contrast */ 114 + /* 3- 0 Background pixel contrast */ 115 115 uint8_t contrast2; /* 7- 4 Emphasis pixel-2 contrast */ 116 - /* 3- 0 Emphasis pixel-1 contrast */ 116 + /* 3- 0 Emphasis pixel-1 contrast */ 117 117 uint8_t color1; /* 7- 4 Pattern pixel color */ 118 - /* 3- 0 Background pixel color */ 118 + /* 3- 0 Background pixel color */ 119 119 uint8_t color2; /* 7- 4 Emphasis pixel-2 color */ 120 - /* 3- 0 Emphasis pixel-1 color */ 120 + /* 3- 0 Emphasis pixel-1 color */ 121 121 uint32_t ypos; /* 23-22 auto action mode */ 122 - /* 21-12 start y */ 123 - /* 9- 0 end y */ 122 + /* 21-12 start y */ 123 + /* 9- 0 end y */ 124 124 uint32_t xpos; /* 23-22 button color number */ 125 - /* 21-12 start x */ 126 - /* 9- 0 end x */ 125 + /* 21-12 start x */ 126 + /* 9- 0 end x */ 127 127 } video_highlight_t; 128 128 129 129
+30
include/linux/fb.h
··· 617 617 618 618 /* perform fb specific mmap */ 619 619 int (*fb_mmap)(struct fb_info *info, struct file *file, struct vm_area_struct *vma); 620 + 621 + /* save current hardware state */ 622 + void (*fb_save_state)(struct fb_info *info); 623 + 624 + /* restore saved state */ 625 + void (*fb_restore_state)(struct fb_info *info); 620 626 }; 621 627 622 628 #ifdef CONFIG_FB_TILEBLITTING ··· 732 726 from userspace */ 733 727 #define FBINFO_MISC_TILEBLITTING 0x20000 /* use tile blitting */ 734 728 729 + /* A driver may set this flag to indicate that it does want a set_par to be 730 + * called every time when fbcon_switch is executed. The advantage is that with 731 + * this flag set you can really be shure that set_par is always called before 732 + * any of the functions dependant on the correct hardware state or altering 733 + * that state, even if you are using some broken X releases. The disadvantage 734 + * is that it introduces unwanted delays to every console switch if set_par 735 + * is slow. It is a good idea to try this flag in the drivers initialization 736 + * code whenever there is a bug report related to switching between X and the 737 + * framebuffer console. 738 + */ 739 + #define FBINFO_MISC_ALWAYS_SETPAR 0x40000 740 + 735 741 struct fb_info { 736 742 int node; 737 743 int flags; ··· 833 815 #define fb_writeq(b,addr) (*(volatile u64 *) (addr) = (b)) 834 816 #define fb_memset memset 835 817 818 + #endif 819 + 820 + #if defined (__BIG_ENDIAN) 821 + #define FB_LEFT_POS(bpp) (32 - bpp) 822 + #define FB_SHIFT_HIGH(val, bits) ((val) >> (bits)) 823 + #define FB_SHIFT_LOW(val, bits) ((val) << (bits)) 824 + #define FB_BIT_NR(b) (7 - (b)) 825 + #else 826 + #define FB_LEFT_POS(bpp) (0) 827 + #define FB_SHIFT_HIGH(val, bits) ((val) << (bits)) 828 + #define FB_SHIFT_LOW(val, bits) ((val) >> (bits)) 829 + #define FB_BIT_NR(b) (b) 836 830 #endif 837 831 838 832 /*
+1 -1
include/linux/i2c-id.h
··· 108 108 #define I2C_DRIVERID_SAA7127 72 /* saa7124 video encoder */ 109 109 #define I2C_DRIVERID_SAA711X 73 /* saa711x video encoders */ 110 110 #define I2C_DRIVERID_AKITAIOEXP 74 /* IO Expander on Sharp SL-C1000 */ 111 - #define I2C_DRIVERID_I2C_IR 75 /* I2C InfraRed on Video boards */ 111 + #define I2C_DRIVERID_INFRARED 75 /* I2C InfraRed on Video boards */ 112 112 113 113 #define I2C_DRIVERID_EXP0 0xF0 /* experimental use id's */ 114 114 #define I2C_DRIVERID_EXP1 0xF1
+2
include/linux/inotify.h
··· 47 47 #define IN_MOVE (IN_MOVED_FROM | IN_MOVED_TO) /* moves */ 48 48 49 49 /* special flags */ 50 + #define IN_ONLYDIR 0x01000000 /* only watch the path if it is a directory */ 51 + #define IN_DONT_FOLLOW 0x02000000 /* don't follow a sym link */ 50 52 #define IN_MASK_ADD 0x20000000 /* add to the mask of an already existing watch */ 51 53 #define IN_ISDIR 0x40000000 /* event occurred against dir */ 52 54 #define IN_ONESHOT 0x80000000 /* only send event once */
+7 -1
include/linux/kprobes.h
··· 37 37 #include <linux/spinlock.h> 38 38 #include <linux/rcupdate.h> 39 39 40 + #ifdef CONFIG_KPROBES 40 41 #include <asm/kprobes.h> 41 42 42 43 /* kprobe_status settings */ ··· 148 147 struct task_struct *task; 149 148 }; 150 149 151 - #ifdef CONFIG_KPROBES 152 150 extern spinlock_t kretprobe_lock; 153 151 extern int arch_prepare_kprobe(struct kprobe *p); 154 152 extern void arch_copy_kprobe(struct kprobe *p); ··· 158 158 extern void show_registers(struct pt_regs *regs); 159 159 extern kprobe_opcode_t *get_insn_slot(void); 160 160 extern void free_insn_slot(kprobe_opcode_t *slot); 161 + extern void kprobes_inc_nmissed_count(struct kprobe *p); 161 162 162 163 /* Get the kprobe at this addr (if any) - called with preemption disabled */ 163 164 struct kprobe *get_kprobe(void *addr); ··· 196 195 void kprobe_flush_task(struct task_struct *tk); 197 196 void recycle_rp_inst(struct kretprobe_instance *ri); 198 197 #else /* CONFIG_KPROBES */ 198 + 199 + #define __kprobes /**/ 200 + struct jprobe; 201 + struct kretprobe; 202 + 199 203 static inline struct kprobe *kprobe_running(void) 200 204 { 201 205 return NULL;
+1
include/linux/libata.h
··· 122 122 ATA_FLAG_NOINTR = (1 << 9), /* FIXME: Remove this once 123 123 * proper HSM is in place. */ 124 124 ATA_FLAG_DEBUGMSG = (1 << 10), 125 + ATA_FLAG_NO_ATAPI = (1 << 11), /* No ATAPI support */ 125 126 126 127 ATA_QCFLAG_ACTIVE = (1 << 1), /* cmd not yet ack'd to scsi lyer */ 127 128 ATA_QCFLAG_SG = (1 << 3), /* have s/g table? */
+25 -1
include/linux/list.h
··· 202 202 * 203 203 * The old entry will be replaced with the new entry atomically. 204 204 */ 205 - static inline void list_replace_rcu(struct list_head *old, struct list_head *new){ 205 + static inline void list_replace_rcu(struct list_head *old, 206 + struct list_head *new) 207 + { 206 208 new->next = old->next; 207 209 new->prev = old->prev; 208 210 smp_wmb(); 209 211 new->next->prev = new; 210 212 new->prev->next = new; 213 + old->prev = LIST_POISON2; 211 214 } 212 215 213 216 /** ··· 579 576 __hlist_del(n); 580 577 INIT_HLIST_NODE(n); 581 578 } 579 + } 580 + 581 + /* 582 + * hlist_replace_rcu - replace old entry by new one 583 + * @old : the element to be replaced 584 + * @new : the new element to insert 585 + * 586 + * The old entry will be replaced with the new entry atomically. 587 + */ 588 + static inline void hlist_replace_rcu(struct hlist_node *old, 589 + struct hlist_node *new) 590 + { 591 + struct hlist_node *next = old->next; 592 + 593 + new->next = next; 594 + new->pprev = old->pprev; 595 + smp_wmb(); 596 + if (next) 597 + new->next->pprev = &new->next; 598 + *new->pprev = new; 599 + old->pprev = LIST_POISON2; 582 600 } 583 601 584 602 static inline void hlist_add_head(struct hlist_node *n, struct hlist_head *h)
-1
include/linux/mm.h
··· 163 163 #define VM_HUGETLB 0x00400000 /* Huge TLB Page VM */ 164 164 #define VM_NONLINEAR 0x00800000 /* Is non-linear (remap_file_pages) */ 165 165 #define VM_MAPPED_COPY 0x01000000 /* T if mapped copy of data (nommu mmap) */ 166 - #define VM_INCOMPLETE 0x02000000 /* Strange partial PFN mapping marker */ 167 166 168 167 #ifndef VM_STACK_DEFAULT_FLAGS /* arch can override this */ 169 168 #define VM_STACK_DEFAULT_FLAGS VM_DATA_DEFAULT_FLAGS
+1 -1
include/linux/parport_pc.h
··· 86 86 unsigned char dcr = inb (CONTROL (p)); 87 87 unsigned char dsr = inb (STATUS (p)); 88 88 static char *ecr_modes[] = {"SPP", "PS2", "PPFIFO", "ECP", "xXx", "yYy", "TST", "CFG"}; 89 - const struct parport_pc_private *priv = (parport_pc_private *)p->physport->private_data; 89 + const struct parport_pc_private *priv = p->physport->private_data; 90 90 int i; 91 91 92 92 printk (KERN_DEBUG "*** parport state (%s): ecr=[%s", str, ecr_modes[(ecr & 0xe0) >> 5]);
+2
include/linux/rcupdate.h
··· 100 100 struct rcu_head *donelist; 101 101 struct rcu_head **donetail; 102 102 int cpu; 103 + struct rcu_head barrier; 103 104 }; 104 105 105 106 DECLARE_PER_CPU(struct rcu_data, rcu_data); ··· 286 285 extern __deprecated_for_modules void synchronize_kernel(void); 287 286 extern void synchronize_rcu(void); 288 287 void synchronize_idle(void); 288 + extern void rcu_barrier(void); 289 289 290 290 #endif /* __KERNEL__ */ 291 291 #endif /* __LINUX_RCUPDATE_H */
+3
include/linux/sysctl.h
··· 670 670 NET_DECNET_DST_GC_INTERVAL = 9, 671 671 NET_DECNET_CONF = 10, 672 672 NET_DECNET_NO_FC_MAX_CWND = 11, 673 + NET_DECNET_MEM = 12, 674 + NET_DECNET_RMEM = 13, 675 + NET_DECNET_WMEM = 14, 673 676 NET_DECNET_DEBUG_LEVEL = 255 674 677 }; 675 678
+1
include/linux/time.h
··· 95 95 extern int do_setitimer(int which, struct itimerval *value, struct itimerval *ovalue); 96 96 extern int do_getitimer(int which, struct itimerval *value); 97 97 extern void getnstimeofday (struct timespec *tv); 98 + extern void getnstimestamp(struct timespec *ts); 98 99 99 100 extern struct timespec timespec_trunc(struct timespec t, unsigned gran); 100 101
+3 -3
include/media/saa7146.h
··· 14 14 #include <linux/vmalloc.h> /* for vmalloc() */ 15 15 #include <linux/mm.h> /* for vmalloc_to_page() */ 16 16 17 - #define SAA7146_VERSION_CODE 0x000500 /* 0.5.0 */ 17 + #define SAA7146_VERSION_CODE 0x000500 /* 0.5.0 */ 18 18 19 19 #define saa7146_write(sxy,adr,dat) writel((dat),(sxy->mem+(adr))) 20 20 #define saa7146_read(sxy,adr) readl(sxy->mem+(adr)) ··· 112 112 113 113 /* different device locks */ 114 114 spinlock_t slock; 115 - struct semaphore lock; 115 + struct semaphore lock; 116 116 117 117 unsigned char __iomem *mem; /* pointer to mapped IO memory */ 118 118 int revision; /* chip revision; needed for bug-workarounds*/ ··· 133 133 void (*vv_callback)(struct saa7146_dev *dev, unsigned long status); 134 134 135 135 /* i2c-stuff */ 136 - struct semaphore i2c_lock; 136 + struct semaphore i2c_lock; 137 137 u32 i2c_bitrate; 138 138 struct saa7146_dma d_i2c; /* pointer to i2c memory */ 139 139 wait_queue_head_t i2c_wq;
+5 -5
include/media/saa7146_vv.h
··· 113 113 /* vbi capture */ 114 114 struct saa7146_dmaqueue vbi_q; 115 115 /* vbi workaround interrupt queue */ 116 - wait_queue_head_t vbi_wq; 116 + wait_queue_head_t vbi_wq; 117 117 int vbi_fieldcount; 118 118 struct saa7146_fh *vbi_streaming; 119 119 ··· 181 181 }; 182 182 183 183 struct saa7146_use_ops { 184 - void (*init)(struct saa7146_dev *, struct saa7146_vv *); 185 - int(*open)(struct saa7146_dev *, struct file *); 186 - void (*release)(struct saa7146_dev *, struct file *); 187 - void (*irq_done)(struct saa7146_dev *, unsigned long status); 184 + void (*init)(struct saa7146_dev *, struct saa7146_vv *); 185 + int(*open)(struct saa7146_dev *, struct file *); 186 + void (*release)(struct saa7146_dev *, struct file *); 187 + void (*irq_done)(struct saa7146_dev *, unsigned long status); 188 188 ssize_t (*read)(struct file *, char __user *, size_t, loff_t *); 189 189 }; 190 190
+4
include/net/dn.h
··· 234 234 extern int decnet_dr_count; 235 235 extern int decnet_no_fc_max_cwnd; 236 236 237 + extern int sysctl_decnet_mem[3]; 238 + extern int sysctl_decnet_wmem[3]; 239 + extern int sysctl_decnet_rmem[3]; 240 + 237 241 #endif /* _NET_DN_H */
+2 -2
init/Kconfig
··· 206 206 outside the kernel tree does. Such modules require Y here. 207 207 208 208 config KOBJECT_UEVENT 209 - bool "Kernel Userspace Events" 209 + bool "Kernel Userspace Events" if EMBEDDED 210 210 depends on NET 211 211 default y 212 212 help ··· 339 339 support for epoll family of system calls. 340 340 341 341 config CC_OPTIMIZE_FOR_SIZE 342 - bool "Optimize for size" if EMBEDDED 342 + bool "Optimize for size" 343 343 default y if ARM || H8300 344 344 help 345 345 Enabling this option will pass "-Os" instead of "-O2" to gcc
+3 -1
kernel/audit.c
··· 291 291 set_current_state(TASK_INTERRUPTIBLE); 292 292 add_wait_queue(&kauditd_wait, &wait); 293 293 294 - if (!skb_queue_len(&audit_skb_queue)) 294 + if (!skb_queue_len(&audit_skb_queue)) { 295 + try_to_freeze(); 295 296 schedule(); 297 + } 296 298 297 299 __set_current_state(TASK_RUNNING); 298 300 remove_wait_queue(&kauditd_wait, &wait);
+30 -6
kernel/kprobes.c
··· 246 246 return ret; 247 247 } 248 248 249 + /* Walks the list and increments nmissed count for multiprobe case */ 250 + void __kprobes kprobes_inc_nmissed_count(struct kprobe *p) 251 + { 252 + struct kprobe *kp; 253 + if (p->pre_handler != aggr_pre_handler) { 254 + p->nmissed++; 255 + } else { 256 + list_for_each_entry_rcu(kp, &p->list, list) 257 + kp->nmissed++; 258 + } 259 + return; 260 + } 261 + 249 262 /* Called with kretprobe_lock held */ 250 263 struct kretprobe_instance __kprobes *get_free_rp_inst(struct kretprobe *rp) 251 264 { ··· 412 399 INIT_LIST_HEAD(&ap->list); 413 400 list_add_rcu(&p->list, &ap->list); 414 401 415 - INIT_HLIST_NODE(&ap->hlist); 416 - hlist_del_rcu(&p->hlist); 417 - hlist_add_head_rcu(&ap->hlist, 418 - &kprobe_table[hash_ptr(ap->addr, KPROBE_HASH_BITS)]); 402 + hlist_replace_rcu(&p->hlist, &ap->hlist); 419 403 } 420 404 421 405 /* ··· 472 462 int ret = 0; 473 463 unsigned long flags = 0; 474 464 struct kprobe *old_p; 465 + struct module *mod; 475 466 476 - if ((ret = in_kprobes_functions((unsigned long) p->addr)) != 0) 477 - return ret; 467 + if ((!kernel_text_address((unsigned long) p->addr)) || 468 + in_kprobes_functions((unsigned long) p->addr)) 469 + return -EINVAL; 470 + 471 + if ((mod = module_text_address((unsigned long) p->addr)) && 472 + (unlikely(!try_module_get(mod)))) 473 + return -EINVAL; 474 + 478 475 if ((ret = arch_prepare_kprobe(p)) != 0) 479 476 goto rm_kprobe; 480 477 ··· 505 488 rm_kprobe: 506 489 if (ret == -EEXIST) 507 490 arch_remove_kprobe(p); 491 + if (ret && mod) 492 + module_put(mod); 508 493 return ret; 509 494 } 510 495 ··· 514 495 { 515 496 unsigned long flags; 516 497 struct kprobe *old_p; 498 + struct module *mod; 517 499 518 500 spin_lock_irqsave(&kprobe_lock, flags); 519 501 old_p = get_kprobe(p->addr); ··· 526 506 cleanup_kprobe(p, flags); 527 507 528 508 synchronize_sched(); 509 + 510 + if ((mod = module_text_address((unsigned long)p->addr))) 511 + module_put(mod); 512 + 529 513 if (old_p->pre_handler == aggr_pre_handler && 530 514 list_empty(&old_p->list)) 531 515 kfree(old_p);
+54 -5
kernel/rcupdate.c
··· 116 116 local_irq_restore(flags); 117 117 } 118 118 119 + static atomic_t rcu_barrier_cpu_count; 120 + static struct semaphore rcu_barrier_sema; 121 + static struct completion rcu_barrier_completion; 122 + 119 123 /** 120 124 * call_rcu_bh - Queue an RCU for invocation after a quicker grace period. 121 125 * @head: structure to be used for queueing the RCU updates. ··· 165 161 { 166 162 return rcu_ctrlblk.completed; 167 163 } 164 + 165 + static void rcu_barrier_callback(struct rcu_head *notused) 166 + { 167 + if (atomic_dec_and_test(&rcu_barrier_cpu_count)) 168 + complete(&rcu_barrier_completion); 169 + } 170 + 171 + /* 172 + * Called with preemption disabled, and from cross-cpu IRQ context. 173 + */ 174 + static void rcu_barrier_func(void *notused) 175 + { 176 + int cpu = smp_processor_id(); 177 + struct rcu_data *rdp = &per_cpu(rcu_data, cpu); 178 + struct rcu_head *head; 179 + 180 + head = &rdp->barrier; 181 + atomic_inc(&rcu_barrier_cpu_count); 182 + call_rcu(head, rcu_barrier_callback); 183 + } 184 + 185 + /** 186 + * rcu_barrier - Wait until all the in-flight RCUs are complete. 187 + */ 188 + void rcu_barrier(void) 189 + { 190 + BUG_ON(in_interrupt()); 191 + /* Take cpucontrol semaphore to protect against CPU hotplug */ 192 + down(&rcu_barrier_sema); 193 + init_completion(&rcu_barrier_completion); 194 + atomic_set(&rcu_barrier_cpu_count, 0); 195 + on_each_cpu(rcu_barrier_func, NULL, 0, 1); 196 + wait_for_completion(&rcu_barrier_completion); 197 + up(&rcu_barrier_sema); 198 + } 199 + EXPORT_SYMBOL_GPL(rcu_barrier); 168 200 169 201 /* 170 202 * Invoke the completed RCU callbacks. They are expected to be in ··· 257 217 258 218 if (rcp->next_pending && 259 219 rcp->completed == rcp->cur) { 260 - /* Can't change, since spin lock held. */ 261 - cpus_andnot(rsp->cpumask, cpu_online_map, nohz_cpu_mask); 262 - 263 220 rcp->next_pending = 0; 264 - /* next_pending == 0 must be visible in __rcu_process_callbacks() 265 - * before it can see new value of cur. 221 + /* 222 + * next_pending == 0 must be visible in 223 + * __rcu_process_callbacks() before it can see new value of cur. 266 224 */ 267 225 smp_wmb(); 268 226 rcp->cur++; 227 + 228 + /* 229 + * Accessing nohz_cpu_mask before incrementing rcp->cur needs a 230 + * Barrier Otherwise it can cause tickless idle CPUs to be 231 + * included in rsp->cpumask, which will extend graceperiods 232 + * unnecessarily. 233 + */ 234 + smp_mb(); 235 + cpus_andnot(rsp->cpumask, cpu_online_map, nohz_cpu_mask); 236 + 269 237 } 270 238 } 271 239 ··· 505 457 */ 506 458 void __init rcu_init(void) 507 459 { 460 + sema_init(&rcu_barrier_sema, 1); 508 461 rcu_cpu_notify(&rcu_nb, CPU_UP_PREPARE, 509 462 (void *)(long)smp_processor_id()); 510 463 /* Register notifier for non-boot CPUs */
+1 -2
kernel/rcutorture.c
··· 409 409 stats_task = NULL; 410 410 411 411 /* Wait for all RCU callbacks to fire. */ 412 + rcu_barrier(); 412 413 413 - for (i = 0; i < RCU_TORTURE_PIPE_LEN; i++) 414 - synchronize_rcu(); 415 414 rcu_torture_stats_print(); /* -After- the stats thread is stopped! */ 416 415 printk(KERN_ALERT TORTURE_FLAG 417 416 "--- End of test: %s\n",
+2 -1
kernel/sys.c
··· 32 32 33 33 #include <linux/compat.h> 34 34 #include <linux/syscalls.h> 35 + #include <linux/kprobes.h> 35 36 36 37 #include <asm/uaccess.h> 37 38 #include <asm/io.h> ··· 169 168 * of the last notifier function called. 170 169 */ 171 170 172 - int notifier_call_chain(struct notifier_block **n, unsigned long val, void *v) 171 + int __kprobes notifier_call_chain(struct notifier_block **n, unsigned long val, void *v) 173 172 { 174 173 int ret=NOTIFY_DONE; 175 174 struct notifier_block *nb = *n;
+22
kernel/time.c
··· 561 561 EXPORT_SYMBOL_GPL(getnstimeofday); 562 562 #endif 563 563 564 + void getnstimestamp(struct timespec *ts) 565 + { 566 + unsigned int seq; 567 + struct timespec wall2mono; 568 + 569 + /* synchronize with settimeofday() changes */ 570 + do { 571 + seq = read_seqbegin(&xtime_lock); 572 + getnstimeofday(ts); 573 + wall2mono = wall_to_monotonic; 574 + } while(unlikely(read_seqretry(&xtime_lock, seq))); 575 + 576 + /* adjust to monotonicaly-increasing values */ 577 + ts->tv_sec += wall2mono.tv_sec; 578 + ts->tv_nsec += wall2mono.tv_nsec; 579 + while (unlikely(ts->tv_nsec >= NSEC_PER_SEC)) { 580 + ts->tv_nsec -= NSEC_PER_SEC; 581 + ts->tv_sec++; 582 + } 583 + } 584 + EXPORT_SYMBOL_GPL(getnstimestamp); 585 + 564 586 #if (BITS_PER_LONG < 64) 565 587 u64 get_jiffies_64(void) 566 588 {
+2
mm/bootmem.c
··· 204 204 unsigned long j; 205 205 i = find_next_zero_bit(bdata->node_bootmem_map, eidx, i); 206 206 i = ALIGN(i, incr); 207 + if (i >= eidx) 208 + break; 207 209 if (test_bit(i, bdata->node_bootmem_map)) 208 210 continue; 209 211 for (j = i + 1; j < i + areasize; ++j) {
+19 -50
mm/memory.c
··· 349 349 dump_stack(); 350 350 } 351 351 352 + static inline int is_cow_mapping(unsigned int flags) 353 + { 354 + return (flags & (VM_SHARED | VM_MAYWRITE)) == VM_MAYWRITE; 355 + } 356 + 352 357 /* 353 358 * This function gets the "struct page" associated with a pte. 354 359 * ··· 381 376 if (vma->vm_flags & VM_PFNMAP) { 382 377 unsigned long off = (addr - vma->vm_start) >> PAGE_SHIFT; 383 378 if (pfn == vma->vm_pgoff + off) 379 + return NULL; 380 + if (!is_cow_mapping(vma->vm_flags)) 384 381 return NULL; 385 382 } 386 383 ··· 444 437 * If it's a COW mapping, write protect it both 445 438 * in the parent and the child 446 439 */ 447 - if ((vm_flags & (VM_SHARED | VM_MAYWRITE)) == VM_MAYWRITE) { 440 + if (is_cow_mapping(vm_flags)) { 448 441 ptep_set_wrprotect(src_mm, addr, src_pte); 449 442 pte = *src_pte; 450 443 } ··· 1009 1002 continue; 1010 1003 } 1011 1004 1012 - if (!vma || (vma->vm_flags & VM_IO) 1005 + if (!vma || (vma->vm_flags & (VM_IO | VM_PFNMAP)) 1013 1006 || !(vm_flags & vma->vm_flags)) 1014 1007 return i ? : -EFAULT; 1015 1008 ··· 1233 1226 EXPORT_SYMBOL(vm_insert_page); 1234 1227 1235 1228 /* 1236 - * Somebody does a pfn remapping that doesn't actually work as a vma. 1237 - * 1238 - * Do it as individual pages instead, and warn about it. It's bad form, 1239 - * and very inefficient. 1240 - */ 1241 - static int incomplete_pfn_remap(struct vm_area_struct *vma, 1242 - unsigned long start, unsigned long end, 1243 - unsigned long pfn, pgprot_t prot) 1244 - { 1245 - static int warn = 10; 1246 - struct page *page; 1247 - int retval; 1248 - 1249 - if (!(vma->vm_flags & VM_INCOMPLETE)) { 1250 - if (warn) { 1251 - warn--; 1252 - printk("%s does an incomplete pfn remapping", current->comm); 1253 - dump_stack(); 1254 - } 1255 - } 1256 - vma->vm_flags |= VM_INCOMPLETE | VM_IO | VM_RESERVED; 1257 - 1258 - if (start < vma->vm_start || end > vma->vm_end) 1259 - return -EINVAL; 1260 - 1261 - if (!pfn_valid(pfn)) 1262 - return -EINVAL; 1263 - 1264 - page = pfn_to_page(pfn); 1265 - if (!PageReserved(page)) 1266 - return -EINVAL; 1267 - 1268 - retval = 0; 1269 - while (start < end) { 1270 - retval = insert_page(vma->vm_mm, start, page, prot); 1271 - if (retval < 0) 1272 - break; 1273 - start += PAGE_SIZE; 1274 - page++; 1275 - } 1276 - return retval; 1277 - } 1278 - 1279 - /* 1280 1229 * maps a range of physical memory into the requested pages. the old 1281 1230 * mappings are removed. any references to nonexistent pages results 1282 1231 * in null mappings (currently treated as "copy-on-access") ··· 1306 1343 struct mm_struct *mm = vma->vm_mm; 1307 1344 int err; 1308 1345 1309 - if (addr != vma->vm_start || end != vma->vm_end) 1310 - return incomplete_pfn_remap(vma, addr, end, pfn, prot); 1311 - 1312 1346 /* 1313 1347 * Physically remapped pages are special. Tell the 1314 1348 * rest of the world about it: ··· 1319 1359 * VM_PFNMAP tells the core MM that the base pages are just 1320 1360 * raw PFN mappings, and do not have a "struct page" associated 1321 1361 * with them. 1362 + * 1363 + * There's a horrible special case to handle copy-on-write 1364 + * behaviour that some programs depend on. We mark the "original" 1365 + * un-COW'ed pages by matching them up with "vma->vm_pgoff". 1322 1366 */ 1367 + if (is_cow_mapping(vma->vm_flags)) { 1368 + if (addr != vma->vm_start || end != vma->vm_end) 1369 + return -EINVAL; 1370 + vma->vm_pgoff = pfn; 1371 + } 1372 + 1323 1373 vma->vm_flags |= VM_IO | VM_RESERVED | VM_PFNMAP; 1324 - vma->vm_pgoff = pfn; 1325 1374 1326 1375 BUG_ON(addr >= end); 1327 1376 pfn -= addr >> PAGE_SHIFT;
+1 -1
mm/memory_hotplug.c
··· 104 104 pgdat->node_start_pfn = start_pfn; 105 105 106 106 if (end_pfn > old_pgdat_end_pfn) 107 - pgdat->node_spanned_pages = end_pfn - pgdat->node_spanned_pages; 107 + pgdat->node_spanned_pages = end_pfn - pgdat->node_start_pfn; 108 108 } 109 109 110 110 int online_pages(unsigned long pfn, unsigned long nr_pages)
+2 -1
net/core/dev.c
··· 1113 1113 void netdev_rx_csum_fault(struct net_device *dev) 1114 1114 { 1115 1115 if (net_ratelimit()) { 1116 - printk(KERN_ERR "%s: hw csum failure.\n", dev->name); 1116 + printk(KERN_ERR "%s: hw csum failure.\n", 1117 + dev ? dev->name : "<unknown>"); 1117 1118 dump_stack(); 1118 1119 } 1119 1120 }
+1 -1
net/core/skbuff.c
··· 1725 1725 * of the skb if any page alloc fails user this procedure returns -ENOMEM 1726 1726 */ 1727 1727 int skb_append_datato_frags(struct sock *sk, struct sk_buff *skb, 1728 - int getfrag(void *from, char *to, int offset, 1728 + int (*getfrag)(void *from, char *to, int offset, 1729 1729 int len, int odd, struct sk_buff *skb), 1730 1730 void *from, int length) 1731 1731 {
+22 -3
net/decnet/af_decnet.c
··· 153 153 static DEFINE_RWLOCK(dn_hash_lock); 154 154 static struct hlist_head dn_sk_hash[DN_SK_HASH_SIZE]; 155 155 static struct hlist_head dn_wild_sk; 156 + static atomic_t decnet_memory_allocated; 156 157 157 158 static int __dn_setsockopt(struct socket *sock, int level, int optname, char __user *optval, int optlen, int flags); 158 159 static int __dn_getsockopt(struct socket *sock, int level, int optname, char __user *optval, int __user *optlen, int flags); ··· 447 446 dst_release(xchg(&sk->sk_dst_cache, NULL)); 448 447 } 449 448 449 + static int dn_memory_pressure; 450 + 451 + static void dn_enter_memory_pressure(void) 452 + { 453 + if (!dn_memory_pressure) { 454 + dn_memory_pressure = 1; 455 + } 456 + } 457 + 450 458 static struct proto dn_proto = { 451 - .name = "DECNET", 452 - .owner = THIS_MODULE, 453 - .obj_size = sizeof(struct dn_sock), 459 + .name = "NSP", 460 + .owner = THIS_MODULE, 461 + .enter_memory_pressure = dn_enter_memory_pressure, 462 + .memory_pressure = &dn_memory_pressure, 463 + .memory_allocated = &decnet_memory_allocated, 464 + .sysctl_mem = sysctl_decnet_mem, 465 + .sysctl_wmem = sysctl_decnet_wmem, 466 + .sysctl_rmem = sysctl_decnet_rmem, 467 + .max_header = DN_MAX_NSP_DATA_HEADER + 64, 468 + .obj_size = sizeof(struct dn_sock), 454 469 }; 455 470 456 471 static struct sock *dn_alloc_sock(struct socket *sock, gfp_t gfp) ··· 487 470 sk->sk_family = PF_DECnet; 488 471 sk->sk_protocol = 0; 489 472 sk->sk_allocation = gfp; 473 + sk->sk_sndbuf = sysctl_decnet_wmem[1]; 474 + sk->sk_rcvbuf = sysctl_decnet_rmem[1]; 490 475 491 476 /* Initialization of DECnet Session Control Port */ 492 477 scp = DN_SK(sk);
+33
net/decnet/sysctl_net_decnet.c
··· 10 10 * 11 11 * Changes: 12 12 * Steve Whitehouse - C99 changes and default device handling 13 + * Steve Whitehouse - Memory buffer settings, like the tcp ones 13 14 * 14 15 */ 15 16 #include <linux/config.h> ··· 37 36 int decnet_dr_count = 3; 38 37 int decnet_log_martians = 1; 39 38 int decnet_no_fc_max_cwnd = NSP_MIN_WINDOW; 39 + 40 + /* Reasonable defaults, I hope, based on tcp's defaults */ 41 + int sysctl_decnet_mem[3] = { 768 << 3, 1024 << 3, 1536 << 3 }; 42 + int sysctl_decnet_wmem[3] = { 4 * 1024, 16 * 1024, 128 * 1024 }; 43 + int sysctl_decnet_rmem[3] = { 4 * 1024, 87380, 87380 * 2 }; 40 44 41 45 #ifdef CONFIG_SYSCTL 42 46 extern int decnet_dst_gc_interval; ··· 434 428 .extra1 = &min_decnet_no_fc_max_cwnd, 435 429 .extra2 = &max_decnet_no_fc_max_cwnd 436 430 }, 431 + { 432 + .ctl_name = NET_DECNET_MEM, 433 + .procname = "decnet_mem", 434 + .data = &sysctl_decnet_mem, 435 + .maxlen = sizeof(sysctl_decnet_mem), 436 + .mode = 0644, 437 + .proc_handler = &proc_dointvec, 438 + .strategy = &sysctl_intvec, 439 + }, 440 + { 441 + .ctl_name = NET_DECNET_RMEM, 442 + .procname = "decnet_rmem", 443 + .data = &sysctl_decnet_rmem, 444 + .maxlen = sizeof(sysctl_decnet_rmem), 445 + .mode = 0644, 446 + .proc_handler = &proc_dointvec, 447 + .strategy = &sysctl_intvec, 448 + }, 449 + { 450 + .ctl_name = NET_DECNET_WMEM, 451 + .procname = "decnet_wmem", 452 + .data = &sysctl_decnet_wmem, 453 + .maxlen = sizeof(sysctl_decnet_wmem), 454 + .mode = 0644, 455 + .proc_handler = &proc_dointvec, 456 + .strategy = &sysctl_intvec, 457 + }, 437 458 { 438 459 .ctl_name = NET_DECNET_DEBUG_LEVEL, 439 460 .procname = "debug",
+1 -1
net/ieee80211/Kconfig
··· 55 55 56 56 config IEEE80211_CRYPT_TKIP 57 57 tristate "IEEE 802.11i TKIP encryption" 58 - depends on IEEE80211 58 + depends on IEEE80211 && NET_RADIO 59 59 select CRYPTO 60 60 select CRYPTO_MICHAEL_MIC 61 61 ---help---
+4 -4
net/ipv4/netfilter/Kconfig
··· 56 56 instead of the individual packets. 57 57 58 58 config IP_NF_CONNTRACK_EVENTS 59 - bool "Connection tracking events" 60 - depends on IP_NF_CONNTRACK 59 + bool "Connection tracking events (EXPERIMENTAL)" 60 + depends on EXPERIMENTAL && IP_NF_CONNTRACK 61 61 help 62 62 If this option is enabled, the connection tracking code will 63 63 provide a notifier chain that can be used by other kernel code ··· 66 66 IF unsure, say `N'. 67 67 68 68 config IP_NF_CONNTRACK_NETLINK 69 - tristate 'Connection tracking netlink interface' 70 - depends on IP_NF_CONNTRACK && NETFILTER_NETLINK 69 + tristate 'Connection tracking netlink interface (EXPERIMENTAL)' 70 + depends on EXPERIMENTAL && IP_NF_CONNTRACK && NETFILTER_NETLINK 71 71 depends on IP_NF_CONNTRACK!=y || NETFILTER_NETLINK!=m 72 72 help 73 73 This option enables support for a netlink-based userspace interface
+11 -9
net/ipv4/netfilter/ip_conntrack_core.c
··· 1345 1345 return 1; 1346 1346 } 1347 1347 1348 + void ip_conntrack_flush(void) 1349 + { 1350 + ip_ct_iterate_cleanup(kill_all, NULL); 1351 + } 1352 + 1348 1353 static void free_conntrack_hash(struct list_head *hash, int vmalloced,int size) 1349 1354 { 1350 1355 if (vmalloced) ··· 1359 1354 get_order(sizeof(struct list_head) * size)); 1360 1355 } 1361 1356 1362 - void ip_conntrack_flush(void) 1357 + /* Mishearing the voices in his head, our hero wonders how he's 1358 + supposed to kill the mall. */ 1359 + void ip_conntrack_cleanup(void) 1363 1360 { 1361 + ip_ct_attach = NULL; 1362 + 1364 1363 /* This makes sure all current packets have passed through 1365 1364 netfilter framework. Roll on, two-stage module 1366 1365 delete... */ ··· 1372 1363 1373 1364 ip_ct_event_cache_flush(); 1374 1365 i_see_dead_people: 1375 - ip_ct_iterate_cleanup(kill_all, NULL); 1366 + ip_conntrack_flush(); 1376 1367 if (atomic_read(&ip_conntrack_count) != 0) { 1377 1368 schedule(); 1378 1369 goto i_see_dead_people; ··· 1380 1371 /* wait until all references to ip_conntrack_untracked are dropped */ 1381 1372 while (atomic_read(&ip_conntrack_untracked.ct_general.use) > 1) 1382 1373 schedule(); 1383 - } 1384 1374 1385 - /* Mishearing the voices in his head, our hero wonders how he's 1386 - supposed to kill the mall. */ 1387 - void ip_conntrack_cleanup(void) 1388 - { 1389 - ip_ct_attach = NULL; 1390 - ip_conntrack_flush(); 1391 1375 kmem_cache_destroy(ip_conntrack_cachep); 1392 1376 kmem_cache_destroy(ip_conntrack_expect_cachep); 1393 1377 free_conntrack_hash(ip_conntrack_hash, ip_conntrack_vmalloc,
+5 -7
net/ipv4/netfilter/ip_conntrack_netlink.c
··· 503 503 } 504 504 505 505 static const size_t cta_min_proto[CTA_PROTO_MAX] = { 506 - [CTA_PROTO_NUM-1] = sizeof(u_int16_t), 506 + [CTA_PROTO_NUM-1] = sizeof(u_int8_t), 507 507 [CTA_PROTO_SRC_PORT-1] = sizeof(u_int16_t), 508 508 [CTA_PROTO_DST_PORT-1] = sizeof(u_int16_t), 509 509 [CTA_PROTO_ICMP_TYPE-1] = sizeof(u_int8_t), ··· 528 528 529 529 if (!tb[CTA_PROTO_NUM-1]) 530 530 return -EINVAL; 531 - tuple->dst.protonum = *(u_int16_t *)NFA_DATA(tb[CTA_PROTO_NUM-1]); 531 + tuple->dst.protonum = *(u_int8_t *)NFA_DATA(tb[CTA_PROTO_NUM-1]); 532 532 533 533 proto = ip_conntrack_proto_find_get(tuple->dst.protonum); 534 534 ··· 728 728 return -ENOENT; 729 729 } 730 730 } 731 - if (del_timer(&ct->timeout)) { 732 - ip_conntrack_put(ct); 731 + if (del_timer(&ct->timeout)) 733 732 ct->timeout.function((unsigned long)ct); 734 - return 0; 735 - } 733 + 736 734 ip_conntrack_put(ct); 737 735 DEBUGP("leaving\n"); 738 736 ··· 875 877 DEBUGP("NAT status: %lu\n", 876 878 status & (IPS_NAT_MASK | IPS_NAT_DONE_MASK)); 877 879 878 - if (ip_nat_initialized(ct, hooknum)) 880 + if (ip_nat_initialized(ct, HOOK2MANIP(hooknum))) 879 881 return -EEXIST; 880 882 ip_nat_setup_info(ct, &range, hooknum); 881 883
+2 -1
net/ipv4/netfilter/ip_conntrack_proto_tcp.c
··· 341 341 static int tcp_to_nfattr(struct sk_buff *skb, struct nfattr *nfa, 342 342 const struct ip_conntrack *ct) 343 343 { 344 - struct nfattr *nest_parms = NFA_NEST(skb, CTA_PROTOINFO_TCP); 344 + struct nfattr *nest_parms; 345 345 346 346 read_lock_bh(&tcp_lock); 347 + nest_parms = NFA_NEST(skb, CTA_PROTOINFO_TCP); 347 348 NFA_PUT(skb, CTA_PROTOINFO_TCP_STATE, sizeof(u_int8_t), 348 349 &ct->proto.tcp.state); 349 350 read_unlock_bh(&tcp_lock);
+4 -1
net/ipv4/netfilter/ip_nat_tftp.c
··· 42 42 enum ip_conntrack_info ctinfo, 43 43 struct ip_conntrack_expect *exp) 44 44 { 45 - exp->saved_proto.udp.port = exp->tuple.dst.u.tcp.port; 45 + struct ip_conntrack *ct = exp->master; 46 + 47 + exp->saved_proto.udp.port 48 + = ct->tuplehash[IP_CT_DIR_ORIGINAL].tuple.src.u.udp.port; 46 49 exp->dir = IP_CT_DIR_REPLY; 47 50 exp->expectfn = ip_nat_follow_master; 48 51 if (ip_conntrack_expect_related(exp) != 0)
+130 -115
net/ipv4/tcp_output.c
··· 262 262 * We are working here with either a clone of the original 263 263 * SKB, or a fresh unique copy made by the retransmit engine. 264 264 */ 265 - static int tcp_transmit_skb(struct sock *sk, struct sk_buff *skb) 265 + static int tcp_transmit_skb(struct sock *sk, struct sk_buff *skb, int clone_it, gfp_t gfp_mask) 266 266 { 267 - if (skb != NULL) { 268 - const struct inet_connection_sock *icsk = inet_csk(sk); 269 - struct inet_sock *inet = inet_sk(sk); 270 - struct tcp_sock *tp = tcp_sk(sk); 271 - struct tcp_skb_cb *tcb = TCP_SKB_CB(skb); 272 - int tcp_header_size = tp->tcp_header_len; 273 - struct tcphdr *th; 274 - int sysctl_flags; 275 - int err; 267 + const struct inet_connection_sock *icsk = inet_csk(sk); 268 + struct inet_sock *inet; 269 + struct tcp_sock *tp; 270 + struct tcp_skb_cb *tcb; 271 + int tcp_header_size; 272 + struct tcphdr *th; 273 + int sysctl_flags; 274 + int err; 276 275 277 - BUG_ON(!tcp_skb_pcount(skb)); 276 + BUG_ON(!skb || !tcp_skb_pcount(skb)); 277 + 278 + /* If congestion control is doing timestamping, we must 279 + * take such a timestamp before we potentially clone/copy. 280 + */ 281 + if (icsk->icsk_ca_ops->rtt_sample) 282 + __net_timestamp(skb); 283 + 284 + if (likely(clone_it)) { 285 + if (unlikely(skb_cloned(skb))) 286 + skb = pskb_copy(skb, gfp_mask); 287 + else 288 + skb = skb_clone(skb, gfp_mask); 289 + if (unlikely(!skb)) 290 + return -ENOBUFS; 291 + } 292 + 293 + inet = inet_sk(sk); 294 + tp = tcp_sk(sk); 295 + tcb = TCP_SKB_CB(skb); 296 + tcp_header_size = tp->tcp_header_len; 278 297 279 298 #define SYSCTL_FLAG_TSTAMPS 0x1 280 299 #define SYSCTL_FLAG_WSCALE 0x2 281 300 #define SYSCTL_FLAG_SACK 0x4 282 301 283 - /* If congestion control is doing timestamping */ 284 - if (icsk->icsk_ca_ops->rtt_sample) 285 - __net_timestamp(skb); 286 - 287 - sysctl_flags = 0; 288 - if (tcb->flags & TCPCB_FLAG_SYN) { 289 - tcp_header_size = sizeof(struct tcphdr) + TCPOLEN_MSS; 290 - if(sysctl_tcp_timestamps) { 291 - tcp_header_size += TCPOLEN_TSTAMP_ALIGNED; 292 - sysctl_flags |= SYSCTL_FLAG_TSTAMPS; 293 - } 294 - if(sysctl_tcp_window_scaling) { 295 - tcp_header_size += TCPOLEN_WSCALE_ALIGNED; 296 - sysctl_flags |= SYSCTL_FLAG_WSCALE; 297 - } 298 - if(sysctl_tcp_sack) { 299 - sysctl_flags |= SYSCTL_FLAG_SACK; 300 - if(!(sysctl_flags & SYSCTL_FLAG_TSTAMPS)) 301 - tcp_header_size += TCPOLEN_SACKPERM_ALIGNED; 302 - } 303 - } else if (tp->rx_opt.eff_sacks) { 304 - /* A SACK is 2 pad bytes, a 2 byte header, plus 305 - * 2 32-bit sequence numbers for each SACK block. 306 - */ 307 - tcp_header_size += (TCPOLEN_SACK_BASE_ALIGNED + 308 - (tp->rx_opt.eff_sacks * TCPOLEN_SACK_PERBLOCK)); 302 + sysctl_flags = 0; 303 + if (unlikely(tcb->flags & TCPCB_FLAG_SYN)) { 304 + tcp_header_size = sizeof(struct tcphdr) + TCPOLEN_MSS; 305 + if(sysctl_tcp_timestamps) { 306 + tcp_header_size += TCPOLEN_TSTAMP_ALIGNED; 307 + sysctl_flags |= SYSCTL_FLAG_TSTAMPS; 309 308 } 310 - 311 - if (tcp_packets_in_flight(tp) == 0) 312 - tcp_ca_event(sk, CA_EVENT_TX_START); 313 - 314 - th = (struct tcphdr *) skb_push(skb, tcp_header_size); 315 - skb->h.th = th; 316 - skb_set_owner_w(skb, sk); 317 - 318 - /* Build TCP header and checksum it. */ 319 - th->source = inet->sport; 320 - th->dest = inet->dport; 321 - th->seq = htonl(tcb->seq); 322 - th->ack_seq = htonl(tp->rcv_nxt); 323 - *(((__u16 *)th) + 6) = htons(((tcp_header_size >> 2) << 12) | tcb->flags); 324 - if (tcb->flags & TCPCB_FLAG_SYN) { 325 - /* RFC1323: The window in SYN & SYN/ACK segments 326 - * is never scaled. 327 - */ 328 - th->window = htons(tp->rcv_wnd); 329 - } else { 330 - th->window = htons(tcp_select_window(sk)); 309 + if (sysctl_tcp_window_scaling) { 310 + tcp_header_size += TCPOLEN_WSCALE_ALIGNED; 311 + sysctl_flags |= SYSCTL_FLAG_WSCALE; 331 312 } 332 - th->check = 0; 333 - th->urg_ptr = 0; 334 - 335 - if (tp->urg_mode && 336 - between(tp->snd_up, tcb->seq+1, tcb->seq+0xFFFF)) { 337 - th->urg_ptr = htons(tp->snd_up-tcb->seq); 338 - th->urg = 1; 313 + if (sysctl_tcp_sack) { 314 + sysctl_flags |= SYSCTL_FLAG_SACK; 315 + if (!(sysctl_flags & SYSCTL_FLAG_TSTAMPS)) 316 + tcp_header_size += TCPOLEN_SACKPERM_ALIGNED; 339 317 } 340 - 341 - if (tcb->flags & TCPCB_FLAG_SYN) { 342 - tcp_syn_build_options((__u32 *)(th + 1), 343 - tcp_advertise_mss(sk), 344 - (sysctl_flags & SYSCTL_FLAG_TSTAMPS), 345 - (sysctl_flags & SYSCTL_FLAG_SACK), 346 - (sysctl_flags & SYSCTL_FLAG_WSCALE), 347 - tp->rx_opt.rcv_wscale, 348 - tcb->when, 349 - tp->rx_opt.ts_recent); 350 - } else { 351 - tcp_build_and_update_options((__u32 *)(th + 1), 352 - tp, tcb->when); 353 - 354 - TCP_ECN_send(sk, tp, skb, tcp_header_size); 355 - } 356 - tp->af_specific->send_check(sk, th, skb->len, skb); 357 - 358 - if (tcb->flags & TCPCB_FLAG_ACK) 359 - tcp_event_ack_sent(sk, tcp_skb_pcount(skb)); 360 - 361 - if (skb->len != tcp_header_size) 362 - tcp_event_data_sent(tp, skb, sk); 363 - 364 - TCP_INC_STATS(TCP_MIB_OUTSEGS); 365 - 366 - err = tp->af_specific->queue_xmit(skb, 0); 367 - if (err <= 0) 368 - return err; 369 - 370 - tcp_enter_cwr(sk); 371 - 372 - /* NET_XMIT_CN is special. It does not guarantee, 373 - * that this packet is lost. It tells that device 374 - * is about to start to drop packets or already 375 - * drops some packets of the same priority and 376 - * invokes us to send less aggressively. 318 + } else if (unlikely(tp->rx_opt.eff_sacks)) { 319 + /* A SACK is 2 pad bytes, a 2 byte header, plus 320 + * 2 32-bit sequence numbers for each SACK block. 377 321 */ 378 - return err == NET_XMIT_CN ? 0 : err; 322 + tcp_header_size += (TCPOLEN_SACK_BASE_ALIGNED + 323 + (tp->rx_opt.eff_sacks * 324 + TCPOLEN_SACK_PERBLOCK)); 379 325 } 380 - return -ENOBUFS; 326 + 327 + if (tcp_packets_in_flight(tp) == 0) 328 + tcp_ca_event(sk, CA_EVENT_TX_START); 329 + 330 + th = (struct tcphdr *) skb_push(skb, tcp_header_size); 331 + skb->h.th = th; 332 + skb_set_owner_w(skb, sk); 333 + 334 + /* Build TCP header and checksum it. */ 335 + th->source = inet->sport; 336 + th->dest = inet->dport; 337 + th->seq = htonl(tcb->seq); 338 + th->ack_seq = htonl(tp->rcv_nxt); 339 + *(((__u16 *)th) + 6) = htons(((tcp_header_size >> 2) << 12) | 340 + tcb->flags); 341 + 342 + if (unlikely(tcb->flags & TCPCB_FLAG_SYN)) { 343 + /* RFC1323: The window in SYN & SYN/ACK segments 344 + * is never scaled. 345 + */ 346 + th->window = htons(tp->rcv_wnd); 347 + } else { 348 + th->window = htons(tcp_select_window(sk)); 349 + } 350 + th->check = 0; 351 + th->urg_ptr = 0; 352 + 353 + if (unlikely(tp->urg_mode && 354 + between(tp->snd_up, tcb->seq+1, tcb->seq+0xFFFF))) { 355 + th->urg_ptr = htons(tp->snd_up-tcb->seq); 356 + th->urg = 1; 357 + } 358 + 359 + if (unlikely(tcb->flags & TCPCB_FLAG_SYN)) { 360 + tcp_syn_build_options((__u32 *)(th + 1), 361 + tcp_advertise_mss(sk), 362 + (sysctl_flags & SYSCTL_FLAG_TSTAMPS), 363 + (sysctl_flags & SYSCTL_FLAG_SACK), 364 + (sysctl_flags & SYSCTL_FLAG_WSCALE), 365 + tp->rx_opt.rcv_wscale, 366 + tcb->when, 367 + tp->rx_opt.ts_recent); 368 + } else { 369 + tcp_build_and_update_options((__u32 *)(th + 1), 370 + tp, tcb->when); 371 + TCP_ECN_send(sk, tp, skb, tcp_header_size); 372 + } 373 + 374 + tp->af_specific->send_check(sk, th, skb->len, skb); 375 + 376 + if (likely(tcb->flags & TCPCB_FLAG_ACK)) 377 + tcp_event_ack_sent(sk, tcp_skb_pcount(skb)); 378 + 379 + if (skb->len != tcp_header_size) 380 + tcp_event_data_sent(tp, skb, sk); 381 + 382 + TCP_INC_STATS(TCP_MIB_OUTSEGS); 383 + 384 + err = tp->af_specific->queue_xmit(skb, 0); 385 + if (unlikely(err <= 0)) 386 + return err; 387 + 388 + tcp_enter_cwr(sk); 389 + 390 + /* NET_XMIT_CN is special. It does not guarantee, 391 + * that this packet is lost. It tells that device 392 + * is about to start to drop packets or already 393 + * drops some packets of the same priority and 394 + * invokes us to send less aggressively. 395 + */ 396 + return err == NET_XMIT_CN ? 0 : err; 397 + 381 398 #undef SYSCTL_FLAG_TSTAMPS 382 399 #undef SYSCTL_FLAG_WSCALE 383 400 #undef SYSCTL_FLAG_SACK ··· 1053 1036 1054 1037 TCP_SKB_CB(skb)->when = tcp_time_stamp; 1055 1038 1056 - if (unlikely(tcp_transmit_skb(sk, skb_clone(skb, GFP_ATOMIC)))) 1039 + if (unlikely(tcp_transmit_skb(sk, skb, 1, GFP_ATOMIC))) 1057 1040 break; 1058 1041 1059 1042 /* Advance the send_head. This one is sent out. ··· 1126 1109 /* Send it out now. */ 1127 1110 TCP_SKB_CB(skb)->when = tcp_time_stamp; 1128 1111 1129 - if (likely(!tcp_transmit_skb(sk, skb_clone(skb, sk->sk_allocation)))) { 1112 + if (likely(!tcp_transmit_skb(sk, skb, 1, sk->sk_allocation))) { 1130 1113 update_send_head(sk, tp, skb); 1131 1114 tcp_cwnd_validate(sk, tp); 1132 1115 return; ··· 1446 1429 */ 1447 1430 TCP_SKB_CB(skb)->when = tcp_time_stamp; 1448 1431 1449 - err = tcp_transmit_skb(sk, (skb_cloned(skb) ? 1450 - pskb_copy(skb, GFP_ATOMIC): 1451 - skb_clone(skb, GFP_ATOMIC))); 1432 + err = tcp_transmit_skb(sk, skb, 1, GFP_ATOMIC); 1452 1433 1453 1434 if (err == 0) { 1454 1435 /* Update global TCP statistics. */ ··· 1680 1665 TCP_SKB_CB(skb)->seq = tcp_acceptable_seq(sk, tp); 1681 1666 TCP_SKB_CB(skb)->end_seq = TCP_SKB_CB(skb)->seq; 1682 1667 TCP_SKB_CB(skb)->when = tcp_time_stamp; 1683 - if (tcp_transmit_skb(sk, skb)) 1668 + if (tcp_transmit_skb(sk, skb, 0, priority)) 1684 1669 NET_INC_STATS(LINUX_MIB_TCPABORTFAILED); 1685 1670 } 1686 1671 ··· 1715 1700 TCP_ECN_send_synack(tcp_sk(sk), skb); 1716 1701 } 1717 1702 TCP_SKB_CB(skb)->when = tcp_time_stamp; 1718 - return tcp_transmit_skb(sk, skb_clone(skb, GFP_ATOMIC)); 1703 + return tcp_transmit_skb(sk, skb, 1, GFP_ATOMIC); 1719 1704 } 1720 1705 1721 1706 /* ··· 1876 1861 __skb_queue_tail(&sk->sk_write_queue, buff); 1877 1862 sk_charge_skb(sk, buff); 1878 1863 tp->packets_out += tcp_skb_pcount(buff); 1879 - tcp_transmit_skb(sk, skb_clone(buff, GFP_KERNEL)); 1864 + tcp_transmit_skb(sk, buff, 1, GFP_KERNEL); 1880 1865 TCP_INC_STATS(TCP_MIB_ACTIVEOPENS); 1881 1866 1882 1867 /* Timer for repeating the SYN until an answer. */ ··· 1972 1957 /* Send it off, this clears delayed acks for us. */ 1973 1958 TCP_SKB_CB(buff)->seq = TCP_SKB_CB(buff)->end_seq = tcp_acceptable_seq(sk, tp); 1974 1959 TCP_SKB_CB(buff)->when = tcp_time_stamp; 1975 - tcp_transmit_skb(sk, buff); 1960 + tcp_transmit_skb(sk, buff, 0, GFP_ATOMIC); 1976 1961 } 1977 1962 } 1978 1963 ··· 2012 1997 TCP_SKB_CB(skb)->seq = urgent ? tp->snd_una : tp->snd_una - 1; 2013 1998 TCP_SKB_CB(skb)->end_seq = TCP_SKB_CB(skb)->seq; 2014 1999 TCP_SKB_CB(skb)->when = tcp_time_stamp; 2015 - return tcp_transmit_skb(sk, skb); 2000 + return tcp_transmit_skb(sk, skb, 0, GFP_ATOMIC); 2016 2001 } 2017 2002 2018 2003 int tcp_write_wakeup(struct sock *sk) ··· 2045 2030 2046 2031 TCP_SKB_CB(skb)->flags |= TCPCB_FLAG_PSH; 2047 2032 TCP_SKB_CB(skb)->when = tcp_time_stamp; 2048 - err = tcp_transmit_skb(sk, skb_clone(skb, GFP_ATOMIC)); 2033 + err = tcp_transmit_skb(sk, skb, 1, GFP_ATOMIC); 2049 2034 if (!err) { 2050 2035 update_send_head(sk, tp, skb); 2051 2036 }
+4 -12
net/ipv4/tcp_vegas.c
··· 215 215 vegas->beg_snd_nxt = tp->snd_nxt; 216 216 vegas->beg_snd_cwnd = tp->snd_cwnd; 217 217 218 - /* Take into account the current RTT sample too, to 219 - * decrease the impact of delayed acks. This double counts 220 - * this sample since we count it for the next window as well, 221 - * but that's not too awful, since we're taking the min, 222 - * rather than averaging. 223 - */ 224 - tcp_vegas_rtt_calc(sk, seq_rtt * 1000); 225 - 226 218 /* We do the Vegas calculations only if we got enough RTT 227 219 * samples that we can be reasonably sure that we got 228 220 * at least one RTT sample that wasn't from a delayed ACK. ··· 325 333 else if (tp->snd_cwnd > tp->snd_cwnd_clamp) 326 334 tp->snd_cwnd = tp->snd_cwnd_clamp; 327 335 } 328 - } 329 336 330 - /* Wipe the slate clean for the next RTT. */ 331 - vegas->cntRTT = 0; 332 - vegas->minRTT = 0x7fffffff; 337 + /* Wipe the slate clean for the next RTT. */ 338 + vegas->cntRTT = 0; 339 + vegas->minRTT = 0x7fffffff; 340 + } 333 341 } 334 342 335 343 /* Extract info for Tcp socket info provided via netlink. */
+2 -2
net/ipv6/addrconf.c
··· 379 379 dev->type == ARPHRD_NONE || 380 380 dev->type == ARPHRD_SIT) { 381 381 printk(KERN_INFO 382 - "Disabled Privacy Extensions on device %p(%s)\n", 383 - dev, dev->name); 382 + "%s: Disabled Privacy Extensions\n", 383 + dev->name); 384 384 ndev->cnf.use_tempaddr = -1; 385 385 } else { 386 386 in6_dev_hold(ndev);
+1 -1
net/ipv6/esp6.c
··· 248 248 if (esp->conf.padlen) 249 249 mtu = ALIGN(mtu, esp->conf.padlen); 250 250 251 - return mtu + x->props.header_len + esp->auth.icv_full_len; 251 + return mtu + x->props.header_len + esp->auth.icv_trunc_len; 252 252 } 253 253 254 254 static void esp6_err(struct sk_buff *skb, struct inet6_skb_parm *opt,
+6 -6
net/ipv6/netfilter/nf_conntrack_proto_icmpv6.c
··· 68 68 [ICMPV6_NI_REPLY - 128] = ICMPV6_NI_REPLY +1 69 69 }; 70 70 71 - __u8 type = orig->dst.u.icmp.type - 128; 72 - if (type >= sizeof(invmap) || !invmap[type]) 71 + int type = orig->dst.u.icmp.type - 128; 72 + if (type < 0 || type >= sizeof(invmap) || !invmap[type]) 73 73 return 0; 74 74 75 75 tuple->src.u.icmp.id = orig->src.u.icmp.id; ··· 129 129 [ICMPV6_ECHO_REQUEST - 128] = 1, 130 130 [ICMPV6_NI_QUERY - 128] = 1 131 131 }; 132 + int type = conntrack->tuplehash[0].tuple.dst.u.icmp.type - 128; 132 133 133 - if (conntrack->tuplehash[0].tuple.dst.u.icmp.type - 128 >= sizeof(valid_new) 134 - || !valid_new[conntrack->tuplehash[0].tuple.dst.u.icmp.type - 128]) { 134 + if (type < 0 || type >= sizeof(valid_new) || !valid_new[type]) { 135 135 /* Can't create a new ICMPv6 `conn' with this. */ 136 - DEBUGP("icmp: can't create new conn with type %u\n", 137 - conntrack->tuplehash[0].tuple.dst.u.icmp.type); 136 + DEBUGP("icmpv6: can't create new conn with type %u\n", 137 + type + 128); 138 138 NF_CT_DUMP_TUPLE(&conntrack->tuplehash[0].tuple); 139 139 return 0; 140 140 }
+9 -10
net/ipv6/tcp_ipv6.c
··· 992 992 /* sk = NULL, but it is safe for now. RST socket required. */ 993 993 if (!ip6_dst_lookup(NULL, &buff->dst, &fl)) { 994 994 995 - if ((xfrm_lookup(&buff->dst, &fl, NULL, 0)) < 0) 995 + if (xfrm_lookup(&buff->dst, &fl, NULL, 0) >= 0) { 996 + ip6_xmit(NULL, buff, &fl, NULL, 0); 997 + TCP_INC_STATS_BH(TCP_MIB_OUTSEGS); 998 + TCP_INC_STATS_BH(TCP_MIB_OUTRSTS); 996 999 return; 997 - 998 - ip6_xmit(NULL, buff, &fl, NULL, 0); 999 - TCP_INC_STATS_BH(TCP_MIB_OUTSEGS); 1000 - TCP_INC_STATS_BH(TCP_MIB_OUTRSTS); 1001 - return; 1000 + } 1002 1001 } 1003 1002 1004 1003 kfree_skb(buff); ··· 1056 1057 fl.fl_ip_sport = t1->source; 1057 1058 1058 1059 if (!ip6_dst_lookup(NULL, &buff->dst, &fl)) { 1059 - if ((xfrm_lookup(&buff->dst, &fl, NULL, 0)) < 0) 1060 + if (xfrm_lookup(&buff->dst, &fl, NULL, 0) >= 0) { 1061 + ip6_xmit(NULL, buff, &fl, NULL, 0); 1062 + TCP_INC_STATS_BH(TCP_MIB_OUTSEGS); 1060 1063 return; 1061 - ip6_xmit(NULL, buff, &fl, NULL, 0); 1062 - TCP_INC_STATS_BH(TCP_MIB_OUTSEGS); 1063 - return; 1064 + } 1064 1065 } 1065 1066 1066 1067 kfree_skb(buff);
+2 -2
net/netfilter/Kconfig
··· 61 61 instead of the individual packets. 62 62 63 63 config NF_CONNTRACK_EVENTS 64 - bool "Connection tracking events" 65 - depends on NF_CONNTRACK 64 + bool "Connection tracking events (EXPERIMENTAL)" 65 + depends on EXPERIMENTAL && NF_CONNTRACK 66 66 help 67 67 If this option is enabled, the connection tracking code will 68 68 provide a notifier chain that can be used by other kernel code
+3
net/netfilter/nf_conntrack_core.c
··· 1383 1383 schedule(); 1384 1384 goto i_see_dead_people; 1385 1385 } 1386 + /* wait until all references to nf_conntrack_untracked are dropped */ 1387 + while (atomic_read(&nf_conntrack_untracked.ct_general.use) > 1) 1388 + schedule(); 1386 1389 1387 1390 for (i = 0; i < NF_CT_F_NUM; i++) { 1388 1391 if (nf_ct_cache[i].use == 0)
+2 -3
net/netfilter/nfnetlink.c
··· 162 162 return -EINVAL; 163 163 } 164 164 165 - min_len = NLMSG_ALIGN(sizeof(struct nfgenmsg)); 165 + min_len = NLMSG_SPACE(sizeof(struct nfgenmsg)); 166 166 if (unlikely(nlh->nlmsg_len < min_len)) 167 167 return -EINVAL; 168 168 ··· 236 236 } 237 237 238 238 /* All the messages must at least contain nfgenmsg */ 239 - if (nlh->nlmsg_len < 240 - NLMSG_LENGTH(NLMSG_ALIGN(sizeof(struct nfgenmsg)))) { 239 + if (nlh->nlmsg_len < NLMSG_SPACE(sizeof(struct nfgenmsg))) { 241 240 DEBUGP("received message was too short\n"); 242 241 return 0; 243 242 }
+61 -54
net/packet/af_packet.c
··· 1587 1587 return virt_to_page(one_pg_vec + (PAGE_SIZE << order) - 1); 1588 1588 } 1589 1589 1590 - static void free_pg_vec(char **pg_vec, unsigned order, unsigned len) 1590 + static void free_pg_vec(char **pg_vec, unsigned int order, unsigned int len) 1591 1591 { 1592 1592 int i; 1593 1593 1594 - for (i=0; i<len; i++) { 1595 - if (pg_vec[i]) { 1596 - struct page *page, *pend; 1597 - 1598 - pend = pg_vec_endpage(pg_vec[i], order); 1599 - for (page = virt_to_page(pg_vec[i]); page <= pend; page++) 1600 - ClearPageReserved(page); 1601 - free_pages((unsigned long)pg_vec[i], order); 1602 - } 1594 + for (i = 0; i < len; i++) { 1595 + if (likely(pg_vec[i])) 1596 + free_pages((unsigned long) pg_vec[i], order); 1603 1597 } 1604 1598 kfree(pg_vec); 1605 1599 } 1606 1600 1601 + static inline char *alloc_one_pg_vec_page(unsigned long order) 1602 + { 1603 + return (char *) __get_free_pages(GFP_KERNEL | __GFP_COMP | __GFP_ZERO, 1604 + order); 1605 + } 1606 + 1607 + static char **alloc_pg_vec(struct tpacket_req *req, int order) 1608 + { 1609 + unsigned int block_nr = req->tp_block_nr; 1610 + char **pg_vec; 1611 + int i; 1612 + 1613 + pg_vec = kzalloc(block_nr * sizeof(char *), GFP_KERNEL); 1614 + if (unlikely(!pg_vec)) 1615 + goto out; 1616 + 1617 + for (i = 0; i < block_nr; i++) { 1618 + pg_vec[i] = alloc_one_pg_vec_page(order); 1619 + if (unlikely(!pg_vec[i])) 1620 + goto out_free_pgvec; 1621 + } 1622 + 1623 + out: 1624 + return pg_vec; 1625 + 1626 + out_free_pgvec: 1627 + free_pg_vec(pg_vec, order, block_nr); 1628 + pg_vec = NULL; 1629 + goto out; 1630 + } 1607 1631 1608 1632 static int packet_set_ring(struct sock *sk, struct tpacket_req *req, int closing) 1609 1633 { ··· 1641 1617 1642 1618 /* Sanity tests and some calculations */ 1643 1619 1644 - if (po->pg_vec) 1620 + if (unlikely(po->pg_vec)) 1645 1621 return -EBUSY; 1646 1622 1647 - if ((int)req->tp_block_size <= 0) 1623 + if (unlikely((int)req->tp_block_size <= 0)) 1648 1624 return -EINVAL; 1649 - if (req->tp_block_size&(PAGE_SIZE-1)) 1625 + if (unlikely(req->tp_block_size & (PAGE_SIZE - 1))) 1650 1626 return -EINVAL; 1651 - if (req->tp_frame_size < TPACKET_HDRLEN) 1627 + if (unlikely(req->tp_frame_size < TPACKET_HDRLEN)) 1652 1628 return -EINVAL; 1653 - if (req->tp_frame_size&(TPACKET_ALIGNMENT-1)) 1629 + if (unlikely(req->tp_frame_size & (TPACKET_ALIGNMENT - 1))) 1654 1630 return -EINVAL; 1655 1631 1656 1632 po->frames_per_block = req->tp_block_size/req->tp_frame_size; 1657 - if (po->frames_per_block <= 0) 1633 + if (unlikely(po->frames_per_block <= 0)) 1658 1634 return -EINVAL; 1659 - if (po->frames_per_block*req->tp_block_nr != req->tp_frame_nr) 1635 + if (unlikely((po->frames_per_block * req->tp_block_nr) != 1636 + req->tp_frame_nr)) 1660 1637 return -EINVAL; 1661 - /* OK! */ 1662 - 1663 - /* Allocate page vector */ 1664 - while ((PAGE_SIZE<<order) < req->tp_block_size) 1665 - order++; 1666 1638 1667 1639 err = -ENOMEM; 1668 - 1669 - pg_vec = kmalloc(req->tp_block_nr*sizeof(char *), GFP_KERNEL); 1670 - if (pg_vec == NULL) 1640 + order = get_order(req->tp_block_size); 1641 + pg_vec = alloc_pg_vec(req, order); 1642 + if (unlikely(!pg_vec)) 1671 1643 goto out; 1672 - memset(pg_vec, 0, req->tp_block_nr*sizeof(char **)); 1673 - 1674 - for (i=0; i<req->tp_block_nr; i++) { 1675 - struct page *page, *pend; 1676 - pg_vec[i] = (char *)__get_free_pages(GFP_KERNEL, order); 1677 - if (!pg_vec[i]) 1678 - goto out_free_pgvec; 1679 - 1680 - pend = pg_vec_endpage(pg_vec[i], order); 1681 - for (page = virt_to_page(pg_vec[i]); page <= pend; page++) 1682 - SetPageReserved(page); 1683 - } 1684 - /* Page vector is allocated */ 1685 1644 1686 1645 l = 0; 1687 - for (i=0; i<req->tp_block_nr; i++) { 1646 + for (i = 0; i < req->tp_block_nr; i++) { 1688 1647 char *ptr = pg_vec[i]; 1689 1648 struct tpacket_hdr *header; 1690 1649 int k; 1691 1650 1692 - for (k=0; k<po->frames_per_block; k++) { 1693 - 1694 - header = (struct tpacket_hdr*)ptr; 1651 + for (k = 0; k < po->frames_per_block; k++) { 1652 + header = (struct tpacket_hdr *) ptr; 1695 1653 header->tp_status = TP_STATUS_KERNEL; 1696 1654 ptr += req->tp_frame_size; 1697 1655 } 1698 1656 } 1699 1657 /* Done */ 1700 1658 } else { 1701 - if (req->tp_frame_nr) 1659 + if (unlikely(req->tp_frame_nr)) 1702 1660 return -EINVAL; 1703 1661 } 1704 1662 ··· 1707 1701 1708 1702 spin_lock_bh(&sk->sk_receive_queue.lock); 1709 1703 pg_vec = XC(po->pg_vec, pg_vec); 1710 - po->frame_max = req->tp_frame_nr-1; 1704 + po->frame_max = (req->tp_frame_nr - 1); 1711 1705 po->head = 0; 1712 1706 po->frame_size = req->tp_frame_size; 1713 1707 spin_unlock_bh(&sk->sk_receive_queue.lock); ··· 1734 1728 1735 1729 release_sock(sk); 1736 1730 1737 - out_free_pgvec: 1738 1731 if (pg_vec) 1739 1732 free_pg_vec(pg_vec, order, req->tp_block_nr); 1740 1733 out: ··· 1760 1755 if (size != po->pg_vec_len*po->pg_vec_pages*PAGE_SIZE) 1761 1756 goto out; 1762 1757 1763 - atomic_inc(&po->mapped); 1764 1758 start = vma->vm_start; 1765 - err = -EAGAIN; 1766 - for (i=0; i<po->pg_vec_len; i++) { 1767 - if (remap_pfn_range(vma, start, 1768 - __pa(po->pg_vec[i]) >> PAGE_SHIFT, 1769 - po->pg_vec_pages*PAGE_SIZE, 1770 - vma->vm_page_prot)) 1771 - goto out; 1772 - start += po->pg_vec_pages*PAGE_SIZE; 1759 + for (i = 0; i < po->pg_vec_len; i++) { 1760 + struct page *page = virt_to_page(po->pg_vec[i]); 1761 + int pg_num; 1762 + 1763 + for (pg_num = 0; pg_num < po->pg_vec_pages; pg_num++, page++) { 1764 + err = vm_insert_page(vma, start, page); 1765 + if (unlikely(err)) 1766 + goto out; 1767 + start += PAGE_SIZE; 1768 + } 1773 1769 } 1770 + atomic_inc(&po->mapped); 1774 1771 vma->vm_ops = &packet_mmap_ops; 1775 1772 err = 0; 1776 1773
+1 -1
net/sched/act_api.c
··· 34 34 #include <net/sch_generic.h> 35 35 #include <net/act_api.h> 36 36 37 - #if 1 /* control */ 37 + #if 0 /* control */ 38 38 #define DPRINTK(format, args...) printk(KERN_DEBUG format, ##args) 39 39 #else 40 40 #define DPRINTK(format, args...)